mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Layer adapter hints - Finished port, added deleting hints
This commit is contained in:
parent
720bebaf35
commit
cd97ed420c
@ -119,7 +119,7 @@ public interface IConditionVmFactory : IVmFactory
|
|||||||
|
|
||||||
public interface ILayerHintVmFactory : IVmFactory
|
public interface ILayerHintVmFactory : IVmFactory
|
||||||
{
|
{
|
||||||
CategoryAdaptionHintViewModel CategoryAdaptionHintViewModel(CategoryAdaptionHint adaptionHint);
|
CategoryAdaptionHintViewModel CategoryAdaptionHintViewModel(Layer layer, CategoryAdaptionHint adaptionHint);
|
||||||
DeviceAdaptionHintViewModel DeviceAdaptionHintViewModel(DeviceAdaptionHint adaptionHint);
|
DeviceAdaptionHintViewModel DeviceAdaptionHintViewModel(Layer layer, DeviceAdaptionHint adaptionHint);
|
||||||
KeyboardSectionAdaptionHintViewModel KeyboardSectionAdaptionHintViewModel(KeyboardSectionAdaptionHint adaptionHint);
|
KeyboardSectionAdaptionHintViewModel KeyboardSectionAdaptionHintViewModel(Layer layer, KeyboardSectionAdaptionHint adaptionHint);
|
||||||
}
|
}
|
||||||
@ -128,10 +128,15 @@ public class MenuBarViewModel : ActivatableViewModelBase
|
|||||||
if (ProfileConfiguration?.Profile == null)
|
if (ProfileConfiguration?.Profile == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!await _windowService.ShowConfirmContentDialog("Adapt profile", "Are you sure you want to adapt the profile to your current surface? Layer assignments may change."))
|
bool confirmed = await _windowService.ShowConfirmContentDialog(
|
||||||
|
"Adapt profile",
|
||||||
|
"Are you sure you want to adapt the profile to your current surface? Layer assignments may change and you will lose your undo/redo history."
|
||||||
|
);
|
||||||
|
if (!confirmed)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
_profileService.AdaptProfile(ProfileConfiguration.Profile);
|
_profileService.AdaptProfile(ProfileConfiguration.Profile);
|
||||||
|
_history?.Clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ExecuteToggleSuspended()
|
private void ExecuteToggleSuspended()
|
||||||
|
|||||||
@ -7,16 +7,19 @@ namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
|||||||
|
|
||||||
public abstract class AdaptionHintViewModelBase : ViewModelBase
|
public abstract class AdaptionHintViewModelBase : ViewModelBase
|
||||||
{
|
{
|
||||||
protected AdaptionHintViewModelBase(IAdaptionHint adaptionHint)
|
protected AdaptionHintViewModelBase(Layer layer, IAdaptionHint adaptionHint)
|
||||||
{
|
{
|
||||||
|
Layer = layer;
|
||||||
AdaptionHint = adaptionHint;
|
AdaptionHint = adaptionHint;
|
||||||
Remove = ReactiveCommand.Create(ExecuteRemove);
|
Remove = ReactiveCommand.Create(ExecuteRemove);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ReactiveCommand<Unit, Unit> Remove { get; }
|
public Layer Layer { get; }
|
||||||
public IAdaptionHint AdaptionHint { get; }
|
public IAdaptionHint AdaptionHint { get; }
|
||||||
|
public ReactiveCommand<Unit, Unit> Remove { get; }
|
||||||
|
|
||||||
private void ExecuteRemove()
|
private void ExecuteRemove()
|
||||||
{
|
{
|
||||||
|
Layer.Adapter.Remove(AdaptionHint);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4,7 +4,7 @@ namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
|||||||
|
|
||||||
public class CategoryAdaptionHintViewModel : AdaptionHintViewModelBase
|
public class CategoryAdaptionHintViewModel : AdaptionHintViewModelBase
|
||||||
{
|
{
|
||||||
public CategoryAdaptionHintViewModel(CategoryAdaptionHint adaptionHint) : base(adaptionHint)
|
public CategoryAdaptionHintViewModel(Layer layer, CategoryAdaptionHint adaptionHint) : base(layer, adaptionHint)
|
||||||
{
|
{
|
||||||
CategoryAdaptionHint = adaptionHint;
|
CategoryAdaptionHint = adaptionHint;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@ namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
|||||||
|
|
||||||
public class DeviceAdaptionHintViewModel : AdaptionHintViewModelBase
|
public class DeviceAdaptionHintViewModel : AdaptionHintViewModelBase
|
||||||
{
|
{
|
||||||
public DeviceAdaptionHintViewModel(DeviceAdaptionHint adaptionHint) : base(adaptionHint)
|
public DeviceAdaptionHintViewModel(Layer layer, DeviceAdaptionHint adaptionHint) : base(layer, adaptionHint)
|
||||||
{
|
{
|
||||||
DeviceAdaptionHint = adaptionHint;
|
DeviceAdaptionHint = adaptionHint;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@ namespace Artemis.UI.Screens.ProfileEditor.ProfileTree.Dialogs.AdaptionHints;
|
|||||||
|
|
||||||
public class KeyboardSectionAdaptionHintViewModel : AdaptionHintViewModelBase
|
public class KeyboardSectionAdaptionHintViewModel : AdaptionHintViewModelBase
|
||||||
{
|
{
|
||||||
public KeyboardSectionAdaptionHintViewModel(KeyboardSectionAdaptionHint adaptionHint) : base(adaptionHint)
|
public KeyboardSectionAdaptionHintViewModel(Layer layer, KeyboardSectionAdaptionHint adaptionHint) : base(layer, adaptionHint)
|
||||||
{
|
{
|
||||||
KeyboardSectionAdaptionHint = adaptionHint;
|
KeyboardSectionAdaptionHint = adaptionHint;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -76,9 +76,9 @@ public class LayerHintsDialogViewModel : DialogViewModelBase<bool>
|
|||||||
{
|
{
|
||||||
return hint switch
|
return hint switch
|
||||||
{
|
{
|
||||||
CategoryAdaptionHint categoryAdaptionHint => _vmFactory.CategoryAdaptionHintViewModel(categoryAdaptionHint),
|
CategoryAdaptionHint categoryAdaptionHint => _vmFactory.CategoryAdaptionHintViewModel(Layer, categoryAdaptionHint),
|
||||||
DeviceAdaptionHint deviceAdaptionHint => _vmFactory.DeviceAdaptionHintViewModel(deviceAdaptionHint),
|
DeviceAdaptionHint deviceAdaptionHint => _vmFactory.DeviceAdaptionHintViewModel(Layer, deviceAdaptionHint),
|
||||||
KeyboardSectionAdaptionHint keyboardSectionAdaptionHint => _vmFactory.KeyboardSectionAdaptionHintViewModel(keyboardSectionAdaptionHint),
|
KeyboardSectionAdaptionHint keyboardSectionAdaptionHint => _vmFactory.KeyboardSectionAdaptionHintViewModel(Layer, keyboardSectionAdaptionHint),
|
||||||
_ => throw new ArgumentOutOfRangeException(nameof(hint))
|
_ => throw new ArgumentOutOfRangeException(nameof(hint))
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user