Skip to content

Commit 68931d6

Browse files
committed
Improve profile design
1 parent 580756c commit 68931d6

File tree

2 files changed

+64
-91
lines changed

2 files changed

+64
-91
lines changed

Source/NETworkManager/ViewModels/ProfilesViewModel.cs

Lines changed: 43 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -200,11 +200,25 @@ private void DeleteProfileAction()
200200
DeleteProfile();
201201
}
202202

203-
public ICommand EditGroupCommand => new RelayCommand(EditGroupAction);
203+
public ICommand AddGroupCommand => new RelayCommand(p => AddGroupAction());
204204

205-
private void EditGroupAction(object group)
205+
private void AddGroupAction()
206206
{
207-
EditGroup(group);
207+
AddGroup();
208+
}
209+
210+
public ICommand EditGroupCommand => new RelayCommand(p => EditGroupAction());
211+
212+
private void EditGroupAction()
213+
{
214+
EditGroup();
215+
}
216+
217+
public ICommand DeleteGroupCommand => new RelayCommand(p => DeleteGroupAction());
218+
219+
private void DeleteGroupAction()
220+
{
221+
DeleteGroup();
208222
}
209223
#endregion
210224

@@ -316,11 +330,23 @@ public async Task DeleteProfile()
316330
await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog);
317331
}
318332

319-
public async Task EditGroup(object group)
333+
public async Task AddGroup()
320334
{
321335
var customDialog = new CustomDialog
322336
{
323-
Title = Localization.Resources.Strings.EditGroup
337+
Title = Localization.Resources.Strings.EditGroup,
338+
Style = (Style)Application.Current.FindResource("LargeMetroDialog")
339+
340+
};
341+
}
342+
343+
public async Task EditGroup()
344+
{
345+
var customDialog = new CustomDialog
346+
{
347+
Title = Localization.Resources.Strings.EditGroup,
348+
Style = (Style)Application.Current.FindResource("LargeMetroDialog")
349+
324350
};
325351

326352
var editGroupViewModel = new GroupViewModel(instance =>
@@ -334,7 +360,7 @@ public async Task EditGroup(object group)
334360
}, instance =>
335361
{
336362
_dialogCoordinator.HideMetroDialogAsync(this, customDialog);
337-
}, ProfileManager.GetGroupNames(), GroupEditMode.Edit, ProfileManager.GetGroup(group.ToString()));
363+
}, ProfileManager.GetGroupNames(), GroupEditMode.Edit, SelectedGroup);
338364

339365
customDialog.Content = new GroupDialog
340366
{
@@ -344,6 +370,15 @@ public async Task EditGroup(object group)
344370
await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog);
345371
}
346372

373+
public async Task DeleteGroup()
374+
{
375+
CustomDialog customDialog = new CustomDialog
376+
{
377+
Title = Localization.Resources.Strings.DeleteGroup
378+
};
379+
}
380+
381+
/*
347382
public ICommand ResetProfilesCommand => new RelayCommand(p => ResetProfilesAction());
348383
349384
private async Task ResetProfilesAction()
@@ -370,6 +405,7 @@ private async Task ResetProfilesAction()
370405
371406
await _dialogCoordinator.ShowMetroDialogAsync(this, customDialog);
372407
}
408+
*/
373409

374410
private void StartDelayedSearch()
375411
{
@@ -397,7 +433,7 @@ private void StopDelayedSearch()
397433

398434
public void RefreshProfiles()
399435
{
400-
if(Profiles == null)
436+
if (Profiles == null)
401437
{
402438
Debug.WriteLine("Profiles is null");
403439
return;

Source/NETworkManager/Views/ProfilesView.xaml

Lines changed: 21 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020
<Grid>
2121
<Grid Visibility="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType= {x:Type mah:MetroWindow}}, Path=DataContext.IsProfileFileLocked, Converter={StaticResource BooleanReverseToVisibilityCollapsedConverter}}">
2222
<Grid.ColumnDefinitions>
23-
<ColumnDefinition Width="1*" MinWidth="500" />
23+
<ColumnDefinition Width="250" />
2424
<ColumnDefinition Width="10" />
2525
<ColumnDefinition Width="Auto" />
2626
<ColumnDefinition Width="10" />
27-
<ColumnDefinition Width="3*" />
27+
<ColumnDefinition Width="*" />
2828
</Grid.ColumnDefinitions>
2929
<Grid.RowDefinitions>
3030
<RowDefinition Height="Auto" />
@@ -65,8 +65,8 @@
6565
</ContextMenu>
6666
</DataGrid.Resources>
6767
<DataGrid.Columns>
68-
<DataGridTextColumn Header="{x:Static localization:Strings.Name}" Binding="{Binding Name}" MinWidth="250" Width="Auto" />
69-
<DataGridTextColumn Header="{x:Static localization:Strings.Profiles}" Binding="{Binding Profiles.Count}" MinWidth="100" Width="*" />
68+
<DataGridTextColumn Header="{x:Static localization:Strings.Name}" Binding="{Binding Name}" Width="*" />
69+
<DataGridTextColumn Header="{x:Static localization:Strings.Profiles}" Binding="{Binding Profiles.Count}" Width="Auto" />
7070
</DataGrid.Columns>
7171
<DataGrid.InputBindings>
7272
<KeyBinding Command="{Binding EditGroupCommand}" Key="F2" />
@@ -83,85 +83,22 @@
8383
</Style>
8484
</DataGrid.RowStyle>
8585
</DataGrid>
86-
<StackPanel Grid.Column="0" Grid.Row="3" HorizontalAlignment="Right" Orientation="Horizontal">
87-
<Button Command="{Binding DeleteProfileCommand}">
88-
<Button.Style>
89-
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource ImageWithTextButton}">
90-
<Style.Triggers>
91-
<MultiDataTrigger>
92-
<MultiDataTrigger.Conditions>
93-
<Condition Binding="{Binding ElementName=DataGridProfiles, Path=SelectedItems.Count}" Value="0" />
94-
</MultiDataTrigger.Conditions>
95-
<MultiDataTrigger.Setters>
96-
<Setter Property="IsEnabled" Value="False"/>
97-
</MultiDataTrigger.Setters>
98-
</MultiDataTrigger>
99-
</Style.Triggers>
100-
</Style>
101-
</Button.Style>
102-
<Button.Content>
103-
<Grid>
104-
<Grid.ColumnDefinitions>
105-
<ColumnDefinition Width="Auto" />
106-
<ColumnDefinition Width="*" />
107-
</Grid.ColumnDefinitions>
108-
<Rectangle Width="20" Height="20" Fill="{DynamicResource MahApps.Brushes.Gray3}" Margin="10,5,0,5">
109-
<Rectangle.OpacityMask>
110-
<VisualBrush Stretch="Uniform" Visual="{iconPacks:Material Kind=Close}" />
111-
</Rectangle.OpacityMask>
112-
</Rectangle>
113-
<TextBlock Grid.Column="1" Text="{x:Static localization:Strings.DeleteDots}" Style="{StaticResource DefaultTextBlock}" TextAlignment="Center" Margin="10,5" />
114-
</Grid>
115-
</Button.Content>
116-
</Button>
117-
<Button Command="{Binding EditProfileCommand}" Margin="10,0,0,0">
118-
<Button.Style>
119-
<Style TargetType="{x:Type Button}" BasedOn="{StaticResource ImageWithTextButton}">
120-
<Setter Property="IsEnabled" Value="False"/>
121-
<Style.Triggers>
122-
<MultiDataTrigger>
123-
<MultiDataTrigger.Conditions>
124-
<Condition Binding="{Binding ElementName=DataGridProfiles, Path=SelectedItems.Count}" Value="1" />
125-
</MultiDataTrigger.Conditions>
126-
<MultiDataTrigger.Setters>
127-
<Setter Property="IsEnabled" Value="True"/>
128-
</MultiDataTrigger.Setters>
129-
</MultiDataTrigger>
130-
</Style.Triggers>
131-
</Style>
132-
</Button.Style>
133-
<Button.Content>
134-
<Grid>
135-
<Grid.ColumnDefinitions>
136-
<ColumnDefinition Width="Auto" />
137-
<ColumnDefinition Width="*" />
138-
</Grid.ColumnDefinitions>
139-
<Rectangle Width="20" Height="20" Fill="{DynamicResource MahApps.Brushes.Gray3}" Margin="10,5,0,5">
140-
<Rectangle.OpacityMask>
141-
<VisualBrush Stretch="Uniform" Visual="{iconPacks:Modern Kind=Edit}" />
142-
</Rectangle.OpacityMask>
143-
</Rectangle>
144-
<TextBlock Grid.Column="1" Text="{x:Static localization:Strings.EditDots}" Style="{StaticResource DefaultTextBlock}" TextAlignment="Center" Margin="10,5" />
145-
</Grid>
146-
</Button.Content>
147-
</Button>
148-
<Button Command="{Binding AddProfileCommand}" Style="{StaticResource ImageWithTextButton}" Margin="10,0,0,0">
149-
<Button.Content>
150-
<Grid>
151-
<Grid.ColumnDefinitions>
152-
<ColumnDefinition Width="Auto" />
153-
<ColumnDefinition Width="*" />
154-
</Grid.ColumnDefinitions>
155-
<Rectangle Width="20" Height="20" Fill="{DynamicResource MahApps.Brushes.Gray3}" Margin="10,5,0,5">
156-
<Rectangle.OpacityMask>
157-
<VisualBrush Stretch="Uniform" Visual="{iconPacks:Material Kind=Plus}" />
158-
</Rectangle.OpacityMask>
159-
</Rectangle>
160-
<TextBlock Grid.Column="1" Text="{x:Static localization:Strings.AddDots}" Style="{StaticResource DefaultTextBlock}" TextAlignment="Center" Margin="10,5" />
161-
</Grid>
162-
</Button.Content>
163-
</Button>
164-
</StackPanel>
86+
<Button Command="{Binding AddGroupCommand}" Grid.Column="0" Grid.Row="3" HorizontalAlignment="Right" Style="{StaticResource ImageWithTextButton}">
87+
<Button.Content>
88+
<Grid>
89+
<Grid.ColumnDefinitions>
90+
<ColumnDefinition Width="Auto" />
91+
<ColumnDefinition Width="*" />
92+
</Grid.ColumnDefinitions>
93+
<Rectangle Width="20" Height="20" Fill="{DynamicResource MahApps.Brushes.Gray3}" Margin="10,5,0,5">
94+
<Rectangle.OpacityMask>
95+
<VisualBrush Stretch="Uniform" Visual="{iconPacks:Material Kind=Plus}" />
96+
</Rectangle.OpacityMask>
97+
</Rectangle>
98+
<TextBlock Grid.Column="1" Text="{x:Static localization:Strings.AddDots}" Style="{StaticResource DefaultTextBlock}" TextAlignment="Center" Margin="10,5" />
99+
</Grid>
100+
</Button.Content>
101+
</Button>
165102
<Border Grid.Column="2" Grid.Row="0" Grid.RowSpan="4" Width="1" Margin="0,-10" Background="{DynamicResource MahApps.Brushes.Gray8}" />
166103
<Grid Grid.Column="4" Grid.Row="0" >
167104
<Grid.ColumnDefinitions>
@@ -171,7 +108,7 @@
171108
</Grid.ColumnDefinitions>
172109
<TextBlock Grid.Column="0" Style="{StaticResource HeaderTextBlock}" Text="{x:Static localization:Strings.Profiles}" />
173110
<TextBox x:Name="TextBoxSearch" Grid.Column="2" VerticalAlignment="Center" HorizontalAlignment="Right" Width="250" Text="{Binding Search, UpdateSourceTrigger=PropertyChanged}" Style="{StaticResource SearchTextBox}" />
174-
</Grid>
111+
</Grid>
175112
<controls:MultiSelectDataGrid x:Name="DataGridProfiles" Grid.Column="4" Grid.Row="1" Style="{StaticResource MahApps.Styles.DataGrid}" Visibility="{Binding IsSearching, Converter={StaticResource BooleanReverseToVisibilityCollapsedConverter}}" FontSize="14" mah:ControlsHelper.ContentCharacterCasing="Normal" ItemsSource="{Binding Profiles}" SelectedItem="{Binding SelectedProfile}" SelectedItemsList="{Binding SelectedProfiles, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" CanUserResizeColumns="False" VerticalScrollBarVisibility="Auto" AutoGenerateColumns="false" IsReadOnly="True"
176113
ScrollViewer.CanContentScroll="True"
177114
EnableColumnVirtualization="True"

0 commit comments

Comments
 (0)