Added a Material-styled scrollbar

Cleaned up reorder code
Reorganised profile editor layout and added panel titles
This commit is contained in:
Robert committed 2019-11-26 17:34:07 +01:00
1 parent 0ebb2ac556
commit 2ee1db6893
31 files changed
+896 -368

No files matched your search

@@ -68,14 +68,22 @@
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" To="0" Duration="0:0:0.25" />
<DoubleAnimation Storyboard.TargetProperty="Opacity" To="0" Duration="0:0:0.25">
<DoubleAnimation.EasingFunction>
<QuadraticEase EasingMode="EaseOut" />
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:0.25" />
<DoubleAnimation Storyboard.TargetProperty="Opacity" To="1" Duration="0:0:0.25" >
<DoubleAnimation.EasingFunction>
<QuadraticEase EasingMode="EaseOut" />
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</DataTrigger.ExitActions>
@@ -84,10 +92,10 @@
</Style>
</Path.Style>
<Path.Fill>
<SolidColorBrush Color="{StaticResource Accent400}" Opacity="0.65" />
<SolidColorBrush Opacity="0.65" />
</Path.Fill>
<Path.Stroke>
<SolidColorBrush Color="{StaticResource Accent400}"></SolidColorBrush>
<SolidColorBrush />
</Path.Stroke>
</Path>
</Canvas>
@@ -43,6 +43,7 @@
MouseDown="{s:Action EditorGridMouseClick}"
MouseMove="{s:Action EditorGridMouseMove}"
Cursor="{Binding Cursor}">
<Grid.Background>
<VisualBrush TileMode="Tile" Stretch="Uniform" Viewport="{Binding PanZoomViewModel.BackgroundViewport}" ViewportUnits="Absolute">
<VisualBrush.Visual>
@@ -81,6 +82,37 @@
</EventTrigger>
</Grid.Triggers>
<Grid.ContextMenu>
<ContextMenu>
<MenuItem Header="Create new layer for selection" Command="{s:Action CreateLayer}" CommandParameter="{Binding}">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="LayersPlus" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Apply selection to layer" Command="{s:Action ApplyToLayer}" CommandParameter="{Binding}">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="Selection" />
</MenuItem.Icon>
</MenuItem>
<Separator />
<MenuItem Header="Select all" Command="{s:Action SelectAll}" CommandParameter="{Binding}">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="SelectAll" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Inverse selection" Command="{s:Action InverseSelection}" CommandParameter="{Binding}">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="SelectInverse" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="Clear selection" Command="{s:Action ClearSelection}" CommandParameter="{Binding}">
<MenuItem.Icon>
<materialDesign:PackIcon Kind="SelectOff" />
</MenuItem.Icon>
</MenuItem>
</ContextMenu>
</Grid.ContextMenu>
<Grid Name="EditorDisplayGrid">
<Grid.RenderTransform>
<TransformGroup>
@@ -119,8 +151,21 @@
</Path.Fill>
</Path>
<StackPanel ZIndex="1" VerticalAlignment="Bottom" HorizontalAlignment="Left" Margin="10">
<materialDesign:Card Padding="8">
<StackPanel Orientation="Horizontal">
<CheckBox Style="{StaticResource MaterialDesignCheckBox}">
Highlight selected layer
</CheckBox>
<CheckBox Style="{StaticResource MaterialDesignCheckBox}" Margin="10 0 0 0">
Pause visualization on focus loss
</CheckBox>
</StackPanel>
</materialDesign:Card>
</StackPanel>
<StackPanel Orientation="Vertical" VerticalAlignment="Bottom" HorizontalAlignment="Right"
Margin="0, 0, 15, 15">
Margin="10" ZIndex="1">
<Slider Margin="0,0,14,0"
Orientation="Vertical"
Minimum="10"
@@ -35,8 +35,8 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.Visualization
ApplySurfaceConfiguration(surfaceService.ActiveSurface);
// Borrow RGB.NET's update trigger but limit the FPS
var targetFpsSetting = settingsService.GetSetting("TargetFrameRate", 25);
var editorTargetFpsSetting = settingsService.GetSetting("EditorTargetFrameRate", 15);
var targetFpsSetting = settingsService.GetSetting("Core.TargetFrameRate", 25);
var editorTargetFpsSetting = settingsService.GetSetting("ProfileEditor.TargetFrameRate", 15);
var targetFps = Math.Min(targetFpsSetting.Value, editorTargetFpsSetting.Value);
_updateTrigger = new TimerUpdateTrigger {UpdateFrequency = 1.0 / targetFps};
_updateTrigger.Update += UpdateLeds;
@@ -122,9 +122,9 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.Visualization
private Point _mouseDragStartPoint;
// ReSharper disable once UnusedMember.Global - Called from view
public void EditorGridMouseClick(object sender, MouseEventArgs e)
public void EditorGridMouseClick(object sender, MouseButtonEventArgs e)
{
if (IsPanKeyDown())
if (IsPanKeyDown() || e.ChangedButton == MouseButton.Right)
return;
var position = e.GetPosition((IInputElement) sender);