mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-01-01 10:13:30 +00:00
Disable layers by default when Toggle Enable keybind is first keybind
Layer editor move and resize selected layer when underneath other layers Fix copy-paste crash
This commit is contained in:
parent
954f4864d8
commit
5c8968a32d
@ -61,7 +61,7 @@ namespace Artemis
|
|||||||
}
|
}
|
||||||
|
|
||||||
// If there is another type of of IInputControl get the non-scaled position - or do some processing to get a scaled position, whatever needs to happen
|
// If there is another type of of IInputControl get the non-scaled position - or do some processing to get a scaled position, whatever needs to happen
|
||||||
if ((e != null) && (input != null))
|
if (e != null && input != null)
|
||||||
return e.GetPosition(input).X;
|
return e.GetPosition(input).X;
|
||||||
|
|
||||||
// Return 0 if no processing could be done
|
// Return 0 if no processing could be done
|
||||||
@ -98,7 +98,7 @@ namespace Artemis
|
|||||||
logger.Info("Artemis was run using the autorun shortcut, sleeping for 15 sec.");
|
logger.Info("Artemis was run using the autorun shortcut, sleeping for 15 sec.");
|
||||||
Thread.Sleep(15000);
|
Thread.Sleep(15000);
|
||||||
}
|
}
|
||||||
InputHook.Start();
|
|
||||||
_kernel = new StandardKernel(new BaseModules(), new ManagerModules());
|
_kernel = new StandardKernel(new BaseModules(), new ManagerModules());
|
||||||
|
|
||||||
_kernel.Bind<IWindowManager>().To<WindowManager>().InSingletonScope();
|
_kernel.Bind<IWindowManager>().To<WindowManager>().InSingletonScope();
|
||||||
@ -145,6 +145,7 @@ namespace Artemis
|
|||||||
protected override void OnStartup(object sender, StartupEventArgs e)
|
protected override void OnStartup(object sender, StartupEventArgs e)
|
||||||
{
|
{
|
||||||
DisplayRootViewFor<ShellViewModel>();
|
DisplayRootViewFor<ShellViewModel>();
|
||||||
|
InputHook.Start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -63,9 +63,15 @@ namespace Artemis.Profiles.Layers.Models
|
|||||||
switch (ToggleType)
|
switch (ToggleType)
|
||||||
{
|
{
|
||||||
case ToggleType.Enable:
|
case ToggleType.Enable:
|
||||||
|
// Apply RenderAllowed only if this is the first keybind
|
||||||
|
if (index == 0)
|
||||||
|
layerModel.RenderAllowed = false;
|
||||||
action = () => layerModel.RenderAllowed = true;
|
action = () => layerModel.RenderAllowed = true;
|
||||||
break;
|
break;
|
||||||
case ToggleType.Disable:
|
case ToggleType.Disable:
|
||||||
|
// Apply RenderAllowed only if this is the first keybind
|
||||||
|
if (index == 0)
|
||||||
|
layerModel.RenderAllowed = false;
|
||||||
action = () => layerModel.RenderAllowed = false;
|
action = () => layerModel.RenderAllowed = false;
|
||||||
break;
|
break;
|
||||||
case ToggleType.Toggle:
|
case ToggleType.Toggle:
|
||||||
|
|||||||
@ -324,7 +324,7 @@ namespace Artemis.ViewModels
|
|||||||
|
|
||||||
public void LayerToClipboard()
|
public void LayerToClipboard()
|
||||||
{
|
{
|
||||||
if (SelectedLayer == null || !ActiveWindowHelper.MainWindowActive)
|
if (SelectedLayer == null || !ActiveWindowHelper.MainWindowActive || !IsActive)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// Probably not how the cool kids do it but leveraging on JsonConvert gives flawless serialization
|
// Probably not how the cool kids do it but leveraging on JsonConvert gives flawless serialization
|
||||||
@ -333,9 +333,11 @@ namespace Artemis.ViewModels
|
|||||||
|
|
||||||
public void ClipboardToLayer()
|
public void ClipboardToLayer()
|
||||||
{
|
{
|
||||||
if (!ActiveWindowHelper.MainWindowActive)
|
if (!ActiveWindowHelper.MainWindowActive || !IsActive)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
GeneralHelpers.ExecuteSta(() =>
|
GeneralHelpers.ExecuteSta(() =>
|
||||||
{
|
{
|
||||||
var data = (string) Clipboard.GetData("layer");
|
var data = (string) Clipboard.GetData("layer");
|
||||||
@ -356,6 +358,11 @@ namespace Artemis.ViewModels
|
|||||||
Execute.OnUIThread(() => UpdateLayerList(layerModel));
|
Execute.OnUIThread(() => UpdateLayerList(layerModel));
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
// ignored
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void UpdateLayerList(LayerModel selectModel)
|
private void UpdateLayerList(LayerModel selectModel)
|
||||||
{
|
{
|
||||||
@ -665,7 +672,7 @@ namespace Artemis.ViewModels
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
var pos = GetScaledPosition(e);
|
var pos = GetScaledPosition(e);
|
||||||
var hoverLayer = GetLayers().Where(l => l.MustDraw()).FirstOrDefault(l => l.Properties.PropertiesRect(1).Contains(pos.X, pos.Y));
|
var hoverLayer = GetHoverLayer(pos.X, pos.Y);
|
||||||
|
|
||||||
if (hoverLayer != null)
|
if (hoverLayer != null)
|
||||||
SelectedLayer = hoverLayer;
|
SelectedLayer = hoverLayer;
|
||||||
@ -681,7 +688,7 @@ namespace Artemis.ViewModels
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
var pos = GetScaledPosition(e);
|
var pos = GetScaledPosition(e);
|
||||||
var hoverLayer = GetLayers().Where(l => l.MustDraw()).FirstOrDefault(l => l.Properties.PropertiesRect(1).Contains(pos.X, pos.Y));
|
var hoverLayer = GetHoverLayer(pos.X, pos.Y);
|
||||||
|
|
||||||
HandleDragging(e, pos.X, pos.Y, hoverLayer);
|
HandleDragging(e, pos.X, pos.Y, hoverLayer);
|
||||||
|
|
||||||
@ -703,6 +710,8 @@ namespace Artemis.ViewModels
|
|||||||
KeyboardPreviewCursor = Cursors.Hand;
|
KeyboardPreviewCursor = Cursors.Hand;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
private Point GetScaledPosition(MouseEventArgs e)
|
private Point GetScaledPosition(MouseEventArgs e)
|
||||||
{
|
{
|
||||||
var previewSettings = _deviceManager.ActiveKeyboard.PreviewSettings;
|
var previewSettings = _deviceManager.ActiveKeyboard.PreviewSettings;
|
||||||
@ -723,6 +732,15 @@ namespace Artemis.ViewModels
|
|||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private LayerModel GetHoverLayer(double x, double y)
|
||||||
|
{
|
||||||
|
// Prefer the selected layer as the hover layer even if it's underneath something else
|
||||||
|
if (SelectedLayer != null && SelectedLayer.Properties.PropertiesRect(1).Contains(x, y))
|
||||||
|
return SelectedLayer;
|
||||||
|
|
||||||
|
return GetLayers().Where(l => l.MustDraw()).FirstOrDefault(l => l.Properties.PropertiesRect(1).Contains(x, y));
|
||||||
|
}
|
||||||
|
|
||||||
public Cursor KeyboardPreviewCursor
|
public Cursor KeyboardPreviewCursor
|
||||||
{
|
{
|
||||||
get { return _keyboardPreviewCursor; }
|
get { return _keyboardPreviewCursor; }
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user