1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-31 09:43:46 +00:00

Surface editor - Stop RGB.NET update while editing surface

This commit is contained in:
SpoinkyNL 2020-04-23 19:10:24 +02:00
parent 8bc33de401
commit 5ffb1a32f5

View File

@ -94,9 +94,7 @@ namespace Artemis.UI.Screens.SurfaceEditor
{ {
activeConfig = CreateSurfaceConfiguration("Default"); activeConfig = CreateSurfaceConfiguration("Default");
configs.Add(activeConfig); configs.Add(activeConfig);
_rgbService.UpdateTrigger.Stop();
_surfaceService.SetActiveSurfaceConfiguration(activeConfig); _surfaceService.SetActiveSurfaceConfiguration(activeConfig);
_rgbService.UpdateTrigger.Start();
} }
Execute.PostToUIThread(() => Execute.PostToUIThread(() =>
@ -140,9 +138,7 @@ namespace Artemis.UI.Screens.SurfaceEditor
} }
}); });
_rgbService.UpdateTrigger.Stop();
_surfaceService.SetActiveSurfaceConfiguration(SelectedSurface); _surfaceService.SetActiveSurfaceConfiguration(SelectedSurface);
_rgbService.UpdateTrigger.Start();
} }
#region Overrides of Screen #region Overrides of Screen
@ -203,7 +199,7 @@ namespace Artemis.UI.Screens.SurfaceEditor
deviceViewModel.Device.ZIndex = i + 1; deviceViewModel.Device.ZIndex = i + 1;
} }
SafeUpdateSurfaceConfiguration(); _surfaceService.UpdateSurfaceConfiguration(SelectedSurface, true);
} }
public void BringForward(SurfaceDeviceViewModel surfaceDeviceViewModel) public void BringForward(SurfaceDeviceViewModel surfaceDeviceViewModel)
@ -218,7 +214,7 @@ namespace Artemis.UI.Screens.SurfaceEditor
deviceViewModel.Device.ZIndex = i + 1; deviceViewModel.Device.ZIndex = i + 1;
} }
SafeUpdateSurfaceConfiguration(); _surfaceService.UpdateSurfaceConfiguration(SelectedSurface, true);
} }
public void SendToBack(SurfaceDeviceViewModel surfaceDeviceViewModel) public void SendToBack(SurfaceDeviceViewModel surfaceDeviceViewModel)
@ -230,7 +226,7 @@ namespace Artemis.UI.Screens.SurfaceEditor
deviceViewModel.Device.ZIndex = i + 1; deviceViewModel.Device.ZIndex = i + 1;
} }
SafeUpdateSurfaceConfiguration(); _surfaceService.UpdateSurfaceConfiguration(SelectedSurface, true);
} }
public void SendBackward(SurfaceDeviceViewModel surfaceDeviceViewModel) public void SendBackward(SurfaceDeviceViewModel surfaceDeviceViewModel)
@ -244,7 +240,7 @@ namespace Artemis.UI.Screens.SurfaceEditor
deviceViewModel.Device.ZIndex = i + 1; deviceViewModel.Device.ZIndex = i + 1;
} }
SafeUpdateSurfaceConfiguration(); _surfaceService.UpdateSurfaceConfiguration(SelectedSurface, true);
} }
public async Task ViewProperties(SurfaceDeviceViewModel surfaceDeviceViewModel) public async Task ViewProperties(SurfaceDeviceViewModel surfaceDeviceViewModel)
@ -255,7 +251,7 @@ namespace Artemis.UI.Screens.SurfaceEditor
}); });
if ((bool) madeChanges) if ((bool) madeChanges)
SafeUpdateSurfaceConfiguration(); _surfaceService.UpdateSurfaceConfiguration(SelectedSurface, true);
} }
#endregion #endregion
@ -351,7 +347,7 @@ namespace Artemis.UI.Screens.SurfaceEditor
} }
} }
else else
SafeUpdateSurfaceConfiguration(); _surfaceService.UpdateSurfaceConfiguration(SelectedSurface, true);
_mouseDragStatus = MouseDragStatus.None; _mouseDragStatus = MouseDragStatus.None;
} }
@ -379,13 +375,6 @@ namespace Artemis.UI.Screens.SurfaceEditor
device.UpdateMouseDrag(position); device.UpdateMouseDrag(position);
} }
private void SafeUpdateSurfaceConfiguration()
{
_rgbService.UpdateTrigger.Stop();
_surfaceService.UpdateSurfaceConfiguration(SelectedSurface, true);
_rgbService.UpdateTrigger.Start();
}
#endregion #endregion
#region Panning and zooming #region Panning and zooming
@ -426,6 +415,18 @@ namespace Artemis.UI.Screens.SurfaceEditor
} }
#endregion #endregion
protected override void OnActivate()
{
_rgbService.UpdateTrigger.Stop();
base.OnActivate();
}
protected override void OnDeactivate()
{
_rgbService.UpdateTrigger.Start();
base.OnDeactivate();
}
} }
internal enum MouseDragStatus internal enum MouseDragStatus