diff --git a/PowerControl/App.config b/PowerControl/App.config index bc56eba..ce94943 100644 --- a/PowerControl/App.config +++ b/PowerControl/App.config @@ -4,6 +4,9 @@
+ +
+ @@ -19,12 +22,19 @@ Ctrl+Win+Numpad6 + + + + True True + + False + - + \ No newline at end of file diff --git a/PowerControl/Menu.cs b/PowerControl/Menu.cs index 8b73871..2406bc0 100644 --- a/PowerControl/Menu.cs +++ b/PowerControl/Menu.cs @@ -147,7 +147,7 @@ namespace PowerControl } } - if (ActiveOption == null) + if (ActiveOption == null && Options.Count > 0) ActiveOption = Options.First(); onUpdateToolStrip(); diff --git a/PowerControl/MenuStack.cs b/PowerControl/MenuStack.cs index 01f10f8..df0cd02 100644 --- a/PowerControl/MenuStack.cs +++ b/PowerControl/MenuStack.cs @@ -54,6 +54,11 @@ namespace PowerControl { Name = "Resolution", ApplyDelay = 1000, + ResetValue = () => { + if (!Settings.Default.EnableExperimentalFeatures) + return null; + return Helpers.PhysicalMonitorBrightnessController.GetAllResolutions().Last(); + }, OptionsValues = delegate() { var resolutions = Helpers.PhysicalMonitorBrightnessController.GetAllResolutions(); @@ -63,6 +68,8 @@ namespace PowerControl }, CurrentValue = delegate() { + if (!Settings.Default.EnableExperimentalFeatures) + return null; return Helpers.PhysicalMonitorBrightnessController.GetResolution(); }, ApplyValue = delegate(object selected) diff --git a/PowerControl/Settings.Designer.cs b/PowerControl/Settings.Designer.cs index b01e243..a780992 100644 --- a/PowerControl/Settings.Designer.cs +++ b/PowerControl/Settings.Designer.cs @@ -59,22 +59,40 @@ namespace PowerControl { } } - [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("True")] public bool EnableNeptuneController { get { return ((bool)(this["EnableNeptuneController"])); } + set { + this["EnableNeptuneController"] = value; + } } - [global::System.Configuration.ApplicationScopedSettingAttribute()] + [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Configuration.DefaultSettingValueAttribute("True")] public bool EnableVolumeControls { get { return ((bool)(this["EnableVolumeControls"])); } + set { + this["EnableVolumeControls"] = value; + } + } + + [global::System.Configuration.UserScopedSettingAttribute()] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Configuration.DefaultSettingValueAttribute("False")] + public bool EnableExperimentalFeatures { + get { + return ((bool)(this["EnableExperimentalFeatures"])); + } + set { + this["EnableExperimentalFeatures"] = value; + } } } } diff --git a/PowerControl/Settings.settings b/PowerControl/Settings.settings index 432282a..6518914 100644 --- a/PowerControl/Settings.settings +++ b/PowerControl/Settings.settings @@ -14,11 +14,14 @@ Ctrl+Win+Numpad6 - + True - + True + + False + \ No newline at end of file diff --git a/README.md b/README.md index 986f605..781b888 100644 --- a/README.md +++ b/README.md @@ -83,11 +83,12 @@ and provides an easily accessible controls. Uninstall MSI Afterburner and any other OSD software. -There are currently 4 configurable settings: +There are currently configurable settings: - Volume - Brightness - Refresh Rate +- Resolution (requires enabling `EnableExperimentalFeatures` in `appconfig`) - FPS Limit (requires: RTSS > Setup > Enable Framelimit) - TDP - SMT (Each core of AMD has 2 threads, this allows to enable/disable second threads) diff --git a/RELEASE.md b/RELEASE.md index 6841422..6577cf4 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -15,5 +15,6 @@ - Press `3 dots + L4 + R4 + L5 + R5` to reset (TDP, Refresh Rate, FPS limit) to default - Allow to disable SMT (second threads of each physical cores) - Fix PowerControl crash on startup (introduced with SMT) +- Allow to change resolution (Experimental feature) If you found it useful buy me [Ko-fi](https://ko-fi.com/ayufan).