1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-13 05:48:35 +00:00
Artemis/Artemis/Artemis/Modules/Overlays/VolumeDisplay/VolumeDisplayViewModel.cs
SpoinkyNL 303133fcef Revert "Unified line endings"
This reverts commit bca680f1357556b2f499e37c6c69df90571f9b38.
2016-03-27 15:07:19 +02:00

60 lines
1.8 KiB
C#

using Artemis.Managers;
using Caliburn.Micro;
namespace Artemis.Modules.Overlays.VolumeDisplay
{
public class VolumeDisplayViewModel : Screen
{
private VolumeDisplaySettings _volumeDisplaySettings;
public VolumeDisplayViewModel(MainManager mainManager)
{
MainManager = mainManager;
// Settings are loaded from file by class
VolumeDisplaySettings = new VolumeDisplaySettings();
// Create effect model and add it to MainManager
VolumeDisplayModel = new VolumeDisplayModel(mainManager, VolumeDisplaySettings);
MainManager.EffectManager.EffectModels.Add(VolumeDisplayModel);
}
public static string Name => "Volume Display";
public MainManager MainManager { get; set; }
public VolumeDisplayModel VolumeDisplayModel { get; set; }
public VolumeDisplaySettings VolumeDisplaySettings
{
get { return _volumeDisplaySettings; }
set
{
if (Equals(value, _volumeDisplaySettings)) return;
_volumeDisplaySettings = value;
NotifyOfPropertyChange(() => VolumeDisplaySettings);
}
}
public void ToggleEffect()
{
VolumeDisplayModel.Enabled = _volumeDisplaySettings.Enabled;
}
public void SaveSettings()
{
if (VolumeDisplayModel == null)
return;
VolumeDisplaySettings.Save();
}
public void ResetSettings()
{
// TODO: Confirmation dialog (Generic MVVM approach)
VolumeDisplaySettings.ToDefault();
NotifyOfPropertyChange(() => VolumeDisplaySettings);
SaveSettings();
}
}
}