Skip to content

Commit 2eb1d17

Browse files
Move buttons for icons to bottom
1 parent 372d90d commit 2eb1d17

File tree

3 files changed

+60
-28
lines changed

3 files changed

+60
-28
lines changed

MSUScripter/Services/ControlServices/MsuProjectWindowService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ public void FilterTree()
286286
{
287287
var hasFilterToggle = _viewModel.FilterOnlyTracksMissingSongs || _viewModel.FilterOnlyIncomplete ||
288288
_viewModel.FilterOnlyMissingAudio || _viewModel.FilterOnlyCopyrightUntested;
289-
_viewModel.FilterEyeIcon = hasFilterToggle ? MaterialIconKind.EyeCheck : MaterialIconKind.Eye;
289+
_viewModel.FilterEyeIcon = hasFilterToggle ? MaterialIconKind.FilterCheck : MaterialIconKind.Filter;
290290
List<MsuProjectWindowViewModelTreeData> parentTreeItems = [];
291291
var filterText = string.IsNullOrEmpty(_viewModel.FilterText) ? null : _viewModel.FilterText.ToLower();
292292
foreach (var treeData in _viewModel.TreeItems)

MSUScripter/ViewModels/MsuProjectWindowViewModel.cs

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -330,16 +330,20 @@ public class MsuProjectWindowViewModel : TranslatedViewModelBase
330330
public bool IsDraggingItem { get; set; }
331331

332332
public bool IsViewingSongData => MsuSongViewModel.IsEnabled;
333-
[Reactive] public bool DisplayHasSongIcon { get; set; }
334-
[Reactive] public bool DisplayCheckCopyrightIcon { get; set; }
335-
[Reactive] public bool DisplayCopyrightSafeIcon { get; set; }
336-
[Reactive] public bool DisplayIsCompleteIcon { get; set; }
333+
[Reactive, ReactiveLinkedProperties(nameof(HasSongButtonOpacity))] public bool DisplayHasSongIcon { get; set; }
334+
[Reactive, ReactiveLinkedProperties(nameof(CheckCopyrightButtonOpacity))] public bool DisplayCheckCopyrightIcon { get; set; }
335+
[Reactive, ReactiveLinkedProperties(nameof(CopyrightSafeButtonOpacity))] public bool DisplayCopyrightSafeIcon { get; set; }
336+
[Reactive, ReactiveLinkedProperties(nameof(IsCompleteButtonOpacity))] public bool DisplayIsCompleteIcon { get; set; }
337+
public double IsCompleteButtonOpacity => DisplayIsCompleteIcon ? 1 : 0.5;
338+
public double HasSongButtonOpacity => DisplayHasSongIcon ? 1 : 0.5;
339+
public double CheckCopyrightButtonOpacity => DisplayCheckCopyrightIcon ? 1 : 0.5;
340+
public double CopyrightSafeButtonOpacity => DisplayCopyrightSafeIcon ? 1 : 0.5;
337341
[Reactive] public MsuProjectWindowViewModelTreeData? SelectedTreeItem { get; set; }
338342
[Reactive] public bool FilterOnlyTracksMissingSongs { get; set; }
339343
[Reactive] public bool FilterOnlyIncomplete { get; set; }
340344
[Reactive] public bool FilterOnlyMissingAudio { get; set; }
341345
[Reactive] public bool FilterOnlyCopyrightUntested { get; set; }
342-
[Reactive] public MaterialIconKind FilterEyeIcon { get; set; } = MaterialIconKind.Eye;
346+
[Reactive] public MaterialIconKind FilterEyeIcon { get; set; } = MaterialIconKind.Filter;
343347
[Reactive] public string StatusBarText { get; set; } = "Loaded Project";
344348
[Reactive] public string WindowTitle { get; set; } = "MSU Scripter";
345349

MSUScripter/Views/MsuProjectWindow.axaml

Lines changed: 50 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -206,34 +206,63 @@
206206
Header="Reapply Filters"
207207
Click="ReapplyFiltersMenuItem_OnClick"
208208
/>
209-
<Separator />
210-
<controls:CheckedMenuItem
211-
Header="{Binding Text.ProjectWindowDisplayIsCompleteIcon}"
212-
IsChecked="{Binding DisplayIsCompleteIcon}"
213-
Click="DisplayIsCompleteMenuItem_OnClick"
214-
/>
215-
<controls:CheckedMenuItem
216-
Header="{Binding Text.ProjectWindowDisplayHasSongIcon}"
217-
IsChecked="{Binding DisplayHasSongIcon}"
218-
Click="DisplayHasAudioMenuItem_OnClick"
219-
/>
220-
<controls:CheckedMenuItem
221-
Header="{Binding Text.ProjectWindowDisplayCheckCopyrightIcon}"
222-
IsChecked="{Binding DisplayCheckCopyrightIcon}"
223-
Click="DisplayCopyrightTestMenuItem_OnClick"
224-
/>
225-
<controls:CheckedMenuItem
226-
Header="{Binding Text.ProjectWindowDisplayCopyrightSafeIcon}"
227-
IsChecked="{Binding DisplayCopyrightSafeIcon}"
228-
Click="DisplayCopyrightStatusMenuItem_OnClick"
229-
/>
230209
</ContextMenu>
231210

232211
</Button.ContextMenu>
233212
<avalonia:MaterialIcon Kind="{Binding FilterEyeIcon}" Width="14"></avalonia:MaterialIcon>
234213
</controls:ContextMenuButton>
235214
</Grid>
236215

216+
<Grid ColumnDefinitions="*, *, *, *" DockPanel.Dock="Bottom">
217+
<Button
218+
Grid.Column="0"
219+
Padding="3"
220+
Click="DisplayIsCompleteMenuItem_OnClick"
221+
Opacity="{Binding IsCompleteButtonOpacity}"
222+
ToolTip.Tip="Toggle song completion status icons"
223+
>
224+
<avalonia:MaterialIcon
225+
Kind="Flag"
226+
Height="14"
227+
/>
228+
</Button>
229+
<Button
230+
Grid.Column="1"
231+
Padding="3"
232+
Click="DisplayCopyrightStatusMenuItem_OnClick"
233+
Opacity="{Binding CopyrightSafeButtonOpacity}"
234+
ToolTip.Tip="Toggle copyright safe status icons"
235+
>
236+
<avalonia:MaterialIcon
237+
Kind="Copyright"
238+
Height="14"
239+
/>
240+
</Button>
241+
<Button
242+
Grid.Column="2"
243+
Padding="3"
244+
Click="DisplayCopyrightTestMenuItem_OnClick"
245+
Opacity="{Binding CheckCopyrightButtonOpacity}"
246+
ToolTip.Tip="Toggle add to copyright check video status icons"
247+
>
248+
<avalonia:MaterialIcon
249+
Kind="Video"
250+
Height="14"
251+
/>
252+
</Button>
253+
<Button
254+
Grid.Column="3"
255+
Padding="3"
256+
Click="DisplayHasAudioMenuItem_OnClick"
257+
Opacity="{Binding HasSongButtonOpacity}"
258+
ToolTip.Tip="Toggle has audio file status icons"
259+
>
260+
<avalonia:MaterialIcon
261+
Kind="VolumeSource"
262+
Height="14"
263+
/>
264+
</Button>
265+
</Grid>
237266
<ListBox
238267
BorderThickness="0"
239268
ItemsSource="{Binding TreeItems}"
@@ -393,7 +422,6 @@
393422
</ListBox>
394423
</DockPanel>
395424

396-
397425
<Border Grid.Row="2" Background="{DynamicResource CardBorderColor}" Name="SummaryBorder">
398426
<StackPanel Margin="5" Orientation="Vertical">
399427
<TextBlock Text="{Binding SongSummary}" HorizontalAlignment="Center" TextTrimming="CharacterEllipsis"/>

0 commit comments

Comments
 (0)