Fix unnecessary config writes

Fix #286
This commit is contained in:
SpoinkyNL committed 2017-01-23 15:27:15 +01:00
1 parent 03264fcee7
commit eeb5c8aa90
5 files changed
+12 -7

No files matched your search

+1 -1
View File
@@ -98,7 +98,7 @@ namespace Artemis.Managers
if (_moduleManager.ActiveModule == null) if (_moduleManager.ActiveModule == null)
{ {
var lastModule = _moduleManager.GetLastModule(); var lastModule = _moduleManager.GetLastModule();
if (lastModule == null) if (lastModule == null || !lastModule.Settings.IsEnabled)
{ {
_logger.Debug("Cancel LoopManager start, no module"); _logger.Debug("Cancel LoopManager start, no module");
return; return;
+5 -2
View File
@@ -169,6 +169,8 @@ namespace Artemis.Managers
/// </summary> /// </summary>
public void DisableProcessBoundModule() public void DisableProcessBoundModule()
{ {
if (ActiveModule == null)
return;
if (!ActiveModule.IsBoundToProcess) if (!ActiveModule.IsBoundToProcess)
{ {
_logger.Warn("Active module {0} is not process bound but is being disabled as if it is.", _logger.Warn("Active module {0} is not process bound but is being disabled as if it is.",
@@ -176,10 +178,11 @@ namespace Artemis.Managers
return; return;
} }
if (GetLastModule() == null) var lastModule = GetLastModule();
if (lastModule == null || !lastModule.Settings.IsEnabled)
ClearActiveModule(); ClearActiveModule();
else else
ChangeActiveModule(GetLastModule()); ChangeActiveModule(lastModule);
} }
protected virtual void RaiseEffectChangedEvent(ModuleChangedEventArgs e) protected virtual void RaiseEffectChangedEvent(ModuleChangedEventArgs e)
+1 -1
View File
@@ -82,7 +82,7 @@ namespace Artemis.Managers
activePreview?.ProfileEditor?.SaveSelectedProfile(); activePreview?.ProfileEditor?.SaveSelectedProfile();
var lastModule = _moduleManager.GetLastModule(); var lastModule = _moduleManager.GetLastModule();
if (lastModule != null) if (lastModule != null && lastModule.Settings.IsEnabled)
_moduleManager.ChangeActiveModule(lastModule); _moduleManager.ChangeActiveModule(lastModule);
else else
_moduleManager.ClearActiveModule(); _moduleManager.ClearActiveModule();
@@ -88,6 +88,8 @@ namespace Artemis.Modules.Abstract
/// </summary> /// </summary>
public ProfileModel ProfileModel { get; protected set; } public ProfileModel ProfileModel { get; protected set; }
public bool IsGeneral => !IsOverlay && !IsBoundToProcess;
#endregion #endregion
#region Base methods #region Base methods
@@ -68,7 +68,7 @@ namespace Artemis.Modules.Abstract
{ {
get get
{ {
if (ModuleModel.IsBoundToProcess || ModuleModel.IsOverlay) if (!ModuleModel.IsGeneral)
return Settings.IsEnabled; return Settings.IsEnabled;
return _generalSettings.LastModule == ModuleModel.Name; return _generalSettings.LastModule == ModuleModel.Name;
} }
@@ -91,7 +91,7 @@ namespace Artemis.Modules.Abstract
private void UpdatedEnabledSetting() private void UpdatedEnabledSetting()
{ {
if (ModuleModel.IsBoundToProcess || ModuleModel.IsOverlay) if (!ModuleModel.IsGeneral || !_moduleManager.ActiveModule.IsGeneral || Settings.IsEnabled == IsModuleActive)
return; return;
Settings.IsEnabled = IsModuleActive; Settings.IsEnabled = IsModuleActive;
@@ -106,7 +106,7 @@ namespace Artemis.Modules.Abstract
NotifyOfPropertyChange(() => Settings); NotifyOfPropertyChange(() => Settings);
// On process-bound modules, only set the module model // On process-bound modules, only set the module model
if (ModuleModel.IsBoundToProcess || ModuleModel.IsOverlay) if (!ModuleModel.IsGeneral)
{ {
NotifyOfPropertyChange(() => IsModuleActive); NotifyOfPropertyChange(() => IsModuleActive);
NotifyOfPropertyChange(() => IsModuleEnabled); NotifyOfPropertyChange(() => IsModuleEnabled);