diff --git a/src/Artemis.UI/Screens/ProfileEditor/DisplayConditions/DisplayConditionGroupViewModel.cs b/src/Artemis.UI/Screens/ProfileEditor/DisplayConditions/DisplayConditionGroupViewModel.cs
index a5caf78dd..61fbad0ec 100644
--- a/src/Artemis.UI/Screens/ProfileEditor/DisplayConditions/DisplayConditionGroupViewModel.cs
+++ b/src/Artemis.UI/Screens/ProfileEditor/DisplayConditions/DisplayConditionGroupViewModel.cs
@@ -131,6 +131,9 @@ namespace Artemis.UI.Screens.ProfileEditor.DisplayConditions
foreach (var childViewModel in Items)
childViewModel.Update();
+
+ if (IsRootGroup)
+ ((DisplayConditionsViewModel) Parent).DisplayStartHint = !Items.Any();
}
}
}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/DisplayConditions/DisplayConditionsView.xaml b/src/Artemis.UI/Screens/ProfileEditor/DisplayConditions/DisplayConditionsView.xaml
index 68c8ef8f9..14f88f21f 100644
--- a/src/Artemis.UI/Screens/ProfileEditor/DisplayConditions/DisplayConditionsView.xaml
+++ b/src/Artemis.UI/Screens/ProfileEditor/DisplayConditions/DisplayConditionsView.xaml
@@ -15,161 +15,146 @@
-
-
-
-
- Unleash Artemis's true potential
- Start using conditions to dynamically show and hide groups and layers
+
+
+
+
+
+
+
+
+ Display conditions
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
- Display conditions
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Configure how the layer should act while the conditions above are met
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Continue repeating the main segment of the timeline while the condition is met
-
-
-
-
-
- REPEAT
-
-
-
-
-
-
- Only play the timeline once when the condition is met
-
-
-
-
-
- ONCE
-
-
-
-
-
-
-
-
-
-
-
-
- Configure how the layer should act when the conditions above are no longer met
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- When conditions are no longer met, finish the the current run of the main timeline
-
-
-
-
-
- FINISH
-
-
-
-
-
-
- When conditions are no longer met, skip to the end segment of the timeline
-
-
-
-
-
- SKIP TO END
-
-
-
-
-
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Configure how the layer should act while the conditions above are met
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Continue repeating the main segment of the timeline while the condition is met
+
+
+
+
+
+ REPEAT
+
+
+
+
+
+
+ Only play the timeline once when the condition is met
+
+
+
+
+
+ ONCE
+
+
+
+
+
+
+
+
+
+
+
+
+ Configure how the layer should act when the conditions above are no longer met
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ When conditions are no longer met, finish the the current run of the main timeline
+
+
+
+
+
+ FINISH
+
+
+
+
+
+
+ When conditions are no longer met, skip to the end segment of the timeline
+
+
+
+
+
+ SKIP TO END
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/ProfileEditor/DisplayConditions/DisplayConditionsViewModel.cs b/src/Artemis.UI/Screens/ProfileEditor/DisplayConditions/DisplayConditionsViewModel.cs
index 5392d0f52..6e9d1f6f1 100644
--- a/src/Artemis.UI/Screens/ProfileEditor/DisplayConditions/DisplayConditionsViewModel.cs
+++ b/src/Artemis.UI/Screens/ProfileEditor/DisplayConditions/DisplayConditionsViewModel.cs
@@ -12,7 +12,7 @@ namespace Artemis.UI.Screens.ProfileEditor.DisplayConditions
private readonly IDisplayConditionsVmFactory _displayConditionsVmFactory;
private readonly IProfileEditorService _profileEditorService;
private RenderProfileElement _renderProfileElement;
- private int _transitionerIndex;
+ private bool _displayStartHint;
public DisplayConditionsViewModel(IProfileEditorService profileEditorService, IDisplayConditionsVmFactory displayConditionsVmFactory)
{
@@ -20,13 +20,12 @@ namespace Artemis.UI.Screens.ProfileEditor.DisplayConditions
_displayConditionsVmFactory = displayConditionsVmFactory;
}
- public int TransitionerIndex
+ public bool DisplayStartHint
{
- get => _transitionerIndex;
- set => SetAndNotify(ref _transitionerIndex, value);
+ get => _displayStartHint;
+ set => SetAndNotify(ref _displayStartHint, value);
}
-
public RenderProfileElement RenderProfileElement
{
get => _renderProfileElement;
@@ -89,8 +88,7 @@ namespace Artemis.UI.Screens.ProfileEditor.DisplayConditions
ActiveItem.Update();
// Only show the intro to conditions once, and only if the layer has no conditions
- if (TransitionerIndex != 1)
- TransitionerIndex = ActiveItem.Items.Any() ? 1 : 0;
+ DisplayStartHint = !ActiveItem.Items.Any();
}
}
}
\ No newline at end of file
diff --git a/src/Artemis.UI/Screens/Settings/Tabs/Devices/DeviceSettingsTabViewModel.cs b/src/Artemis.UI/Screens/Settings/Tabs/Devices/DeviceSettingsTabViewModel.cs
index 3ff720cd0..aacae4bbd 100644
--- a/src/Artemis.UI/Screens/Settings/Tabs/Devices/DeviceSettingsTabViewModel.cs
+++ b/src/Artemis.UI/Screens/Settings/Tabs/Devices/DeviceSettingsTabViewModel.cs
@@ -23,9 +23,11 @@ namespace Artemis.UI.Screens.Settings.Tabs.Devices
protected override void OnActivate()
{
// Take it off the UI thread to avoid freezing on tab change
- Task.Run(() =>
+ Task.Run(async () =>
{
Items.Clear();
+ await Task.Delay(200);
+
var instances = _surfaceService.ActiveSurface.Devices.Select(d => _settingsVmFactory.CreateDeviceSettingsViewModel(d)).ToList();
foreach (var deviceSettingsViewModel in instances)
Items.Add(deviceSettingsViewModel);
diff --git a/src/Artemis.UI/Screens/Settings/Tabs/Plugins/PluginSettingsTabViewModel.cs b/src/Artemis.UI/Screens/Settings/Tabs/Plugins/PluginSettingsTabViewModel.cs
index 6cb8de565..50d3cce86 100644
--- a/src/Artemis.UI/Screens/Settings/Tabs/Plugins/PluginSettingsTabViewModel.cs
+++ b/src/Artemis.UI/Screens/Settings/Tabs/Plugins/PluginSettingsTabViewModel.cs
@@ -23,10 +23,16 @@ namespace Artemis.UI.Screens.Settings.Tabs.Plugins
protected override void OnActivate()
{
// Take it off the UI thread to avoid freezing on tab change
- Items.Clear();
- var instances = _pluginService.GetAllPluginInfo().Select(p => _settingsVmFactory.CreatePluginSettingsViewModel(p.Instance)).ToList();
- foreach (var pluginSettingsViewModel in instances)
- Items.Add(pluginSettingsViewModel);
+ Task.Run(async () =>
+ {
+ Items.Clear();
+ await Task.Delay(200);
+
+ var instances = _pluginService.GetAllPluginInfo().Select(p => _settingsVmFactory.CreatePluginSettingsViewModel(p.Instance)).ToList();
+ foreach (var pluginSettingsViewModel in instances)
+ Items.Add(pluginSettingsViewModel);
+ });
+
}
}
}
\ No newline at end of file