mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
parent
03264fcee7
commit
eeb5c8aa90
@ -98,7 +98,7 @@ namespace Artemis.Managers
|
||||
if (_moduleManager.ActiveModule == null)
|
||||
{
|
||||
var lastModule = _moduleManager.GetLastModule();
|
||||
if (lastModule == null)
|
||||
if (lastModule == null || !lastModule.Settings.IsEnabled)
|
||||
{
|
||||
_logger.Debug("Cancel LoopManager start, no module");
|
||||
return;
|
||||
|
||||
@ -169,6 +169,8 @@ namespace Artemis.Managers
|
||||
/// </summary>
|
||||
public void DisableProcessBoundModule()
|
||||
{
|
||||
if (ActiveModule == null)
|
||||
return;
|
||||
if (!ActiveModule.IsBoundToProcess)
|
||||
{
|
||||
_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;
|
||||
}
|
||||
|
||||
if (GetLastModule() == null)
|
||||
var lastModule = GetLastModule();
|
||||
if (lastModule == null || !lastModule.Settings.IsEnabled)
|
||||
ClearActiveModule();
|
||||
else
|
||||
ChangeActiveModule(GetLastModule());
|
||||
ChangeActiveModule(lastModule);
|
||||
}
|
||||
|
||||
protected virtual void RaiseEffectChangedEvent(ModuleChangedEventArgs e)
|
||||
|
||||
@ -82,7 +82,7 @@ namespace Artemis.Managers
|
||||
activePreview?.ProfileEditor?.SaveSelectedProfile();
|
||||
|
||||
var lastModule = _moduleManager.GetLastModule();
|
||||
if (lastModule != null)
|
||||
if (lastModule != null && lastModule.Settings.IsEnabled)
|
||||
_moduleManager.ChangeActiveModule(lastModule);
|
||||
else
|
||||
_moduleManager.ClearActiveModule();
|
||||
|
||||
@ -88,6 +88,8 @@ namespace Artemis.Modules.Abstract
|
||||
/// </summary>
|
||||
public ProfileModel ProfileModel { get; protected set; }
|
||||
|
||||
public bool IsGeneral => !IsOverlay && !IsBoundToProcess;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Base methods
|
||||
|
||||
@ -28,7 +28,7 @@ namespace Artemis.Modules.Abstract
|
||||
|
||||
_mainManager.EnabledChanged += MainManagerOnEnabledChanged;
|
||||
_moduleManager.EffectChanged += ModuleManagerOnModuleChanged;
|
||||
|
||||
|
||||
// ReSharper disable once VirtualMemberCallInConstructor
|
||||
if (!UsesProfileEditor)
|
||||
return;
|
||||
@ -68,7 +68,7 @@ namespace Artemis.Modules.Abstract
|
||||
{
|
||||
get
|
||||
{
|
||||
if (ModuleModel.IsBoundToProcess || ModuleModel.IsOverlay)
|
||||
if (!ModuleModel.IsGeneral)
|
||||
return Settings.IsEnabled;
|
||||
return _generalSettings.LastModule == ModuleModel.Name;
|
||||
}
|
||||
@ -91,7 +91,7 @@ namespace Artemis.Modules.Abstract
|
||||
|
||||
private void UpdatedEnabledSetting()
|
||||
{
|
||||
if (ModuleModel.IsBoundToProcess || ModuleModel.IsOverlay)
|
||||
if (!ModuleModel.IsGeneral || !_moduleManager.ActiveModule.IsGeneral || Settings.IsEnabled == IsModuleActive)
|
||||
return;
|
||||
|
||||
Settings.IsEnabled = IsModuleActive;
|
||||
@ -106,7 +106,7 @@ namespace Artemis.Modules.Abstract
|
||||
NotifyOfPropertyChange(() => Settings);
|
||||
|
||||
// On process-bound modules, only set the module model
|
||||
if (ModuleModel.IsBoundToProcess || ModuleModel.IsOverlay)
|
||||
if (!ModuleModel.IsGeneral)
|
||||
{
|
||||
NotifyOfPropertyChange(() => IsModuleActive);
|
||||
NotifyOfPropertyChange(() => IsModuleEnabled);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user