Added Registry Settings (DisableLanguageChange, ScreenshotsPath & UpdateChannel)

Also, added an label in the General that says the settings are controlled by your system administrator (this needs to be translated) & disabled the folder path text boxes (only if the registry settings named: PersonalPath & ScreenshotsPath exists)
This commit is contained in:
JoshuaMaitland 2024-05-17 16:45:42 +01:00
parent 6fb3a789b2
commit a408a65143
4 changed files with 113 additions and 33 deletions

View file

@ -183,6 +183,7 @@ private void InitializeComponent()
this.tpAdvanced = new System.Windows.Forms.TabPage();
this.pgSettings = new System.Windows.Forms.PropertyGrid();
this.tttvMain = new ShareX.HelpersLib.TabToTreeView();
this.lblSettingsControlled = new System.Windows.Forms.Label();
this.tcSettings.SuspendLayout();
this.tpGeneral.SuspendLayout();
this.tpTheme.SuspendLayout();
@ -238,6 +239,7 @@ private void InitializeComponent()
// tpGeneral
//
this.tpGeneral.BackColor = System.Drawing.SystemColors.Window;
this.tpGeneral.Controls.Add(this.lblSettingsControlled);
this.tpGeneral.Controls.Add(this.cbUpdateChannel);
this.tpGeneral.Controls.Add(this.lblUpdateChannel);
this.tpGeneral.Controls.Add(this.cbAutoCheckUpdate);
@ -1431,6 +1433,11 @@ private void InitializeComponent()
this.tttvMain.TreeViewSize = 175;
this.tttvMain.TabChanged += new ShareX.HelpersLib.TabToTreeView.TabChangedEventHandler(this.tttvMain_TabChanged);
//
// lblSettingsControlled
//
resources.ApplyResources(this.lblSettingsControlled, "lblSettingsControlled");
this.lblSettingsControlled.Name = "lblSettingsControlled";
//
// ApplicationSettingsForm
//
resources.ApplyResources(this, "$this");
@ -1651,5 +1658,6 @@ private void InitializeComponent()
private System.Windows.Forms.CheckBox cbAutoCheckUpdate;
private System.Windows.Forms.ComboBox cbUpdateChannel;
private System.Windows.Forms.Label lblUpdateChannel;
private System.Windows.Forms.Label lblSettingsControlled;
}
}

View file

@ -102,7 +102,15 @@ private void UpdateControls()
ready = false;
// General
ChangeLanguage(Program.Settings.Language);
if (SystemOptions.DisableLanguageChange == true)
{
ChangeLanguage(SupportedLanguage.Automatic);
btnLanguages.Enabled = false;
}
else
{
ChangeLanguage(Program.Settings.Language);
}
cbShowTray.Checked = Program.Settings.ShowTray;
cbSilentRun.Enabled = Program.Settings.ShowTray;
@ -138,6 +146,12 @@ private void UpdateControls()
cbUpdateChannel.Enabled = Program.Settings.AutoCheckUpdate;
cbUpdateChannel.SelectedIndex = (int)Program.Settings.UpdateChannel;
}
if (SystemOptions.UpdateChannel != null && SystemOptions.UpdateChannel.Length > 2)
{
cbUpdateChannel.Enabled = false;
cbUpdateChannel.SelectedItem = SystemOptions.UpdateChannel;
}
#endif
// Theme
@ -170,11 +184,33 @@ private void UpdateControls()
#endif
// Paths
lastPersonalPath = Program.ReadPersonalPathConfig();
txtPersonalFolderPath.Text = lastPersonalPath;
if (SystemOptions.PersonalPath.Length > 0)
{
txtPersonalFolderPath.Enabled = false;
txtPersonalFolderPath.Text = SystemOptions.PersonalPath;
btnBrowsePersonalFolderPath.Visible = false;
btnPersonalFolderPathApply.Visible = false;
btnOpenPersonalFolderPath.Location = new Point(16, 56);
lblPreviewPersonalFolderPath.Location = new Point(120, 61);
}
else
{
lastPersonalPath = Program.ReadPersonalPathConfig();
txtPersonalFolderPath.Text = lastPersonalPath;
}
UpdatePersonalFolderPathPreview();
cbUseCustomScreenshotsPath.Checked = Program.Settings.UseCustomScreenshotsPath;
txtCustomScreenshotsPath.Text = Program.Settings.CustomScreenshotsPath;
if (SystemOptions.ScreenshotsPath.Length > 0)
{
cbUseCustomScreenshotsPath.Enabled = false;
txtCustomScreenshotsPath.Enabled = false;
txtCustomScreenshotsPath.Text = SystemOptions.ScreenshotsPath;
btnBrowseCustomScreenshotsPath.Visible = false;
}
else
{
cbUseCustomScreenshotsPath.Checked = Program.Settings.UseCustomScreenshotsPath;
txtCustomScreenshotsPath.Text = Program.Settings.CustomScreenshotsPath;
}
txtSaveImageSubFolderPattern.Text = Program.Settings.SaveImageSubFolderPattern;
txtSaveImageSubFolderPatternWindow.Text = Program.Settings.SaveImageSubFolderPatternWindow;

View file

@ -121,14 +121,44 @@
<data name="tcSettings.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Bottom, Left, Right</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="lblSettingsControlled.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="lblSettingsControlled.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="lblSettingsControlled.Location" type="System.Drawing.Point, System.Drawing">
<value>13, 349</value>
</data>
<data name="lblSettingsControlled.Size" type="System.Drawing.Size, System.Drawing">
<value>288, 13</value>
</data>
<data name="lblSettingsControlled.TabIndex" type="System.Int32, mscorlib">
<value>20</value>
</data>
<data name="lblSettingsControlled.Text" xml:space="preserve">
<value>* Some settings are being controlled by your IT administrator</value>
</data>
<data name="&gt;&gt;lblSettingsControlled.Name" xml:space="preserve">
<value>lblSettingsControlled</value>
</data>
<data name="&gt;&gt;lblSettingsControlled.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;lblSettingsControlled.Parent" xml:space="preserve">
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;lblSettingsControlled.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="cbUpdateChannel.Location" type="System.Drawing.Point, System.Drawing">
<value>248, 276</value>
</data>
<data name="cbUpdateChannel.Size" type="System.Drawing.Size, System.Drawing">
<value>144, 21</value>
</data>
<assembly alias="mscorlib" name="mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="cbUpdateChannel.TabIndex" type="System.Int32, mscorlib">
<value>18</value>
</data>
@ -142,7 +172,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;cbUpdateChannel.ZOrder" xml:space="preserve">
<value>0</value>
<value>1</value>
</data>
<data name="lblUpdateChannel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -169,7 +199,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;lblUpdateChannel.ZOrder" xml:space="preserve">
<value>1</value>
<value>2</value>
</data>
<data name="cbAutoCheckUpdate.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -196,7 +226,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;cbAutoCheckUpdate.ZOrder" xml:space="preserve">
<value>2</value>
<value>3</value>
</data>
<data name="cbUseWhiteShareXIcon.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -226,7 +256,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;cbUseWhiteShareXIcon.ZOrder" xml:space="preserve">
<value>3</value>
<value>4</value>
</data>
<data name="btnCheckDevBuild.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@ -253,7 +283,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;btnCheckDevBuild.ZOrder" xml:space="preserve">
<value>4</value>
<value>5</value>
</data>
<data name="cbTrayMiddleClickAction.Location" type="System.Drawing.Point, System.Drawing">
<value>248, 188</value>
@ -274,7 +304,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;cbTrayMiddleClickAction.ZOrder" xml:space="preserve">
<value>5</value>
<value>6</value>
</data>
<data name="lblTrayMiddleClickAction.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -304,7 +334,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;lblTrayMiddleClickAction.ZOrder" xml:space="preserve">
<value>6</value>
<value>7</value>
</data>
<data name="cbTrayLeftDoubleClickAction.Location" type="System.Drawing.Point, System.Drawing">
<value>248, 164</value>
@ -325,7 +355,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;cbTrayLeftDoubleClickAction.ZOrder" xml:space="preserve">
<value>7</value>
<value>8</value>
</data>
<data name="lblTrayLeftDoubleClickAction.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -355,7 +385,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;lblTrayLeftDoubleClickAction.ZOrder" xml:space="preserve">
<value>8</value>
<value>9</value>
</data>
<data name="cbTrayLeftClickAction.Location" type="System.Drawing.Point, System.Drawing">
<value>248, 140</value>
@ -376,7 +406,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;cbTrayLeftClickAction.ZOrder" xml:space="preserve">
<value>9</value>
<value>10</value>
</data>
<data name="lblTrayLeftClickAction.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -406,7 +436,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;lblTrayLeftClickAction.ZOrder" xml:space="preserve">
<value>10</value>
<value>11</value>
</data>
<data name="btnEditQuickTaskMenu.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
@ -433,7 +463,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;btnEditQuickTaskMenu.ZOrder" xml:space="preserve">
<value>11</value>
<value>12</value>
</data>
<data name="cbShowTray.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -463,7 +493,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;cbShowTray.ZOrder" xml:space="preserve">
<value>12</value>
<value>13</value>
</data>
<data name="cbTrayIconProgressEnabled.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -493,7 +523,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;cbTrayIconProgressEnabled.ZOrder" xml:space="preserve">
<value>13</value>
<value>14</value>
</data>
<data name="btnLanguages.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
@ -532,13 +562,13 @@
<value>btnLanguages</value>
</data>
<data name="&gt;&gt;btnLanguages.Type" xml:space="preserve">
<value>ShareX.HelpersLib.MenuButton, ShareX.HelpersLib, Version=16.0.2.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HelpersLib.MenuButton, ShareX.HelpersLib, Version=16.1.1.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;btnLanguages.Parent" xml:space="preserve">
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;btnLanguages.ZOrder" xml:space="preserve">
<value>14</value>
<value>15</value>
</data>
<data name="cbRememberMainFormPosition.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -568,7 +598,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;cbRememberMainFormPosition.ZOrder" xml:space="preserve">
<value>15</value>
<value>16</value>
</data>
<data name="cbSilentRun.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -598,7 +628,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;cbSilentRun.ZOrder" xml:space="preserve">
<value>16</value>
<value>17</value>
</data>
<data name="cbTaskbarProgressEnabled.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -628,7 +658,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;cbTaskbarProgressEnabled.ZOrder" xml:space="preserve">
<value>17</value>
<value>18</value>
</data>
<data name="cbRememberMainFormSize.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -658,7 +688,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;cbRememberMainFormSize.ZOrder" xml:space="preserve">
<value>18</value>
<value>19</value>
</data>
<data name="lblLanguage.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -688,7 +718,7 @@
<value>tpGeneral</value>
</data>
<data name="&gt;&gt;lblLanguage.ZOrder" xml:space="preserve">
<value>19</value>
<value>20</value>
</data>
<data name="tpGeneral.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value>
@ -886,7 +916,7 @@
<value>eiTheme</value>
</data>
<data name="&gt;&gt;eiTheme.Type" xml:space="preserve">
<value>ShareX.HelpersLib.ExportImportControl, ShareX.HelpersLib, Version=16.0.2.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HelpersLib.ExportImportControl, ShareX.HelpersLib, Version=16.1.1.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;eiTheme.Parent" xml:space="preserve">
<value>tpTheme</value>
@ -2785,7 +2815,7 @@
<value>lvClipboardFormats</value>
</data>
<data name="&gt;&gt;lvClipboardFormats.Type" xml:space="preserve">
<value>ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=16.0.2.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=16.1.1.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;lvClipboardFormats.Parent" xml:space="preserve">
<value>tpClipboardFormats</value>
@ -2836,7 +2866,7 @@
<value>lvSecondaryFileUploaders</value>
</data>
<data name="&gt;&gt;lvSecondaryFileUploaders.Type" xml:space="preserve">
<value>ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=16.0.2.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=16.1.1.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;lvSecondaryFileUploaders.Parent" xml:space="preserve">
<value>gbSecondaryFileUploaders</value>
@ -2917,7 +2947,7 @@
<value>lvSecondaryImageUploaders</value>
</data>
<data name="&gt;&gt;lvSecondaryImageUploaders.Type" xml:space="preserve">
<value>ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=16.0.2.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=16.1.1.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;lvSecondaryImageUploaders.Parent" xml:space="preserve">
<value>gbSecondaryImageUploaders</value>
@ -2968,7 +2998,7 @@
<value>lvSecondaryTextUploaders</value>
</data>
<data name="&gt;&gt;lvSecondaryTextUploaders.Type" xml:space="preserve">
<value>ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=16.0.2.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HelpersLib.MyListView, ShareX.HelpersLib, Version=16.1.1.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;lvSecondaryTextUploaders.Parent" xml:space="preserve">
<value>gbSecondaryTextUploaders</value>
@ -4078,7 +4108,7 @@
<value>tttvMain</value>
</data>
<data name="&gt;&gt;tttvMain.Type" xml:space="preserve">
<value>ShareX.HelpersLib.TabToTreeView, ShareX.HelpersLib, Version=16.0.2.0, Culture=neutral, PublicKeyToken=null</value>
<value>ShareX.HelpersLib.TabToTreeView, ShareX.HelpersLib, Version=16.1.1.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;tttvMain.Parent" xml:space="preserve">
<value>$this</value>

View file

@ -36,14 +36,20 @@ public static class SystemOptions
public static bool DisableUpdateCheck { get; private set; }
public static bool DisableUpload { get; private set; }
public static bool DisableLogging { get; private set; }
public static bool DisableLanguageChange { get; private set; }
public static string PersonalPath { get; private set; }
public static string ScreenshotsPath { get; private set; }
public static string UpdateChannel { get; private set; }
public static void UpdateSystemOptions()
{
DisableUpdateCheck = GetSystemOptionBoolean("DisableUpdateCheck");
DisableUpload = GetSystemOptionBoolean("DisableUpload");
DisableLogging = GetSystemOptionBoolean("DisableLogging");
DisableLanguageChange = GetSystemOptionBoolean("DisableLanguageChange");
PersonalPath = GetSystemOptionString("PersonalPath");
ScreenshotsPath = GetSystemOptionString("ScreenshotsPath");
UpdateChannel = GetSystemOptionString("UpdateChannel");
}
private static bool GetSystemOptionBoolean(string name)