StorageUI and RestoreUI

pull/5767/head
2dust 2024-09-29 20:59:53 +08:00
parent 1411643192
commit 77a59e9107
2 changed files with 90 additions and 71 deletions

View File

@ -116,6 +116,8 @@
<ComboBox <ComboBox
x:Name="cmbMoveToGroup" x:Name="cmbMoveToGroup"
Width="200" Width="200"
DisplayMemberBinding="{Binding remarks}"
ItemsSource="{Binding SubItems}"
ToolTip.Tip="{x:Static resx:ResUI.menuSubscription}" /> ToolTip.Tip="{x:Static resx:ResUI.menuSubscription}" />
</DockPanel> </DockPanel>
</MenuItem.Header> </MenuItem.Header>
@ -141,36 +143,46 @@
</DataGrid.ContextMenu> </DataGrid.ContextMenu>
<DataGrid.Columns> <DataGrid.Columns>
<DataGridCheckBoxColumn Width="40" Binding="{Binding isActive}" /> <DataGridCheckBoxColumn
Width="40"
Binding="{Binding isActive}"
Tag="isActive" />
<DataGridTextColumn <DataGridTextColumn
Width="80" Width="80"
Binding="{Binding configType}" Binding="{Binding configType}"
Header="{x:Static resx:ResUI.LvServiceType}" /> Header="{x:Static resx:ResUI.LvServiceType}"
Tag="configType" />
<DataGridTextColumn <DataGridTextColumn
Width="150" Width="150"
Binding="{Binding remarks}" Binding="{Binding remarks}"
Header="{x:Static resx:ResUI.LvRemarks}" /> Header="{x:Static resx:ResUI.LvRemarks}"
Tag="remarks" />
<DataGridTextColumn <DataGridTextColumn
Width="120" Width="120"
Binding="{Binding address}" Binding="{Binding address}"
Header="{x:Static resx:ResUI.LvAddress}" /> Header="{x:Static resx:ResUI.LvAddress}"
Tag="address" />
<DataGridTextColumn <DataGridTextColumn
Width="60" Width="60"
Binding="{Binding port}" Binding="{Binding port}"
Header="{x:Static resx:ResUI.LvPort}" /> Header="{x:Static resx:ResUI.LvPort}"
Tag="port" />
<DataGridTextColumn <DataGridTextColumn
Width="100" Width="100"
Binding="{Binding network}" Binding="{Binding network}"
Header="{x:Static resx:ResUI.LvTransportProtocol}" /> Header="{x:Static resx:ResUI.LvTransportProtocol}"
Tag="network" />
<DataGridTextColumn <DataGridTextColumn
Width="100" Width="100"
Binding="{Binding streamSecurity}" Binding="{Binding streamSecurity}"
Header="{x:Static resx:ResUI.LvTLS}" /> Header="{x:Static resx:ResUI.LvTLS}"
Tag="streamSecurity" />
<DataGridTextColumn <DataGridTextColumn
Width="100" Width="100"
Binding="{Binding subRemarks}" Binding="{Binding subRemarks}"
Header="{x:Static resx:ResUI.LvSubscription}" /> Header="{x:Static resx:ResUI.LvSubscription}"
<DataGridTemplateColumn SortMemberPath="delay"> Tag="subRemarks" />
<DataGridTemplateColumn SortMemberPath="delay" Tag="delay">
<DataGridTemplateColumn.Header> <DataGridTemplateColumn.Header>
<TextBlock Text="{x:Static resx:ResUI.LvTestDelay}" /> <TextBlock Text="{x:Static resx:ResUI.LvTestDelay}" />
</DataGridTemplateColumn.Header> </DataGridTemplateColumn.Header>
@ -188,24 +200,29 @@
<DataGridTextColumn <DataGridTextColumn
Width="100" Width="100"
Binding="{Binding speedVal}" Binding="{Binding speedVal}"
Header="{x:Static resx:ResUI.LvTestSpeed}" /> Header="{x:Static resx:ResUI.LvTestSpeed}"
Tag="speedVal" />
<DataGridTextColumn <DataGridTextColumn
Width="100" Width="100"
Binding="{Binding todayUp}" Binding="{Binding todayUp}"
Header="{x:Static resx:ResUI.LvTodayUploadDataAmount}" /> Header="{x:Static resx:ResUI.LvTodayUploadDataAmount}"
Tag="todayUp" />
<DataGridTextColumn <DataGridTextColumn
Width="100" Width="100"
Binding="{Binding todayDown}" Binding="{Binding todayDown}"
Header="{x:Static resx:ResUI.LvTodayDownloadDataAmount}" /> Header="{x:Static resx:ResUI.LvTodayDownloadDataAmount}"
Tag="todayDown" />
<DataGridTextColumn <DataGridTextColumn
Width="100" Width="100"
Binding="{Binding totalUp}" Binding="{Binding totalUp}"
Header="{x:Static resx:ResUI.LvTotalUploadDataAmount}" /> Header="{x:Static resx:ResUI.LvTotalUploadDataAmount}"
Tag="totalUp" />
<DataGridTextColumn <DataGridTextColumn
Width="100" Width="100"
Binding="{Binding totalDown}" Binding="{Binding totalDown}"
Header="{x:Static resx:ResUI.LvTotalDownloadDataAmount}" /> Header="{x:Static resx:ResUI.LvTotalDownloadDataAmount}"
Tag="totalDown" />
</DataGrid.Columns> </DataGrid.Columns>
</DataGrid> </DataGrid>
</DockPanel> </DockPanel>

View File

@ -64,7 +64,7 @@ namespace v2rayN.Desktop.Views
this.BindCommand(ViewModel, vm => vm.SetDefaultLoadBalanceServerCmd, v => v.menuSetDefaultLoadBalanceServer).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.SetDefaultLoadBalanceServerCmd, v => v.menuSetDefaultLoadBalanceServer).DisposeWith(disposables);
//servers move //servers move
this.OneWayBind(ViewModel, vm => vm.SubItems, v => v.cmbMoveToGroup.ItemsSource).DisposeWith(disposables); //this.OneWayBind(ViewModel, vm => vm.SubItems, v => v.cmbMoveToGroup.ItemsSource).DisposeWith(disposables);
this.Bind(ViewModel, vm => vm.SelectedMoveToGroup, v => v.cmbMoveToGroup.SelectedItem).DisposeWith(disposables); this.Bind(ViewModel, vm => vm.SelectedMoveToGroup, v => v.cmbMoveToGroup.SelectedItem).DisposeWith(disposables);
this.BindCommand(ViewModel, vm => vm.MoveTopCmd, v => v.menuMoveTop).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.MoveTopCmd, v => v.menuMoveTop).DisposeWith(disposables);
@ -86,7 +86,7 @@ namespace v2rayN.Desktop.Views
this.BindCommand(ViewModel, vm => vm.Export2ShareUrlBase64Cmd, v => v.menuExport2ShareUrlBase64).DisposeWith(disposables); this.BindCommand(ViewModel, vm => vm.Export2ShareUrlBase64Cmd, v => v.menuExport2ShareUrlBase64).DisposeWith(disposables);
}); });
//RestoreUI(); RestoreUI();
ViewModel?.RefreshServers(); ViewModel?.RefreshServers();
} }
@ -194,6 +194,7 @@ namespace v2rayN.Desktop.Views
{ {
ViewModel?.EditServerAsync(EConfigType.Custom); ViewModel?.EditServerAsync(EConfigType.Custom);
} }
StorageUI();
} }
private void LstProfiles_LoadingRow(object? sender, DataGridRowEventArgs e) private void LstProfiles_LoadingRow(object? sender, DataGridRowEventArgs e)
@ -301,6 +302,7 @@ namespace v2rayN.Desktop.Views
{ {
it.Width = new DataGridLength(1, DataGridLengthUnitType.Auto); it.Width = new DataGridLength(1, DataGridLengthUnitType.Auto);
} }
StorageUI();
} }
private void TxtServerFilter_KeyDown(object? sender, KeyEventArgs e) private void TxtServerFilter_KeyDown(object? sender, KeyEventArgs e)
@ -315,61 +317,61 @@ namespace v2rayN.Desktop.Views
//#region UI //#region UI
//private void RestoreUI() private void RestoreUI()
//{ {
// var lvColumnItem = _config.uiItem.mainColumnItem.OrderBy(t => t.Index).ToList(); var lvColumnItem = _config.uiItem.mainColumnItem.OrderBy(t => t.Index).ToList();
// var displayIndex = 0; var displayIndex = 0;
// foreach (var item in lvColumnItem) foreach (var item in lvColumnItem)
// { {
// foreach (MyDGTextColumn item2 in lstProfiles.Columns) foreach (var item2 in lstProfiles.Columns)
// { {
// if (item2.ExName == item.Name) if (item2.Tag == null)
// { {
// if (item.Width < 0) continue;
// { }
// item2.IsVisible = false; if (item2.Tag.Equals(item.Name))
// } {
// else if (item.Width < 0)
// { {
// item2.Width = item.Width; item2.IsVisible = false;
// item2.DisplayIndex = displayIndex++; }
// } else
// } {
// } item2.Width = new DataGridLength(item.Width, DataGridLengthUnitType.Pixel); ;
// } item2.DisplayIndex = displayIndex++;
}
if (item.Name.StartsWith("to"))
{
if (!_config.guiItem.enableStatistics)
{
item2.IsVisible = false;
}
}
}
}
}
}
// if (!_config.guiItem.enableStatistics) private void StorageUI()
// { {
// colTodayUp.IsVisible = List<ColumnItem> lvColumnItem = new();
// colTodayDown.IsVisible = for (int k = 0; k < lstProfiles.Columns.Count; k++)
// colTotalUp.IsVisible = {
// colTotalDown.IsVisible = false; var item2 = lstProfiles.Columns[k];
// } if (item2.Tag == null)
// else {
// { continue;
// colTodayUp.IsVisible = }
// colTodayDown.IsVisible = lvColumnItem.Add(new()
// colTotalUp.IsVisible = {
// colTotalDown.IsVisible = true; Name = (string)item2.Tag,
// } Width = item2.IsVisible == true ? Utils.ToInt(item2.ActualWidth) : -1,
//} Index = item2.DisplayIndex
});
//private void StorageUI() }
//{ _config.uiItem.mainColumnItem = lvColumnItem;
// List<ColumnItem> lvColumnItem = new(); ConfigHandler.SaveConfig(_config);
// for (int k = 0; k < lstProfiles.Columns.Count; k++) }
// {
// var item2 = (MyDGTextColumn)lstProfiles.Columns[k];
// lvColumnItem.Add(new()
// {
// Name = item2.ExName,
// Width = item2.IsVisible == true ? Utils.ToInt(item2.ActualWidth) : -1,
// Index = item2.DisplayIndex
// });
// }
// _config.uiItem.mainColumnItem = lvColumnItem;
// ConfigHandler.SaveConfig(_config);
//}
//#endregion UI //#endregion UI