Skip to content

Commit abe48b6

Browse files
committed
feat: remember FTP column size, close #640
1 parent 12efea1 commit abe48b6

File tree

3 files changed

+117
-5
lines changed

3 files changed

+117
-5
lines changed

Ui/Service/Locality/LocalityService.cs

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,10 @@ internal class LocalitySettings
4242
public double TabWindowHeight = 600;
4343
public WindowState TabWindowState = WindowState.Normal;
4444
public WindowStyle TabWindowStyle = WindowStyle.SingleBorderWindow;
45+
public int FtpColumnFileNameLength = -1;
46+
public int FtpColumnFileTimeLength = -1;
47+
public int FtpColumnFileTypeLength = -1;
48+
public int FtpColumnFileSizeLength = -1;
4549
}
4650

4751
public sealed class LocalityService
@@ -183,5 +187,58 @@ public WindowStyle TabWindowStyle
183187
}
184188
}
185189
}
190+
191+
public int FtpColumnFileNameLength
192+
{
193+
get => _localitySettings.FtpColumnFileNameLength;
194+
set
195+
{
196+
if (_localitySettings.FtpColumnFileNameLength != value)
197+
{
198+
_localitySettings.FtpColumnFileNameLength = value;
199+
Save();
200+
}
201+
}
202+
}
203+
204+
public int FtpColumnFileTimeLength
205+
{
206+
get => _localitySettings.FtpColumnFileTimeLength;
207+
set
208+
{
209+
if (_localitySettings.FtpColumnFileTimeLength != value)
210+
{
211+
_localitySettings.FtpColumnFileTimeLength = value;
212+
Save();
213+
}
214+
}
215+
}
216+
217+
public int FtpColumnFileTypeLength
218+
{
219+
get => _localitySettings.FtpColumnFileTypeLength;
220+
set
221+
{
222+
if (_localitySettings.FtpColumnFileTypeLength != value)
223+
{
224+
_localitySettings.FtpColumnFileTypeLength = value;
225+
Save();
226+
}
227+
}
228+
}
229+
public int FtpColumnFileSizeLength
230+
{
231+
get => _localitySettings.FtpColumnFileSizeLength;
232+
set
233+
{
234+
if (_localitySettings.FtpColumnFileSizeLength != value)
235+
{
236+
_localitySettings.FtpColumnFileSizeLength = value;
237+
Save();
238+
}
239+
}
240+
}
241+
242+
186243
}
187244
}

Ui/View/Host/ProtocolHosts/FileTransmitHost.xaml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@
262262

263263
<ListView.View>
264264
<GridView ColumnHeaderTemplate="{StaticResource HeaderTemplateDefault}">
265-
<GridViewColumn Width="Auto">
265+
<GridViewColumn Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=protocolHosts1:FileTransmitHost}, Path=DataContext.ColumnFileNameLength, Mode=TwoWay}">
266266
<GridViewColumnHeader Content="{DynamicResource 'File Name'}" HorizontalContentAlignment="Left">
267267
<GridViewColumnHeader.Style>
268268
<Style TargetType="GridViewColumnHeader" BasedOn="{StaticResource GridViewColumnHeaderBaseStyle}">
@@ -318,7 +318,8 @@
318318

319319

320320

321-
<GridViewColumn Header="{DynamicResource file_transmit_host_list_header_last_update}" Width="Auto">
321+
<GridViewColumn Header="{DynamicResource file_transmit_host_list_header_last_update}"
322+
Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=protocolHosts1:FileTransmitHost}, Path=DataContext.ColumnFileTimeLength, Mode=TwoWay}">
322323
<GridViewColumn.HeaderContainerStyle>
323324
<Style TargetType="GridViewColumnHeader" BasedOn="{StaticResource GridViewColumnHeaderBaseStyle}">
324325
<Setter Property="HorizontalContentAlignment" Value="Left"/>
@@ -351,7 +352,8 @@
351352

352353

353354

354-
<GridViewColumn Header="{DynamicResource Type}" Width="Auto">
355+
<GridViewColumn Header="{DynamicResource Type}"
356+
Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=protocolHosts1:FileTransmitHost}, Path=DataContext.ColumnFileTypeLength, Mode=TwoWay}">
355357
<GridViewColumn.HeaderContainerStyle>
356358
<Style TargetType="GridViewColumnHeader" BasedOn="{StaticResource GridViewColumnHeaderBaseStyle}">
357359
<Setter Property="CommandParameter" Value="6"/>
@@ -380,7 +382,8 @@
380382

381383

382384

383-
<GridViewColumn Header="{DynamicResource file_transmit_host_list_header_size}">
385+
<GridViewColumn Header="{DynamicResource file_transmit_host_list_header_size}"
386+
Width="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType=protocolHosts1:FileTransmitHost}, Path=DataContext.ColumnFileSizeLength, Mode=TwoWay}">
384387
<GridViewColumn.HeaderContainerStyle>
385388
<Style TargetType="GridViewColumnHeader" BasedOn="{StaticResource GridViewColumnHeaderBaseStyle}">
386389
<Setter Property="CommandParameter" Value="2"/>

Ui/View/Host/ProtocolHosts/VmFileTransmitHost.cs

Lines changed: 53 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
using _1RM.Model.Protocol.FileTransmit.Transmitters;
1616
using _1RM.Model.Protocol.FileTransmit.Transmitters.TransmissionController;
1717
using _1RM.Service;
18+
using _1RM.Service.Locality;
1819
using _1RM.Utils;
1920
using Dapper;
2021
using Shawn.Utils;
@@ -952,7 +953,58 @@ public string IoMessage
952953
set => SetAndNotifyIfChanged(ref _ioMessage, value);
953954
}
954955

955-
956+
public double ColumnFileNameLength
957+
{
958+
get
959+
{
960+
var w = IoC.Get<LocalityService>().FtpColumnFileNameLength;
961+
if (w > 50)
962+
{
963+
return w;
964+
}
965+
return -1;
966+
}
967+
set => IoC.Get<LocalityService>().FtpColumnFileNameLength = (int) value;
968+
}
969+
public double ColumnFileTimeLength
970+
{
971+
get
972+
{
973+
var w = IoC.Get<LocalityService>().FtpColumnFileTimeLength;
974+
if (w > 50)
975+
{
976+
return w;
977+
}
978+
return -1;
979+
}
980+
set => IoC.Get<LocalityService>().FtpColumnFileTimeLength = (int) value;
981+
}
982+
public double ColumnFileTypeLength
983+
{
984+
get
985+
{
986+
var w = IoC.Get<LocalityService>().FtpColumnFileTypeLength;
987+
if (w > 50)
988+
{
989+
return w;
990+
}
991+
return -1;
992+
}
993+
set => IoC.Get<LocalityService>().FtpColumnFileTypeLength = (int) value;
994+
}
995+
public double ColumnFileSizeLength
996+
{
997+
get
998+
{
999+
var w = IoC.Get<LocalityService>().FtpColumnFileSizeLength;
1000+
if (w > 50)
1001+
{
1002+
return w;
1003+
}
1004+
return -1;
1005+
}
1006+
set => IoC.Get<LocalityService>().FtpColumnFileSizeLength = (int) value;
1007+
}
9561008

9571009

9581010
#region Path conrol

0 commit comments

Comments
 (0)