Skip to content

Commit 2a543c3

Browse files
committed
Generic Button: Marker for "Modifiers" tab if there are modifiers
Issue #213
1 parent 5352065 commit 2a543c3

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

StreamDeckSimHub.Plugin/ActionEditor/ViewModels/DisplayItemViewModels.cs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ public abstract partial class DisplayItemViewModel(DisplayItem model, IViewModel
3131
protected DisplayItemViewModel(DisplayItem model, IViewModel parentViewModel) : this(model, parentViewModel, null)
3232
{
3333
Modifiers = new ObservableCollection<ModifierViewModel>(model.Modifiers.Select(ModifierToViewModel));
34+
Modifiers.CollectionChanged += (_, _) => OnPropertyChanged(nameof(HasModifiers));
3435

3536
if (model is IAcceptsModifierBlink) AvailableModifiers.Add(ModifierBlink.UiName);
3637
if (model is IAcceptsModifierColor) AvailableModifiers.Add(ModifierColor.UiName);
@@ -114,6 +115,8 @@ partial void OnRotationChanged(int value)
114115

115116
public ObservableCollection<ModifierViewModel> Modifiers { get; } = [];
116117

118+
public bool HasModifiers => Modifiers.Count > 0;
119+
117120
[ObservableProperty]
118121
[NotifyPropertyChangedFor(nameof(IsModifierSelected))]
119122
private ModifierViewModel? _selectedModifier;

StreamDeckSimHub.Plugin/ActionEditor/Views/DisplayItemView.xaml

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
d:DesignHeight="600" d:DesignWidth="750">
1212

1313
<UserControl.Resources>
14+
<BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
1415
<DataTemplate DataType="{x:Type viewModels:DisplayItemImageViewModel}">
1516
<local:DisplayItemImageView />
1617
</DataTemplate>
@@ -45,7 +46,14 @@
4546
<TabItem Header="Element">
4647
<controls:DisplayItemControl />
4748
</TabItem>
48-
<TabItem Header="Modifiers">
49+
<TabItem>
50+
<TabItem.Header>
51+
<StackPanel Orientation="Horizontal">
52+
<TextBlock Text="Modifiers" />
53+
<Ellipse Width="7" Height="7" Fill="#607D8B" Margin="5,0,0,0" VerticalAlignment="Center"
54+
Visibility="{Binding HasModifiers, Converter={StaticResource BooleanToVisibilityConverter}}" />
55+
</StackPanel>
56+
</TabItem.Header>
4957
<controls:ModifiersControl />
5058
</TabItem>
5159
</TabControl>

0 commit comments

Comments
 (0)