mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-11 19:36:28 +00:00
Started layout editor implementation
Rearranged VMs/Views Updated RGB.NET
This commit is contained in:
1 parent
2fd5941ff3
commit
1146de1fc5
52 files changed
+741
-185
No files matched your search
@@ -8,17 +8,17 @@ namespace Artemis.Core.Plugins.Models
|
||||
public class PluginSetting<T>
|
||||
{
|
||||
private readonly PluginInfo _pluginInfo;
|
||||
private readonly SettingEntity _settingEntity;
|
||||
private readonly ISettingRepository _settingRepository;
|
||||
private readonly PluginSettingEntity _pluginSettingEntity;
|
||||
private readonly IPluginSettingRepository _pluginSettingRepository;
|
||||
|
||||
internal PluginSetting(PluginInfo pluginInfo, ISettingRepository settingRepository, SettingEntity settingEntity)
|
||||
internal PluginSetting(PluginInfo pluginInfo, IPluginSettingRepository pluginSettingRepository, PluginSettingEntity pluginSettingEntity)
|
||||
{
|
||||
_pluginInfo = pluginInfo;
|
||||
_settingRepository = settingRepository;
|
||||
_settingEntity = settingEntity;
|
||||
_pluginSettingRepository = pluginSettingRepository;
|
||||
_pluginSettingEntity = pluginSettingEntity;
|
||||
|
||||
Name = settingEntity.Name;
|
||||
Value = JsonConvert.DeserializeObject<T>(settingEntity.Value);
|
||||
Name = pluginSettingEntity.Name;
|
||||
Value = JsonConvert.DeserializeObject<T>(pluginSettingEntity.Value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -34,14 +34,14 @@ namespace Artemis.Core.Plugins.Models
|
||||
/// <summary>
|
||||
/// Determines whether the setting has been changed
|
||||
/// </summary>
|
||||
public bool HasChanged => JsonConvert.SerializeObject(Value) != _settingEntity.Value;
|
||||
public bool HasChanged => JsonConvert.SerializeObject(Value) != _pluginSettingEntity.Value;
|
||||
|
||||
/// <summary>
|
||||
/// Resets the setting to the last saved value
|
||||
/// </summary>
|
||||
public void RejectChanges()
|
||||
{
|
||||
Value = JsonConvert.DeserializeObject<T>(_settingEntity.Value);
|
||||
Value = JsonConvert.DeserializeObject<T>(_pluginSettingEntity.Value);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -49,8 +49,8 @@ namespace Artemis.Core.Plugins.Models
|
||||
/// </summary>
|
||||
public void Save()
|
||||
{
|
||||
_settingEntity.Value = JsonConvert.SerializeObject(Value);
|
||||
_settingRepository.Save();
|
||||
_pluginSettingEntity.Value = JsonConvert.SerializeObject(Value);
|
||||
_pluginSettingRepository.Save();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -59,8 +59,8 @@ namespace Artemis.Core.Plugins.Models
|
||||
/// <returns></returns>
|
||||
public async Task SaveAsync()
|
||||
{
|
||||
_settingEntity.Value = JsonConvert.SerializeObject(Value);
|
||||
await _settingRepository.SaveAsync();
|
||||
_pluginSettingEntity.Value = JsonConvert.SerializeObject(Value);
|
||||
await _pluginSettingRepository.SaveAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -9,27 +9,27 @@ namespace Artemis.Core.Plugins.Models
|
||||
public class PluginSettings
|
||||
{
|
||||
private readonly PluginInfo _pluginInfo;
|
||||
private readonly ISettingRepository _settingRepository;
|
||||
private readonly Dictionary<string, SettingEntity> _settingEntities;
|
||||
private readonly IPluginSettingRepository _pluginSettingRepository;
|
||||
private readonly Dictionary<string, PluginSettingEntity> _settingEntities;
|
||||
|
||||
public PluginSettings(PluginInfo pluginInfo, ISettingRepository settingRepository)
|
||||
internal PluginSettings(PluginInfo pluginInfo, IPluginSettingRepository pluginSettingRepository)
|
||||
{
|
||||
_pluginInfo = pluginInfo;
|
||||
_settingRepository = settingRepository;
|
||||
_settingEntities = settingRepository.GetByPluginGuid(_pluginInfo.Guid).ToDictionary(se => se.Name);
|
||||
_pluginSettingRepository = pluginSettingRepository;
|
||||
_settingEntities = pluginSettingRepository.GetByPluginGuid(_pluginInfo.Guid).ToDictionary(se => se.Name);
|
||||
}
|
||||
|
||||
public PluginSetting<T> GetSetting<T>(string name, T defaultValue = default(T))
|
||||
{
|
||||
if (_settingEntities.ContainsKey(name))
|
||||
return new PluginSetting<T>(_pluginInfo, _settingRepository, _settingEntities[name]);
|
||||
|
||||
var settingEntity = new SettingEntity {Name = name, PluginGuid = _pluginInfo.Guid, Value = JsonConvert.SerializeObject(defaultValue)};
|
||||
_settingRepository.Add(settingEntity);
|
||||
_settingRepository.Save();
|
||||
return new PluginSetting<T>(_pluginInfo, _pluginSettingRepository, _settingEntities[name]);
|
||||
|
||||
var settingEntity = new PluginSettingEntity {Name = name, PluginGuid = _pluginInfo.Guid, Value = JsonConvert.SerializeObject(defaultValue)};
|
||||
_pluginSettingRepository.Add(settingEntity);
|
||||
_pluginSettingRepository.Save();
|
||||
|
||||
_settingEntities.Add(name, settingEntity);
|
||||
return GetSetting(name, defaultValue);
|
||||
return new PluginSetting<T>(_pluginInfo, _pluginSettingRepository, _settingEntities[name]);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user