diff --git a/CHANGELOG.md b/CHANGELOG.md
index 55c2eeb3..c45e5a46 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,12 @@
+## [15.9] - 2023-10-14
+- New: Disable CoPilot AI (in Windows 11)
+- New: Fully translated into Bulgarian
+- New: 'Reinforce policies' in Options re-applies your current enabled tweaks (#389)
+- Hotfix: Crash on localized versions of Windows (#383)
+- Hotfix: Various UI bugs
+- Improved: Optimized images and assets
+- Improved: Startup items detection
+
## [15.8] - 2023-08-26
- New: Fully translated into Nepali (thanks to chapagetti)
- New: You can now set custom DNS in Pinger, as well as from template
diff --git a/Optimizer/Constants.cs b/Optimizer/Constants.cs
index 83df1125..a2f95f92 100644
--- a/Optimizer/Constants.cs
+++ b/Optimizer/Constants.cs
@@ -3,7 +3,9 @@
internal static class Constants
{
internal static string DOWNLOADS_FOLDER = "OptimizerDownloads";
- internal static string InternalDNS = "1.1.1.1";
+ internal static string INTERNAL_DNS = "1.1.1.1";
+ internal static string THEME_FLAG = "themeable";
+ internal static int CONTRAST_THRESHOLD = 149;
internal static string INDICIUM_TOOL = "indicium";
internal static string UWP_TOOL = "uwp";
@@ -37,6 +39,7 @@ internal static class Constants
internal static string JAPANESE = "日本語";
internal static string PERSIAN = "فارسی";
internal static string NEPALI = "नेपाली";
+ internal static string BULGARIAN = "български";
internal static string CloudflareDNS = "Cloudflare";
internal static string OpenDNS = "OpenDNS";
diff --git a/Optimizer/Controls/MoonCheck.cs b/Optimizer/Controls/MoonCheck.cs
index 4cd87765..9a6b76f2 100644
--- a/Optimizer/Controls/MoonCheck.cs
+++ b/Optimizer/Controls/MoonCheck.cs
@@ -21,7 +21,7 @@ protected override void OnCheckedChanged(EventArgs e)
this.Tag = "themeable";
this.Font = new Font(this.Font, FontStyle.Underline);
- this.ForeColor = Options.ForegroundColor;
+ this.ForeColor = OptionsHelper.ForegroundColor;
}
else
{
diff --git a/Optimizer/Controls/MoonCheckList.cs b/Optimizer/Controls/MoonCheckList.cs
index 9b5bde89..f6f461c9 100644
--- a/Optimizer/Controls/MoonCheckList.cs
+++ b/Optimizer/Controls/MoonCheckList.cs
@@ -13,7 +13,7 @@ public MoonCheckList()
protected override void OnDrawItem(DrawItemEventArgs e)
{
Color foreColor = Color.White;
- Color accentColor = Options.ForegroundColor;
+ Color accentColor = OptionsHelper.ForegroundColor;
if (this.Items.Count > 0)
{
diff --git a/Optimizer/Controls/MoonMenuRenderer.cs b/Optimizer/Controls/MoonMenuRenderer.cs
index 6bd4bf5a..80f1b3ab 100644
--- a/Optimizer/Controls/MoonMenuRenderer.cs
+++ b/Optimizer/Controls/MoonMenuRenderer.cs
@@ -51,7 +51,7 @@ public override Color ToolStripDropDownBackground
{
get
{
- return Options.BackgroundColor;
+ return OptionsHelper.BackgroundColor;
}
}
@@ -59,21 +59,21 @@ public override Color ImageMarginGradientBegin
{
get
{
- return Options.BackgroundColor;
+ return OptionsHelper.BackgroundColor;
}
}
public override Color ImageMarginGradientMiddle
{
get
{
- return Options.BackgroundColor;
+ return OptionsHelper.BackgroundColor;
}
}
public override Color ImageMarginGradientEnd
{
get
{
- return Options.BackgroundColor;
+ return OptionsHelper.BackgroundColor;
}
}
@@ -81,7 +81,7 @@ public override Color ToolStripBorder
{
get
{
- return Options.BackgroundColor;
+ return OptionsHelper.BackgroundColor;
}
}
@@ -89,7 +89,7 @@ public override Color MenuBorder
{
get
{
- return Options.BackAccentColor;
+ return OptionsHelper.BackAccentColor;
}
}
@@ -97,7 +97,7 @@ public override Color MenuItemSelected
{
get
{
- return Options.BackAccentColor;
+ return OptionsHelper.BackAccentColor;
}
}
@@ -105,7 +105,7 @@ public override Color MenuItemSelectedGradientBegin
{
get
{
- return Options.BackAccentColor;
+ return OptionsHelper.BackAccentColor;
}
}
@@ -113,7 +113,7 @@ public override Color MenuItemSelectedGradientEnd
{
get
{
- return Options.BackAccentColor;
+ return OptionsHelper.BackAccentColor;
}
}
@@ -121,7 +121,7 @@ public override Color MenuItemBorder
{
get
{
- return Options.BackAccentColor;
+ return OptionsHelper.BackAccentColor;
}
}
}
diff --git a/Optimizer/Controls/MoonProgress.cs b/Optimizer/Controls/MoonProgress.cs
index c474345d..d135022e 100644
--- a/Optimizer/Controls/MoonProgress.cs
+++ b/Optimizer/Controls/MoonProgress.cs
@@ -22,7 +22,7 @@ protected override void OnPaint(PaintEventArgs e)
rec.Width = (int)(rec.Width * ((double)base.Value / Maximum)) - 4;
rec.Height -= 4;
- brush = new LinearGradientBrush(rec, Options.ForegroundAccentColor, Options.ForegroundColor, LinearGradientMode.Vertical);
+ brush = new LinearGradientBrush(rec, OptionsHelper.ForegroundAccentColor, OptionsHelper.ForegroundColor, LinearGradientMode.Vertical);
e.Graphics.FillRectangle(brush, 2, 2, rec.Width, rec.Height);
}
}
diff --git a/Optimizer/Controls/MoonRadio.cs b/Optimizer/Controls/MoonRadio.cs
index e614fbb9..a4623d12 100644
--- a/Optimizer/Controls/MoonRadio.cs
+++ b/Optimizer/Controls/MoonRadio.cs
@@ -21,7 +21,7 @@ protected override void OnCheckedChanged(EventArgs e)
this.Tag = "themeable";
this.Font = new Font(this.Font, FontStyle.Underline);
- this.ForeColor = Options.ForegroundColor;
+ this.ForeColor = OptionsHelper.ForegroundColor;
}
else
{
diff --git a/Optimizer/Controls/MoonTabs.cs b/Optimizer/Controls/MoonTabs.cs
index 29162d1a..531e1ad9 100644
--- a/Optimizer/Controls/MoonTabs.cs
+++ b/Optimizer/Controls/MoonTabs.cs
@@ -172,7 +172,7 @@ protected override void OnPaint(PaintEventArgs e)
if (TabCount > 0)
{
using (SolidBrush brushBackgroundTab = new SolidBrush(Color.FromArgb(40, 40, 40)))
- using (SolidBrush brushDivider = new SolidBrush(Options.ForegroundColor))
+ using (SolidBrush brushDivider = new SolidBrush(OptionsHelper.ForegroundColor))
{
{
e.Graphics.FillRectangle(brushBackgroundTab, DisplayRectangle);
@@ -206,16 +206,16 @@ protected override void OnPaint(PaintEventArgs e)
SolidBrush brushActiveText;
- using (Pen penActive = new Pen(Options.ForegroundColor))
+ using (Pen penActive = new Pen(OptionsHelper.ForegroundColor))
using (Pen penBorder = new Pen(Color.FromArgb(40, 40, 40), 0))
- using (SolidBrush brushActive = new SolidBrush(Options.ForegroundColor))
+ using (SolidBrush brushActive = new SolidBrush(OptionsHelper.ForegroundColor))
using (SolidBrush brushInActive = new SolidBrush(Color.FromArgb(40, 40, 40)))
- using (SolidBrush brushAlternative = new SolidBrush(Options.ForegroundColor))
- using (SolidBrush brushActiveIndicator = new SolidBrush(ControlPaint.Light(Options.ForegroundColor)))
- using (SolidBrush brushInActiveIndicator = new SolidBrush(Options.ForegroundColor))
- using (brushActiveText = new SolidBrush(Options.TextColor))
+ using (SolidBrush brushAlternative = new SolidBrush(OptionsHelper.ForegroundColor))
+ using (SolidBrush brushActiveIndicator = new SolidBrush(ControlPaint.Light(OptionsHelper.ForegroundColor)))
+ using (SolidBrush brushInActiveIndicator = new SolidBrush(OptionsHelper.ForegroundColor))
+ using (brushActiveText = new SolidBrush(OptionsHelper.TextColor))
using (SolidBrush brushInActiveText = new SolidBrush(Color.White))
- using (SolidBrush brushDrag = new SolidBrush(ControlPaint.Dark(Options.ForegroundColor)))
+ using (SolidBrush brushDrag = new SolidBrush(ControlPaint.Dark(OptionsHelper.ForegroundColor)))
{
//if (MoonManager.THEME_PREFERENCE == THEME.LIGHT) brushActiveText = new SolidBrush(Color.White);
diff --git a/Optimizer/Controls/MoonToggle.cs b/Optimizer/Controls/MoonToggle.cs
index 980a338c..6f348d5b 100644
--- a/Optimizer/Controls/MoonToggle.cs
+++ b/Optimizer/Controls/MoonToggle.cs
@@ -58,17 +58,17 @@ protected override void OnPaint(PaintEventArgs pevent)
if (this.Checked) //ON
{
if (solidStyle)
- pevent.Graphics.FillPath(new SolidBrush(Options.ForegroundColor), GetFigurePath());
- else pevent.Graphics.DrawPath(new Pen(Options.ForegroundColor, 2), GetFigurePath());
+ pevent.Graphics.FillPath(new SolidBrush(OptionsHelper.ForegroundColor), GetFigurePath());
+ else pevent.Graphics.DrawPath(new Pen(OptionsHelper.ForegroundColor, 2), GetFigurePath());
//Draw the toggle
- pevent.Graphics.FillEllipse(new SolidBrush(Options.TextColor),
+ pevent.Graphics.FillEllipse(new SolidBrush(OptionsHelper.TextColor),
new Rectangle(this.Width - this.Height + 1, 2, toggleSize, toggleSize));
}
else //OFF
{
if (solidStyle)
- pevent.Graphics.FillPath(new SolidBrush(Options.BackAccentColor), GetFigurePath());
- else pevent.Graphics.DrawPath(new Pen(Options.BackAccentColor, 2), GetFigurePath());
+ pevent.Graphics.FillPath(new SolidBrush(OptionsHelper.BackAccentColor), GetFigurePath());
+ else pevent.Graphics.DrawPath(new Pen(OptionsHelper.BackAccentColor, 2), GetFigurePath());
//Draw the toggle
pevent.Graphics.FillEllipse(new SolidBrush(Color.White),
new Rectangle(2, 2, toggleSize, toggleSize));
diff --git a/Optimizer/Controls/MoonTree.cs b/Optimizer/Controls/MoonTree.cs
index 4aecf3a2..e338d1b6 100644
--- a/Optimizer/Controls/MoonTree.cs
+++ b/Optimizer/Controls/MoonTree.cs
@@ -49,7 +49,7 @@ protected override void OnDrawNode(DrawTreeNodeEventArgs e)
}
if (FindName(e.Node.Name)) TextRenderer.DrawText(e.Graphics, e.Node.Text, this.Font, e.Node.Bounds, Color.Silver);
- else if (e.Node.Tag != null && e.Node.Tag.ToString() == _primaryItemTag) TextRenderer.DrawText(e.Graphics, e.Node.Text, this.Font, e.Node.Bounds, Options.ForegroundColor);
+ else if (e.Node.Tag != null && e.Node.Tag.ToString() == _primaryItemTag) TextRenderer.DrawText(e.Graphics, e.Node.Text, this.Font, e.Node.Bounds, OptionsHelper.ForegroundColor);
else TextRenderer.DrawText(e.Graphics, e.Node.Text, this.Font, e.Node.Bounds, Color.White);
if (this.ImageList != null && this.ImageList.Images.Count > 0 && e.Node.SelectedImageIndex > -1)
diff --git a/Optimizer/DebugHelper.cs b/Optimizer/DebugHelper.cs
new file mode 100644
index 00000000..abbea3b9
--- /dev/null
+++ b/Optimizer/DebugHelper.cs
@@ -0,0 +1,31 @@
+using Newtonsoft.Json.Linq;
+using System;
+using System.Linq;
+using System.Text;
+using System.Windows.Forms;
+
+namespace Optimizer
+{
+ // Collection of useful debugging methods and utilities
+ internal sealed class DebugHelper
+ {
+ // For comparing and detecting missing properties in two translation JSON files
+ internal static void FindDifferenceInTwoJsons()
+ {
+ JObject file1 = JObject.Parse(Properties.Resources.EN);
+ JObject file2 = JObject.Parse(Properties.Resources.NE);
+
+ var p1 = file1.Properties().ToList();
+ var p2 = file2.Properties().ToList();
+
+ var missingProps = p1.Where(expected => p2.Where(actual => actual.Name == expected.Name).Count() == 0);
+
+ StringBuilder sb = new StringBuilder();
+ foreach (var x in missingProps)
+ {
+ sb.Append(x.Name + Environment.NewLine);
+ }
+ MessageBox.Show(sb.ToString());
+ }
+ }
+}
diff --git a/Optimizer/EmbeddedAssembly.cs b/Optimizer/EmbeddedAssembly.cs
index f9ece8eb..86c4885c 100644
--- a/Optimizer/EmbeddedAssembly.cs
+++ b/Optimizer/EmbeddedAssembly.cs
@@ -20,7 +20,7 @@ internal static void Load(string embeddedResource, string fileName)
using (Stream stream = currentAssembly.GetManifestResourceStream(embeddedResource))
{
- if (stream == null) throw new Exception(embeddedResource + " is not found in Embedded Resources.");
+ if (stream == null) throw new Exception($"{embeddedResource} is not found in Embedded Resources.");
bytes = new byte[(int)stream.Length];
stream.Read(bytes, 0, (int)stream.Length);
@@ -69,16 +69,13 @@ internal static void Load(string embeddedResource, string fileName)
}
assembly = Assembly.LoadFile(tempFile);
-
_dictionary.Add(assembly.FullName, assembly);
}
internal static Assembly Get(string assemblyFullName)
{
if (_dictionary == null || _dictionary.Count == 0) return null;
-
if (_dictionary.ContainsKey(assemblyFullName)) return _dictionary[assemblyFullName];
-
return null;
}
}
diff --git a/Optimizer/ErrorLogger.cs b/Optimizer/ErrorLogger.cs
index 72c8d885..93853d46 100644
--- a/Optimizer/ErrorLogger.cs
+++ b/Optimizer/ErrorLogger.cs
@@ -27,7 +27,7 @@ internal static void LogInfoSilent(string message)
_silentReportLog.AppendLine();
}
- internal static void InitSilentReport()
+ internal static void InitializeSilentReport()
{
_silentReportLog = new StringBuilder();
diff --git a/Optimizer/Forms/AboutForm.cs b/Optimizer/Forms/AboutForm.cs
index c276a45e..d4883e5a 100644
--- a/Optimizer/Forms/AboutForm.cs
+++ b/Optimizer/Forms/AboutForm.cs
@@ -9,9 +9,9 @@ public sealed partial class AboutForm : Form
public AboutForm()
{
InitializeComponent();
- Options.ApplyTheme(this);
+ OptionsHelper.ApplyTheme(this);
- pictureBox1.BackColor = Options.CurrentOptions.Theme;
+ pictureBox1.BackColor = OptionsHelper.CurrentOptions.Theme;
}
private void About_Load(object sender, EventArgs e)
diff --git a/Optimizer/Forms/FileUnlockForm.cs b/Optimizer/Forms/FileUnlockForm.cs
index a59e6a3f..4dce0e33 100644
--- a/Optimizer/Forms/FileUnlockForm.cs
+++ b/Optimizer/Forms/FileUnlockForm.cs
@@ -16,10 +16,10 @@ public FileUnlockForm()
{
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;
- Options.ApplyTheme(this);
+ OptionsHelper.ApplyTheme(this);
- radioFile.Text = Options.TranslationList["radioFile"].ToString();
- btnKill.Text = Options.TranslationList["btnKill"].ToString();
+ radioFile.Text = OptionsHelper.TranslationList["radioFile"].ToString();
+ btnKill.Text = OptionsHelper.TranslationList["btnKill"].ToString();
}
private void FileUnlockForm_Load(object sender, EventArgs e)
diff --git a/Optimizer/Forms/FirstRunForm.Designer.cs b/Optimizer/Forms/FirstRunForm.Designer.cs
index abb252f3..4070dc1c 100644
--- a/Optimizer/Forms/FirstRunForm.Designer.cs
+++ b/Optimizer/Forms/FirstRunForm.Designer.cs
@@ -75,6 +75,10 @@ private void InitializeComponent()
this.pictureBox18 = new System.Windows.Forms.PictureBox();
this.radioNepali = new Optimizer.MoonRadio();
this.pictureBox19 = new System.Windows.Forms.PictureBox();
+ this.radioUkrainian = new Optimizer.MoonRadio();
+ this.pictureBox20 = new System.Windows.Forms.PictureBox();
+ this.radioBulgarian = new Optimizer.MoonRadio();
+ this.pictureBox21 = new System.Windows.Forms.PictureBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBox88)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox87)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox86)).BeginInit();
@@ -97,15 +101,16 @@ private void InitializeComponent()
((System.ComponentModel.ISupportInitialize)(this.pictureBox17)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox18)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox19)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox20)).BeginInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox21)).BeginInit();
this.SuspendLayout();
//
// pictureBox88
//
this.pictureBox88.Image = global::Optimizer.Properties.Resources.greece;
- this.pictureBox88.Location = new System.Drawing.Point(20, 108);
- this.pictureBox88.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox88.Location = new System.Drawing.Point(13, 72);
this.pictureBox88.Name = "pictureBox88";
- this.pictureBox88.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox88.Size = new System.Drawing.Size(32, 19);
this.pictureBox88.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox88.TabIndex = 83;
this.pictureBox88.TabStop = false;
@@ -114,10 +119,9 @@ private void InitializeComponent()
// pictureBox87
//
this.pictureBox87.Image = global::Optimizer.Properties.Resources.russia;
- this.pictureBox87.Location = new System.Drawing.Point(20, 64);
- this.pictureBox87.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox87.Location = new System.Drawing.Point(13, 43);
this.pictureBox87.Name = "pictureBox87";
- this.pictureBox87.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox87.Size = new System.Drawing.Size(32, 19);
this.pictureBox87.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox87.TabIndex = 82;
this.pictureBox87.TabStop = false;
@@ -126,10 +130,9 @@ private void InitializeComponent()
// pictureBox86
//
this.pictureBox86.Image = global::Optimizer.Properties.Resources.united_kingdom;
- this.pictureBox86.Location = new System.Drawing.Point(20, 21);
- this.pictureBox86.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox86.Location = new System.Drawing.Point(13, 14);
this.pictureBox86.Name = "pictureBox86";
- this.pictureBox86.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox86.Size = new System.Drawing.Size(32, 19);
this.pictureBox86.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox86.TabIndex = 81;
this.pictureBox86.TabStop = false;
@@ -148,9 +151,10 @@ private void InitializeComponent()
this.btnStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnStart.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnStart.ForeColor = System.Drawing.Color.White;
- this.btnStart.Location = new System.Drawing.Point(16, 537);
+ this.btnStart.Location = new System.Drawing.Point(11, 401);
+ this.btnStart.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.btnStart.Name = "btnStart";
- this.btnStart.Size = new System.Drawing.Size(471, 46);
+ this.btnStart.Size = new System.Drawing.Size(314, 31);
this.btnStart.TabIndex = 86;
this.btnStart.Tag = "themeable";
this.btnStart.Text = "✓";
@@ -160,10 +164,9 @@ private void InitializeComponent()
// pictureBox1
//
this.pictureBox1.Image = global::Optimizer.Properties.Resources.turkey;
- this.pictureBox1.Location = new System.Drawing.Point(272, 18);
- this.pictureBox1.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox1.Location = new System.Drawing.Point(181, 12);
this.pictureBox1.Name = "pictureBox1";
- this.pictureBox1.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox1.Size = new System.Drawing.Size(32, 19);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox1.TabIndex = 87;
this.pictureBox1.TabStop = false;
@@ -172,10 +175,9 @@ private void InitializeComponent()
// pictureBox2
//
this.pictureBox2.Image = global::Optimizer.Properties.Resources.germany;
- this.pictureBox2.Location = new System.Drawing.Point(20, 152);
- this.pictureBox2.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox2.Location = new System.Drawing.Point(13, 101);
this.pictureBox2.Name = "pictureBox2";
- this.pictureBox2.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox2.Size = new System.Drawing.Size(32, 19);
this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox2.TabIndex = 89;
this.pictureBox2.TabStop = false;
@@ -184,10 +186,9 @@ private void InitializeComponent()
// pictureBox3
//
this.pictureBox3.Image = global::Optimizer.Properties.Resources.spain;
- this.pictureBox3.Location = new System.Drawing.Point(272, 62);
- this.pictureBox3.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox3.Location = new System.Drawing.Point(181, 41);
this.pictureBox3.Name = "pictureBox3";
- this.pictureBox3.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox3.Size = new System.Drawing.Size(32, 19);
this.pictureBox3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox3.TabIndex = 91;
this.pictureBox3.TabStop = false;
@@ -196,10 +197,9 @@ private void InitializeComponent()
// pictureBox4
//
this.pictureBox4.Image = global::Optimizer.Properties.Resources.brazil;
- this.pictureBox4.Location = new System.Drawing.Point(272, 105);
- this.pictureBox4.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox4.Location = new System.Drawing.Point(181, 70);
this.pictureBox4.Name = "pictureBox4";
- this.pictureBox4.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox4.Size = new System.Drawing.Size(32, 19);
this.pictureBox4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox4.TabIndex = 93;
this.pictureBox4.TabStop = false;
@@ -208,10 +208,9 @@ private void InitializeComponent()
// pictureBox5
//
this.pictureBox5.Image = global::Optimizer.Properties.Resources.france;
- this.pictureBox5.Location = new System.Drawing.Point(273, 148);
- this.pictureBox5.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox5.Location = new System.Drawing.Point(182, 99);
this.pictureBox5.Name = "pictureBox5";
- this.pictureBox5.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox5.Size = new System.Drawing.Size(32, 19);
this.pictureBox5.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox5.TabIndex = 95;
this.pictureBox5.TabStop = false;
@@ -220,10 +219,9 @@ private void InitializeComponent()
// pictureBox6
//
this.pictureBox6.Image = global::Optimizer.Properties.Resources.italy;
- this.pictureBox6.Location = new System.Drawing.Point(20, 195);
- this.pictureBox6.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox6.Location = new System.Drawing.Point(13, 130);
this.pictureBox6.Name = "pictureBox6";
- this.pictureBox6.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox6.Size = new System.Drawing.Size(32, 19);
this.pictureBox6.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox6.TabIndex = 97;
this.pictureBox6.TabStop = false;
@@ -232,10 +230,9 @@ private void InitializeComponent()
// pictureBox7
//
this.pictureBox7.Image = global::Optimizer.Properties.Resources.china;
- this.pictureBox7.Location = new System.Drawing.Point(273, 195);
- this.pictureBox7.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox7.Location = new System.Drawing.Point(182, 130);
this.pictureBox7.Name = "pictureBox7";
- this.pictureBox7.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox7.Size = new System.Drawing.Size(32, 19);
this.pictureBox7.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox7.TabIndex = 99;
this.pictureBox7.TabStop = false;
@@ -244,10 +241,9 @@ private void InitializeComponent()
// pictureBox8
//
this.pictureBox8.Image = global::Optimizer.Properties.Resources.czech;
- this.pictureBox8.Location = new System.Drawing.Point(20, 238);
- this.pictureBox8.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox8.Location = new System.Drawing.Point(13, 159);
this.pictureBox8.Name = "pictureBox8";
- this.pictureBox8.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox8.Size = new System.Drawing.Size(32, 19);
this.pictureBox8.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox8.TabIndex = 101;
this.pictureBox8.TabStop = false;
@@ -256,10 +252,9 @@ private void InitializeComponent()
// pictureBox9
//
this.pictureBox9.Image = global::Optimizer.Properties.Resources.china;
- this.pictureBox9.Location = new System.Drawing.Point(273, 240);
- this.pictureBox9.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox9.Location = new System.Drawing.Point(182, 160);
this.pictureBox9.Name = "pictureBox9";
- this.pictureBox9.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox9.Size = new System.Drawing.Size(32, 19);
this.pictureBox9.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox9.TabIndex = 103;
this.pictureBox9.TabStop = false;
@@ -268,10 +263,9 @@ private void InitializeComponent()
// pictureBox10
//
this.pictureBox10.Image = global::Optimizer.Properties.Resources.korea;
- this.pictureBox10.Location = new System.Drawing.Point(273, 284);
- this.pictureBox10.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox10.Location = new System.Drawing.Point(182, 189);
this.pictureBox10.Name = "pictureBox10";
- this.pictureBox10.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox10.Size = new System.Drawing.Size(32, 19);
this.pictureBox10.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox10.TabIndex = 105;
this.pictureBox10.TabStop = false;
@@ -282,9 +276,10 @@ private void InitializeComponent()
this.radioKorean.AutoSize = true;
this.radioKorean.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioKorean.ForeColor = System.Drawing.Color.White;
- this.radioKorean.Location = new System.Drawing.Point(333, 279);
+ this.radioKorean.Location = new System.Drawing.Point(222, 186);
+ this.radioKorean.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioKorean.Name = "radioKorean";
- this.radioKorean.Size = new System.Drawing.Size(111, 36);
+ this.radioKorean.Size = new System.Drawing.Size(76, 25);
this.radioKorean.TabIndex = 106;
this.radioKorean.Tag = "";
this.radioKorean.Text = "한국어";
@@ -296,9 +291,10 @@ private void InitializeComponent()
this.radioTaiwan.AutoSize = true;
this.radioTaiwan.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioTaiwan.ForeColor = System.Drawing.Color.White;
- this.radioTaiwan.Location = new System.Drawing.Point(333, 236);
+ this.radioTaiwan.Location = new System.Drawing.Point(222, 157);
+ this.radioTaiwan.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioTaiwan.Name = "radioTaiwan";
- this.radioTaiwan.Size = new System.Drawing.Size(139, 36);
+ this.radioTaiwan.Size = new System.Drawing.Size(96, 25);
this.radioTaiwan.TabIndex = 104;
this.radioTaiwan.Tag = "";
this.radioTaiwan.Text = "繁體中文";
@@ -310,9 +306,10 @@ private void InitializeComponent()
this.radioCzech.AutoSize = true;
this.radioCzech.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioCzech.ForeColor = System.Drawing.Color.White;
- this.radioCzech.Location = new System.Drawing.Point(80, 234);
+ this.radioCzech.Location = new System.Drawing.Point(53, 156);
+ this.radioCzech.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioCzech.Name = "radioCzech";
- this.radioCzech.Size = new System.Drawing.Size(119, 36);
+ this.radioCzech.Size = new System.Drawing.Size(81, 25);
this.radioCzech.TabIndex = 102;
this.radioCzech.Tag = "";
this.radioCzech.Text = "Čeština";
@@ -324,9 +321,10 @@ private void InitializeComponent()
this.radioChinese.AutoSize = true;
this.radioChinese.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioChinese.ForeColor = System.Drawing.Color.White;
- this.radioChinese.Location = new System.Drawing.Point(333, 190);
+ this.radioChinese.Location = new System.Drawing.Point(222, 127);
+ this.radioChinese.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioChinese.Name = "radioChinese";
- this.radioChinese.Size = new System.Drawing.Size(139, 36);
+ this.radioChinese.Size = new System.Drawing.Size(96, 25);
this.radioChinese.TabIndex = 100;
this.radioChinese.Tag = "";
this.radioChinese.Text = "简体中文";
@@ -338,9 +336,10 @@ private void InitializeComponent()
this.radioItalian.AutoSize = true;
this.radioItalian.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioItalian.ForeColor = System.Drawing.Color.White;
- this.radioItalian.Location = new System.Drawing.Point(80, 190);
+ this.radioItalian.Location = new System.Drawing.Point(53, 127);
+ this.radioItalian.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioItalian.Name = "radioItalian";
- this.radioItalian.Size = new System.Drawing.Size(121, 36);
+ this.radioItalian.Size = new System.Drawing.Size(82, 25);
this.radioItalian.TabIndex = 98;
this.radioItalian.Tag = "";
this.radioItalian.Text = "Italiano";
@@ -352,9 +351,10 @@ private void InitializeComponent()
this.radioFrench.AutoSize = true;
this.radioFrench.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioFrench.ForeColor = System.Drawing.Color.White;
- this.radioFrench.Location = new System.Drawing.Point(333, 144);
+ this.radioFrench.Location = new System.Drawing.Point(222, 96);
+ this.radioFrench.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioFrench.Name = "radioFrench";
- this.radioFrench.Size = new System.Drawing.Size(127, 36);
+ this.radioFrench.Size = new System.Drawing.Size(86, 25);
this.radioFrench.TabIndex = 96;
this.radioFrench.Tag = "";
this.radioFrench.Text = "Français";
@@ -366,9 +366,10 @@ private void InitializeComponent()
this.radioPortuguese.AutoSize = true;
this.radioPortuguese.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioPortuguese.ForeColor = System.Drawing.Color.White;
- this.radioPortuguese.Location = new System.Drawing.Point(332, 100);
+ this.radioPortuguese.Location = new System.Drawing.Point(221, 67);
+ this.radioPortuguese.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioPortuguese.Name = "radioPortuguese";
- this.radioPortuguese.Size = new System.Drawing.Size(150, 36);
+ this.radioPortuguese.Size = new System.Drawing.Size(102, 25);
this.radioPortuguese.TabIndex = 94;
this.radioPortuguese.Tag = "";
this.radioPortuguese.Text = "Português";
@@ -380,9 +381,10 @@ private void InitializeComponent()
this.radioSpanish.AutoSize = true;
this.radioSpanish.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioSpanish.ForeColor = System.Drawing.Color.White;
- this.radioSpanish.Location = new System.Drawing.Point(332, 57);
+ this.radioSpanish.Location = new System.Drawing.Point(221, 38);
+ this.radioSpanish.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioSpanish.Name = "radioSpanish";
- this.radioSpanish.Size = new System.Drawing.Size(122, 36);
+ this.radioSpanish.Size = new System.Drawing.Size(84, 25);
this.radioSpanish.TabIndex = 92;
this.radioSpanish.Tag = "";
this.radioSpanish.Text = "Español";
@@ -394,9 +396,10 @@ private void InitializeComponent()
this.radioGerman.AutoSize = true;
this.radioGerman.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioGerman.ForeColor = System.Drawing.Color.White;
- this.radioGerman.Location = new System.Drawing.Point(80, 147);
+ this.radioGerman.Location = new System.Drawing.Point(53, 98);
+ this.radioGerman.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioGerman.Name = "radioGerman";
- this.radioGerman.Size = new System.Drawing.Size(127, 36);
+ this.radioGerman.Size = new System.Drawing.Size(87, 25);
this.radioGerman.TabIndex = 90;
this.radioGerman.Tag = "";
this.radioGerman.Text = "Deutsch";
@@ -408,9 +411,10 @@ private void InitializeComponent()
this.radioTurkish.AutoSize = true;
this.radioTurkish.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioTurkish.ForeColor = System.Drawing.Color.White;
- this.radioTurkish.Location = new System.Drawing.Point(332, 14);
+ this.radioTurkish.Location = new System.Drawing.Point(221, 9);
+ this.radioTurkish.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioTurkish.Name = "radioTurkish";
- this.radioTurkish.Size = new System.Drawing.Size(110, 36);
+ this.radioTurkish.Size = new System.Drawing.Size(76, 25);
this.radioTurkish.TabIndex = 88;
this.radioTurkish.Tag = "";
this.radioTurkish.Text = "Türkçe";
@@ -422,9 +426,10 @@ private void InitializeComponent()
this.radioHellenic.AutoSize = true;
this.radioHellenic.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioHellenic.ForeColor = System.Drawing.Color.White;
- this.radioHellenic.Location = new System.Drawing.Point(80, 104);
+ this.radioHellenic.Location = new System.Drawing.Point(53, 69);
+ this.radioHellenic.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioHellenic.Name = "radioHellenic";
- this.radioHellenic.Size = new System.Drawing.Size(140, 36);
+ this.radioHellenic.Size = new System.Drawing.Size(94, 25);
this.radioHellenic.TabIndex = 84;
this.radioHellenic.Tag = "";
this.radioHellenic.Text = "Ελληνικά";
@@ -437,9 +442,10 @@ private void InitializeComponent()
this.radioEnglish.Checked = true;
this.radioEnglish.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Underline);
this.radioEnglish.ForeColor = System.Drawing.Color.MediumOrchid;
- this.radioEnglish.Location = new System.Drawing.Point(80, 16);
+ this.radioEnglish.Location = new System.Drawing.Point(53, 11);
+ this.radioEnglish.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioEnglish.Name = "radioEnglish";
- this.radioEnglish.Size = new System.Drawing.Size(115, 36);
+ this.radioEnglish.Size = new System.Drawing.Size(79, 25);
this.radioEnglish.TabIndex = 80;
this.radioEnglish.TabStop = true;
this.radioEnglish.Tag = "themeable";
@@ -452,9 +458,10 @@ private void InitializeComponent()
this.radioRussian.AutoSize = true;
this.radioRussian.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioRussian.ForeColor = System.Drawing.Color.White;
- this.radioRussian.Location = new System.Drawing.Point(80, 60);
+ this.radioRussian.Location = new System.Drawing.Point(53, 40);
+ this.radioRussian.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioRussian.Name = "radioRussian";
- this.radioRussian.Size = new System.Drawing.Size(128, 36);
+ this.radioRussian.Size = new System.Drawing.Size(90, 25);
this.radioRussian.TabIndex = 79;
this.radioRussian.Tag = "";
this.radioRussian.Text = "русский";
@@ -466,9 +473,10 @@ private void InitializeComponent()
this.radioPolish.AutoSize = true;
this.radioPolish.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioPolish.ForeColor = System.Drawing.Color.White;
- this.radioPolish.Location = new System.Drawing.Point(80, 278);
+ this.radioPolish.Location = new System.Drawing.Point(53, 185);
+ this.radioPolish.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioPolish.Name = "radioPolish";
- this.radioPolish.Size = new System.Drawing.Size(101, 36);
+ this.radioPolish.Size = new System.Drawing.Size(69, 25);
this.radioPolish.TabIndex = 108;
this.radioPolish.Tag = "";
this.radioPolish.Text = "Polski";
@@ -478,10 +486,9 @@ private void InitializeComponent()
// pictureBox11
//
this.pictureBox11.Image = global::Optimizer.Properties.Resources.poland;
- this.pictureBox11.Location = new System.Drawing.Point(20, 282);
- this.pictureBox11.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox11.Location = new System.Drawing.Point(13, 188);
this.pictureBox11.Name = "pictureBox11";
- this.pictureBox11.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox11.Size = new System.Drawing.Size(32, 19);
this.pictureBox11.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox11.TabIndex = 107;
this.pictureBox11.TabStop = false;
@@ -492,9 +499,10 @@ private void InitializeComponent()
this.radioArabic.AutoSize = true;
this.radioArabic.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioArabic.ForeColor = System.Drawing.Color.White;
- this.radioArabic.Location = new System.Drawing.Point(80, 321);
+ this.radioArabic.Location = new System.Drawing.Point(53, 214);
+ this.radioArabic.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioArabic.Name = "radioArabic";
- this.radioArabic.Size = new System.Drawing.Size(105, 36);
+ this.radioArabic.Size = new System.Drawing.Size(71, 25);
this.radioArabic.TabIndex = 110;
this.radioArabic.Tag = "";
this.radioArabic.Text = "العربية";
@@ -504,10 +512,9 @@ private void InitializeComponent()
// pictureBox12
//
this.pictureBox12.Image = global::Optimizer.Properties.Resources.egypt;
- this.pictureBox12.Location = new System.Drawing.Point(20, 326);
- this.pictureBox12.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox12.Location = new System.Drawing.Point(13, 217);
this.pictureBox12.Name = "pictureBox12";
- this.pictureBox12.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox12.Size = new System.Drawing.Size(32, 19);
this.pictureBox12.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox12.TabIndex = 109;
this.pictureBox12.TabStop = false;
@@ -518,9 +525,10 @@ private void InitializeComponent()
this.radioKurdish.AutoSize = true;
this.radioKurdish.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioKurdish.ForeColor = System.Drawing.Color.White;
- this.radioKurdish.Location = new System.Drawing.Point(333, 321);
+ this.radioKurdish.Location = new System.Drawing.Point(222, 214);
+ this.radioKurdish.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioKurdish.Name = "radioKurdish";
- this.radioKurdish.Size = new System.Drawing.Size(101, 36);
+ this.radioKurdish.Size = new System.Drawing.Size(70, 25);
this.radioKurdish.TabIndex = 112;
this.radioKurdish.Tag = "";
this.radioKurdish.Text = "کوردی";
@@ -530,10 +538,9 @@ private void InitializeComponent()
// pictureBox13
//
this.pictureBox13.Image = global::Optimizer.Properties.Resources.kurdish;
- this.pictureBox13.Location = new System.Drawing.Point(273, 326);
- this.pictureBox13.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox13.Location = new System.Drawing.Point(182, 217);
this.pictureBox13.Name = "pictureBox13";
- this.pictureBox13.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox13.Size = new System.Drawing.Size(32, 19);
this.pictureBox13.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox13.TabIndex = 111;
this.pictureBox13.TabStop = false;
@@ -544,9 +551,10 @@ private void InitializeComponent()
this.radioHungarian.AutoSize = true;
this.radioHungarian.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioHungarian.ForeColor = System.Drawing.Color.White;
- this.radioHungarian.Location = new System.Drawing.Point(80, 363);
+ this.radioHungarian.Location = new System.Drawing.Point(53, 242);
+ this.radioHungarian.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioHungarian.Name = "radioHungarian";
- this.radioHungarian.Size = new System.Drawing.Size(122, 36);
+ this.radioHungarian.Size = new System.Drawing.Size(83, 25);
this.radioHungarian.TabIndex = 114;
this.radioHungarian.Tag = "";
this.radioHungarian.Text = "Magyar";
@@ -556,10 +564,9 @@ private void InitializeComponent()
// pictureBox14
//
this.pictureBox14.Image = global::Optimizer.Properties.Resources.hungary;
- this.pictureBox14.Location = new System.Drawing.Point(20, 368);
- this.pictureBox14.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox14.Location = new System.Drawing.Point(13, 245);
this.pictureBox14.Name = "pictureBox14";
- this.pictureBox14.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox14.Size = new System.Drawing.Size(32, 19);
this.pictureBox14.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox14.TabIndex = 113;
this.pictureBox14.TabStop = false;
@@ -570,9 +577,10 @@ private void InitializeComponent()
this.radioRomanian.AutoSize = true;
this.radioRomanian.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioRomanian.ForeColor = System.Drawing.Color.White;
- this.radioRomanian.Location = new System.Drawing.Point(333, 364);
+ this.radioRomanian.Location = new System.Drawing.Point(222, 243);
+ this.radioRomanian.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioRomanian.Name = "radioRomanian";
- this.radioRomanian.Size = new System.Drawing.Size(128, 36);
+ this.radioRomanian.Size = new System.Drawing.Size(87, 25);
this.radioRomanian.TabIndex = 116;
this.radioRomanian.Tag = "";
this.radioRomanian.Text = "Română";
@@ -582,10 +590,9 @@ private void InitializeComponent()
// pictureBox15
//
this.pictureBox15.Image = global::Optimizer.Properties.Resources.romania;
- this.pictureBox15.Location = new System.Drawing.Point(273, 369);
- this.pictureBox15.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox15.Location = new System.Drawing.Point(182, 246);
this.pictureBox15.Name = "pictureBox15";
- this.pictureBox15.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox15.Size = new System.Drawing.Size(32, 19);
this.pictureBox15.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox15.TabIndex = 115;
this.pictureBox15.TabStop = false;
@@ -596,9 +603,10 @@ private void InitializeComponent()
this.radioDutch.AutoSize = true;
this.radioDutch.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioDutch.ForeColor = System.Drawing.Color.White;
- this.radioDutch.Location = new System.Drawing.Point(80, 406);
+ this.radioDutch.Location = new System.Drawing.Point(53, 271);
+ this.radioDutch.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioDutch.Name = "radioDutch";
- this.radioDutch.Size = new System.Drawing.Size(163, 36);
+ this.radioDutch.Size = new System.Drawing.Size(112, 25);
this.radioDutch.TabIndex = 118;
this.radioDutch.Tag = "";
this.radioDutch.Text = "Nederlands";
@@ -608,10 +616,9 @@ private void InitializeComponent()
// pictureBox16
//
this.pictureBox16.Image = global::Optimizer.Properties.Resources.dutch;
- this.pictureBox16.Location = new System.Drawing.Point(20, 411);
- this.pictureBox16.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox16.Location = new System.Drawing.Point(13, 274);
this.pictureBox16.Name = "pictureBox16";
- this.pictureBox16.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox16.Size = new System.Drawing.Size(32, 19);
this.pictureBox16.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox16.TabIndex = 117;
this.pictureBox16.TabStop = false;
@@ -620,10 +627,9 @@ private void InitializeComponent()
// pictureBox17
//
this.pictureBox17.Image = global::Optimizer.Properties.Resources.japan;
- this.pictureBox17.Location = new System.Drawing.Point(273, 411);
- this.pictureBox17.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox17.Location = new System.Drawing.Point(182, 274);
this.pictureBox17.Name = "pictureBox17";
- this.pictureBox17.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox17.Size = new System.Drawing.Size(32, 19);
this.pictureBox17.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox17.TabIndex = 119;
this.pictureBox17.TabStop = false;
@@ -634,9 +640,10 @@ private void InitializeComponent()
this.radioJapanese.AutoSize = true;
this.radioJapanese.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioJapanese.ForeColor = System.Drawing.Color.White;
- this.radioJapanese.Location = new System.Drawing.Point(333, 408);
+ this.radioJapanese.Location = new System.Drawing.Point(222, 272);
+ this.radioJapanese.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioJapanese.Name = "radioJapanese";
- this.radioJapanese.Size = new System.Drawing.Size(114, 36);
+ this.radioJapanese.Size = new System.Drawing.Size(79, 25);
this.radioJapanese.TabIndex = 120;
this.radioJapanese.Tag = "";
this.radioJapanese.Text = "日本語";
@@ -648,9 +655,10 @@ private void InitializeComponent()
this.radioFarsi.AutoSize = true;
this.radioFarsi.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioFarsi.ForeColor = System.Drawing.Color.White;
- this.radioFarsi.Location = new System.Drawing.Point(80, 450);
+ this.radioFarsi.Location = new System.Drawing.Point(53, 300);
+ this.radioFarsi.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioFarsi.Name = "radioFarsi";
- this.radioFarsi.Size = new System.Drawing.Size(99, 36);
+ this.radioFarsi.Size = new System.Drawing.Size(69, 25);
this.radioFarsi.TabIndex = 122;
this.radioFarsi.Tag = "";
this.radioFarsi.Text = "فارسی";
@@ -660,10 +668,9 @@ private void InitializeComponent()
// pictureBox18
//
this.pictureBox18.Image = global::Optimizer.Properties.Resources.iran;
- this.pictureBox18.Location = new System.Drawing.Point(20, 453);
- this.pictureBox18.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
+ this.pictureBox18.Location = new System.Drawing.Point(13, 302);
this.pictureBox18.Name = "pictureBox18";
- this.pictureBox18.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox18.Size = new System.Drawing.Size(32, 19);
this.pictureBox18.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox18.TabIndex = 121;
this.pictureBox18.TabStop = false;
@@ -674,9 +681,10 @@ private void InitializeComponent()
this.radioNepali.AutoSize = true;
this.radioNepali.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
this.radioNepali.ForeColor = System.Drawing.Color.White;
- this.radioNepali.Location = new System.Drawing.Point(333, 453);
+ this.radioNepali.Location = new System.Drawing.Point(222, 302);
+ this.radioNepali.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.radioNepali.Name = "radioNepali";
- this.radioNepali.Size = new System.Drawing.Size(97, 36);
+ this.radioNepali.Size = new System.Drawing.Size(67, 25);
this.radioNepali.TabIndex = 124;
this.radioNepali.Tag = "";
this.radioNepali.Text = "नेपाली";
@@ -686,23 +694,76 @@ private void InitializeComponent()
// pictureBox19
//
this.pictureBox19.Image = global::Optimizer.Properties.Resources.nepal;
- this.pictureBox19.Location = new System.Drawing.Point(273, 456);
- this.pictureBox19.Margin = new System.Windows.Forms.Padding(4);
+ this.pictureBox19.Location = new System.Drawing.Point(182, 304);
this.pictureBox19.Name = "pictureBox19";
- this.pictureBox19.Size = new System.Drawing.Size(48, 28);
+ this.pictureBox19.Size = new System.Drawing.Size(32, 19);
this.pictureBox19.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox19.TabIndex = 123;
this.pictureBox19.TabStop = false;
this.pictureBox19.Click += new System.EventHandler(this.pictureBox19_Click);
//
+ // radioUkrainian
+ //
+ this.radioUkrainian.AutoSize = true;
+ this.radioUkrainian.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
+ this.radioUkrainian.ForeColor = System.Drawing.Color.White;
+ this.radioUkrainian.Location = new System.Drawing.Point(222, 331);
+ this.radioUkrainian.Margin = new System.Windows.Forms.Padding(2);
+ this.radioUkrainian.Name = "radioUkrainian";
+ this.radioUkrainian.Size = new System.Drawing.Size(67, 25);
+ this.radioUkrainian.TabIndex = 128;
+ this.radioUkrainian.Tag = "";
+ this.radioUkrainian.Text = "नेपाली";
+ this.radioUkrainian.UseVisualStyleBackColor = true;
+ this.radioUkrainian.CheckedChanged += new System.EventHandler(this.radioUkrainian_CheckedChanged);
+ //
+ // pictureBox20
+ //
+ this.pictureBox20.Image = global::Optimizer.Properties.Resources.ukraine;
+ this.pictureBox20.Location = new System.Drawing.Point(182, 333);
+ this.pictureBox20.Name = "pictureBox20";
+ this.pictureBox20.Size = new System.Drawing.Size(32, 19);
+ this.pictureBox20.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ this.pictureBox20.TabIndex = 127;
+ this.pictureBox20.TabStop = false;
+ //
+ // radioBulgarian
+ //
+ this.radioBulgarian.AutoSize = true;
+ this.radioBulgarian.Font = new System.Drawing.Font("Segoe UI Semibold", 12F);
+ this.radioBulgarian.ForeColor = System.Drawing.Color.White;
+ this.radioBulgarian.Location = new System.Drawing.Point(53, 329);
+ this.radioBulgarian.Margin = new System.Windows.Forms.Padding(2);
+ this.radioBulgarian.Name = "radioBulgarian";
+ this.radioBulgarian.Size = new System.Drawing.Size(69, 25);
+ this.radioBulgarian.TabIndex = 126;
+ this.radioBulgarian.Tag = "";
+ this.radioBulgarian.Text = "فارسی";
+ this.radioBulgarian.UseVisualStyleBackColor = true;
+ this.radioBulgarian.CheckedChanged += new System.EventHandler(this.radioBulgarian_CheckedChanged);
+ //
+ // pictureBox21
+ //
+ this.pictureBox21.Image = global::Optimizer.Properties.Resources.bulgaria;
+ this.pictureBox21.Location = new System.Drawing.Point(13, 331);
+ this.pictureBox21.Name = "pictureBox21";
+ this.pictureBox21.Size = new System.Drawing.Size(32, 19);
+ this.pictureBox21.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
+ this.pictureBox21.TabIndex = 125;
+ this.pictureBox21.TabStop = false;
+ //
// FirstRunForm
//
this.AcceptButton = this.btnStart;
- this.AutoScaleDimensions = new System.Drawing.SizeF(144F, 144F);
+ this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
this.CancelButton = this.btnStart;
- this.ClientSize = new System.Drawing.Size(504, 600);
+ this.ClientSize = new System.Drawing.Size(336, 443);
+ this.Controls.Add(this.radioUkrainian);
+ this.Controls.Add(this.pictureBox20);
+ this.Controls.Add(this.radioBulgarian);
+ this.Controls.Add(this.pictureBox21);
this.Controls.Add(this.radioNepali);
this.Controls.Add(this.pictureBox19);
this.Controls.Add(this.radioFarsi);
@@ -753,7 +814,6 @@ private void InitializeComponent()
this.ForeColor = System.Drawing.Color.White;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
- this.Margin = new System.Windows.Forms.Padding(4, 4, 4, 4);
this.MaximizeBox = false;
this.MinimizeBox = false;
this.Name = "FirstRunForm";
@@ -783,6 +843,8 @@ private void InitializeComponent()
((System.ComponentModel.ISupportInitialize)(this.pictureBox17)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox18)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox19)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox20)).EndInit();
+ ((System.ComponentModel.ISupportInitialize)(this.pictureBox21)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
@@ -835,5 +897,9 @@ private void InitializeComponent()
private System.Windows.Forms.PictureBox pictureBox18;
private MoonRadio radioNepali;
private System.Windows.Forms.PictureBox pictureBox19;
+ private MoonRadio radioUkrainian;
+ private System.Windows.Forms.PictureBox pictureBox20;
+ private MoonRadio radioBulgarian;
+ private System.Windows.Forms.PictureBox pictureBox21;
}
}
diff --git a/Optimizer/Forms/FirstRunForm.cs b/Optimizer/Forms/FirstRunForm.cs
index 471a5da2..1c55d021 100644
--- a/Optimizer/Forms/FirstRunForm.cs
+++ b/Optimizer/Forms/FirstRunForm.cs
@@ -9,7 +9,7 @@ public FirstRunForm()
{
InitializeComponent();
this.DoubleBuffered = true;
- Options.ApplyTheme(this);
+ OptionsHelper.ApplyTheme(this);
}
private void btnStart_Click(object sender, EventArgs e)
@@ -19,7 +19,30 @@ private void btnStart_Click(object sender, EventArgs e)
private void FirstRunForm_Load(object sender, EventArgs e)
{
-
+ radioArabic.Text = Constants.ARABIC;
+ radioPortuguese.Text = Constants.PORTUGUESE;
+ radioChinese.Text = Constants.CHINESE;
+ radioCzech.Text = Constants.CZECH;
+ radioDutch.Text = Constants.DUTCH;
+ radioFrench.Text = Constants.FRENCH;
+ radioGerman.Text = Constants.GERMAN;
+ radioHellenic.Text = Constants.HELLENIC;
+ radioHungarian.Text = Constants.HUNGARIAN;
+ radioFarsi.Text = Constants.PERSIAN;
+ radioItalian.Text = Constants.ITALIAN;
+ radioJapanese.Text = Constants.JAPANESE;
+ radioKorean.Text = Constants.KOREAN;
+ radioKurdish.Text = Constants.KURDISH;
+ radioNepali.Text = Constants.NEPALI;
+ radioPolish.Text = Constants.POLISH;
+ radioRomanian.Text = Constants.ROMANIAN;
+ radioRussian.Text = Constants.RUSSIAN;
+ radioSpanish.Text = Constants.SPANISH;
+ radioTaiwan.Text = Constants.TAIWANESE;
+ radioTurkish.Text = Constants.TURKISH;
+ radioUkrainian.Text = Constants.UKRAINIAN;
+ radioBulgarian.Text = Constants.BULGARIAN;
+ radioEnglish.Text = Constants.ENGLISH;
}
private void pictureBox86_Click(object sender, EventArgs e)
@@ -39,23 +62,23 @@ private void pictureBox88_Click(object sender, EventArgs e)
private void radioEnglish_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.EN;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.EN;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void radioRussian_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.RU;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.RU;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void radioHellenic_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.EL;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.EL;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void pictureBox1_Click(object sender, EventArgs e)
@@ -65,16 +88,16 @@ private void pictureBox1_Click(object sender, EventArgs e)
private void radioTurkish_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.TR;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.TR;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void radioGerman_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.DE;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.DE;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void pictureBox2_Click(object sender, EventArgs e)
@@ -89,16 +112,16 @@ private void pictureBox3_Click(object sender, EventArgs e)
private void radioSpanish_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.ES;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.ES;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void radioPortuguese_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.PT;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.PT;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void pictureBox4_Click(object sender, EventArgs e)
@@ -108,9 +131,9 @@ private void pictureBox4_Click(object sender, EventArgs e)
private void radioFrench_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.FR;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.FR;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void pictureBox5_Click(object sender, EventArgs e)
@@ -120,9 +143,9 @@ private void pictureBox5_Click(object sender, EventArgs e)
private void radioitalian_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.IT;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.IT;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void pictureBox6_Click(object sender, EventArgs e)
@@ -137,9 +160,9 @@ private void pictureBox7_Click(object sender, EventArgs e)
private void radioChinese_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.CN;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.CN;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void pictureBox8_Click(object sender, EventArgs e)
@@ -149,16 +172,16 @@ private void pictureBox8_Click(object sender, EventArgs e)
private void radioCzech_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.CZ;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.CZ;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void radioTaiwan_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.TW;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.TW;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void pictureBox9_Click(object sender, EventArgs e)
@@ -168,9 +191,9 @@ private void pictureBox9_Click(object sender, EventArgs e)
private void radioKorean_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.KO;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.KO;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void pictureBox10_Click(object sender, EventArgs e)
@@ -185,16 +208,16 @@ private void pictureBox11_Click(object sender, EventArgs e)
private void radioPolish_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.PL;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.PL;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void radioArabic_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.AR;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.AR;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void pictureBox12_Click(object sender, EventArgs e)
@@ -209,9 +232,9 @@ private void pictureBox13_Click(object sender, EventArgs e)
private void radioKurdish_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.KU;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.KU;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void pictureBox14_Click(object sender, EventArgs e)
@@ -221,16 +244,16 @@ private void pictureBox14_Click(object sender, EventArgs e)
private void radioHungarian_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.HU;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.HU;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void radioRomanian_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.RO;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.RO;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void pictureBox15_Click(object sender, EventArgs e)
@@ -240,9 +263,9 @@ private void pictureBox15_Click(object sender, EventArgs e)
private void radioDutch_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.NL;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.NL;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void pictureBox16_Click(object sender, EventArgs e)
@@ -252,9 +275,9 @@ private void pictureBox16_Click(object sender, EventArgs e)
private void radioJapanese_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.JA;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.JA;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void pictureBox17_Click(object sender, EventArgs e)
@@ -264,9 +287,9 @@ private void pictureBox17_Click(object sender, EventArgs e)
private void radioFarsi_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.FA;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.FA;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
private void pictureBox18_Click(object sender, EventArgs e)
@@ -281,9 +304,23 @@ private void pictureBox19_Click(object sender, EventArgs e)
private void radioNepali_CheckedChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.LanguageCode = LanguageCode.NE;
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.NE;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
+ }
+
+ private void radioBulgarian_CheckedChanged(object sender, EventArgs e)
+ {
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.BG;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
+ }
+
+ private void radioUkrainian_CheckedChanged(object sender, EventArgs e)
+ {
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.UA;
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
}
}
}
diff --git a/Optimizer/Forms/HelperForm.cs b/Optimizer/Forms/HelperForm.cs
index 8402a83d..9def4db9 100644
--- a/Optimizer/Forms/HelperForm.cs
+++ b/Optimizer/Forms/HelperForm.cs
@@ -22,7 +22,7 @@ private void Confirm()
}
if (_type == MessageType.Restart)
{
- Options.SaveSettings();
+ OptionsHelper.SaveSettings();
Utilities.Reboot();
}
if (_type == MessageType.Hosts)
@@ -38,7 +38,7 @@ private void Confirm()
internal HelperForm(MainForm main, MessageType m, string text)
{
InitializeComponent();
- Options.ApplyTheme(this);
+ OptionsHelper.ApplyTheme(this);
_main = main;
_type = m;
@@ -48,7 +48,7 @@ internal HelperForm(MainForm main, MessageType m, string text)
if (_type == MessageType.Error)
{
btnNo.Visible = false;
- btnYes.Text = Options.TranslationList["btnOk"];
+ btnYes.Text = OptionsHelper.TranslationList["btnOk"];
this.AcceptButton = btnNo;
this.AcceptButton = btnYes;
@@ -57,7 +57,7 @@ internal HelperForm(MainForm main, MessageType m, string text)
}
// translate UI elements
- if (Options.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
+ if (OptionsHelper.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
}
private void btnNo_Click(object sender, EventArgs e)
@@ -79,7 +79,7 @@ private void Messager_Load(object sender, EventArgs e)
private void Translate()
{
- Dictionary translationList = Options.TranslationList.ToObject>();
+ Dictionary translationList = OptionsHelper.TranslationList.ToObject>();
Control element;
diff --git a/Optimizer/Forms/HostsEditorForm.cs b/Optimizer/Forms/HostsEditorForm.cs
index 131ab606..21e0e360 100644
--- a/Optimizer/Forms/HostsEditorForm.cs
+++ b/Optimizer/Forms/HostsEditorForm.cs
@@ -12,7 +12,7 @@ public sealed partial class HostsEditorForm : Form
public HostsEditorForm()
{
InitializeComponent();
- Options.ApplyTheme(this);
+ OptionsHelper.ApplyTheme(this);
if (HostsHelper.GetReadOnly())
{
@@ -20,7 +20,7 @@ public HostsEditorForm()
}
// translate UI elements
- if (Options.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
+ if (OptionsHelper.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
}
private void HostsEditor_Load(object sender, EventArgs e)
@@ -37,8 +37,8 @@ private void HostsEditor_Load(object sender, EventArgs e)
private void Translate()
{
- this.Text = Options.TranslationList["HostsEditorForm"];
- Dictionary translationList = Options.TranslationList.ToObject>();
+ this.Text = OptionsHelper.TranslationList["HostsEditorForm"];
+ Dictionary translationList = OptionsHelper.TranslationList.ToObject>();
Control element;
diff --git a/Optimizer/Forms/InfoForm.cs b/Optimizer/Forms/InfoForm.cs
index f436cce8..88faf8d0 100644
--- a/Optimizer/Forms/InfoForm.cs
+++ b/Optimizer/Forms/InfoForm.cs
@@ -12,17 +12,17 @@ public InfoForm(string info)
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;
- Options.ApplyTheme(this);
+ OptionsHelper.ApplyTheme(this);
txtInfo.Text = info;
// translate UI elements
- if (Options.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
+ if (OptionsHelper.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
}
private void Translate()
{
- Dictionary translationList = Options.TranslationList.ToObject>();
+ Dictionary translationList = OptionsHelper.TranslationList.ToObject>();
Control element;
diff --git a/Optimizer/Forms/MainForm.Designer.cs b/Optimizer/Forms/MainForm.Designer.cs
index c2cf4e64..620be42e 100644
--- a/Optimizer/Forms/MainForm.Designer.cs
+++ b/Optimizer/Forms/MainForm.Designer.cs
@@ -93,6 +93,7 @@ private void InitializeComponent()
this.label15 = new System.Windows.Forms.Label();
this.label14 = new System.Windows.Forms.Label();
this.panelWin11Tweaks = new System.Windows.Forms.Panel();
+ this.copilotSw = new Optimizer.ToggleCard();
this.label20 = new System.Windows.Forms.Label();
this.label19 = new System.Windows.Forms.Label();
this.stickersSw = new Optimizer.ToggleCard();
@@ -387,6 +388,7 @@ private void InitializeComponent()
this.listFonts = new Optimizer.MoonList();
this.fontSetTitle = new System.Windows.Forms.Label();
this.optionsTab = new System.Windows.Forms.TabPage();
+ this.btnReinforce = new System.Windows.Forms.Button();
this.linkLabel6 = new System.Windows.Forms.LinkLabel();
this.linkLabel4 = new System.Windows.Forms.LinkLabel();
this.pictureBox6 = new System.Windows.Forms.PictureBox();
@@ -742,7 +744,7 @@ private void InitializeComponent()
this.universalTab.Margin = new System.Windows.Forms.Padding(2);
this.universalTab.Name = "universalTab";
this.universalTab.Padding = new System.Windows.Forms.Padding(2);
- this.universalTab.Size = new System.Drawing.Size(1273, 611);
+ this.universalTab.Size = new System.Drawing.Size(1273, 628);
this.universalTab.TabIndex = 0;
this.universalTab.Text = "General";
//
@@ -1222,7 +1224,7 @@ private void InitializeComponent()
this.windows10Tab.Margin = new System.Windows.Forms.Padding(2);
this.windows10Tab.Name = "windows10Tab";
this.windows10Tab.Padding = new System.Windows.Forms.Padding(2);
- this.windows10Tab.Size = new System.Drawing.Size(1273, 611);
+ this.windows10Tab.Size = new System.Drawing.Size(1273, 628);
this.windows10Tab.TabIndex = 1;
this.windows10Tab.Text = "Windows 10";
//
@@ -1342,6 +1344,7 @@ private void InitializeComponent()
// panelWin11Tweaks
//
this.panelWin11Tweaks.AutoScroll = true;
+ this.panelWin11Tweaks.Controls.Add(this.copilotSw);
this.panelWin11Tweaks.Controls.Add(this.label20);
this.panelWin11Tweaks.Controls.Add(this.label19);
this.panelWin11Tweaks.Controls.Add(this.stickersSw);
@@ -1357,6 +1360,22 @@ private void InitializeComponent()
this.panelWin11Tweaks.TabIndex = 80;
this.panelWin11Tweaks.Visible = false;
//
+ // copilotSw
+ //
+ this.copilotSw.AccessibleName = "Disable CoPilot AI";
+ this.copilotSw.AccessibleRole = System.Windows.Forms.AccessibleRole.CheckButton;
+ this.copilotSw.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
+ this.copilotSw.Font = new System.Drawing.Font("Segoe UI Semibold", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.copilotSw.ForeColor = System.Drawing.Color.White;
+ this.copilotSw.LabelText = "Disable CoPilot AI";
+ this.copilotSw.Location = new System.Drawing.Point(465, 126);
+ this.copilotSw.Margin = new System.Windows.Forms.Padding(6);
+ this.copilotSw.Name = "copilotSw";
+ this.copilotSw.Size = new System.Drawing.Size(414, 24);
+ this.copilotSw.TabIndex = 179;
+ this.copilotSw.Tag = "themeable";
+ this.copilotSw.ToggleChecked = false;
+ //
// label20
//
this.label20.AutoSize = true;
@@ -1874,7 +1893,7 @@ private void InitializeComponent()
this.windows8Tab.Margin = new System.Windows.Forms.Padding(2);
this.windows8Tab.Name = "windows8Tab";
this.windows8Tab.Padding = new System.Windows.Forms.Padding(2);
- this.windows8Tab.Size = new System.Drawing.Size(1273, 611);
+ this.windows8Tab.Size = new System.Drawing.Size(1273, 628);
this.windows8Tab.TabIndex = 2;
this.windows8Tab.Text = "Windows 8.1";
//
@@ -1920,7 +1939,7 @@ private void InitializeComponent()
this.advancedTab.Margin = new System.Windows.Forms.Padding(2);
this.advancedTab.Name = "advancedTab";
this.advancedTab.Padding = new System.Windows.Forms.Padding(2);
- this.advancedTab.Size = new System.Drawing.Size(1273, 611);
+ this.advancedTab.Size = new System.Drawing.Size(1273, 628);
this.advancedTab.TabIndex = 15;
this.advancedTab.Text = "Advanced";
//
@@ -2021,7 +2040,7 @@ private void InitializeComponent()
this.modernAppsTab.Location = new System.Drawing.Point(4, 26);
this.modernAppsTab.Name = "modernAppsTab";
this.modernAppsTab.Padding = new System.Windows.Forms.Padding(3);
- this.modernAppsTab.Size = new System.Drawing.Size(1273, 611);
+ this.modernAppsTab.Size = new System.Drawing.Size(1273, 628);
this.modernAppsTab.TabIndex = 11;
this.modernAppsTab.Text = "UWP Apps";
//
@@ -2145,7 +2164,7 @@ private void InitializeComponent()
this.startupTab.Location = new System.Drawing.Point(4, 26);
this.startupTab.Margin = new System.Windows.Forms.Padding(2);
this.startupTab.Name = "startupTab";
- this.startupTab.Size = new System.Drawing.Size(1273, 611);
+ this.startupTab.Size = new System.Drawing.Size(1273, 628);
this.startupTab.TabIndex = 7;
this.startupTab.Text = "Startup";
//
@@ -2402,7 +2421,7 @@ private void InitializeComponent()
this.appsTab.Location = new System.Drawing.Point(4, 26);
this.appsTab.Name = "appsTab";
this.appsTab.Padding = new System.Windows.Forms.Padding(3);
- this.appsTab.Size = new System.Drawing.Size(1273, 611);
+ this.appsTab.Size = new System.Drawing.Size(1273, 628);
this.appsTab.TabIndex = 12;
this.appsTab.Text = "Apps";
//
@@ -2414,7 +2433,7 @@ private void InitializeComponent()
this.txtFeedError.ForeColor = System.Drawing.Color.Gold;
this.txtFeedError.Location = new System.Drawing.Point(3, 47);
this.txtFeedError.Name = "txtFeedError";
- this.txtFeedError.Size = new System.Drawing.Size(1267, 441);
+ this.txtFeedError.Size = new System.Drawing.Size(1267, 458);
this.txtFeedError.TabIndex = 171;
this.txtFeedError.Text = "No internet connection, try refreshing links again";
this.txtFeedError.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
@@ -2563,7 +2582,7 @@ private void InitializeComponent()
this.panelCommonApps.Controls.Add(this.bitPref);
this.panelCommonApps.Controls.Add(this.goToDownloadsB);
this.panelCommonApps.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.panelCommonApps.Location = new System.Drawing.Point(3, 488);
+ this.panelCommonApps.Location = new System.Drawing.Point(3, 505);
this.panelCommonApps.Name = "panelCommonApps";
this.panelCommonApps.Size = new System.Drawing.Size(1267, 120);
this.panelCommonApps.TabIndex = 162;
@@ -2762,7 +2781,7 @@ private void InitializeComponent()
this.cleanerTab.Margin = new System.Windows.Forms.Padding(2);
this.cleanerTab.Name = "cleanerTab";
this.cleanerTab.Padding = new System.Windows.Forms.Padding(2);
- this.cleanerTab.Size = new System.Drawing.Size(1273, 611);
+ this.cleanerTab.Size = new System.Drawing.Size(1273, 628);
this.cleanerTab.TabIndex = 5;
this.cleanerTab.Text = "Cleaner";
//
@@ -2773,7 +2792,7 @@ private void InitializeComponent()
this.panel14.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel14.Location = new System.Drawing.Point(221, 2);
this.panel14.Name = "panel14";
- this.panel14.Size = new System.Drawing.Size(1050, 546);
+ this.panel14.Size = new System.Drawing.Size(1050, 563);
this.panel14.TabIndex = 51;
//
// listCleanPreview
@@ -2787,7 +2806,7 @@ private void InitializeComponent()
this.listCleanPreview.HorizontalScrollbar = true;
this.listCleanPreview.Location = new System.Drawing.Point(0, 0);
this.listCleanPreview.Name = "listCleanPreview";
- this.listCleanPreview.Size = new System.Drawing.Size(1048, 544);
+ this.listCleanPreview.Size = new System.Drawing.Size(1048, 561);
this.listCleanPreview.TabIndex = 1;
//
// panel13
@@ -2801,7 +2820,7 @@ private void InitializeComponent()
this.panel13.Controls.Add(this.cleanDriveB);
this.panel13.Controls.Add(this.lblFootprint);
this.panel13.Dock = System.Windows.Forms.DockStyle.Bottom;
- this.panel13.Location = new System.Drawing.Point(221, 548);
+ this.panel13.Location = new System.Drawing.Point(221, 565);
this.panel13.Name = "panel13";
this.panel13.Size = new System.Drawing.Size(1050, 61);
this.panel13.TabIndex = 50;
@@ -2949,7 +2968,7 @@ private void InitializeComponent()
this.panel1.Location = new System.Drawing.Point(2, 2);
this.panel1.Margin = new System.Windows.Forms.Padding(2);
this.panel1.Name = "panel1";
- this.panel1.Size = new System.Drawing.Size(219, 607);
+ this.panel1.Size = new System.Drawing.Size(219, 624);
this.panel1.TabIndex = 47;
//
// bravePasswords
@@ -3383,7 +3402,7 @@ private void InitializeComponent()
this.pingerTab.Location = new System.Drawing.Point(4, 26);
this.pingerTab.Name = "pingerTab";
this.pingerTab.Padding = new System.Windows.Forms.Padding(3);
- this.pingerTab.Size = new System.Drawing.Size(1273, 611);
+ this.pingerTab.Size = new System.Drawing.Size(1273, 628);
this.pingerTab.TabIndex = 13;
this.pingerTab.Text = "Pinger";
//
@@ -3399,7 +3418,7 @@ private void InitializeComponent()
this.netTools.Name = "netTools";
this.netTools.Padding = new System.Drawing.Point(0, 0);
this.netTools.SelectedIndex = 0;
- this.netTools.Size = new System.Drawing.Size(1267, 605);
+ this.netTools.Size = new System.Drawing.Size(1267, 622);
this.netTools.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
this.netTools.TabIndex = 104;
//
@@ -3430,7 +3449,7 @@ private void InitializeComponent()
this.tabPage2.Location = new System.Drawing.Point(4, 4);
this.tabPage2.Name = "tabPage2";
this.tabPage2.Padding = new System.Windows.Forms.Padding(3);
- this.tabPage2.Size = new System.Drawing.Size(1259, 575);
+ this.tabPage2.Size = new System.Drawing.Size(1259, 592);
this.tabPage2.TabIndex = 1;
this.tabPage2.Text = "DNS";
//
@@ -3742,7 +3761,7 @@ private void InitializeComponent()
this.tabPage1.Location = new System.Drawing.Point(4, 4);
this.tabPage1.Name = "tabPage1";
this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
- this.tabPage1.Size = new System.Drawing.Size(1259, 575);
+ this.tabPage1.Size = new System.Drawing.Size(1259, 592);
this.tabPage1.TabIndex = 0;
this.tabPage1.Text = "Pinger";
//
@@ -3921,7 +3940,7 @@ private void InitializeComponent()
this.hostsEditorTab.Margin = new System.Windows.Forms.Padding(2);
this.hostsEditorTab.Name = "hostsEditorTab";
this.hostsEditorTab.Padding = new System.Windows.Forms.Padding(2);
- this.hostsEditorTab.Size = new System.Drawing.Size(1273, 611);
+ this.hostsEditorTab.Size = new System.Drawing.Size(1273, 628);
this.hostsEditorTab.TabIndex = 9;
this.hostsEditorTab.Text = "Hosts";
//
@@ -4233,7 +4252,7 @@ private void InitializeComponent()
this.registryFixerTab.Margin = new System.Windows.Forms.Padding(2);
this.registryFixerTab.Name = "registryFixerTab";
this.registryFixerTab.Padding = new System.Windows.Forms.Padding(2);
- this.registryFixerTab.Size = new System.Drawing.Size(1273, 611);
+ this.registryFixerTab.Size = new System.Drawing.Size(1273, 628);
this.registryFixerTab.TabIndex = 8;
this.registryFixerTab.Text = "Registry";
//
@@ -4443,7 +4462,7 @@ private void InitializeComponent()
this.indiciumTab.Location = new System.Drawing.Point(4, 26);
this.indiciumTab.Name = "indiciumTab";
this.indiciumTab.Padding = new System.Windows.Forms.Padding(3);
- this.indiciumTab.Size = new System.Drawing.Size(1273, 611);
+ this.indiciumTab.Size = new System.Drawing.Size(1273, 628);
this.indiciumTab.TabIndex = 14;
this.indiciumTab.Text = "Hardware";
//
@@ -4454,7 +4473,7 @@ private void InitializeComponent()
this.panel12.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel12.Location = new System.Drawing.Point(3, 38);
this.panel12.Name = "panel12";
- this.panel12.Size = new System.Drawing.Size(1267, 570);
+ this.panel12.Size = new System.Drawing.Size(1267, 587);
this.panel12.TabIndex = 2;
//
// specsTree
@@ -4509,7 +4528,7 @@ private void InitializeComponent()
treeNode6,
treeNode7,
treeNode8});
- this.specsTree.Size = new System.Drawing.Size(1265, 568);
+ this.specsTree.Size = new System.Drawing.Size(1265, 585);
this.specsTree.TabIndex = 0;
this.specsTree.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.specsTree_NodeMouseClick);
//
@@ -4632,7 +4651,7 @@ private void InitializeComponent()
this.integratorTab.Margin = new System.Windows.Forms.Padding(2);
this.integratorTab.Name = "integratorTab";
this.integratorTab.Padding = new System.Windows.Forms.Padding(2);
- this.integratorTab.Size = new System.Drawing.Size(1273, 599);
+ this.integratorTab.Size = new System.Drawing.Size(1273, 628);
this.integratorTab.TabIndex = 10;
this.integratorTab.Text = "Integrator";
//
@@ -4652,7 +4671,7 @@ private void InitializeComponent()
this.synapse.Name = "synapse";
this.synapse.Padding = new System.Drawing.Point(0, 0);
this.synapse.SelectedIndex = 0;
- this.synapse.Size = new System.Drawing.Size(1269, 595);
+ this.synapse.Size = new System.Drawing.Size(1269, 624);
this.synapse.SizeMode = System.Windows.Forms.TabSizeMode.Fixed;
this.synapse.TabIndex = 0;
//
@@ -4671,7 +4690,7 @@ private void InitializeComponent()
this.integratorInfoTab.Margin = new System.Windows.Forms.Padding(2);
this.integratorInfoTab.Name = "integratorInfoTab";
this.integratorInfoTab.Padding = new System.Windows.Forms.Padding(2);
- this.integratorInfoTab.Size = new System.Drawing.Size(1261, 565);
+ this.integratorInfoTab.Size = new System.Drawing.Size(1261, 594);
this.integratorInfoTab.TabIndex = 0;
this.integratorInfoTab.Text = "Info";
//
@@ -4780,7 +4799,7 @@ private void InitializeComponent()
this.tabPage8.Margin = new System.Windows.Forms.Padding(2);
this.tabPage8.Name = "tabPage8";
this.tabPage8.Padding = new System.Windows.Forms.Padding(2);
- this.tabPage8.Size = new System.Drawing.Size(1261, 619);
+ this.tabPage8.Size = new System.Drawing.Size(1261, 594);
this.tabPage8.TabIndex = 1;
this.tabPage8.Text = "Add/Modify";
//
@@ -5125,7 +5144,7 @@ private void InitializeComponent()
this.tabPage9.Margin = new System.Windows.Forms.Padding(2);
this.tabPage9.Name = "tabPage9";
this.tabPage9.Padding = new System.Windows.Forms.Padding(2);
- this.tabPage9.Size = new System.Drawing.Size(1261, 619);
+ this.tabPage9.Size = new System.Drawing.Size(1261, 594);
this.tabPage9.TabIndex = 2;
this.tabPage9.Text = "Remove";
//
@@ -5236,7 +5255,7 @@ private void InitializeComponent()
this.tabPage10.Margin = new System.Windows.Forms.Padding(2);
this.tabPage10.Name = "tabPage10";
this.tabPage10.Padding = new System.Windows.Forms.Padding(2);
- this.tabPage10.Size = new System.Drawing.Size(1261, 619);
+ this.tabPage10.Size = new System.Drawing.Size(1261, 594);
this.tabPage10.TabIndex = 3;
this.tabPage10.Text = "Ready Menus";
//
@@ -5384,7 +5403,7 @@ private void InitializeComponent()
this.tabPage11.Margin = new System.Windows.Forms.Padding(2);
this.tabPage11.Name = "tabPage11";
this.tabPage11.Padding = new System.Windows.Forms.Padding(2);
- this.tabPage11.Size = new System.Drawing.Size(1261, 619);
+ this.tabPage11.Size = new System.Drawing.Size(1261, 594);
this.tabPage11.TabIndex = 4;
this.tabPage11.Text = "Run Dialog";
//
@@ -5574,7 +5593,7 @@ private void InitializeComponent()
this.tabPage3.Controls.Add(this.fontSetTitle);
this.tabPage3.Location = new System.Drawing.Point(4, 4);
this.tabPage3.Name = "tabPage3";
- this.tabPage3.Size = new System.Drawing.Size(1261, 619);
+ this.tabPage3.Size = new System.Drawing.Size(1261, 594);
this.tabPage3.TabIndex = 5;
this.tabPage3.Text = "Fonts";
//
@@ -5738,6 +5757,7 @@ private void InitializeComponent()
//
this.optionsTab.AutoScroll = true;
this.optionsTab.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20)))));
+ this.optionsTab.Controls.Add(this.btnReinforce);
this.optionsTab.Controls.Add(this.linkLabel6);
this.optionsTab.Controls.Add(this.linkLabel4);
this.optionsTab.Controls.Add(this.pictureBox6);
@@ -5773,6 +5793,24 @@ private void InitializeComponent()
this.optionsTab.TabIndex = 6;
this.optionsTab.Text = "Options";
//
+ // btnReinforce
+ //
+ this.btnReinforce.BackColor = System.Drawing.Color.DodgerBlue;
+ this.btnReinforce.FlatAppearance.BorderColor = System.Drawing.Color.RoyalBlue;
+ this.btnReinforce.FlatAppearance.BorderSize = 0;
+ this.btnReinforce.FlatAppearance.MouseDownBackColor = System.Drawing.Color.RoyalBlue;
+ this.btnReinforce.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
+ this.btnReinforce.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
+ this.btnReinforce.ForeColor = System.Drawing.Color.White;
+ this.btnReinforce.Location = new System.Drawing.Point(34, 487);
+ this.btnReinforce.Margin = new System.Windows.Forms.Padding(2);
+ this.btnReinforce.Name = "btnReinforce";
+ this.btnReinforce.Size = new System.Drawing.Size(261, 31);
+ this.btnReinforce.TabIndex = 103;
+ this.btnReinforce.Text = "Reinforce policies";
+ this.btnReinforce.UseVisualStyleBackColor = false;
+ this.btnReinforce.Click += new System.EventHandler(this.btnReinforce_Click);
+ //
// linkLabel6
//
this.linkLabel6.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
@@ -5970,30 +6008,6 @@ private void InitializeComponent()
this.boxLang.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.boxLang.ForeColor = System.Drawing.Color.White;
this.boxLang.FormattingEnabled = true;
- this.boxLang.Items.AddRange(new object[] {
- "English",
- "Русский",
- "Ελληνικά",
- "Deutsch",
- "Italiano",
- "Čeština",
- "Türkçe",
- "Español",
- "Português",
- "Français",
- "Polski",
- "简体中文",
- "繁體中文",
- "한국어",
- "العربية",
- "کوردی",
- "Magyar",
- "Română",
- "Nederlands",
- "українська",
- "日本語",
- "فارسی",
- "नेपाली"});
this.boxLang.Location = new System.Drawing.Point(92, 3);
this.boxLang.Name = "boxLang";
this.boxLang.Size = new System.Drawing.Size(212, 29);
@@ -6050,12 +6064,12 @@ private void InitializeComponent()
this.btnOpenConf.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
this.btnOpenConf.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnOpenConf.ForeColor = System.Drawing.Color.White;
- this.btnOpenConf.Location = new System.Drawing.Point(34, 452);
+ this.btnOpenConf.Location = new System.Drawing.Point(34, 417);
this.btnOpenConf.Margin = new System.Windows.Forms.Padding(2);
this.btnOpenConf.Name = "btnOpenConf";
this.btnOpenConf.Size = new System.Drawing.Size(261, 31);
this.btnOpenConf.TabIndex = 63;
- this.btnOpenConf.Text = "Show config folder";
+ this.btnOpenConf.Text = "Show configuration folder";
this.btnOpenConf.UseVisualStyleBackColor = false;
this.btnOpenConf.Click += new System.EventHandler(this.btnOpenConf_Click);
//
@@ -6064,7 +6078,7 @@ private void InitializeComponent()
this.lblTroubleshoot.AutoSize = true;
this.lblTroubleshoot.Font = new System.Drawing.Font("Segoe UI Semibold", 13F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblTroubleshoot.ForeColor = System.Drawing.Color.DodgerBlue;
- this.lblTroubleshoot.Location = new System.Drawing.Point(17, 379);
+ this.lblTroubleshoot.Location = new System.Drawing.Point(17, 344);
this.lblTroubleshoot.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lblTroubleshoot.Name = "lblTroubleshoot";
this.lblTroubleshoot.Size = new System.Drawing.Size(150, 25);
@@ -6077,7 +6091,7 @@ private void InitializeComponent()
this.lblUpdating.AutoSize = true;
this.lblUpdating.Font = new System.Drawing.Font("Segoe UI Semibold", 13F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblUpdating.ForeColor = System.Drawing.Color.DodgerBlue;
- this.lblUpdating.Location = new System.Drawing.Point(17, 283);
+ this.lblUpdating.Location = new System.Drawing.Point(17, 244);
this.lblUpdating.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lblUpdating.Name = "lblUpdating";
this.lblUpdating.Size = new System.Drawing.Size(142, 25);
@@ -6093,7 +6107,7 @@ private void InitializeComponent()
this.btnViewLog.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
this.btnViewLog.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnViewLog.ForeColor = System.Drawing.Color.White;
- this.btnViewLog.Location = new System.Drawing.Point(34, 417);
+ this.btnViewLog.Location = new System.Drawing.Point(34, 382);
this.btnViewLog.Margin = new System.Windows.Forms.Padding(2);
this.btnViewLog.Name = "btnViewLog";
this.btnViewLog.Size = new System.Drawing.Size(261, 31);
@@ -6128,7 +6142,7 @@ private void InitializeComponent()
this.btnUpdate.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnUpdate.Font = new System.Drawing.Font("Segoe UI Semibold", 10F);
this.btnUpdate.ForeColor = System.Drawing.Color.White;
- this.btnUpdate.Location = new System.Drawing.Point(34, 317);
+ this.btnUpdate.Location = new System.Drawing.Point(34, 278);
this.btnUpdate.Margin = new System.Windows.Forms.Padding(2);
this.btnUpdate.Name = "btnUpdate";
this.btnUpdate.Size = new System.Drawing.Size(261, 31);
@@ -6146,7 +6160,7 @@ private void InitializeComponent()
this.btnResetConfig.FlatAppearance.MouseOverBackColor = System.Drawing.Color.RoyalBlue;
this.btnResetConfig.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnResetConfig.ForeColor = System.Drawing.Color.White;
- this.btnResetConfig.Location = new System.Drawing.Point(34, 487);
+ this.btnResetConfig.Location = new System.Drawing.Point(34, 452);
this.btnResetConfig.Margin = new System.Windows.Forms.Padding(2);
this.btnResetConfig.Name = "btnResetConfig";
this.btnResetConfig.Size = new System.Drawing.Size(261, 31);
@@ -6160,7 +6174,7 @@ private void InitializeComponent()
this.lblTheming.AutoSize = true;
this.lblTheming.Font = new System.Drawing.Font("Segoe UI Semibold", 13F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblTheming.ForeColor = System.Drawing.Color.DodgerBlue;
- this.lblTheming.Location = new System.Drawing.Point(17, 123);
+ this.lblTheming.Location = new System.Drawing.Point(17, 95);
this.lblTheming.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0);
this.lblTheming.Name = "lblTheming";
this.lblTheming.Size = new System.Drawing.Size(174, 25);
@@ -6188,7 +6202,7 @@ private void InitializeComponent()
// colorPicker1
//
this.colorPicker1.Color = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(0)))), ((int)(((byte)(0)))));
- this.colorPicker1.Location = new System.Drawing.Point(22, 151);
+ this.colorPicker1.Location = new System.Drawing.Point(22, 123);
this.colorPicker1.Name = "colorPicker1";
this.colorPicker1.Size = new System.Drawing.Size(139, 98);
this.colorPicker1.TabIndex = 97;
@@ -6974,6 +6988,8 @@ private void InitializeComponent()
private TextBox txtDns4A;
private Label label10;
private Button btnSetDns;
+ private Button btnReinforce;
+ private ToggleCard copilotSw;
}
}
diff --git a/Optimizer/Forms/MainForm.cs b/Optimizer/Forms/MainForm.cs
index 9ff5ebd2..23bab730 100644
--- a/Optimizer/Forms/MainForm.cs
+++ b/Optimizer/Forms/MainForm.cs
@@ -25,7 +25,7 @@ public sealed partial class MainForm : Form
ListViewColumnSorter _columnSorter;
List _startUpItems = new List();
- List _backupItems = new List();
+ List _backupItems = new List();
List _hostsEntries = new List();
List _customCommands = new List();
@@ -48,7 +48,7 @@ public sealed partial class MainForm : Form
DesktopItemType _desktopItemType = DesktopItemType.Program;
DesktopTypePosition _desktopItemPosition = DesktopTypePosition.Top;
- public List AppsFromFeed = new List();
+ public List AppsFromFeed = new List();
readonly string _feedLink = "https://raw.githubusercontent.com/hellzerg/optimizer/master/feed.json";
readonly string _feedImages = "https://raw.githubusercontent.com/hellzerg/optimizer/master/images/feed.zip";
@@ -79,6 +79,7 @@ public sealed partial class MainForm : Form
string _repairMessage = "Are you sure you want to reset configuration?\n\nThis will reset all your preferences, including any icons you extracted or downloaded using Integrator, but will not touch anything on your computer!";
string _flushDNSMessage = "Are you sure you wish to flush the DNS cache of Windows?\n\nThis will cause internet disconnection for a moment and it may be needed a restart to function properly.";
string _uwpRestoreMessage = "Are you sure you want to do this?";
+ string _reinforcePoliciesMessage = "Are you sure you want to re-apply your current policies?";
string _byteSizeNullString = " b";
string _primaryItemTag = "_primary";
@@ -276,6 +277,7 @@ private void EnableToggleEvents()
hpetSw.ToggleClicked += HpetSw_ToggleClicked;
loginVerboseSw.ToggleClicked += LoginVerboseSw_ToggleClicked;
classicPhotoViewerSw.ToggleClicked += ClassicPhotoViewerSw_ToggleClicked;
+ copilotSw.ToggleClicked += CopilotSw_ToggleClicked;
PMB.ToggleClicked += PMB_ToggleClicked;
SSB.ToggleClicked += SSB_ToggleClicked;
@@ -286,6 +288,19 @@ private void EnableToggleEvents()
AddOwnerB.ToggleClicked += AddOwnerB_ToggleClicked;
}
+ private void CopilotSw_ToggleClicked(object sender, EventArgs e)
+ {
+ if (copilotSw.ToggleChecked)
+ {
+ OptimizeHelper.DisableCoPilotAI();
+ }
+ else
+ {
+ OptimizeHelper.EnableCoPilotAI();
+ }
+ OptionsHelper.CurrentOptions.DisableCoPilotAI = copilotSw.ToggleChecked;
+ }
+
private void ClassicPhotoViewerSw_ToggleClicked(object sender, EventArgs e)
{
if (classicPhotoViewerSw.ToggleChecked)
@@ -296,7 +311,7 @@ private void ClassicPhotoViewerSw_ToggleClicked(object sender, EventArgs e)
{
OptimizeHelper.DisableClassicPhotoViewer();
}
- Options.CurrentOptions.RestoreClassicPhotoViewer = classicPhotoViewerSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.RestoreClassicPhotoViewer = classicPhotoViewerSw.ToggleChecked;
}
private void LoginVerboseSw_ToggleClicked(object sender, EventArgs e)
@@ -309,7 +324,7 @@ private void LoginVerboseSw_ToggleClicked(object sender, EventArgs e)
{
Utilities.DisableLoginVerbose();
}
- Options.CurrentOptions.EnableLoginVerbose = loginVerboseSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.EnableLoginVerbose = loginVerboseSw.ToggleChecked;
}
private void HpetSw_ToggleClicked(object sender, EventArgs e)
@@ -322,7 +337,7 @@ private void HpetSw_ToggleClicked(object sender, EventArgs e)
{
Utilities.EnableHPET();
}
- Options.CurrentOptions.DisableHPET = hpetSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableHPET = hpetSw.ToggleChecked;
}
private void EdgeTelemetrySw_ToggleClicked(object sender, EventArgs e)
@@ -335,7 +350,7 @@ private void EdgeTelemetrySw_ToggleClicked(object sender, EventArgs e)
{
OptimizeHelper.EnableEdgeTelemetry();
}
- Options.CurrentOptions.DisableEdgeTelemetry = edgeTelemetrySw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableEdgeTelemetry = edgeTelemetrySw.ToggleChecked;
}
private void EdgeAiSw_ToggleClicked(object sender, EventArgs e)
@@ -348,7 +363,7 @@ private void EdgeAiSw_ToggleClicked(object sender, EventArgs e)
{
OptimizeHelper.EnableEdgeDiscoverBar();
}
- Options.CurrentOptions.DisableEdgeDiscoverBar = edgeAiSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableEdgeDiscoverBar = edgeAiSw.ToggleChecked;
}
private void WinSearchSw_ToggleClicked(object sender, EventArgs e)
@@ -361,7 +376,7 @@ private void WinSearchSw_ToggleClicked(object sender, EventArgs e)
{
OptimizeHelper.EnableSearch();
}
- Options.CurrentOptions.DisableSearch = winSearchSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableSearch = winSearchSw.ToggleChecked;
}
private void VbsSw_ToggleClicked(object sender, EventArgs e)
@@ -374,7 +389,7 @@ private void VbsSw_ToggleClicked(object sender, EventArgs e)
{
OptimizeHelper.EnableVirtualizationBasedSecurity();
}
- Options.CurrentOptions.DisableVBS = vbsSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableVBS = vbsSw.ToggleChecked;
ShowRestartNeeded();
}
@@ -388,7 +403,7 @@ private void NvidiaTelemetrySw_ToggleClicked(object sender, EventArgs e)
{
OptimizeHelper.EnableNvidiaTelemetry();
}
- Options.CurrentOptions.DisableNVIDIATelemetry = nvidiaTelemetrySw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableNVIDIATelemetry = nvidiaTelemetrySw.ToggleChecked;
ShowRestartNeeded();
}
@@ -402,7 +417,7 @@ private void NtfsStampSw_ToggleClicked(object sender, EventArgs e)
{
OptimizeHelper.EnableNTFSTimeStamp();
}
- Options.CurrentOptions.DisableNTFSTimeStamp = ntfsStampSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableNTFSTimeStamp = ntfsStampSw.ToggleChecked;
ShowRestartNeeded();
}
@@ -416,7 +431,7 @@ private void Smb2Sw_ToggleClicked(object sender, EventArgs e)
{
OptimizeHelper.EnableSMB("2");
}
- Options.CurrentOptions.DisableSMB2 = smb2Sw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableSMB2 = smb2Sw.ToggleChecked;
ShowRestartNeeded();
}
@@ -430,7 +445,7 @@ private void Smb1Sw_ToggleClicked(object sender, EventArgs e)
{
OptimizeHelper.EnableSMB("1");
}
- Options.CurrentOptions.DisableSMB1 = smb1Sw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableSMB1 = smb1Sw.ToggleChecked;
ShowRestartNeeded();
}
@@ -444,7 +459,7 @@ private void HibernateSw_ToggleClicked(object sender, EventArgs e)
{
Utilities.EnableHibernation();
}
- Options.CurrentOptions.DisableHibernation = hibernateSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableHibernation = hibernateSw.ToggleChecked;
ShowRestartNeeded();
}
@@ -458,7 +473,7 @@ private void StickersSw_ToggleClicked(object sender, EventArgs e)
{
OptimizeHelper.EnableStickers();
}
- Options.CurrentOptions.DisableStickers = stickersSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableStickers = stickersSw.ToggleChecked;
}
private void TpmSw_ToggleClicked(object sender, EventArgs e)
@@ -471,7 +486,7 @@ private void TpmSw_ToggleClicked(object sender, EventArgs e)
{
OptimizeHelper.EnableTPMCheck();
}
- Options.CurrentOptions.DisableTPMCheck = tpmSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableTPMCheck = tpmSw.ToggleChecked;
}
private void CompactModeSw_ToggleClicked(object sender, EventArgs e)
@@ -484,7 +499,7 @@ private void CompactModeSw_ToggleClicked(object sender, EventArgs e)
{
OptimizeHelper.DisableFilesCompactMode();
}
- Options.CurrentOptions.CompactMode = compactModeSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.CompactMode = compactModeSw.ToggleChecked;
ShowRestartNeeded();
}
@@ -498,7 +513,7 @@ private void GameModeSw_ToggleClicked(object sender, EventArgs e)
{
OptimizeHelper.DisableGamingMode();
}
- Options.CurrentOptions.EnableGamingMode = gameModeSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.EnableGamingMode = gameModeSw.ToggleChecked;
ShowRestartNeeded();
}
@@ -512,7 +527,7 @@ private void VsSw_ToggleClicked(object sender, EventArgs e)
{
OptimizeHelper.EnableVisualStudioTelemetry();
}
- Options.CurrentOptions.DisableVisualStudioTelemetry = vsSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableVisualStudioTelemetry = vsSw.ToggleChecked;
}
private void ChromeTelemetrySw_ToggleClicked(object sender, EventArgs e)
@@ -525,7 +540,7 @@ private void ChromeTelemetrySw_ToggleClicked(object sender, EventArgs e)
{
OptimizeHelper.EnableChromeTelemetry();
}
- Options.CurrentOptions.DisableChromeTelemetry = chromeTelemetrySw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableChromeTelemetry = chromeTelemetrySw.ToggleChecked;
}
private void FfTelemetrySw_ToggleClicked(object sender, EventArgs e)
@@ -538,7 +553,7 @@ private void FfTelemetrySw_ToggleClicked(object sender, EventArgs e)
{
OptimizeHelper.EnableFirefoxTelemetry();
}
- Options.CurrentOptions.DisableFirefoxTemeletry = ffTelemetrySw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableFirefoxTemeletry = ffTelemetrySw.ToggleChecked;
}
private void ClassicContextSw_Click(object sender, EventArgs e)
@@ -551,7 +566,7 @@ private void ClassicContextSw_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableShowMoreOptions();
}
- Options.CurrentOptions.ClassicMenu = classicContextSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.ClassicMenu = classicContextSw.ToggleChecked;
ShowRestartNeeded();
}
@@ -565,7 +580,7 @@ private void chatSw_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableChat();
}
- Options.CurrentOptions.DisableChat = chatSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableChat = chatSw.ToggleChecked;
}
private void WidgetsSw_Click(object sender, EventArgs e)
@@ -578,7 +593,7 @@ private void WidgetsSw_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableWidgets();
}
- Options.CurrentOptions.DisableWidgets = widgetsSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableWidgets = widgetsSw.ToggleChecked;
}
private void SnapAssistSw_Click(object sender, EventArgs e)
@@ -591,7 +606,7 @@ private void SnapAssistSw_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableSnapAssist();
}
- Options.CurrentOptions.DisableSnapAssist = snapAssistSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableSnapAssist = snapAssistSw.ToggleChecked;
ShowRestartNeeded();
}
@@ -605,76 +620,77 @@ private void LeftTaskbarSw_Click(object sender, EventArgs e)
{
OptimizeHelper.AlignTaskbarToCenter();
}
- Options.CurrentOptions.TaskbarToLeft = leftTaskbarSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.TaskbarToLeft = leftTaskbarSw.ToggleChecked;
}
private void TranslateTips()
{
try
{
- performanceSw.Label.Tag = Options.TranslationList["performanceTip"].ToString();
- networkSw.Label.Tag = Options.TranslationList["networkTip"].ToString();
- defenderSw.Label.Tag = Options.TranslationList["defenderTip"].ToString();
- smartScreenSw.Label.Tag = Options.TranslationList["smartScreenTip"].ToString();
- systemRestoreSw.Label.Tag = Options.TranslationList["systemRestoreTip"].ToString();
- reportingSw.Label.Tag = Options.TranslationList["reportingTip"].ToString();
- telemetryTasksSw.Label.Tag = Options.TranslationList["telemetryTasksTip"].ToString();
- officeTelemetrySw.Label.Tag = Options.TranslationList["officeTelemetryTip"].ToString();
- printSw.Label.Tag = Options.TranslationList["printTip"].ToString();
- faxSw.Label.Tag = Options.TranslationList["faxTip"].ToString();
- mediaSharingSw.Label.Tag = Options.TranslationList["mediaSharingTip"].ToString();
- stickySw.Label.Tag = Options.TranslationList["stickyTip"].ToString();
- homegroupSw.Label.Tag = Options.TranslationList["homegroupTip"].ToString();
- superfetchSw.Label.Tag = Options.TranslationList["superfetchTip"].ToString();
- compatSw.Label.Tag = Options.TranslationList["compatTip"].ToString();
- disableOneDriveSw.Label.Tag = Options.TranslationList["disableOneDriveTip"].ToString();
- oldMixerSw.Label.Tag = Options.TranslationList["oldMixerTip"].ToString();
- oldExplorerSw.Label.Tag = Options.TranslationList["oldExplorerTip"].ToString();
- adsSw.Label.Tag = Options.TranslationList["adsTip"].ToString();
- uODSw.Label.Tag = Options.TranslationList["uODTip"].ToString();
- peopleSw.Label.Tag = Options.TranslationList["peopleTip"].ToString();
- longPathsSw.Label.Tag = Options.TranslationList["longPathsTip"].ToString();
- inkSw.Label.Tag = Options.TranslationList["inkTip"].ToString();
- spellSw.Label.Tag = Options.TranslationList["spellTip"].ToString();
- xboxSw.Label.Tag = Options.TranslationList["xboxTip"].ToString();
- autoUpdatesSw.Label.Tag = Options.TranslationList["autoUpdatesTip"].ToString();
- driversSw.Label.Tag = Options.TranslationList["driversTip"].ToString();
- telemetryServicesSw.Label.Tag = Options.TranslationList["telemetryServicesTip"].ToString();
- privacySw.Label.Tag = Options.TranslationList["privacyTip"].ToString();
- ccSw.Label.Tag = Options.TranslationList["ccTip"].ToString();
- cortanaSw.Label.Tag = Options.TranslationList["cortanaTip"].ToString();
- edgeAiSw.Label.Tag = Options.TranslationList["edgeAiTip"].ToString();
- edgeTelemetrySw.Label.Tag = Options.TranslationList["edgeTelemetryTip"].ToString();
- sensorSw.Label.Tag = Options.TranslationList["sensorTip"].ToString();
- castSw.Label.Tag = Options.TranslationList["castTip"].ToString();
- gameBarSw.Label.Tag = Options.TranslationList["gameBarTip"].ToString();
- insiderSw.Label.Tag = Options.TranslationList["insiderTip"].ToString();
- storeUpdatesSw.Label.Tag = Options.TranslationList["storeUpdatesTip"].ToString();
- tpmSw.Label.Tag = Options.TranslationList["tpmTip"].ToString();
- leftTaskbarSw.Label.Tag = Options.TranslationList["leftTaskbarTip"].ToString();
- snapAssistSw.Label.Tag = Options.TranslationList["snapAssistTip"].ToString();
- widgetsSw.Label.Tag = Options.TranslationList["widgetsTip"].ToString();
- chatSw.Label.Tag = Options.TranslationList["chatTip"].ToString();
- stickersSw.Label.Tag = Options.TranslationList["stickersTip"].ToString();
- classicContextSw.Label.Tag = Options.TranslationList["classicContextTip"].ToString();
- picUpdate.Tag = Options.TranslationList["linkUpdate"].ToString() + "!";
- picLab.Tag = Options.TranslationList["lblLab"].ToString();
- picRestartNeeded.Tag = Options.TranslationList["restartAndApply"].ToString();
- ffTelemetrySw.Label.Tag = Options.TranslationList["ffTelemetryTip"].ToString();
- vsSw.Label.Tag = Options.TranslationList["vsTip"].ToString();
- chromeTelemetrySw.Label.Tag = Options.TranslationList["chromeTelemetryTip"].ToString();
- gameModeSw.Label.Tag = Options.TranslationList["gameModeTip"].ToString();
- compactModeSw.Label.Tag = Options.TranslationList["compactModeTip"].ToString();
- hibernateSw.Label.Tag = Options.TranslationList["hibernateTip"].ToString();
- winSearchSw.Label.Tag = Options.TranslationList["winSearchTip"].ToString();
- smb1Sw.Label.Tag = Options.TranslationList["smbTip"].ToString().Replace("{v}", "v1");
- smb2Sw.Label.Tag = Options.TranslationList["smbTip"].ToString().Replace("{v}", "v2");
- ntfsStampSw.Label.Tag = Options.TranslationList["ntfsStampTip"].ToString();
- nvidiaTelemetrySw.Label.Tag = Options.TranslationList["nvidiaTelemetrySw"].ToString();
- vbsSw.Label.Tag = Options.TranslationList["vbsTip"].ToString();
- hpetSw.Label.Tag = Options.TranslationList["hpetSw"].ToString();
- loginVerboseSw.Label.Tag = Options.TranslationList["loginVerboseSw"].ToString();
- classicPhotoViewerSw.Label.Tag = Options.TranslationList["classicPhotoViewerSw"].ToString();
+ performanceSw.Label.Tag = OptionsHelper.TranslationList["performanceTip"].ToString();
+ networkSw.Label.Tag = OptionsHelper.TranslationList["networkTip"].ToString();
+ defenderSw.Label.Tag = OptionsHelper.TranslationList["defenderTip"].ToString();
+ smartScreenSw.Label.Tag = OptionsHelper.TranslationList["smartScreenTip"].ToString();
+ systemRestoreSw.Label.Tag = OptionsHelper.TranslationList["systemRestoreTip"].ToString();
+ reportingSw.Label.Tag = OptionsHelper.TranslationList["reportingTip"].ToString();
+ telemetryTasksSw.Label.Tag = OptionsHelper.TranslationList["telemetryTasksTip"].ToString();
+ officeTelemetrySw.Label.Tag = OptionsHelper.TranslationList["officeTelemetryTip"].ToString();
+ printSw.Label.Tag = OptionsHelper.TranslationList["printTip"].ToString();
+ faxSw.Label.Tag = OptionsHelper.TranslationList["faxTip"].ToString();
+ mediaSharingSw.Label.Tag = OptionsHelper.TranslationList["mediaSharingTip"].ToString();
+ stickySw.Label.Tag = OptionsHelper.TranslationList["stickyTip"].ToString();
+ homegroupSw.Label.Tag = OptionsHelper.TranslationList["homegroupTip"].ToString();
+ superfetchSw.Label.Tag = OptionsHelper.TranslationList["superfetchTip"].ToString();
+ compatSw.Label.Tag = OptionsHelper.TranslationList["compatTip"].ToString();
+ disableOneDriveSw.Label.Tag = OptionsHelper.TranslationList["disableOneDriveTip"].ToString();
+ oldMixerSw.Label.Tag = OptionsHelper.TranslationList["oldMixerTip"].ToString();
+ oldExplorerSw.Label.Tag = OptionsHelper.TranslationList["oldExplorerTip"].ToString();
+ adsSw.Label.Tag = OptionsHelper.TranslationList["adsTip"].ToString();
+ uODSw.Label.Tag = OptionsHelper.TranslationList["uODTip"].ToString();
+ peopleSw.Label.Tag = OptionsHelper.TranslationList["peopleTip"].ToString();
+ longPathsSw.Label.Tag = OptionsHelper.TranslationList["longPathsTip"].ToString();
+ inkSw.Label.Tag = OptionsHelper.TranslationList["inkTip"].ToString();
+ spellSw.Label.Tag = OptionsHelper.TranslationList["spellTip"].ToString();
+ xboxSw.Label.Tag = OptionsHelper.TranslationList["xboxTip"].ToString();
+ autoUpdatesSw.Label.Tag = OptionsHelper.TranslationList["autoUpdatesTip"].ToString();
+ driversSw.Label.Tag = OptionsHelper.TranslationList["driversTip"].ToString();
+ telemetryServicesSw.Label.Tag = OptionsHelper.TranslationList["telemetryServicesTip"].ToString();
+ privacySw.Label.Tag = OptionsHelper.TranslationList["privacyTip"].ToString();
+ ccSw.Label.Tag = OptionsHelper.TranslationList["ccTip"].ToString();
+ cortanaSw.Label.Tag = OptionsHelper.TranslationList["cortanaTip"].ToString();
+ edgeAiSw.Label.Tag = OptionsHelper.TranslationList["edgeAiTip"].ToString();
+ edgeTelemetrySw.Label.Tag = OptionsHelper.TranslationList["edgeTelemetryTip"].ToString();
+ sensorSw.Label.Tag = OptionsHelper.TranslationList["sensorTip"].ToString();
+ castSw.Label.Tag = OptionsHelper.TranslationList["castTip"].ToString();
+ gameBarSw.Label.Tag = OptionsHelper.TranslationList["gameBarTip"].ToString();
+ insiderSw.Label.Tag = OptionsHelper.TranslationList["insiderTip"].ToString();
+ storeUpdatesSw.Label.Tag = OptionsHelper.TranslationList["storeUpdatesTip"].ToString();
+ tpmSw.Label.Tag = OptionsHelper.TranslationList["tpmTip"].ToString();
+ leftTaskbarSw.Label.Tag = OptionsHelper.TranslationList["leftTaskbarTip"].ToString();
+ snapAssistSw.Label.Tag = OptionsHelper.TranslationList["snapAssistTip"].ToString();
+ widgetsSw.Label.Tag = OptionsHelper.TranslationList["widgetsTip"].ToString();
+ chatSw.Label.Tag = OptionsHelper.TranslationList["chatTip"].ToString();
+ stickersSw.Label.Tag = OptionsHelper.TranslationList["stickersTip"].ToString();
+ classicContextSw.Label.Tag = OptionsHelper.TranslationList["classicContextTip"].ToString();
+ picUpdate.Tag = OptionsHelper.TranslationList["linkUpdate"].ToString() + "!";
+ picLab.Tag = OptionsHelper.TranslationList["lblLab"].ToString();
+ picRestartNeeded.Tag = OptionsHelper.TranslationList["restartAndApply"].ToString();
+ ffTelemetrySw.Label.Tag = OptionsHelper.TranslationList["ffTelemetryTip"].ToString();
+ vsSw.Label.Tag = OptionsHelper.TranslationList["vsTip"].ToString();
+ chromeTelemetrySw.Label.Tag = OptionsHelper.TranslationList["chromeTelemetryTip"].ToString();
+ gameModeSw.Label.Tag = OptionsHelper.TranslationList["gameModeTip"].ToString();
+ compactModeSw.Label.Tag = OptionsHelper.TranslationList["compactModeTip"].ToString();
+ hibernateSw.Label.Tag = OptionsHelper.TranslationList["hibernateTip"].ToString();
+ winSearchSw.Label.Tag = OptionsHelper.TranslationList["winSearchTip"].ToString();
+ smb1Sw.Label.Tag = OptionsHelper.TranslationList["smbTip"].ToString().Replace("{v}", "v1");
+ smb2Sw.Label.Tag = OptionsHelper.TranslationList["smbTip"].ToString().Replace("{v}", "v2");
+ ntfsStampSw.Label.Tag = OptionsHelper.TranslationList["ntfsStampTip"].ToString();
+ nvidiaTelemetrySw.Label.Tag = OptionsHelper.TranslationList["nvidiaTelemetrySw"].ToString();
+ vbsSw.Label.Tag = OptionsHelper.TranslationList["vbsTip"].ToString();
+ hpetSw.Label.Tag = OptionsHelper.TranslationList["hpetSw"].ToString();
+ loginVerboseSw.Label.Tag = OptionsHelper.TranslationList["loginVerboseSw"].ToString();
+ classicPhotoViewerSw.Label.Tag = OptionsHelper.TranslationList["classicPhotoViewerSw"].ToString();
+ copilotSw.Label.Tag = OptionsHelper.TranslationList["copilotTip"].ToString();
}
catch (Exception err)
{
@@ -692,7 +708,7 @@ private void ToggleSwitch40_Click(object sender, EventArgs e)
{
OptimizeHelper.AddCastToDevice();
}
- Options.CurrentOptions.RemoveCastToDevice = castSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.RemoveCastToDevice = castSw.ToggleChecked;
}
private void ToggleSwitch39_Click(object sender, EventArgs e)
@@ -705,7 +721,7 @@ private void ToggleSwitch39_Click(object sender, EventArgs e)
{
OptimizeHelper.DisableLongPaths();
}
- Options.CurrentOptions.EnableLongPaths = longPathsSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.EnableLongPaths = longPathsSw.ToggleChecked;
}
private void ToggleSwitch38_Click(object sender, EventArgs e)
@@ -718,7 +734,7 @@ private void ToggleSwitch38_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableStickyKeys();
}
- Options.CurrentOptions.DisableStickyKeys = stickySw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableStickyKeys = stickySw.ToggleChecked;
}
private void ToggleSwitch37_Click(object sender, EventArgs e)
@@ -731,7 +747,7 @@ private void ToggleSwitch37_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableCloudClipboard();
}
- Options.CurrentOptions.DisableCloudClipboard = ccSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableCloudClipboard = ccSw.ToggleChecked;
}
private void ToggleSwitch36_Click(object sender, EventArgs e)
@@ -744,7 +760,7 @@ private void ToggleSwitch36_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableSmartScreen();
}
- Options.CurrentOptions.DisableSmartScreen = smartScreenSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableSmartScreen = smartScreenSw.ToggleChecked;
}
private void ToggleSwitch35_Click(object sender, EventArgs e)
@@ -757,7 +773,7 @@ private void ToggleSwitch35_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableStoreUpdates();
}
- Options.CurrentOptions.DisableStoreUpdates = storeUpdatesSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableStoreUpdates = storeUpdatesSw.ToggleChecked;
}
private void ToggleSwitch34_Click(object sender, EventArgs e)
@@ -770,7 +786,7 @@ private void ToggleSwitch34_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableInsiderService();
}
- Options.CurrentOptions.DisableInsiderService = insiderSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableInsiderService = insiderSw.ToggleChecked;
}
private void ToggleSwitch33_Click(object sender, EventArgs e)
@@ -783,7 +799,7 @@ private void ToggleSwitch33_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableFaxService();
}
- Options.CurrentOptions.DisableFaxService = faxSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableFaxService = faxSw.ToggleChecked;
}
//ROOT
@@ -796,34 +812,62 @@ public MainForm(SplashForm _splashForm, bool? disableIndicium = null, bool? disa
CheckForIllegalCrossThreadCalls = false;
+ boxLang.Items.AddRange(new string[]
+ {
+ Constants.ENGLISH,
+ Constants.RUSSIAN,
+ Constants.TURKISH,
+ Constants.HELLENIC,
+ Constants.GERMAN,
+ Constants.PORTUGUESE,
+ Constants.FRENCH,
+ Constants.SPANISH,
+ Constants.ITALIAN,
+ Constants.CHINESE,
+ Constants.TAIWANESE,
+ Constants.CZECH,
+ Constants.KOREAN,
+ Constants.POLISH,
+ Constants.ARABIC,
+ Constants.KURDISH,
+ Constants.HUNGARIAN,
+ Constants.ROMANIAN,
+ Constants.DUTCH,
+ Constants.UKRAINIAN,
+ Constants.JAPANESE,
+ Constants.PERSIAN,
+ Constants.NEPALI,
+ Constants.BULGARIAN,
+ });
+
_splashForm.LoadingStatus.Text = "checking for requirements";
// override tool launch configurations
- _disableStartupTool = (disableStartups.HasValue) ? disableStartups.Value : Options.CurrentOptions.DisableStartupTool;
- _disableUWPApps = (disableUWPApps.HasValue) ? disableUWPApps.Value : Options.CurrentOptions.DisableUWPApps;
- _disableAppsTool = (disableCommonApps.HasValue) ? disableCommonApps.Value : Options.CurrentOptions.DisableAppsTool;
- _disablePinger = (disablePinger.HasValue) ? disablePinger.Value : Options.CurrentOptions.DisablePinger;
- _disableCleaner = (disableCleaner.HasValue) ? disableCleaner.Value : Options.CurrentOptions.DisableCleaner;
- _disableHostsEditor = (disableHostsEditor.HasValue) ? disableHostsEditor.Value : Options.CurrentOptions.DisableHostsEditor;
- _disableIndicium = (disableIndicium.HasValue) ? disableIndicium.Value : Options.CurrentOptions.DisableIndicium;
- _disableIntegrator = (disableIntegrator.HasValue) ? disableIntegrator.Value : Options.CurrentOptions.DisableIntegrator;
+ _disableStartupTool = (disableStartups.HasValue) ? disableStartups.Value : OptionsHelper.CurrentOptions.DisableStartupTool;
+ _disableUWPApps = (disableUWPApps.HasValue) ? disableUWPApps.Value : OptionsHelper.CurrentOptions.DisableUWPApps;
+ _disableAppsTool = (disableCommonApps.HasValue) ? disableCommonApps.Value : OptionsHelper.CurrentOptions.DisableAppsTool;
+ _disablePinger = (disablePinger.HasValue) ? disablePinger.Value : OptionsHelper.CurrentOptions.DisablePinger;
+ _disableCleaner = (disableCleaner.HasValue) ? disableCleaner.Value : OptionsHelper.CurrentOptions.DisableCleaner;
+ _disableHostsEditor = (disableHostsEditor.HasValue) ? disableHostsEditor.Value : OptionsHelper.CurrentOptions.DisableHostsEditor;
+ _disableIndicium = (disableIndicium.HasValue) ? disableIndicium.Value : OptionsHelper.CurrentOptions.DisableIndicium;
+ _disableIntegrator = (disableIntegrator.HasValue) ? disableIntegrator.Value : OptionsHelper.CurrentOptions.DisableIntegrator;
// theming
- Options.ApplyTheme(this);
- pictureBox1.BackColor = Options.CurrentOptions.Theme;
- colorPicker1.Color = Options.CurrentOptions.Theme;
+ OptionsHelper.ApplyTheme(this);
+ pictureBox1.BackColor = OptionsHelper.CurrentOptions.Theme;
+ colorPicker1.Color = OptionsHelper.CurrentOptions.Theme;
launcherMenu.Renderer = new MoonMenuRenderer();
indiciumMenu.Renderer = new MoonMenuRenderer();
- progressDownloader.BackColor = Options.ForegroundColor;
- progressDownloader.ForeColor = Options.ForegroundAccentColor;
+ progressDownloader.BackColor = OptionsHelper.ForegroundColor;
+ progressDownloader.ForeColor = OptionsHelper.ForegroundAccentColor;
// quick access
- _trayMenu = Options.CurrentOptions.EnableTray;
- quickAccessToggle.ToggleChecked = Options.CurrentOptions.EnableTray;
- launcherIcon.Visible = Options.CurrentOptions.EnableTray;
- autoStartToggle.ToggleChecked = Options.CurrentOptions.AutoStart;
+ _trayMenu = OptionsHelper.CurrentOptions.EnableTray;
+ quickAccessToggle.ToggleChecked = OptionsHelper.CurrentOptions.EnableTray;
+ launcherIcon.Visible = OptionsHelper.CurrentOptions.EnableTray;
+ autoStartToggle.ToggleChecked = OptionsHelper.CurrentOptions.AutoStart;
//telemetrySvcToggle.ToggleChecked = Options.CurrentOptions.DisableOptimizerTelemetry;
//seperatorNetMon.Visible = Options.CurrentOptions.EnableTray;
@@ -870,7 +914,7 @@ public MainForm(SplashForm _splashForm, bool? disableIndicium = null, bool? disa
if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows8)
{
LoadUniversalToggleStates();
- LoadWindowsVIIIToggleStates();
+ LoadWindows8ToggleStates();
tabCollection.TabPages.Remove(windows10Tab);
@@ -888,7 +932,7 @@ public MainForm(SplashForm _splashForm, bool? disableIndicium = null, bool? disa
if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows10)
{
LoadUniversalToggleStates();
- LoadWindowsXToggleStates();
+ LoadWindows10ToggleStates();
tabCollection.TabPages.Remove(windows8Tab);
defenderSw.Visible = false;
@@ -911,8 +955,8 @@ public MainForm(SplashForm _splashForm, bool? disableIndicium = null, bool? disa
if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows11)
{
LoadUniversalToggleStates();
- LoadWindowsXToggleStates();
- LoadWindowsXIToggleStates();
+ LoadWindows10ToggleStates();
+ LoadWindows11ToggleStates();
tabCollection.TabPages.Remove(windows8Tab);
windows10Tab.Text = "Windows 11";
@@ -1042,20 +1086,20 @@ public MainForm(SplashForm _splashForm, bool? disableIndicium = null, bool? disa
Program._MainForm = this;
- if (string.IsNullOrEmpty(Options.CurrentOptions.AppsFolder))
+ if (string.IsNullOrEmpty(OptionsHelper.CurrentOptions.AppsFolder))
{
- Options.CurrentOptions.AppsFolder = Path.Combine(KnownFolders.GetPath(KnownFolder.Downloads), Constants.DOWNLOADS_FOLDER);
- txtDownloadFolder.Text = Options.CurrentOptions.AppsFolder;
- Directory.CreateDirectory(Options.CurrentOptions.AppsFolder);
- Options.SaveSettings();
+ OptionsHelper.CurrentOptions.AppsFolder = Path.Combine(Utilities.GetUserDownloadsFolder(), Constants.DOWNLOADS_FOLDER);
+ txtDownloadFolder.Text = OptionsHelper.CurrentOptions.AppsFolder;
+ Directory.CreateDirectory(OptionsHelper.CurrentOptions.AppsFolder);
+ OptionsHelper.SaveSettings();
}
else
{
- if (!Directory.Exists(Options.CurrentOptions.AppsFolder))
+ if (!Directory.Exists(OptionsHelper.CurrentOptions.AppsFolder))
{
try
{
- Directory.CreateDirectory(Options.CurrentOptions.AppsFolder);
+ Directory.CreateDirectory(OptionsHelper.CurrentOptions.AppsFolder);
}
catch (Exception ex)
{
@@ -1063,7 +1107,7 @@ public MainForm(SplashForm _splashForm, bool? disableIndicium = null, bool? disa
Logger.LogError("MainForm.INIT", ex.Message, ex.StackTrace);
}
}
- txtDownloadFolder.Text = Options.CurrentOptions.AppsFolder;
+ txtDownloadFolder.Text = OptionsHelper.CurrentOptions.AppsFolder;
}
if (!Program.EXPERIMENTAL_BUILD && PingerHelper.IsInternetAvailable())
@@ -1341,7 +1385,7 @@ private void ApplySelectedDNS()
private void LoadTranslation()
{
- if (Options.CurrentOptions.LanguageCode == LanguageCode.EN)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.EN)
{
boxLang.Text = Constants.ENGLISH;
Translate(true);
@@ -1352,94 +1396,98 @@ private void LoadTranslation()
}
// set default window size to fit content
- if (Options.CurrentOptions.LanguageCode == LanguageCode.RU)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.RU)
{
boxLang.Text = Constants.RUSSIAN;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.TR)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.TR)
{
boxLang.Text = Constants.TURKISH;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.EL)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.EL)
{
boxLang.Text = Constants.HELLENIC;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.DE)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.DE)
{
boxLang.Text = Constants.GERMAN;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.PT)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.PT)
{
boxLang.Text = Constants.PORTUGUESE;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.FR)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.FR)
{
boxLang.Text = Constants.FRENCH;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.ES)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.ES)
{
boxLang.Text = Constants.SPANISH;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.IT)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.IT)
{
boxLang.Text = Constants.ITALIAN;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.CN)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.CN)
{
boxLang.Text = Constants.CHINESE;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.TW)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.TW)
{
boxLang.Text = Constants.TAIWANESE;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.CZ)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.CZ)
{
boxLang.Text = Constants.CZECH;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.KO)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.KO)
{
boxLang.Text = Constants.KOREAN;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.PL)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.PL)
{
boxLang.Text = Constants.POLISH;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.AR)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.AR)
{
boxLang.Text = Constants.ARABIC;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.KU)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.KU)
{
boxLang.Text = Constants.KURDISH;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.HU)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.HU)
{
boxLang.Text = Constants.HUNGARIAN;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.RO)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.RO)
{
boxLang.Text = Constants.ROMANIAN;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.NL)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.NL)
{
boxLang.Text = Constants.DUTCH;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.UA)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.UA)
{
boxLang.Text = Constants.UKRAINIAN;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.JA)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.JA)
{
boxLang.Text = Constants.JAPANESE;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.FA)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.FA)
{
boxLang.Text = Constants.PERSIAN;
}
- if (Options.CurrentOptions.LanguageCode == LanguageCode.NE)
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.NE)
{
boxLang.Text = Constants.NEPALI;
}
+ if (OptionsHelper.CurrentOptions.LanguageCode == LanguageCode.BG)
+ {
+ boxLang.Text = Constants.BULGARIAN;
+ }
}
private void GetHardwareSpecs()
@@ -2106,7 +2154,7 @@ private void GetRAM()
private void Translate(bool skipFull = false)
{
- translationList = Options.TranslationList.ToObject>();
+ translationList = OptionsHelper.TranslationList.ToObject>();
if (Environment.Is64BitOperatingSystem)
{
@@ -2122,18 +2170,19 @@ private void Translate(bool skipFull = false)
if (!skipFull)
{
- _noNewVersionMessage = Options.TranslationList["noNewVersion"];
- _betaVersionMessage = Options.TranslationList["betaVersion"];
- _newVersionMessage = Options.TranslationList["newVersion"];
- _restartMessage = Options.TranslationList["restartAndApply"];
- _removeStartupItemsMessage = Options.TranslationList["removeAllStartup"];
- _removeHostsEntriesMessage = Options.TranslationList["removeAllHosts"];
- _removeDesktopItemsMessage = Options.TranslationList["removeAllItems"];
- _removeModernAppsMessage = Options.TranslationList["removeModernApps"];
- _errorModernAppsMessage = Options.TranslationList["errorModernApps"];
- _repairMessage = Options.TranslationList["resetMessage"];
- _uwpRestoreMessage = Options.TranslationList["restoreUwpMessage"];
- _flushDNSMessage = Options.TranslationList["flushDNSMessage"];
+ _noNewVersionMessage = OptionsHelper.TranslationList["noNewVersion"];
+ _betaVersionMessage = OptionsHelper.TranslationList["betaVersion"];
+ _newVersionMessage = OptionsHelper.TranslationList["newVersion"];
+ _restartMessage = OptionsHelper.TranslationList["restartAndApply"];
+ _removeStartupItemsMessage = OptionsHelper.TranslationList["removeAllStartup"];
+ _removeHostsEntriesMessage = OptionsHelper.TranslationList["removeAllHosts"];
+ _removeDesktopItemsMessage = OptionsHelper.TranslationList["removeAllItems"];
+ _removeModernAppsMessage = OptionsHelper.TranslationList["removeModernApps"];
+ _errorModernAppsMessage = OptionsHelper.TranslationList["errorModernApps"];
+ _repairMessage = OptionsHelper.TranslationList["resetMessage"];
+ _uwpRestoreMessage = OptionsHelper.TranslationList["restoreUwpMessage"];
+ _reinforcePoliciesMessage = OptionsHelper.TranslationList["msgReinforce"];
+ _flushDNSMessage = OptionsHelper.TranslationList["flushDNSMessage"];
listStartupItems.Columns[0].Text = translationList["startupItemName"];
listStartupItems.Columns[1].Text = translationList["startupItemLocation"];
@@ -2217,7 +2266,7 @@ private void GetFeed()
try
{
string feed = client.DownloadString(_feedLink);
- AppsFromFeed = JsonConvert.DeserializeObject>(feed);
+ AppsFromFeed = JsonConvert.DeserializeObject>(feed);
AppCard appCard;
groupSystemTools.Controls.Clear();
@@ -2225,7 +2274,7 @@ private void GetFeed()
groupCoding.Controls.Clear();
groupSoundVideo.Controls.Clear();
- foreach (FeedApp x in AppsFromFeed)
+ foreach (AppInfo x in AppsFromFeed)
{
appCard = new AppCard();
appCard.AutoSize = true;
@@ -2388,89 +2437,90 @@ private bool FixRegistry()
private void LoadAdvancedToggleStates()
{
- hpetSw.ToggleChecked = Options.CurrentOptions.DisableHPET;
- loginVerboseSw.ToggleChecked = Options.CurrentOptions.EnableLoginVerbose;
+ hpetSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableHPET;
+ loginVerboseSw.ToggleChecked = OptionsHelper.CurrentOptions.EnableLoginVerbose;
}
private void LoadUniversalToggleStates()
{
- performanceSw.ToggleChecked = Options.CurrentOptions.EnablePerformanceTweaks;
- networkSw.ToggleChecked = Options.CurrentOptions.DisableNetworkThrottling;
- defenderSw.ToggleChecked = Options.CurrentOptions.DisableWindowsDefender;
- systemRestoreSw.ToggleChecked = Options.CurrentOptions.DisableSystemRestore;
- printSw.ToggleChecked = Options.CurrentOptions.DisablePrintService;
- mediaSharingSw.ToggleChecked = Options.CurrentOptions.DisableMediaPlayerSharing;
- reportingSw.ToggleChecked = Options.CurrentOptions.DisableErrorReporting;
- homegroupSw.ToggleChecked = Options.CurrentOptions.DisableHomeGroup;
- superfetchSw.ToggleChecked = Options.CurrentOptions.DisableSuperfetch;
- telemetryTasksSw.ToggleChecked = Options.CurrentOptions.DisableTelemetryTasks;
- officeTelemetrySw.ToggleChecked = Options.CurrentOptions.DisableOffice2016Telemetry;
- compatSw.ToggleChecked = Options.CurrentOptions.DisableCompatibilityAssistant;
- faxSw.ToggleChecked = Options.CurrentOptions.DisableFaxService;
- smartScreenSw.ToggleChecked = Options.CurrentOptions.DisableSmartScreen;
- stickySw.ToggleChecked = Options.CurrentOptions.DisableStickyKeys;
- hibernateSw.ToggleChecked = Options.CurrentOptions.DisableHibernation;
- smb1Sw.ToggleChecked = Options.CurrentOptions.DisableSMB1;
- smb2Sw.ToggleChecked = Options.CurrentOptions.DisableSMB2;
- ntfsStampSw.ToggleChecked = Options.CurrentOptions.DisableNTFSTimeStamp;
- winSearchSw.ToggleChecked = Options.CurrentOptions.DisableSearch;
- ffTelemetrySw.ToggleChecked = Options.CurrentOptions.DisableFirefoxTemeletry;
- vsSw.ToggleChecked = Options.CurrentOptions.DisableVisualStudioTelemetry;
- chromeTelemetrySw.ToggleChecked = Options.CurrentOptions.DisableChromeTelemetry;
- nvidiaTelemetrySw.ToggleChecked = Options.CurrentOptions.DisableNVIDIATelemetry;
- }
-
- private void LoadWindowsVIIIToggleStates()
- {
- disableOneDriveSw.ToggleChecked = Options.CurrentOptions.DisableOneDrive;
- }
-
- private void LoadWindowsXToggleStates()
- {
- oldMixerSw.ToggleChecked = Options.CurrentOptions.EnableLegacyVolumeSlider;
- uODSw.ToggleChecked = Options.CurrentOptions.UninstallOneDrive;
- gameBarSw.ToggleChecked = Options.CurrentOptions.DisableGameBar;
- cortanaSw.ToggleChecked = Options.CurrentOptions.DisableCortana;
- edgeTelemetrySw.ToggleChecked = Options.CurrentOptions.DisableEdgeTelemetry;
- edgeAiSw.ToggleChecked = Options.CurrentOptions.DisableEdgeDiscoverBar;
- xboxSw.ToggleChecked = Options.CurrentOptions.DisableXboxLive;
- oldExplorerSw.ToggleChecked = Options.CurrentOptions.DisableQuickAccessHistory;
- sensorSw.ToggleChecked = Options.CurrentOptions.DisableSensorServices;
- privacySw.ToggleChecked = Options.CurrentOptions.DisablePrivacyOptions;
- telemetryServicesSw.ToggleChecked = Options.CurrentOptions.DisableTelemetryServices;
- autoUpdatesSw.ToggleChecked = Options.CurrentOptions.DisableAutomaticUpdates;
- peopleSw.ToggleChecked = Options.CurrentOptions.DisableMyPeople;
- adsSw.ToggleChecked = Options.CurrentOptions.DisableStartMenuAds;
- spellSw.ToggleChecked = Options.CurrentOptions.DisableSpellingTyping;
- inkSw.ToggleChecked = Options.CurrentOptions.DisableWindowsInk;
- driversSw.ToggleChecked = Options.CurrentOptions.ExcludeDrivers;
- insiderSw.ToggleChecked = Options.CurrentOptions.DisableInsiderService;
- storeUpdatesSw.ToggleChecked = Options.CurrentOptions.DisableStoreUpdates;
- ccSw.ToggleChecked = Options.CurrentOptions.DisableCloudClipboard;
- longPathsSw.ToggleChecked = Options.CurrentOptions.EnableLongPaths;
- castSw.ToggleChecked = Options.CurrentOptions.RemoveCastToDevice;
- gameModeSw.ToggleChecked = Options.CurrentOptions.EnableGamingMode;
- tpmSw.ToggleChecked = Options.CurrentOptions.DisableTPMCheck;
- classicPhotoViewerSw.ToggleChecked = Options.CurrentOptions.RestoreClassicPhotoViewer;
- }
-
- private void LoadWindowsXIToggleStates()
- {
- leftTaskbarSw.ToggleChecked = Options.CurrentOptions.TaskbarToLeft;
- snapAssistSw.ToggleChecked = Options.CurrentOptions.DisableSnapAssist;
- widgetsSw.ToggleChecked = Options.CurrentOptions.DisableWidgets;
- chatSw.ToggleChecked = Options.CurrentOptions.DisableChat;
- stickersSw.ToggleChecked = Options.CurrentOptions.DisableStickers;
- classicContextSw.ToggleChecked = Options.CurrentOptions.ClassicMenu;
- tpmSw.ToggleChecked = Options.CurrentOptions.DisableTPMCheck;
- compactModeSw.ToggleChecked = Options.CurrentOptions.CompactMode;
- vbsSw.ToggleChecked = Options.CurrentOptions.DisableVBS;
+ performanceSw.ToggleChecked = OptionsHelper.CurrentOptions.EnablePerformanceTweaks;
+ networkSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableNetworkThrottling;
+ defenderSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableWindowsDefender;
+ systemRestoreSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableSystemRestore;
+ printSw.ToggleChecked = OptionsHelper.CurrentOptions.DisablePrintService;
+ mediaSharingSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableMediaPlayerSharing;
+ reportingSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableErrorReporting;
+ homegroupSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableHomeGroup;
+ superfetchSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableSuperfetch;
+ telemetryTasksSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableTelemetryTasks;
+ officeTelemetrySw.ToggleChecked = OptionsHelper.CurrentOptions.DisableOffice2016Telemetry;
+ compatSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableCompatibilityAssistant;
+ faxSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableFaxService;
+ smartScreenSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableSmartScreen;
+ stickySw.ToggleChecked = OptionsHelper.CurrentOptions.DisableStickyKeys;
+ hibernateSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableHibernation;
+ smb1Sw.ToggleChecked = OptionsHelper.CurrentOptions.DisableSMB1;
+ smb2Sw.ToggleChecked = OptionsHelper.CurrentOptions.DisableSMB2;
+ ntfsStampSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableNTFSTimeStamp;
+ winSearchSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableSearch;
+ ffTelemetrySw.ToggleChecked = OptionsHelper.CurrentOptions.DisableFirefoxTemeletry;
+ vsSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableVisualStudioTelemetry;
+ chromeTelemetrySw.ToggleChecked = OptionsHelper.CurrentOptions.DisableChromeTelemetry;
+ nvidiaTelemetrySw.ToggleChecked = OptionsHelper.CurrentOptions.DisableNVIDIATelemetry;
+ }
+
+ private void LoadWindows8ToggleStates()
+ {
+ disableOneDriveSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableOneDrive;
+ }
+
+ private void LoadWindows10ToggleStates()
+ {
+ oldMixerSw.ToggleChecked = OptionsHelper.CurrentOptions.EnableLegacyVolumeSlider;
+ uODSw.ToggleChecked = OptionsHelper.CurrentOptions.UninstallOneDrive;
+ gameBarSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableGameBar;
+ cortanaSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableCortana;
+ edgeTelemetrySw.ToggleChecked = OptionsHelper.CurrentOptions.DisableEdgeTelemetry;
+ edgeAiSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableEdgeDiscoverBar;
+ xboxSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableXboxLive;
+ oldExplorerSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableQuickAccessHistory;
+ sensorSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableSensorServices;
+ privacySw.ToggleChecked = OptionsHelper.CurrentOptions.DisablePrivacyOptions;
+ telemetryServicesSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableTelemetryServices;
+ autoUpdatesSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableAutomaticUpdates;
+ peopleSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableMyPeople;
+ adsSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableStartMenuAds;
+ spellSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableSpellingTyping;
+ inkSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableWindowsInk;
+ driversSw.ToggleChecked = OptionsHelper.CurrentOptions.ExcludeDrivers;
+ insiderSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableInsiderService;
+ storeUpdatesSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableStoreUpdates;
+ ccSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableCloudClipboard;
+ longPathsSw.ToggleChecked = OptionsHelper.CurrentOptions.EnableLongPaths;
+ castSw.ToggleChecked = OptionsHelper.CurrentOptions.RemoveCastToDevice;
+ gameModeSw.ToggleChecked = OptionsHelper.CurrentOptions.EnableGamingMode;
+ tpmSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableTPMCheck;
+ classicPhotoViewerSw.ToggleChecked = OptionsHelper.CurrentOptions.RestoreClassicPhotoViewer;
+ }
+
+ private void LoadWindows11ToggleStates()
+ {
+ leftTaskbarSw.ToggleChecked = OptionsHelper.CurrentOptions.TaskbarToLeft;
+ snapAssistSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableSnapAssist;
+ widgetsSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableWidgets;
+ chatSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableChat;
+ stickersSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableStickers;
+ classicContextSw.ToggleChecked = OptionsHelper.CurrentOptions.ClassicMenu;
+ tpmSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableTPMCheck;
+ compactModeSw.ToggleChecked = OptionsHelper.CurrentOptions.CompactMode;
+ vbsSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableVBS;
+ copilotSw.ToggleChecked = OptionsHelper.CurrentOptions.DisableCoPilotAI;
}
private void Main_Load(object sender, EventArgs e)
{
FixTabHeaderWidth();
- if (Options.CurrentOptions.AutoStart && Options.CurrentOptions.EnableTray)
+ if (OptionsHelper.CurrentOptions.AutoStart && OptionsHelper.CurrentOptions.EnableTray)
{
this.Hide();
}
@@ -2652,8 +2702,8 @@ private void Main_FormClosing(object sender, FormClosingEventArgs e)
}
else
{
- Options.CurrentOptions.AppsFolder = txtDownloadFolder.Text;
- Options.SaveSettings();
+ OptionsHelper.CurrentOptions.AppsFolder = txtDownloadFolder.Text;
+ OptionsHelper.SaveSettings();
}
}
@@ -2911,9 +2961,9 @@ private void radioProgram_CheckedChanged(object sender, EventArgs e)
checkDefaultIcon.Checked = true;
txtIcon.Enabled = false;
btnBrowseIcon.Enabled = false;
- itemtoaddgroup.Text = Options.TranslationList["itemtoaddgroup"];
+ itemtoaddgroup.Text = OptionsHelper.TranslationList["itemtoaddgroup"];
checkDefaultIcon.Visible = true;
- checkDefaultIcon.Text = Options.TranslationList["checkDefaultIcon"];
+ checkDefaultIcon.Text = OptionsHelper.TranslationList["checkDefaultIcon"];
txtItemName.Clear();
txtItem.ReadOnly = true;
txtIcon.ReadOnly = true;
@@ -2928,8 +2978,8 @@ private void radioFolder_CheckedChanged(object sender, EventArgs e)
checkDefaultIcon.Checked = true;
btnBrowseItem.Enabled = true;
txtItem.Clear();
- itemtoaddgroup.Text = Options.TranslationList["folderToAdd"];
- checkDefaultIcon.Text = Options.TranslationList["checkDefaultFolderIcon"];
+ itemtoaddgroup.Text = OptionsHelper.TranslationList["folderToAdd"];
+ checkDefaultIcon.Text = OptionsHelper.TranslationList["checkDefaultFolderIcon"];
txtItemName.Clear();
txtItem.ReadOnly = true;
txtIcon.ReadOnly = true;
@@ -2942,9 +2992,9 @@ private void radioLink_CheckedChanged(object sender, EventArgs e)
if (radioLink.Checked)
{
checkDefaultIcon.Checked = true;
- checkDefaultIcon.Text = Options.TranslationList["checkFavicon"];
+ checkDefaultIcon.Text = OptionsHelper.TranslationList["checkFavicon"];
btnBrowseItem.Enabled = false;
- itemtoaddgroup.Text = Options.TranslationList["linkToAdd"];
+ itemtoaddgroup.Text = OptionsHelper.TranslationList["linkToAdd"];
checkDefaultIcon.Visible = true;
txtItem.Text = "http://";
txtItemName.Clear();
@@ -2959,9 +3009,9 @@ private void radioFile_CheckedChanged(object sender, EventArgs e)
if (radioFile.Checked)
{
checkDefaultIcon.Checked = true;
- checkDefaultIcon.Text = Options.TranslationList["checkNoIcon"];
+ checkDefaultIcon.Text = OptionsHelper.TranslationList["checkNoIcon"];
btnBrowseItem.Enabled = true;
- itemtoaddgroup.Text = Options.TranslationList["fileToAdd"];
+ itemtoaddgroup.Text = OptionsHelper.TranslationList["fileToAdd"];
checkDefaultIcon.Visible = true;
txtItem.Clear();
txtItemName.Clear();
@@ -2980,9 +3030,9 @@ private void radioCommand_CheckedChanged(object sender, EventArgs e)
checkDefaultIcon.Checked = true;
txtIcon.Enabled = false;
btnBrowseIcon.Enabled = false;
- itemtoaddgroup.Text = Options.TranslationList["commandToAdd"];
+ itemtoaddgroup.Text = OptionsHelper.TranslationList["commandToAdd"];
checkDefaultIcon.Visible = true;
- checkDefaultIcon.Text = Options.TranslationList["checkNoIcon"];
+ checkDefaultIcon.Text = OptionsHelper.TranslationList["checkNoIcon"];
txtItemName.Clear();
txtItem.ReadOnly = false;
txtIcon.ReadOnly = true;
@@ -3324,7 +3374,7 @@ private void toggleSwitch1_Click(object sender, EventArgs e)
{
OptimizeHelper.DisablePerformanceTweaks();
}
- Options.CurrentOptions.EnablePerformanceTweaks = performanceSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.EnablePerformanceTweaks = performanceSw.ToggleChecked;
ShowRestartNeeded();
}
@@ -3338,7 +3388,7 @@ private void toggleSwitch2_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableNetworkThrottling();
}
- Options.CurrentOptions.DisableNetworkThrottling = networkSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableNetworkThrottling = networkSw.ToggleChecked;
}
private void toggleSwitch3_Click(object sender, EventArgs e)
@@ -3351,14 +3401,14 @@ private void toggleSwitch3_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableDefender();
}
- Options.CurrentOptions.DisableWindowsDefender = defenderSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableWindowsDefender = defenderSw.ToggleChecked;
}
private void toggleSwitch4_Click(object sender, EventArgs e)
{
if (systemRestoreSw.ToggleChecked)
{
- if (MessageBox.Show(Options.TranslationList["systemRestoreM"].ToString(), "Optimizer", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
+ if (MessageBox.Show(OptionsHelper.TranslationList["systemRestoreM"].ToString(), "Optimizer", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
_skipSystemRestore = true;
systemRestoreSw.ToggleChecked = false;
@@ -3374,7 +3424,7 @@ private void toggleSwitch4_Click(object sender, EventArgs e)
OptimizeHelper.EnableSystemRestore();
}
- if (!_skipSystemRestore) Options.CurrentOptions.DisableSystemRestore = systemRestoreSw.ToggleChecked;
+ if (!_skipSystemRestore) OptionsHelper.CurrentOptions.DisableSystemRestore = systemRestoreSw.ToggleChecked;
}
private void toggleSwitch5_Click(object sender, EventArgs e)
@@ -3387,7 +3437,7 @@ private void toggleSwitch5_Click(object sender, EventArgs e)
{
OptimizeHelper.EnablePrintService();
}
- Options.CurrentOptions.DisablePrintService = printSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisablePrintService = printSw.ToggleChecked;
}
private void toggleSwitch6_Click(object sender, EventArgs e)
@@ -3400,7 +3450,7 @@ private void toggleSwitch6_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableMediaPlayerSharing();
}
- Options.CurrentOptions.DisableMediaPlayerSharing = mediaSharingSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableMediaPlayerSharing = mediaSharingSw.ToggleChecked;
}
private void toggleSwitch8_Click(object sender, EventArgs e)
@@ -3413,7 +3463,7 @@ private void toggleSwitch8_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableErrorReporting();
}
- Options.CurrentOptions.DisableErrorReporting = reportingSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableErrorReporting = reportingSw.ToggleChecked;
}
private void toggleSwitch9_Click(object sender, EventArgs e)
@@ -3426,7 +3476,7 @@ private void toggleSwitch9_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableHomeGroup();
}
- Options.CurrentOptions.DisableHomeGroup = homegroupSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableHomeGroup = homegroupSw.ToggleChecked;
}
private void toggleSwitch10_Click(object sender, EventArgs e)
@@ -3439,7 +3489,7 @@ private void toggleSwitch10_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableSuperfetch();
}
- Options.CurrentOptions.DisableSuperfetch = superfetchSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableSuperfetch = superfetchSw.ToggleChecked;
}
private void toggleSwitch11_Click(object sender, EventArgs e)
@@ -3452,7 +3502,7 @@ private void toggleSwitch11_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableTelemetryTasks();
}
- Options.CurrentOptions.DisableTelemetryTasks = telemetryTasksSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableTelemetryTasks = telemetryTasksSw.ToggleChecked;
}
private void toggleSwitch12_Click(object sender, EventArgs e)
@@ -3465,7 +3515,7 @@ private void toggleSwitch12_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableOffice2016Telemetry();
}
- Options.CurrentOptions.DisableOffice2016Telemetry = officeTelemetrySw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableOffice2016Telemetry = officeTelemetrySw.ToggleChecked;
}
private void toggleSwitch13_Click(object sender, EventArgs e)
@@ -3478,7 +3528,7 @@ private void toggleSwitch13_Click(object sender, EventArgs e)
{
OptimizeHelper.DisableLegacyVolumeSlider();
}
- Options.CurrentOptions.EnableLegacyVolumeSlider = oldMixerSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.EnableLegacyVolumeSlider = oldMixerSw.ToggleChecked;
}
private void toggleSwitch18_Click(object sender, EventArgs e)
@@ -3491,7 +3541,7 @@ private void toggleSwitch18_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableQuickAccessHistory();
}
- Options.CurrentOptions.DisableQuickAccessHistory = oldExplorerSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableQuickAccessHistory = oldExplorerSw.ToggleChecked;
ShowRestartNeeded();
}
@@ -3505,14 +3555,14 @@ private void toggleSwitch26_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableStartMenuAds();
}
- Options.CurrentOptions.DisableStartMenuAds = adsSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableStartMenuAds = adsSw.ToggleChecked;
}
private void toggleSwitch14_Click(object sender, EventArgs e)
{
if (uODSw.ToggleChecked)
{
- if (MessageBox.Show(Options.TranslationList["onedriveM"].ToString(), "Optimizer", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
+ if (MessageBox.Show(OptionsHelper.TranslationList["onedriveM"].ToString(), "Optimizer", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
{
_skipOneDrive = true;
uODSw.ToggleChecked = false;
@@ -3532,7 +3582,7 @@ private void toggleSwitch14_Click(object sender, EventArgs e)
t.Start();
}
- if (!_skipOneDrive) Options.CurrentOptions.UninstallOneDrive = uODSw.ToggleChecked;
+ if (!_skipOneDrive) OptionsHelper.CurrentOptions.UninstallOneDrive = uODSw.ToggleChecked;
}
private void toggleSwitch25_Click(object sender, EventArgs e)
@@ -3545,7 +3595,7 @@ private void toggleSwitch25_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableMyPeople();
}
- Options.CurrentOptions.DisableMyPeople = peopleSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableMyPeople = peopleSw.ToggleChecked;
}
private void toggleSwitch24_Click(object sender, EventArgs e)
@@ -3558,7 +3608,7 @@ private void toggleSwitch24_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableAutomaticUpdates();
}
- Options.CurrentOptions.DisableAutomaticUpdates = autoUpdatesSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableAutomaticUpdates = autoUpdatesSw.ToggleChecked;
}
private void toggleSwitch30_Click(object sender, EventArgs e)
@@ -3571,7 +3621,7 @@ private void toggleSwitch30_Click(object sender, EventArgs e)
{
OptimizeHelper.IncludeDrivers();
}
- Options.CurrentOptions.ExcludeDrivers = driversSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.ExcludeDrivers = driversSw.ToggleChecked;
}
private void toggleSwitch23_Click(object sender, EventArgs e)
@@ -3584,7 +3634,7 @@ private void toggleSwitch23_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableTelemetryServices();
}
- Options.CurrentOptions.DisableTelemetryServices = telemetryServicesSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableTelemetryServices = telemetryServicesSw.ToggleChecked;
ShowRestartNeeded();
}
@@ -3600,7 +3650,7 @@ private void toggleSwitch21_Click(object sender, EventArgs e)
Task t = new Task(() => OptimizeHelper.CompromisePrivacy());
t.Start();
}
- Options.CurrentOptions.DisablePrivacyOptions = privacySw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisablePrivacyOptions = privacySw.ToggleChecked;
ShowRestartNeeded();
}
@@ -3614,7 +3664,7 @@ private void toggleSwitch16_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableCortana();
}
- Options.CurrentOptions.DisableCortana = cortanaSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableCortana = cortanaSw.ToggleChecked;
}
private void toggleSwitch20_Click(object sender, EventArgs e)
@@ -3627,7 +3677,7 @@ private void toggleSwitch20_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableSensorServices();
}
- Options.CurrentOptions.DisableSensorServices = sensorSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableSensorServices = sensorSw.ToggleChecked;
ShowRestartNeeded();
}
@@ -3641,7 +3691,7 @@ private void toggleSwitch29_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableWindowsInk();
}
- Options.CurrentOptions.DisableWindowsInk = inkSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableWindowsInk = inkSw.ToggleChecked;
}
private void toggleSwitch28_Click(object sender, EventArgs e)
@@ -3654,7 +3704,7 @@ private void toggleSwitch28_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableSpellingAndTypingFeatures();
}
- Options.CurrentOptions.DisableSpellingTyping = spellSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableSpellingTyping = spellSw.ToggleChecked;
}
private void toggleSwitch17_Click(object sender, EventArgs e)
@@ -3667,7 +3717,7 @@ private void toggleSwitch17_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableXboxLive();
}
- Options.CurrentOptions.DisableXboxLive = xboxSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableXboxLive = xboxSw.ToggleChecked;
ShowRestartNeeded();
}
@@ -3681,7 +3731,7 @@ private void toggleSwitch15_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableGameBar();
}
- Options.CurrentOptions.DisableGameBar = gameBarSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableGameBar = gameBarSw.ToggleChecked;
ShowRestartNeeded();
}
@@ -3695,7 +3745,7 @@ private void toggleSwitch31_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableOneDrive();
}
- Options.CurrentOptions.DisableOneDrive = disableOneDriveSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableOneDrive = disableOneDriveSw.ToggleChecked;
}
private void toggleSwitch32_Click(object sender, EventArgs e)
@@ -3708,7 +3758,7 @@ private void toggleSwitch32_Click(object sender, EventArgs e)
{
OptimizeHelper.EnableCompatibilityAssistant();
}
- Options.CurrentOptions.DisableCompatibilityAssistant = compatSw.ToggleChecked;
+ OptionsHelper.CurrentOptions.DisableCompatibilityAssistant = compatSw.ToggleChecked;
}
private void btnUpdate_Click(object sender, EventArgs e)
@@ -3747,7 +3797,7 @@ private void RenderAppDownloaderFree()
linkWarnings.Visible = !string.IsNullOrEmpty(downloadLog);
- txtDownloadStatus.Text = Options.TranslationList["downloadsFinished"];
+ txtDownloadStatus.Text = OptionsHelper.TranslationList["downloadsFinished"];
}
string appNameTemp = string.Empty;
@@ -3760,7 +3810,7 @@ private async void btnDownloadApps_Click(object sender, EventArgs e)
{
if (!Directory.Exists(txtDownloadFolder.Text))
{
- MessageBox.Show(Options.TranslationList["downloadDirInvalid"].ToString(), "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ MessageBox.Show(OptionsHelper.TranslationList["downloadDirInvalid"].ToString(), "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
@@ -3779,7 +3829,7 @@ private async void btnDownloadApps_Click(object sender, EventArgs e)
MoonCheck currentCheck;
Control[] temp;
- foreach (FeedApp x in AppsFromFeed)
+ foreach (AppInfo x in AppsFromFeed)
{
if (string.IsNullOrEmpty(x.Tag)) continue;
temp = appsTab.Controls.Find(x.Tag, true);
@@ -3795,7 +3845,7 @@ private async void btnDownloadApps_Click(object sender, EventArgs e)
count++;
if (string.IsNullOrEmpty(x.Link64))
{
- downloadLog += "• " + x.Title + ":" + Environment.NewLine + Options.TranslationList["no64Download"] + Environment.NewLine + Environment.NewLine;
+ downloadLog += "• " + x.Title + ":" + Environment.NewLine + OptionsHelper.TranslationList["no64Download"] + Environment.NewLine + Environment.NewLine;
await DownloadApp(x, false);
}
else
@@ -3812,7 +3862,7 @@ private async void btnDownloadApps_Click(object sender, EventArgs e)
}
else
{
- downloadLog += "• " + x.Title + ":" + Environment.NewLine + Options.TranslationList["no32Download"] + Environment.NewLine + Environment.NewLine;
+ downloadLog += "• " + x.Title + ":" + Environment.NewLine + OptionsHelper.TranslationList["no32Download"] + Environment.NewLine + Environment.NewLine;
}
}
}
@@ -3833,7 +3883,7 @@ private async void btnDownloadApps_Click(object sender, EventArgs e)
if (a.ToLowerInvariant().Contains("sumatra")) p.StartInfo.Arguments = " -install";
// *** //
- txtDownloadStatus.Text = string.Format("{0}/{1} - {2} {3} ...", count, maxCount, Options.TranslationList["installing"], Path.GetFileNameWithoutExtension(a));
+ txtDownloadStatus.Text = string.Format("{0}/{1} - {2} {3} ...", count, maxCount, OptionsHelper.TranslationList["installing"], Path.GetFileNameWithoutExtension(a));
await p.RunAsync();
};
@@ -3851,7 +3901,7 @@ private async void btnDownloadApps_Click(object sender, EventArgs e)
}
string fileExtension = ".exe";
- private async Task DownloadApp(FeedApp app, bool pref64)
+ private async Task DownloadApp(AppInfo app, bool pref64)
{
try
{
@@ -3894,7 +3944,7 @@ private async Task DownloadApp(FeedApp app, bool pref64)
catch (Exception ex)
{
Logger.LogError("MainForm.DownloadApp", ex.Message, ex.StackTrace);
- downloadLog += "• " + app.Title + ":" + Environment.NewLine + Options.TranslationList["linkInvalid"] + Environment.NewLine + Environment.NewLine;
+ downloadLog += "• " + app.Title + ":" + Environment.NewLine + OptionsHelper.TranslationList["linkInvalid"] + Environment.NewLine + Environment.NewLine;
if (pref64) try { File.Delete(Path.Combine(txtDownloadFolder.Text, app.Title + "-x64.exe")); } catch { }
if (!pref64) try { File.Delete(Path.Combine(txtDownloadFolder.Text, app.Title + "-x86.exe")); } catch { }
@@ -3944,8 +3994,8 @@ private void button5_Click(object sender, EventArgs e)
if (d.ShowDialog() == DialogResult.OK)
{
txtDownloadFolder.Text = d.SelectedPath;
- Options.CurrentOptions.AppsFolder = d.SelectedPath;
- Options.SaveSettings();
+ OptionsHelper.CurrentOptions.AppsFolder = d.SelectedPath;
+ OptionsHelper.SaveSettings();
}
}
@@ -3962,8 +4012,8 @@ private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs
private void txtDownloadFolder_TextChanged(object sender, EventArgs e)
{
- Options.CurrentOptions.AppsFolder = txtDownloadFolder.Text;
- Options.SaveSettings();
+ OptionsHelper.CurrentOptions.AppsFolder = txtDownloadFolder.Text;
+ OptionsHelper.SaveSettings();
}
private void chkOnlyRemovable_CheckedChanged(object sender, EventArgs e)
@@ -3991,7 +4041,7 @@ private void btnViewLog_Click(object sender, EventArgs e)
}
else
{
- MessageBox.Show(Options.TranslationList["noErrorsM"].ToString(), "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ MessageBox.Show(OptionsHelper.TranslationList["noErrorsM"].ToString(), "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
@@ -4010,7 +4060,7 @@ private void btnPing_Click(object sender, EventArgs e)
if (PingerHelper.PingHost(txtPingInput.Text) == null)
{
- listPingResults.Items.Add(string.Format("{0} [{1}]", Options.TranslationList["hostNotFound"], txtPingInput.Text));
+ listPingResults.Items.Add(string.Format("{0} [{1}]", OptionsHelper.TranslationList["hostNotFound"], txtPingInput.Text));
return;
}
@@ -4019,7 +4069,7 @@ private void btnPing_Click(object sender, EventArgs e)
btnShodan.Enabled = false;
btnPing.Enabled = false;
- listPingResults.Items.Add(string.Format("{0}", Options.TranslationList["pinging"]));
+ listPingResults.Items.Add(string.Format("{0}", OptionsHelper.TranslationList["pinging"]));
listPingResults.Items.Add("");
for (int i = 0; i < 9; i++)
@@ -4037,7 +4087,7 @@ private void btnPing_Click(object sender, EventArgs e)
{
_pingResults.Add(tmpReply);
_shodanIP = _pingResults[i].Address.ToString();
- listPingResults.Items.Add(string.Format("{0} - {1}: {2} ms - TTL: {3}", _pingResults[i].Status, Options.TranslationList["latency"], _pingResults[i].RoundtripTime, _pingResults[i].Options.Ttl));
+ listPingResults.Items.Add(string.Format("{0} - {1}: {2} ms - TTL: {3}", _pingResults[i].Status, OptionsHelper.TranslationList["latency"], _pingResults[i].RoundtripTime, _pingResults[i].Options.Ttl));
}
}
@@ -4050,11 +4100,11 @@ private void btnPing_Click(object sender, EventArgs e)
long minLatency = _pingResults.Min(x => x.RoundtripTime);
double averageLatency = _pingResults.Average(x => x.RoundtripTime);
- listPingResults.Items.Add(string.Format("{0} = {1}, {2} = {3}, {4} = {5:F2}", Options.TranslationList["min"], minLatency, Options.TranslationList["max"], maxLatency, Options.TranslationList["avg"], averageLatency));
+ listPingResults.Items.Add(string.Format("{0} = {1}, {2} = {3}, {4} = {5:F2}", OptionsHelper.TranslationList["min"], minLatency, OptionsHelper.TranslationList["max"], maxLatency, OptionsHelper.TranslationList["avg"], averageLatency));
}
else
{
- listPingResults.Items.Add(Options.TranslationList["timeout"]);
+ listPingResults.Items.Add(OptionsHelper.TranslationList["timeout"]);
}
btnPing.Enabled = true;
@@ -4155,8 +4205,8 @@ private void exitItem_Click(object sender, EventArgs e)
{
_trayMenu = false;
- Options.CurrentOptions.AppsFolder = txtDownloadFolder.Text;
- Options.SaveSettings();
+ OptionsHelper.CurrentOptions.AppsFolder = txtDownloadFolder.Text;
+ OptionsHelper.SaveSettings();
Application.Exit();
}
@@ -4258,7 +4308,7 @@ private void button13_Click(object sender, EventArgs e)
foreach (var x in _startUpItems)
{
- _backupItems.Add(new StartupBackupItem(x.Name, x.FileLocation, x.RegistryLocation.ToString(), x.StartupType.ToString()));
+ _backupItems.Add(new BackupStartupItem(x.Name, x.FileLocation, x.RegistryLocation.ToString(), x.StartupType.ToString()));
}
try
@@ -4281,7 +4331,7 @@ private void listStartupItems_ItemChecked(object sender, ItemCheckedEventArgs e)
{
if (e.Item.Checked)
{
- e.Item.ForeColor = Options.ForegroundColor;
+ e.Item.ForeColor = OptionsHelper.ForegroundColor;
}
else
{
@@ -4303,8 +4353,8 @@ private void trayRegistry_Click(object sender, EventArgs e)
private void quickAccessToggle_ToggleClicked(object sender, EventArgs e)
{
- Options.CurrentOptions.EnableTray = quickAccessToggle.ToggleChecked;
- Options.SaveSettings();
+ OptionsHelper.CurrentOptions.EnableTray = quickAccessToggle.ToggleChecked;
+ OptionsHelper.SaveSettings();
_trayMenu = quickAccessToggle.ToggleChecked;
launcherIcon.Visible = quickAccessToggle.ToggleChecked;
@@ -4481,121 +4531,126 @@ private void boxLang_SelectedIndexChanged(object sender, EventArgs e)
if (boxLang.Text == Constants.ENGLISH)
{
picFlag.Image = Properties.Resources.united_kingdom;
- Options.CurrentOptions.LanguageCode = LanguageCode.EN;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.EN;
}
else if (boxLang.Text == Constants.RUSSIAN)
{
picFlag.Image = Properties.Resources.russia;
- Options.CurrentOptions.LanguageCode = LanguageCode.RU;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.RU;
}
else if (boxLang.Text == Constants.HELLENIC)
{
picFlag.Image = Properties.Resources.greece;
- Options.CurrentOptions.LanguageCode = LanguageCode.EL;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.EL;
}
else if (boxLang.Text == Constants.GERMAN)
{
picFlag.Image = Properties.Resources.germany;
- Options.CurrentOptions.LanguageCode = LanguageCode.DE;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.DE;
}
else if (boxLang.Text == Constants.ITALIAN)
{
picFlag.Image = Properties.Resources.italy;
- Options.CurrentOptions.LanguageCode = LanguageCode.IT;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.IT;
}
else if (boxLang.Text == Constants.CZECH)
{
picFlag.Image = Properties.Resources.czech;
- Options.CurrentOptions.LanguageCode = LanguageCode.CZ;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.CZ;
}
else if (boxLang.Text == Constants.TURKISH)
{
picFlag.Image = Properties.Resources.turkey;
- Options.CurrentOptions.LanguageCode = LanguageCode.TR;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.TR;
}
else if (boxLang.Text == Constants.SPANISH)
{
picFlag.Image = Properties.Resources.spain;
- Options.CurrentOptions.LanguageCode = LanguageCode.ES;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.ES;
}
else if (boxLang.Text == Constants.PORTUGUESE)
{
picFlag.Image = Properties.Resources.brazil;
- Options.CurrentOptions.LanguageCode = LanguageCode.PT;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.PT;
}
else if (boxLang.Text == Constants.FRENCH)
{
picFlag.Image = Properties.Resources.france;
- Options.CurrentOptions.LanguageCode = LanguageCode.FR;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.FR;
}
else if (boxLang.Text == Constants.CHINESE)
{
picFlag.Image = Properties.Resources.china;
- Options.CurrentOptions.LanguageCode = LanguageCode.CN;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.CN;
}
else if (boxLang.Text == Constants.TAIWANESE)
{
picFlag.Image = Properties.Resources.china;
- Options.CurrentOptions.LanguageCode = LanguageCode.TW;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.TW;
}
else if (boxLang.Text == Constants.KOREAN)
{
picFlag.Image = Properties.Resources.korea;
- Options.CurrentOptions.LanguageCode = LanguageCode.KO;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.KO;
}
else if (boxLang.Text == Constants.POLISH)
{
picFlag.Image = Properties.Resources.poland;
- Options.CurrentOptions.LanguageCode = LanguageCode.PL;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.PL;
}
else if (boxLang.Text == Constants.ARABIC)
{
picFlag.Image = Properties.Resources.egypt;
- Options.CurrentOptions.LanguageCode = LanguageCode.AR;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.AR;
}
else if (boxLang.Text == Constants.KURDISH)
{
picFlag.Image = Properties.Resources.kurdish;
- Options.CurrentOptions.LanguageCode = LanguageCode.KU;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.KU;
}
else if (boxLang.Text == Constants.HUNGARIAN)
{
picFlag.Image = Properties.Resources.hungary;
- Options.CurrentOptions.LanguageCode = LanguageCode.HU;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.HU;
}
else if (boxLang.Text == Constants.ROMANIAN)
{
picFlag.Image = Properties.Resources.romania;
- Options.CurrentOptions.LanguageCode = LanguageCode.RO;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.RO;
}
else if (boxLang.Text == Constants.DUTCH)
{
picFlag.Image = Properties.Resources.dutch;
- Options.CurrentOptions.LanguageCode = LanguageCode.NL;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.NL;
}
else if (boxLang.Text == Constants.UKRAINIAN)
{
picFlag.Image = Properties.Resources.ukraine;
- Options.CurrentOptions.LanguageCode = LanguageCode.UA;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.UA;
}
else if (boxLang.Text == Constants.JAPANESE)
{
picFlag.Image = Properties.Resources.japan;
- Options.CurrentOptions.LanguageCode = LanguageCode.JA;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.JA;
}
else if (boxLang.Text == Constants.PERSIAN)
{
picFlag.Image = Properties.Resources.iran;
- Options.CurrentOptions.LanguageCode = LanguageCode.FA;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.FA;
}
else if (boxLang.Text == Constants.NEPALI)
{
picFlag.Image = Properties.Resources.nepal;
- Options.CurrentOptions.LanguageCode = LanguageCode.NE;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.NE;
+ }
+ else if (boxLang.Text == Constants.BULGARIAN)
+ {
+ picFlag.Image = Properties.Resources.bulgaria;
+ OptionsHelper.CurrentOptions.LanguageCode = LanguageCode.BG;
}
- Options.SaveSettings();
- Options.LoadTranslation();
+ OptionsHelper.SaveSettings();
+ OptionsHelper.LoadTranslation();
Translate();
FixTabHeaderWidth();
@@ -4848,18 +4903,18 @@ private void restartAndApply_Click(object sender, EventArgs e)
private void colorPicker1_ColorChanged(object sender, EventArgs e)
{
pictureBox1.BackColor = colorPicker1.Color;
- Options.CurrentOptions.Theme = colorPicker1.Color;
- Options.ApplyTheme(this);
+ OptionsHelper.CurrentOptions.Theme = colorPicker1.Color;
+ OptionsHelper.ApplyTheme(this);
- Options.SaveSettings();
+ OptionsHelper.SaveSettings();
}
private void autoStartToggle_ToggleClicked(object sender, EventArgs e)
{
- Options.CurrentOptions.AutoStart = autoStartToggle.ToggleChecked;
- Options.SaveSettings();
+ OptionsHelper.CurrentOptions.AutoStart = autoStartToggle.ToggleChecked;
+ OptionsHelper.SaveSettings();
- if (Options.CurrentOptions.AutoStart)
+ if (OptionsHelper.CurrentOptions.AutoStart)
{
Utilities.RegisterAutoStart();
}
@@ -4904,7 +4959,7 @@ private void ConfirmAndReboot()
{
if (MessageBox.Show(_uwpRestoreMessage, "Optimizer", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
- Options.SaveSettings();
+ OptionsHelper.SaveSettings();
Utilities.Reboot();
}
}
@@ -4982,5 +5037,21 @@ private void btnSetDns_Click(object sender, EventArgs e)
ApplySelectedDNS();
}
}
+
+ private void btnReinforce_Click(object sender, EventArgs e)
+ {
+ if (MessageBox.Show(_reinforcePoliciesMessage, "Optimizer", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
+ {
+ Utilities.ReinforceCurrentTweaks();
+
+ if (Program.MUTEX != null)
+ {
+ Program.MUTEX.ReleaseMutex();
+ Program.MUTEX.Dispose();
+ Program.MUTEX = null;
+ }
+ Application.Restart();
+ }
+ }
}
}
\ No newline at end of file
diff --git a/Optimizer/Forms/MainForm.resx b/Optimizer/Forms/MainForm.resx
index 2f8c8a75..a35eb81a 100644
--- a/Optimizer/Forms/MainForm.resx
+++ b/Optimizer/Forms/MainForm.resx
@@ -155,443 +155,157 @@
MWzhmaTGfmz5zHL2YrFYLH7mcnkHBniDBBEQJcMAAAAASUVORK5CYII=
-
-
- iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- vAAADrwBlbxySQAAAXJJREFUaEPtz0FuIzEMBED//9MJMCgQURR5yBF34YPq5ha7bb+O4zg+39cNZ5/J
- b7zlfOI5RaWP3TS1gacUlR42S1QHnlJUetgsUw/iFJUeNsvUg/hPTv4N31GmHsRLzvrZL1MP4rec9rJd
- ph7El9+ff7qOO9ktUw/ii+j//AmbJaoDTxfRRTTx3MNmisrE80UUxANPfey+5fQREwNPvWxPPD9mZuCp
- n/0g3mYuiPvZD+Jt5oK4n/0g3mYuiPvZD+Jt5oK4n/0g3mYuiPvZD+Jt5oK4n/0g3mYuiPvZD+Jt5oK4
- l+2J58fMTDzvs/eW0zL1t5w+YyNFJU0tRaVGt0T1lvMS1Ty9gaeLaOJ5yVmZep5eEA88DTwtOStTz9ML
- 4onnIF5yVqaepxfEE89BvOSsTD1PL4gnnoN4yVmZep7ewFMQDzwtOStTz9MrUb3lvES1RjdN7ZbzNLVn
- bNxynqZ2y/keW0vOytSXnB3HcXys1+sbU0gKg8uLU5AAAAAASUVORK5CYII=
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
- vAAADrwBlbxySQAAAgBJREFUaEPlz1Fu3DAMBcDc/9ItoExpsLRsUfFmG3Q+3yNp+eO/9muR8X+Lty2x
- sszaIHoN37hlfJm1QfQ6vnPJ6BIrQfy9fDuILxkt1N/Ltx/l9Ov53kv4RI/dIC7Uj3Dy9KbqmtkpY0H8
- KKd7b5HdMt7+0b8ZmzJ2OWfkk+zW3ew41mCtUD//AzPOtFlfZq3H7ikjW5xYZm2PG4lqixMtVvvsJ6ot
- TrRY7bOfqLY4Uagf/145KN7iRKEeRImqz34Qb3GiUCeqIO6xm6jarBfqQh3EPXaDuM16oT5lJIjX2Qvi
- NuuFespYEM+ZmzLWYjVR3TIexOfMTBlbZq1QL7ESxJX+ktElVgr1Eiu3lobH0CIrhXqZtSWP/YDxQt1i
- dYmVgzyILxkt1C1WE9UgCuKDfBBdMlqo26wHcRAH8UE+iKaMFeo264kqiIP4IB9Ep4wkqi1OJKpEFcQH
- +SAq1IlqmzOJKlEF8SdZECeqRLXNmURVqIP4IB9EQZyotjhRqE8ZGUSZLpxlf4yFTU4U6n3u3DK+xYlL
- RvvsXzLaZn2ZtT77p4y0WJ2azYzlHfYL9TJrU8YS1SDa48aUsSBeYqVQB/E+dx7j7JSxIP46977EqUtG
- g/g57m5zZspYEL+PdwTxlLFB9F7eEsRTxgbRe3lLEP8M3hzEP4d3B/HDPj5+A7KDH5iJTSF/AAAAAElF
- TkSuQmCC
-
-
-
+
- iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGeYUxB9wAAACBjSFJNAACH
+ iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGeYUxB9wAAACBjSFJNAACH
EAAAjBIAAP1NAACBPgAAWesAARIPAAA85gAAGc66ySIyAAABJmlDQ1BBZG9iZSBSR0IgKDE5OTgpAAAo
z2NgYDJwdHFyZRJgYMjNKykKcndSiIiMUmA/z8DGwMwABonJxQWOAQE+IHZefl4qAwb4do2BEURf1gWZ
xUAa4EouKCoB0n+A2CgltTiZgYHRAMjOLi8pAIozzgGyRZKywewNIHZRSJAzkH0EyOZLh7CvgNhJEPYT
ELsI6Akg+wtIfTqYzcQBNgfClgGxS1IrQPYyOOcXVBZlpmeUKBhaWloqOKbkJ6UqBFcWl6TmFit45iXn
FxXkFyWWpKYA1ULcBwaCEIWgENMAarTQZKAyAMUDhPU5EBy+jGJnEGIIkFxaVAZlMjIZE+YjzJgjwcDg
v5SBgeUPQsykl4FhgQ4DA/9UhJiaIQODgD4Dw745AMDGT/0ZOjZcAAAACXBIWXMAAAsMAAALDAE/QCLI
- AAADqUlEQVRYR8WXy0tbQRTGXbal/hVtIeADqQsR0Y342okIFlTUhS4EFyIK4kIEF21E0IXSmCq48IHo
- yp2iCC5MF9JWBEVRfKFJdSVJjVE4Pd/JxMzNnaS3acEDPzKZOfOdc+fO62a4XC6nvGbqmM+MjwkwYQXK
- qEMbfOBr0rBhrEzgLeNlggw5BL7og74mzSeMlYoXzEfmnjEFcQL6fmKgZYqRNIE3zDfGJJoO0DKOhq2C
- ec/4GZPQvwBNaFviWf4wyPInYxL4H0DbMhJ68JfMd8bWMScnh05PTwkWDAZthEIhCofDdHV1RePj45SV
- lWXT0PjBIJYtAUwWUwdqaWmR4E7t+PiYsrOzjVoKxLIkgEkXYUzONDIyoqSd2+zsrFFLgVjyKmIJYM2a
- HIX19XUlG7fp6WkaHBwUNjc3VW3c/H6/UUvjCyMJZDIpN5lAIKBko3Z7e2sb4t3dXdUaNSRQX19PXV1d
- Fj8NxMxEAtg6TQ5CVVWVkoybz+ez+a2tranWqG1vb1Ntba2UW1tbbf6KOiQwkVBpoaenR0R0Gxsbs/gU
- FRXRw8ODao3a6OgoNTc3S3lyctLirzGBBHCImBqFmZkZEdGtra3tqb2kpIQODw9VS9wqKipocXFRygsL
- CxZNDR8SuE6otLCzsyMiuh0dHdHBwYH8Jj45bGhoiEpLS9U/Io/HY9RmrpFA0sMmPz+fIpGIknFmseV3
- cnKiaoja29tt2or7lAk0NDQoiT/b3t6ezHr000dta2vLpqshCSR9BRjKRJufn6fKykpqbGykpqYmCVpd
- XU3FxcXU0dEh27JuaDNpK+QVJJ2EKysrSiZuEOzu7qa5uTmZ3VNTU7SxsWF8VSmGPoZMQuMyxNK6vLxU
- UlE7Pz+nsrIyOXhSGYYdq8Ckm4AsQ+NGhKWWaEtLS1RTUyPlm5sb2SP6+vqov7+fBgYGZGQw+016SZCN
- yLgVe71eCaRbb28vdXZ2Snl1ddXinwYhRrZigIPB4uB2uyXQ3d0dXVxc0NnZGRUWFtLy8rLUDw8PW/zT
- 4OkwAjgabcdxXl4e5ebmUnl5ucwJDHXMsM0m+v8FiPWOcXYh0TcV2OPjIxUUFBh9HeJmJK6eAK5JuC7Z
- Ouzv70tgvA4YTj6Tn0MQ4xVjSwA866U0xrNey2MgS+PrSBNoWZ48hq1CA59TmJhJL6sOQN+0Ps10sFxw
- acXGYQpi4heDdS5LLRXGyiTgk/sD42G+MphQeEKAMurQBh+Hn+eujN8Y1hAMZdztIwAAAABJRU5ErkJg
- gg==
+ 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
-
+
- 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
+ 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
- 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
+ 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
-
+
- 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
- GfCAU20aAAAAAElFTkSuQmCC
+ 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
+ RU5ErkJggg==
-
+
- iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGeYUxB9wAAACBjSFJNAACH
- EAAAjBIAAP1NAACBPgAAWesAARIPAAA85gAAGc66ySIyAAABJmlDQ1BBZG9iZSBSR0IgKDE5OTgpAAAo
- z2NgYDJwdHFyZRJgYMjNKykKcndSiIiMUmA/z8DGwMwABonJxQWOAQE+IHZefl4qAwb4do2BEURf1gWZ
- xUAa4EouKCoB0n+A2CgltTiZgYHRAMjOLi8pAIozzgGyRZKywewNIHZRSJAzkH0EyOZLh7CvgNhJEPYT
- ELsI6Akg+wtIfTqYzcQBNgfClgGxS1IrQPYyOOcXVBZlpmeUKBhaWloqOKbkJ6UqBFcWl6TmFit45iXn
- FxXkFyWWpKYA1ULcBwaCEIWgENMAarTQZKAyAMUDhPU5EBy+jGJnEGIIkFxaVAZlMjIZE+YjzJgjwcDg
- v5SBgeUPQsykl4FhgQ4DA/9UhJiaIQODgD4Dw745AMDGT/0ZOjZcAAAACXBIWXMAAAsMAAALDAE/QCLI
- AAADNElEQVRYR8WXwUtbQRDGPbal/hVtISZVkgqCoAnm4sl6tCQXLzkYCHjxIGiQ5qLFHsQekrQX60Eb
- vIl486yFpM1JBMUqiG0DnpJSqzidb9mE997O05dEcOBHktndbyZvd3b3dfh8Pq88ZcaYLLPL/GL+avAd
- PrShD/pKGgai08Fz5iNTZcgj6IsxGCtpNhCdmkfMPHPJSEG8gLELDLSkGK4JPGO+MZJoK0BLfBqGg3nF
- /GQkoXaAJrRt8Ww/GGT5m5EE7gNo256ENfhj5jtjGxSNRqlSqVChUKDo0JCtrauri7q7u9Wn1T88PEzb
- 29t0fHxM/f39tjamzCCWkQAWi7MzLcwvUN1qtRqtra1RPp+nra0tKhaL9OPkhL7u7dHm5iZls1na2Nig
- q6srPYJoenra0GQQy5YAFt0/xug8MzOjpZq3m5sbSqVShiaDWGoq6gmgZqWOFIvFtFxr9npkRNRlPjEq
- gU5G3GR6e3upVCppqdZsZ2eHAoGAoc0gZicSwNYpdVDzdx82MTEh6jNjSCDvcDZYWlrSEu1ZOp0W9Zk8
- EsAhIjXSh+VlLdGezc3NifrMLhKoOJwNMm8zWqI9m5ycFPWZChJwPWzi8biWaN1QiqOjo6I+c3lrAgA7
- Wju2uvpZ1NWoBFynAKAUDw8PtVxzhhLu6ekRdTVqCsRFOD4+TqFQSH1HHU9NTdHp6amWdjF+3NfX13Rw
- cECJRIL8fr+h60AtQrEMV1ZWqFwuUzAYNNoyGXlxJpNJo+8dqDJ03YhyuRwdHR2pabD6cTJK9n5x0dbP
- A2ojct2KX/Kj39/fV+Lp2VmKx+L0ZX1d/Zbs/PycwuGwoeNCjVFbMcDBIHWiSCTieREigcHBQVFHoHEY
- ARyN4nEMsAiRCC4fqOmLiwsd0m5nZ2c0MDAgajhArBfM3RcSJ7jtVKtVHdJuTUzBO0bFtSaAaxKuS9KA
- BriiIRAMidSBYar6+vrEcRYQ4wljJAAe9FJa50Gv5XWQ5Z3T0QTQsv3zOobDAl6nsDBdq8MDGNvSq5kV
- lAsurdg4pCASfxjUuSq12xCdLuCV+w2TY/YYLCj8Q4Dv8KENfTy+nvs6/gPPcHq613NeWQAAAABJRU5E
- rkJggg==
+ iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
+ DAAACwwBP0AiyAAABVFJREFUaEPNWWmIHEUULm+8FS88EFFRvP5oFBVEEe+oYP5ExKCgBNGIB0EFhYAQ
+ wR8qCEb0R4wRFdYDTZaNUzXLiEqiokazIhJFPFAM0c3OzKuZVeO236t+2zM9XT3dPbPjzAcf3VX16tXr
+ 6urXr16pkYJpnqzKdK3S9i5l6JGQjQdxXazK9WNEaoSg7XEw7jZl7Hpcf8U1SCf9i2sZfS6U3kPCqmBP
+ pek6GLQB3J00NIOa5lTJ3iPaBoj3mqditpaA92PQp3F9AVwHo3/wGpZGTb/gug19v8b931I3p8qNS2Sk
+ BYKZPlSV6HYofxODTEcG9EJNm0NdWGLtqNSORDuWG8vYitT2iXLtTCh8CTNrIwP6YZkeEs1+8BI09DEe
+ 8h83aT2DvYK2L0MZf1x+Y3qhpgb4sKoEe8tISWi7wslO1s+SmoIw9VugoL9lks2tqlQ/W0aMo2RvcDJl
+ e4HU5ATPiqE1HQMNjtrWMN5iGb0F01gayjROlJoc2BzsD4UbE4MMnHC12t4nVoQw9Bj4V9dlFsNnwT7D
+ MT7G5WINfwPr8J18IKUc0PRUQqGm73F9Bddmom0QdF6Hrnf2mNnTUF7p7jNh6BoIz7UU2Z34uG6FF7oS
+ 5WpU/39QU11tap7k7GJ3monQVf7epuRVNVE7yj0Ar8F25X5uA1fDt98Bz3GT+zlxWdvPY5NShNpOiHU5
+ EHkcmnWDuzp2oRm+X9Mn8BAXOfk0aLsIrHj7Z7HcuFm0dAG7qHCWq1HcwWtwPh5Jo6bn1Fiwl5PPggvs
+ 7BNePd3IcVEQ7CFaUhAGX7vARWG5cSmMa3gVtviiky0Kn5PIYql+ufT2YENwAIT+dEYzeKPBZZ+iFqcw
+ 8/s6+aLgN2bslx36MkhvSW8P+IPTtMzdhw+zNamgk+LieoXbI/j0ppD/0vx/8mJ+5hns630KYqSf87m1
+ LuC3EPd42ZxsXCy9U8Duz9cxybXSoz8YetejO52aHpWeHlTsCRCaSXTyE3tVhMD90tAWj+5uXC/WeqDp
+ HU+HESO9L9Z2gD9gb4dRI/bXCZSCA9GQkeIYGc6I1W3QtMojOKqsitWCUv1o51/9wqNHjk5jMPSMVzCb
+ U3hwMwRuFMuBiT8OgSG9xvf3ipYhgnc4fuOyyRHoUBEmi37yGpeHmn7MDm8HCVO/zGtYEWq6WrQNAYae
+ 9xpVhLxNzJ3m8KBEV2ESCm4zOWfkklV2R7KxB2r7pJhTDGHS9reEvq6k7WEEbOz5yUYngO1kwbwnzyAH
+ ZUXgvB996NXXjZwfdZhPlMYase/lTY3LOne05SK9Br3x1LgPHM9r+61fRzdi/1EJDgqV+DYsvNFmbKJj
+ cd/bn5n/kjwB2t6odO0MNT5zuNPHb5xPWHrNSDBZZwRtv4gL4Ol4GzkPY++Otw+Zmt4QywRscFwgucvR
+ 9HpMZmik71xiLYbYyQrtVmV7vLS08NHOg9GeY2M/UO5Qk81TxKI2hGs1FNL2K6lNwlSPgEzB1MeCcRq2
+ hfmpBIz9piVIb0utH+yv+QAurnzQnHInnqkwdjwSjoWnKeDklaZnoz4DJY213GUa2v8DnDqfCPaTlu7g
+ c6rwjKBj0AUgL2VO3+cCP2F7QolzomkZLw47+Ki/suswV+aH5WPRwmFAGmmLy4LnTQ5HMPUr0Hm2TdF2
+ zC4nXB+AwStwzyftEyjLhgehd/u6DI+glqBtHLItp5BJhCuaPsX9ajVZPV209QjO53NE6R2I6dwtfy/L
+ ozfgA7+lkj1P/raPo98acAz91oaTwgd00MFHpL0mg7vC1M/BQHeCnC1bCS7DMjk3PZE6TCj1HxSY/LJl
+ ORmbAAAAAElFTkSuQmCC
-
-
- iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGeYUxB9wAAACBjSFJNAACH
- EAAAjBIAAP1NAACBPgAAWesAARIPAAA85gAAGc66ySIyAAABJmlDQ1BBZG9iZSBSR0IgKDE5OTgpAAAo
- z2NgYDJwdHFyZRJgYMjNKykKcndSiIiMUmA/z8DGwMwABonJxQWOAQE+IHZefl4qAwb4do2BEURf1gWZ
- xUAa4EouKCoB0n+A2CgltTiZgYHRAMjOLi8pAIozzgGyRZKywewNIHZRSJAzkH0EyOZLh7CvgNhJEPYT
- ELsI6Akg+wtIfTqYzcQBNgfClgGxS1IrQPYyOOcXVBZlpmeUKBhaWloqOKbkJ6UqBFcWl6TmFit45iXn
- FxXkFyWWpKYA1ULcBwaCEIWgENMAarTQZKAyAMUDhPU5EBy+jGJnEGIIkFxaVAZlMjIZE+YjzJgjwcDg
- v5SBgeUPQsykl4FhgQ4DA/9UhJiaIQODgD4Dw745AMDGT/0ZOjZcAAAACXBIWXMAAAsMAAALDAE/QCLI
- AAADDklEQVRYR8WXS09aYRCGXbZN/RVtEwLqQhcuccc/UIIbN5IYVy6Jf4CyNqZQXIpG11yiWxbWDZCY
- qIkx8bKgZae0lqKZzvud4XAuQ0sB6yRPAjPfvDPw3c4ZCwQC/fKWWWA+MUfMV+angM/wIYYxGKtp+FCd
- Ht4zn5kmQ32CschBrqZpozqFV0ySaTFakX5A7kcGWlqNng28YyqMJjoI0FL/DZ+DmWbqjCY0DNCEtque
- 6wuDLr8xmsAogLbrn3AWf81UGS1xlNQY1PI1gMWiJTwHqOVqAIvuF6MNfg5Qy0xFpwHsWW2gTSgUolgs
- Rjs7O7S8vOyLLy4u0u7uLi0tLdHk5KQvrpBlTAPjTM9DBoUh3G63qWO3t7dULBapUqlQtVqlQqFAl5eX
- EiV6enqifD5PMzMzqqaAmuNoAEenNsCQy+VE9t+tVCqpmg4W0EDG47SZn58XqcEtHo+r2kIGDeAS0YJ0
- eHgoMoMbpkjTFo7QQMPjNEQiEZEY3qLRqE9faKAB9bJJJpOS3rW9vT0Tw4pvNpvitWx1ddXENjc3xdO1
- ra0tl7aDVs8GDg4OJN2yRqNBExMTdnxjY0MiZHaJM/f8/Fwilh0fH7viDkwD6hRcXFxIumWtVovC4bAd
- 397elgiZZjv+qakpqtfrErHs5ubGjnswU6Auwru7O0nv2unpqVnV2WxWPF3b3983hxB+rdfu7+99+oJZ
- hOo29M7xMAYtrQZjtqF6ENVqNUm37OrqitLptPk7exnWSSaTobOzM/FYhjWh1WDMQdTzKE6lUvTw8CAy
- RCcnJ2Yhzs7O0srKCq2vrxuwA+bm5kxOuVyW0USPj49mV+A492oz3xlzFANcDNogCgaDtLa2RtfX12ae
- tTFOsD6wCBOJxN8uJfsyArga//d1/IF5sQeSFGPqOhvAYxIel7SEUYIabxhfA+BFH0o7vOhjeQd0Ocrp
- gJbrl3fwORzgdQoLc5jdgdyBXs2cYLvgoRUHh1ZE4weDfW622p9QnT3AK3eUSTNfGCwo/EKAz/AhhjF9
- vp4Hxn4DLP3gQugK66gAAAAASUVORK5CYII=
-
-
-
-
- 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
- RU5ErkJggg==
-
-
-
-
- iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAL
- DAAACwwBP0AiyAAABVFJREFUaEPNWWmIHEUULm+8FS88EFFRvP5oFBVEEe+oYP5ExKCgBNGIB0EFhYAQ
- wR8qCEb0R4wRFdYDTZaNUzXLiEqiokazIhJFPFAM0c3OzKuZVeO236t+2zM9XT3dPbPjzAcf3VX16tXr
- 6urXr16pkYJpnqzKdK3S9i5l6JGQjQdxXazK9WNEaoSg7XEw7jZl7Hpcf8U1SCf9i2sZfS6U3kPCqmBP
- pek6GLQB3J00NIOa5lTJ3iPaBoj3mqditpaA92PQp3F9AVwHo3/wGpZGTb/gug19v8b931I3p8qNS2Sk
- BYKZPlSV6HYofxODTEcG9EJNm0NdWGLtqNSORDuWG8vYitT2iXLtTCh8CTNrIwP6YZkeEs1+8BI09DEe
- 8h83aT2DvYK2L0MZf1x+Y3qhpgb4sKoEe8tISWi7wslO1s+SmoIw9VugoL9lks2tqlQ/W0aMo2RvcDJl
- e4HU5ATPiqE1HQMNjtrWMN5iGb0F01gayjROlJoc2BzsD4UbE4MMnHC12t4nVoQw9Bj4V9dlFsNnwT7D
- MT7G5WINfwPr8J18IKUc0PRUQqGm73F9Bddmom0QdF6Hrnf2mNnTUF7p7jNh6BoIz7UU2Z34uG6FF7oS
- 5WpU/39QU11tap7k7GJ3monQVf7epuRVNVE7yj0Ar8F25X5uA1fDt98Bz3GT+zlxWdvPY5NShNpOiHU5
- EHkcmnWDuzp2oRm+X9Mn8BAXOfk0aLsIrHj7Z7HcuFm0dAG7qHCWq1HcwWtwPh5Jo6bn1Fiwl5PPggvs
- 7BNePd3IcVEQ7CFaUhAGX7vARWG5cSmMa3gVtviiky0Kn5PIYql+ufT2YENwAIT+dEYzeKPBZZ+iFqcw
- 8/s6+aLgN2bslx36MkhvSW8P+IPTtMzdhw+zNamgk+LieoXbI/j0ppD/0vx/8mJ+5hns630KYqSf87m1
- LuC3EPd42ZxsXCy9U8Duz9cxybXSoz8YetejO52aHpWeHlTsCRCaSXTyE3tVhMD90tAWj+5uXC/WeqDp
- HU+HESO9L9Z2gD9gb4dRI/bXCZSCA9GQkeIYGc6I1W3QtMojOKqsitWCUv1o51/9wqNHjk5jMPSMVzCb
- U3hwMwRuFMuBiT8OgSG9xvf3ipYhgnc4fuOyyRHoUBEmi37yGpeHmn7MDm8HCVO/zGtYEWq6WrQNAYae
- 9xpVhLxNzJ3m8KBEV2ESCm4zOWfkklV2R7KxB2r7pJhTDGHS9reEvq6k7WEEbOz5yUYngO1kwbwnzyAH
- ZUXgvB996NXXjZwfdZhPlMYase/lTY3LOne05SK9Br3x1LgPHM9r+61fRzdi/1EJDgqV+DYsvNFmbKJj
- cd/bn5n/kjwB2t6odO0MNT5zuNPHb5xPWHrNSDBZZwRtv4gL4Ol4GzkPY++Otw+Zmt4QywRscFwgucvR
- 9HpMZmik71xiLYbYyQrtVmV7vLS08NHOg9GeY2M/UO5Qk81TxKI2hGs1FNL2K6lNwlSPgEzB1MeCcRq2
- hfmpBIz9piVIb0utH+yv+QAurnzQnHInnqkwdjwSjoWnKeDklaZnoz4DJY213GUa2v8DnDqfCPaTlu7g
- c6rwjKBj0AUgL2VO3+cCP2F7QolzomkZLw47+Ki/suswV+aH5WPRwmFAGmmLy4LnTQ5HMPUr0Hm2TdF2
- zC4nXB+AwStwzyftEyjLhgehd/u6DI+glqBtHLItp5BJhCuaPsX9ajVZPV209QjO53NE6R2I6dwtfy/L
- ozfgA7+lkj1P/raPo98acAz91oaTwgd00MFHpL0mg7vC1M/BQHeCnC1bCS7DMjk3PZE6TCj1HxSY/LJl
- ORmbAAAAAElFTkSuQmCC
-
-
-
+
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAACd9JREFUaEPF
mQlQFGcahqdSJeK5wnCjXF4oYlCjMR7gweLJfcmpIgwIKsihKOisxk2sJKW1qdJdV0UREl1Q44pyDcwJ
@@ -639,107 +353,393 @@
yrfhxSkKNOgAAAAASUVORK5CYII=
-
+
+
+ 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
+
+
+
+ 904, 44
+
+
+ Items can have custom icons and position.
+They can also be hidden, accessible only
+by pressing the SHIFT key.
+
+It can also create custom commands
+for Run Dialog, making it easy to launch
+any application only by typing your desired keyword.
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ vAAADrwBlbxySQAAAXJJREFUaEPtz0FuIzEMBED//9MJMCgQURR5yBF34YPq5ha7bb+O4zg+39cNZ5/J
+ b7zlfOI5RaWP3TS1gacUlR42S1QHnlJUetgsUw/iFJUeNsvUg/hPTv4N31GmHsRLzvrZL1MP4rec9rJd
+ ph7El9+ff7qOO9ktUw/ii+j//AmbJaoDTxfRRTTx3MNmisrE80UUxANPfey+5fQREwNPvWxPPD9mZuCp
+ n/0g3mYuiPvZD+Jt5oK4n/0g3mYuiPvZD+Jt5oK4n/0g3mYuiPvZD+Jt5oK4n/0g3mYuiPvZD+Jt5oK4
+ l+2J58fMTDzvs/eW0zL1t5w+YyNFJU0tRaVGt0T1lvMS1Ty9gaeLaOJ5yVmZep5eEA88DTwtOStTz9ML
+ 4onnIF5yVqaepxfEE89BvOSsTD1PL4gnnoN4yVmZep7ewFMQDzwtOStTz9MrUb3lvES1RjdN7ZbzNLVn
+ bNxynqZ2y/keW0vOytSXnB3HcXys1+sbU0gKg8uLU5AAAAAASUVORK5CYII=
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
+ vAAADrwBlbxySQAAAgBJREFUaEPlz1Fu3DAMBcDc/9ItoExpsLRsUfFmG3Q+3yNp+eO/9muR8X+Lty2x
+ sszaIHoN37hlfJm1QfQ6vnPJ6BIrQfy9fDuILxkt1N/Ltx/l9Ov53kv4RI/dIC7Uj3Dy9KbqmtkpY0H8
+ KKd7b5HdMt7+0b8ZmzJ2OWfkk+zW3ew41mCtUD//AzPOtFlfZq3H7ikjW5xYZm2PG4lqixMtVvvsJ6ot
+ TrRY7bOfqLY4Uagf/145KN7iRKEeRImqz34Qb3GiUCeqIO6xm6jarBfqQh3EPXaDuM16oT5lJIjX2Qvi
+ NuuFespYEM+ZmzLWYjVR3TIexOfMTBlbZq1QL7ESxJX+ktElVgr1Eiu3lobH0CIrhXqZtSWP/YDxQt1i
+ dYmVgzyILxkt1C1WE9UgCuKDfBBdMlqo26wHcRAH8UE+iKaMFeo264kqiIP4IB9Ep4wkqi1OJKpEFcQH
+ +SAq1IlqmzOJKlEF8SdZECeqRLXNmURVqIP4IB9EQZyotjhRqE8ZGUSZLpxlf4yFTU4U6n3u3DK+xYlL
+ RvvsXzLaZn2ZtT77p4y0WJ2azYzlHfYL9TJrU8YS1SDa48aUsSBeYqVQB/E+dx7j7JSxIP46977EqUtG
+ g/g57m5zZspYEL+PdwTxlLFB9F7eEsRTxgbRe3lLEP8M3hzEP4d3B/HDPj5+A7KDH5iJTSF/AAAAAElF
+ TkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGeYUxB9wAAACBjSFJNAACH
+ EAAAjBIAAP1NAACBPgAAWesAARIPAAA85gAAGc66ySIyAAABJmlDQ1BBZG9iZSBSR0IgKDE5OTgpAAAo
+ z2NgYDJwdHFyZRJgYMjNKykKcndSiIiMUmA/z8DGwMwABonJxQWOAQE+IHZefl4qAwb4do2BEURf1gWZ
+ xUAa4EouKCoB0n+A2CgltTiZgYHRAMjOLi8pAIozzgGyRZKywewNIHZRSJAzkH0EyOZLh7CvgNhJEPYT
+ ELsI6Akg+wtIfTqYzcQBNgfClgGxS1IrQPYyOOcXVBZlpmeUKBhaWloqOKbkJ6UqBFcWl6TmFit45iXn
+ FxXkFyWWpKYA1ULcBwaCEIWgENMAarTQZKAyAMUDhPU5EBy+jGJnEGIIkFxaVAZlMjIZE+YjzJgjwcDg
+ v5SBgeUPQsykl4FhgQ4DA/9UhJiaIQODgD4Dw745AMDGT/0ZOjZcAAAACXBIWXMAAAsMAAALDAE/QCLI
+ AAADqUlEQVRYR8WXy0tbQRTGXbal/hVtIeADqQsR0Y342okIFlTUhS4EFyIK4kIEF21E0IXSmCq48IHo
+ yp2iCC5MF9JWBEVRfKFJdSVJjVE4Pd/JxMzNnaS3acEDPzKZOfOdc+fO62a4XC6nvGbqmM+MjwkwYQXK
+ qEMbfOBr0rBhrEzgLeNlggw5BL7og74mzSeMlYoXzEfmnjEFcQL6fmKgZYqRNIE3zDfGJJoO0DKOhq2C
+ ec/4GZPQvwBNaFviWf4wyPInYxL4H0DbMhJ68JfMd8bWMScnh05PTwkWDAZthEIhCofDdHV1RePj45SV
+ lWXT0PjBIJYtAUwWUwdqaWmR4E7t+PiYsrOzjVoKxLIkgEkXYUzONDIyoqSd2+zsrFFLgVjyKmIJYM2a
+ HIX19XUlG7fp6WkaHBwUNjc3VW3c/H6/UUvjCyMJZDIpN5lAIKBko3Z7e2sb4t3dXdUaNSRQX19PXV1d
+ Fj8NxMxEAtg6TQ5CVVWVkoybz+ez+a2tranWqG1vb1Ntba2UW1tbbf6KOiQwkVBpoaenR0R0Gxsbs/gU
+ FRXRw8ODao3a6OgoNTc3S3lyctLirzGBBHCImBqFmZkZEdGtra3tqb2kpIQODw9VS9wqKipocXFRygsL
+ CxZNDR8SuE6otLCzsyMiuh0dHdHBwYH8Jj45bGhoiEpLS9U/Io/HY9RmrpFA0sMmPz+fIpGIknFmseV3
+ cnKiaoja29tt2or7lAk0NDQoiT/b3t6ezHr000dta2vLpqshCSR9BRjKRJufn6fKykpqbGykpqYmCVpd
+ XU3FxcXU0dEh27JuaDNpK+QVJJ2EKysrSiZuEOzu7qa5uTmZ3VNTU7SxsWF8VSmGPoZMQuMyxNK6vLxU
+ UlE7Pz+nsrIyOXhSGYYdq8Ckm4AsQ+NGhKWWaEtLS1RTUyPlm5sb2SP6+vqov7+fBgYGZGQw+016SZCN
+ yLgVe71eCaRbb28vdXZ2Snl1ddXinwYhRrZigIPB4uB2uyXQ3d0dXVxc0NnZGRUWFtLy8rLUDw8PW/zT
+ 4OkwAjgabcdxXl4e5ebmUnl5ucwJDHXMsM0m+v8FiPWOcXYh0TcV2OPjIxUUFBh9HeJmJK6eAK5JuC7Z
+ Ouzv70tgvA4YTj6Tn0MQ4xVjSwA866U0xrNey2MgS+PrSBNoWZ48hq1CA59TmJhJL6sOQN+0Ps10sFxw
+ acXGYQpi4heDdS5LLRXGyiTgk/sD42G+MphQeEKAMurQBh+Hn+eujN8Y1hAMZdztIwAAAABJRU5ErkJg
+ gg==
+
+
+
+
+ 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
+ GfCAU20aAAAAAElFTkSuQmCC
+
+
+
+
+ iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAALGeYUxB9wAAACBjSFJNAACH
+ EAAAjBIAAP1NAACBPgAAWesAARIPAAA85gAAGc66ySIyAAABJmlDQ1BBZG9iZSBSR0IgKDE5OTgpAAAo
+ z2NgYDJwdHFyZRJgYMjNKykKcndSiIiMUmA/z8DGwMwABonJxQWOAQE+IHZefl4qAwb4do2BEURf1gWZ
+ xUAa4EouKCoB0n+A2CgltTiZgYHRAMjOLi8pAIozzgGyRZKywewNIHZRSJAzkH0EyOZLh7CvgNhJEPYT
+ ELsI6Akg+wtIfTqYzcQBNgfClgGxS1IrQPYyOOcXVBZlpmeUKBhaWloqOKbkJ6UqBFcWl6TmFit45iXn
+ FxXkFyWWpKYA1ULcBwaCEIWgENMAarTQZKAyAMUDhPU5EBy+jGJnEGIIkFxaVAZlMjIZE+YjzJgjwcDg
+ v5SBgeUPQsykl4FhgQ4DA/9UhJiaIQODgD4Dw745AMDGT/0ZOjZcAAAACXBIWXMAAAsMAAALDAE/QCLI
+ AAADNElEQVRYR8WXwUtbQRDGPbal/hVtISZVkgqCoAnm4sl6tCQXLzkYCHjxIGiQ5qLFHsQekrQX60Eb
+ vIl486yFpM1JBMUqiG0DnpJSqzidb9mE997O05dEcOBHktndbyZvd3b3dfh8Pq88ZcaYLLPL/GL+avAd
+ PrShD/pKGgai08Fz5iNTZcgj6IsxGCtpNhCdmkfMPHPJSEG8gLELDLSkGK4JPGO+MZJoK0BLfBqGg3nF
+ /GQkoXaAJrRt8Ww/GGT5m5EE7gNo256ENfhj5jtjGxSNRqlSqVChUKDo0JCtrauri7q7u9Wn1T88PEzb
+ 29t0fHxM/f39tjamzCCWkQAWi7MzLcwvUN1qtRqtra1RPp+nra0tKhaL9OPkhL7u7dHm5iZls1na2Nig
+ q6srPYJoenra0GQQy5YAFt0/xug8MzOjpZq3m5sbSqVShiaDWGoq6gmgZqWOFIvFtFxr9npkRNRlPjEq
+ gU5G3GR6e3upVCppqdZsZ2eHAoGAoc0gZicSwNYpdVDzdx82MTEh6jNjSCDvcDZYWlrSEu1ZOp0W9Zk8
+ EsAhIjXSh+VlLdGezc3NifrMLhKoOJwNMm8zWqI9m5ycFPWZChJwPWzi8biWaN1QiqOjo6I+c3lrAgA7
+ Wju2uvpZ1NWoBFynAKAUDw8PtVxzhhLu6ekRdTVqCsRFOD4+TqFQSH1HHU9NTdHp6amWdjF+3NfX13Rw
+ cECJRIL8fr+h60AtQrEMV1ZWqFwuUzAYNNoyGXlxJpNJo+8dqDJ03YhyuRwdHR2pabD6cTJK9n5x0dbP
+ A2ojct2KX/Kj39/fV+Lp2VmKx+L0ZX1d/Zbs/PycwuGwoeNCjVFbMcDBIHWiSCTieREigcHBQVFHoHEY
+ ARyN4nEMsAiRCC4fqOmLiwsd0m5nZ2c0MDAgajhArBfM3RcSJ7jtVKtVHdJuTUzBO0bFtSaAaxKuS9KA
+ BriiIRAMidSBYar6+vrEcRYQ4wljJAAe9FJa50Gv5XWQ5Z3T0QTQsv3zOobDAl6nsDBdq8MDGNvSq5kV
+ lAsurdg4pCASfxjUuSq12xCdLuCV+w2TY/YYLCj8Q4Dv8KENfTy+nvs6/gPPcHq613NeWQAAAABJRU5E
+ rkJggg==
+
+
+
- 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
+ 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
+ vp4Hxn4DLP3gQugK66gAAAAASUVORK5CYII=
-
- 904, 44
-
-
- Items can have custom icons and position.
-They can also be hidden, accessible only
-by pressing the SHIFT key.
-
-It can also create custom commands
-for Run Dialog, making it easy to launch
-any application only by typing your desired keyword.
+
+
+ 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
+
796, 44
@@ -749,7 +749,7 @@ any application only by typing your desired keyword.
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAC0
- GgAAAk1TRnQBSQFMAgEBCQEAAQgBDwEIAQ8BIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
+ GgAAAk1TRnQBSQFMAgEBCQEAASgBDwEoAQ8BIAEAASABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAGA
AwABYAMAAQEBAAEgBgABwP8A/wD/AP8A/wD/AP8A/wAeAANHAYB0//8AiQADRwGAdP//AIkAAyoBQANH
AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANH
AYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGAA0cBgANHAYADRwGA/wD/AP8A
diff --git a/Optimizer/Forms/SplashForm.cs b/Optimizer/Forms/SplashForm.cs
index 8654adc0..73f8a252 100644
--- a/Optimizer/Forms/SplashForm.cs
+++ b/Optimizer/Forms/SplashForm.cs
@@ -13,7 +13,7 @@ public SplashForm()
LoadingStatus.Font = FontHelper.Poppins15;
- pictureBox2.BackColor = Options.CurrentOptions.Theme;
+ pictureBox2.BackColor = OptionsHelper.CurrentOptions.Theme;
}
}
}
diff --git a/Optimizer/Forms/StartupPreviewForm.cs b/Optimizer/Forms/StartupPreviewForm.cs
index 299d73d2..c66a7395 100644
--- a/Optimizer/Forms/StartupPreviewForm.cs
+++ b/Optimizer/Forms/StartupPreviewForm.cs
@@ -10,17 +10,17 @@ public sealed partial class StartupPreviewForm : Form
{
string _token = string.Empty;
- public StartupPreviewForm(List items)
+ public StartupPreviewForm(List items)
{
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;
- Options.ApplyTheme(this);
+ OptionsHelper.ApplyTheme(this);
// translate UI elements
- if (Options.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
+ if (OptionsHelper.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
- foreach (StartupBackupItem x in items)
+ foreach (BackupStartupItem x in items)
{
if (File.Exists(SanitizePath(x.FileLocation)))
{
@@ -37,9 +37,9 @@ public StartupPreviewForm(List items)
private void Translate()
{
- this.Text = Options.TranslationList["StartupPreviewForm"];
+ this.Text = OptionsHelper.TranslationList["StartupPreviewForm"];
- Dictionary translationList = Options.TranslationList.ToObject>();
+ Dictionary translationList = OptionsHelper.TranslationList.ToObject>();
Control element;
diff --git a/Optimizer/Forms/StartupRestoreForm.cs b/Optimizer/Forms/StartupRestoreForm.cs
index 92c9557e..e1bd6b75 100644
--- a/Optimizer/Forms/StartupRestoreForm.cs
+++ b/Optimizer/Forms/StartupRestoreForm.cs
@@ -17,10 +17,10 @@ public StartupRestoreForm()
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;
- Options.ApplyTheme(this);
+ OptionsHelper.ApplyTheme(this);
// translate UI elements
- if (Options.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
+ if (OptionsHelper.CurrentOptions.LanguageCode != LanguageCode.EN) Translate();
RefreshBackups();
}
@@ -43,9 +43,9 @@ private void RefreshBackups()
private void Translate()
{
- this.Text = Options.TranslationList["StartupRestoreForm"];
+ this.Text = OptionsHelper.TranslationList["StartupRestoreForm"];
- Dictionary translationList = Options.TranslationList.ToObject>();
+ Dictionary translationList = OptionsHelper.TranslationList.ToObject>();
Control element;
@@ -90,7 +90,7 @@ private void ShowPreview()
{
if (listRestoreItems.SelectedIndex > -1)
{
- List backup = JsonConvert.DeserializeObject>(File.ReadAllText(_backups[listRestoreItems.SelectedIndex]));
+ List backup = JsonConvert.DeserializeObject>(File.ReadAllText(_backups[listRestoreItems.SelectedIndex]));
StartupPreviewForm f = new StartupPreviewForm(backup);
f.ShowDialog(this);
}
@@ -111,12 +111,12 @@ private void button1_Click(object sender, EventArgs e)
{
if (listRestoreItems.SelectedIndex > -1)
{
- List backup = JsonConvert.DeserializeObject>(File.ReadAllText(_backups[listRestoreItems.SelectedIndex]));
+ List backup = JsonConvert.DeserializeObject>(File.ReadAllText(_backups[listRestoreItems.SelectedIndex]));
string keyPath = string.Empty;
RegistryKey hive = null;
- foreach (StartupBackupItem x in backup)
+ foreach (BackupStartupItem x in backup)
{
if (x.RegistryLocation == StartupItemLocation.HKLM.ToString())
{
diff --git a/Optimizer/Forms/SubForm.Designer.cs b/Optimizer/Forms/SubForm.Designer.cs
index 30fc946d..14fe157a 100644
--- a/Optimizer/Forms/SubForm.Designer.cs
+++ b/Optimizer/Forms/SubForm.Designer.cs
@@ -50,7 +50,7 @@ private void InitializeComponent()
this.txtInfo.ReadOnly = true;
this.txtInfo.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical;
this.txtInfo.ShortcutsEnabled = false;
- this.txtInfo.Size = new System.Drawing.Size(391, 372);
+ this.txtInfo.Size = new System.Drawing.Size(391, 321);
this.txtInfo.TabIndex = 0;
this.txtInfo.Text = "";
//
@@ -62,7 +62,7 @@ private void InitializeComponent()
this.panel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.panel1.Location = new System.Drawing.Point(0, 0);
this.panel1.Name = "panel1";
- this.panel1.Size = new System.Drawing.Size(415, 396);
+ this.panel1.Size = new System.Drawing.Size(415, 345);
this.panel1.TabIndex = 1;
//
// btnStart
@@ -77,7 +77,7 @@ private void InitializeComponent()
this.btnStart.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnStart.Font = new System.Drawing.Font("Segoe UI Semibold", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnStart.ForeColor = System.Drawing.Color.White;
- this.btnStart.Location = new System.Drawing.Point(336, 352);
+ this.btnStart.Location = new System.Drawing.Point(336, 301);
this.btnStart.Margin = new System.Windows.Forms.Padding(2);
this.btnStart.Name = "btnStart";
this.btnStart.Size = new System.Drawing.Size(67, 31);
@@ -94,7 +94,7 @@ private void InitializeComponent()
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(30)))), ((int)(((byte)(30)))));
this.CancelButton = this.btnStart;
- this.ClientSize = new System.Drawing.Size(415, 396);
+ this.ClientSize = new System.Drawing.Size(415, 345);
this.ControlBox = false;
this.Controls.Add(this.panel1);
this.DoubleBuffered = true;
diff --git a/Optimizer/Forms/SubForm.cs b/Optimizer/Forms/SubForm.cs
index d589c9c6..c7b1f80f 100644
--- a/Optimizer/Forms/SubForm.cs
+++ b/Optimizer/Forms/SubForm.cs
@@ -11,7 +11,7 @@ public SubForm()
CheckForIllegalCrossThreadCalls = false;
this.DoubleBuffered = true;
- Options.ApplyTheme(this);
+ OptionsHelper.ApplyTheme(this);
btnStart.Focus();
btnStart.Select();
@@ -31,7 +31,7 @@ private void btnStart_Click(object sender, EventArgs e)
private void SubForm_Load(object sender, EventArgs e)
{
- Options.ApplyTheme(this);
+ OptionsHelper.ApplyTheme(this);
}
}
}
diff --git a/Optimizer/Forms/UpdateForm.cs b/Optimizer/Forms/UpdateForm.cs
index d5539336..39a92acb 100644
--- a/Optimizer/Forms/UpdateForm.cs
+++ b/Optimizer/Forms/UpdateForm.cs
@@ -10,17 +10,17 @@ public UpdateForm(string message, bool newUpdate, string changelog, string lates
{
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;
- Options.ApplyTheme(this);
+ OptionsHelper.ApplyTheme(this);
txtMessage.Text = message;
if (newUpdate)
{
this.Size = new Size(600, 545);
- btnOK.Text = Options.TranslationList["btnYes"].ToString();
- btnNo.Text = Options.TranslationList["btnNo"].ToString();
+ btnOK.Text = OptionsHelper.TranslationList["btnYes"].ToString();
+ btnNo.Text = OptionsHelper.TranslationList["btnNo"].ToString();
btnNo.Visible = true;
- txtChanges.Text = Options.TranslationList["btnChangelog"].ToString();
+ txtChanges.Text = OptionsHelper.TranslationList["btnChangelog"].ToString();
txtVersions.Text = $"{Program.GetCurrentVersionTostring()} → {latestVersion}";
txtVersions.Visible = true;
@@ -34,7 +34,7 @@ public UpdateForm(string message, bool newUpdate, string changelog, string lates
else
{
this.Size = new Size(600, 188);
- btnOK.Text = Options.TranslationList["btnAbout"].ToString();
+ btnOK.Text = OptionsHelper.TranslationList["btnAbout"].ToString();
btnNo.Visible = false;
txtVersions.Visible = false;
diff --git a/Optimizer/HostsHelper.cs b/Optimizer/HostsHelper.cs
index d16ea919..7aa48f40 100644
--- a/Optimizer/HostsHelper.cs
+++ b/Optimizer/HostsHelper.cs
@@ -27,7 +27,7 @@ internal static void RestoreDefaultHosts()
catch (Exception ex)
{
Logger.LogError("HostsHelper.RestoreDefaultHosts", ex.Message, ex.StackTrace);
- MessageBox.Show(Options.TranslationList("dnsCacheM").ToString(), "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ MessageBox.Show(OptionsHelper.TranslationList("dnsCacheM").ToString(), "Optimizer", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
@@ -93,7 +93,7 @@ internal static void SaveHosts(string[] lines)
catch (Exception ex)
{
Logger.LogError("HostsHelper.SaveHosts", ex.Message, ex.StackTrace);
- MessageBox.Show(Options.TranslationList("dnsCacheM").ToString(), "DNS Cache is running", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ MessageBox.Show(OptionsHelper.TranslationList("dnsCacheM").ToString(), "DNS Cache is running", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
@@ -124,7 +124,7 @@ internal static void AddEntry(string entry)
catch (Exception ex)
{
Logger.LogError("HostsHelper.AddEntry", ex.Message, ex.StackTrace);
- MessageBox.Show(Options.TranslationList("dnsCacheM").ToString(), "DNS Cache is running", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ MessageBox.Show(OptionsHelper.TranslationList("dnsCacheM").ToString(), "DNS Cache is running", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
@@ -137,7 +137,7 @@ internal static void RemoveEntry(string entry)
catch (Exception ex)
{
Logger.LogError("HostsHelper.RemoveEntry", ex.Message, ex.StackTrace);
- MessageBox.Show(Options.TranslationList("dnsCacheM").ToString(), "DNS Cache is running", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ MessageBox.Show(OptionsHelper.TranslationList("dnsCacheM").ToString(), "DNS Cache is running", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
@@ -165,7 +165,7 @@ internal static void RemoveAllEntries(List collection)
catch (Exception ex)
{
Logger.LogError("HostsHelper.RemoveAllEntries", ex.Message, ex.StackTrace);
- MessageBox.Show(Options.TranslationList("dnsCacheM").ToString(), "DNS Cache is running", MessageBoxButtons.OK, MessageBoxIcon.Information);
+ MessageBox.Show(OptionsHelper.TranslationList("dnsCacheM").ToString(), "DNS Cache is running", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
@@ -188,7 +188,6 @@ internal static bool GetReadOnly()
}
}
- // edit read-only attibute
internal static void ReadOnly(bool enable)
{
try
diff --git a/Optimizer/IntegratorHelper.cs b/Optimizer/IntegratorHelper.cs
index a7a44219..a86799a3 100644
--- a/Optimizer/IntegratorHelper.cs
+++ b/Optimizer/IntegratorHelper.cs
@@ -13,11 +13,6 @@ public static class IntegratorHelper
{
internal static string FolderDefaultIcon = @"%systemroot%\system32\imageres.dll,-112";
- private static T DirectCast(object o)
- {
- return (T)o;
- }
-
internal static void CreateCustomCommand(string file, string keyword)
{
if (!keyword.EndsWith(".exe"))
diff --git a/Optimizer/FeedApp.cs b/Optimizer/Models/AppInfo.cs
similarity index 90%
rename from Optimizer/FeedApp.cs
rename to Optimizer/Models/AppInfo.cs
index a895ee69..7277fceb 100644
--- a/Optimizer/FeedApp.cs
+++ b/Optimizer/Models/AppInfo.cs
@@ -1,6 +1,6 @@
namespace Optimizer
{
- public sealed class FeedApp
+ public sealed class AppInfo
{
public string Title { get; set; }
public string Link64 { get; set; }
diff --git a/Optimizer/Enums.cs b/Optimizer/Models/Enums.cs
similarity index 89%
rename from Optimizer/Enums.cs
rename to Optimizer/Models/Enums.cs
index 8f8a1273..5f48748a 100644
--- a/Optimizer/Enums.cs
+++ b/Optimizer/Models/Enums.cs
@@ -17,7 +17,8 @@ internal enum WindowsVersion
public enum StartupItemLocation
{
- Folder,
+ LMStartupFolder,
+ CUStartupFolder,
HKLM,
HKLMWoW,
HKCU
@@ -107,17 +108,8 @@ public enum LanguageCode
NL, // dutch
UA, // ukrainian
JA, // japanese
- FA, //farsi
- NE //nepali
- }
-
- public enum KnownFolder
- {
- Contacts,
- Downloads,
- Favorites,
- Links,
- SavedGames,
- SavedSearches
+ FA, // farsi
+ NE, // nepali
+ BG // bulgarian
}
}
diff --git a/Optimizer/HardwareModel.cs b/Optimizer/Models/Hardware.cs
similarity index 100%
rename from Optimizer/HardwareModel.cs
rename to Optimizer/Models/Hardware.cs
diff --git a/Optimizer/Models/Options.cs b/Optimizer/Models/Options.cs
new file mode 100644
index 00000000..638660f3
--- /dev/null
+++ b/Optimizer/Models/Options.cs
@@ -0,0 +1,102 @@
+using System;
+using System.Drawing;
+
+namespace Optimizer
+{
+ [Serializable]
+ public sealed class Options
+ {
+ public Color Theme { get; set; }
+ public string AppsFolder { get; set; }
+ public bool EnableTray { get; set; }
+ public bool AutoStart { get; set; }
+ public string InternalDNS { get; set; }
+ public bool DisableIndicium { get; set; }
+ public bool DisableAppsTool { get; set; }
+ public bool DisableHostsEditor { get; set; }
+ public bool DisableUWPApps { get; set; }
+ public bool DisableStartupTool { get; set; }
+ public bool DisableCleaner { get; set; }
+ public bool DisableIntegrator { get; set; }
+ public bool DisablePinger { get; set; }
+ //public string TelemetryClientID { get; set; }
+ //public bool DisableOptimizerTelemetry { get; set; }
+
+ public LanguageCode LanguageCode { get; set; }
+
+ // universal
+ public bool EnablePerformanceTweaks { get; set; }
+ public bool DisableNetworkThrottling { get; set; }
+ public bool DisableWindowsDefender { get; set; }
+ public bool DisableSystemRestore { get; set; }
+ public bool DisablePrintService { get; set; }
+ public bool DisableMediaPlayerSharing { get; set; }
+ public bool DisableErrorReporting { get; set; }
+ public bool DisableHomeGroup { get; set; }
+ public bool DisableSuperfetch { get; set; }
+ public bool DisableTelemetryTasks { get; set; }
+ public bool DisableCompatibilityAssistant { get; set; }
+ public bool DisableFaxService { get; set; }
+ public bool DisableSmartScreen { get; set; }
+ public bool DisableCloudClipboard { get; set; }
+ public bool DisableStickyKeys { get; set; }
+ public bool DisableHibernation { get; set; }
+ public bool DisableSMB1 { get; set; }
+ public bool DisableSMB2 { get; set; }
+ public bool DisableNTFSTimeStamp { get; set; }
+ public bool DisableSearch { get; set; }
+
+ // apps telemetry
+ public bool DisableOffice2016Telemetry { get; set; }
+ public bool DisableVisualStudioTelemetry { get; set; }
+ public bool DisableFirefoxTemeletry { get; set; }
+ public bool DisableChromeTelemetry { get; set; }
+ public bool DisableNVIDIATelemetry { get; set; }
+
+ // edge
+ public bool DisableEdgeDiscoverBar { get; set; }
+ public bool DisableEdgeTelemetry { get; set; }
+
+ // windows 8
+ public bool DisableOneDrive { get; set; }
+
+ // windows 10
+ public bool EnableLegacyVolumeSlider { get; set; }
+ public bool DisableQuickAccessHistory { get; set; }
+ public bool DisableStartMenuAds { get; set; }
+ public bool UninstallOneDrive { get; set; }
+ public bool DisableMyPeople { get; set; }
+ public bool DisableAutomaticUpdates { get; set; }
+ public bool ExcludeDrivers { get; set; }
+ public bool DisableTelemetryServices { get; set; }
+ public bool DisablePrivacyOptions { get; set; }
+ public bool DisableCortana { get; set; }
+ public bool DisableSensorServices { get; set; }
+ public bool DisableWindowsInk { get; set; }
+ public bool DisableSpellingTyping { get; set; }
+ public bool DisableXboxLive { get; set; }
+ public bool DisableGameBar { get; set; }
+ public bool DisableInsiderService { get; set; }
+ public bool DisableStoreUpdates { get; set; }
+ public bool EnableLongPaths { get; set; }
+ public bool RemoveCastToDevice { get; set; }
+ public bool EnableGamingMode { get; set; }
+ public bool RestoreClassicPhotoViewer { get; set; }
+
+ // windows 11
+ public bool TaskbarToLeft { get; set; }
+ public bool DisableSnapAssist { get; set; }
+ public bool DisableWidgets { get; set; }
+ public bool DisableChat { get; set; }
+ public bool ClassicMenu { get; set; }
+ public bool DisableTPMCheck { get; set; }
+ public bool CompactMode { get; set; }
+ public bool DisableStickers { get; set; }
+ public bool DisableVBS { get; set; }
+ public bool DisableCoPilotAI { get; set; }
+
+ // advanced
+ public bool DisableHPET { get; set; }
+ public bool EnableLoginVerbose { get; set; }
+ }
+}
diff --git a/Optimizer/SilentConfig.cs b/Optimizer/Models/SilentConfig.cs
similarity index 99%
rename from Optimizer/SilentConfig.cs
rename to Optimizer/Models/SilentConfig.cs
index 933db4a1..59a05dfd 100644
--- a/Optimizer/SilentConfig.cs
+++ b/Optimizer/Models/SilentConfig.cs
@@ -279,5 +279,6 @@ public sealed class Tweaks
public bool? CompactMode { get; set; }
public bool? DisableStickers { get; set; }
public bool? DisableVirtualizationBasedTechnology { get; set; }
+ public bool? DisableCoPilotAI { get; set; }
}
}
diff --git a/Optimizer/Models/StartupBackupItem.cs b/Optimizer/Models/StartupBackupItem.cs
new file mode 100644
index 00000000..fa0de665
--- /dev/null
+++ b/Optimizer/Models/StartupBackupItem.cs
@@ -0,0 +1,21 @@
+using System;
+
+namespace Optimizer
+{
+ [Serializable]
+ public sealed class BackupStartupItem
+ {
+ public string Name { get; set; }
+ public string FileLocation { get; set; }
+ public string RegistryLocation { get; set; }
+ public string StartupType { get; set; }
+
+ public BackupStartupItem(string name, string fileLocation, string registryLocation, string startupType)
+ {
+ Name = name;
+ FileLocation = fileLocation;
+ RegistryLocation = registryLocation;
+ StartupType = startupType;
+ }
+ }
+}
diff --git a/Optimizer/StartupItem.cs b/Optimizer/Models/StartupItem.cs
similarity index 96%
rename from Optimizer/StartupItem.cs
rename to Optimizer/Models/StartupItem.cs
index f62ef3b3..228ff27d 100644
--- a/Optimizer/StartupItem.cs
+++ b/Optimizer/Models/StartupItem.cs
@@ -17,7 +17,7 @@ internal virtual void LocateKey() { }
public override string ToString()
{
- if (RegistryLocation == StartupItemLocation.Folder) return RegistryLocation.ToString();
+ if (RegistryLocation == StartupItemLocation.LMStartupFolder) return RegistryLocation.ToString();
return string.Format("{0}:{1}", RegistryLocation, StartupType);
}
}
diff --git a/Optimizer/TelemetryData.cs b/Optimizer/Models/TelemetryData.cs
similarity index 100%
rename from Optimizer/TelemetryData.cs
rename to Optimizer/Models/TelemetryData.cs
diff --git a/Optimizer/OptimizeHelper.cs b/Optimizer/OptimizeHelper.cs
index 413ef2f1..814ac7c0 100644
--- a/Optimizer/OptimizeHelper.cs
+++ b/Optimizer/OptimizeHelper.cs
@@ -15,8 +15,21 @@ internal static void DisableTelemetryRunner()
Utilities.PreventProcessFromRunning("DeviceCensus.exe");
}
- internal static void EnablePerformanceTweaks()
+ internal static void EnablePerformanceTweaks(bool showAllTrayIcons = true, bool noDelayForMenus = true)
{
+ // show all tray icons
+ if (showAllTrayIcons)
+ {
+ Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer", "EnableAutoTray", "0", RegistryValueKind.DWord);
+ }
+
+ // no delay when menus showing up
+ if (noDelayForMenus)
+ {
+ Registry.SetValue("HKEY_CURRENT_USER\\Control Panel\\Desktop", "MenuShowDelay", "0");
+ Registry.SetValue("HKEY_CURRENT_USER\\Control Panel\\Mouse", "MouseHoverTime", "0");
+ }
+
// enable auto-complete in Run Dialog
Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoComplete", "Append Completion", "yes", RegistryValueKind.String);
Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoComplete", "AutoSuggest", "yes", RegistryValueKind.String);
@@ -24,9 +37,6 @@ internal static void EnablePerformanceTweaks()
// reduce dump file size
Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl", "CrashDumpEnabled", 3, RegistryValueKind.DWord);
- // show all tray icons
- //Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer", "EnableAutoTray", "0", RegistryValueKind.DWord);
-
// disable Remote Assistance
Registry.SetValue(@"HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Remote Assistance", "fAllowToGetHelp", "0", RegistryValueKind.DWord);
@@ -38,10 +48,8 @@ internal static void EnablePerformanceTweaks()
Registry.SetValue("HKEY_CURRENT_USER\\Control Panel\\Desktop", "AutoEndTasks", "1");
Registry.SetValue("HKEY_CURRENT_USER\\Control Panel\\Desktop", "HungAppTimeout", "1000");
- Registry.SetValue("HKEY_CURRENT_USER\\Control Panel\\Desktop", "MenuShowDelay", "0");
Registry.SetValue("HKEY_CURRENT_USER\\Control Panel\\Desktop", "WaitToKillAppTimeout", "2000");
Registry.SetValue("HKEY_CURRENT_USER\\Control Panel\\Desktop", "LowLevelHooksTimeout", "1000");
- Registry.SetValue("HKEY_CURRENT_USER\\Control Panel\\Mouse", "MouseHoverTime", "0");
Registry.SetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", "NoLowDiskSpaceChecks", "00000001", RegistryValueKind.DWord);
Registry.SetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", "LinkResolveIgnoreLinkInfo", "00000001", RegistryValueKind.DWord);
Registry.SetValue("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Policies\\Explorer", "NoResolveSearch", "00000001", RegistryValueKind.DWord);
@@ -94,7 +102,7 @@ internal static void DisablePerformanceTweaks()
Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl", "CrashDumpEnabled", 7, RegistryValueKind.DWord);
// hide tray icons
- //Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Explorer", true).DeleteValue("EnableAutoTray", false);
+ Utilities.TryDeleteRegistryValue(false, @"Software\Microsoft\Windows\CurrentVersion\Explorer", "EnableAutoTray");
// enable Remote Assistance
Registry.SetValue(@"HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Remote Assistance", "fAllowToGetHelp", "1", RegistryValueKind.DWord);
@@ -929,8 +937,13 @@ internal static void EnableOffice2016Telemetry()
Utilities.ImportRegistryScript(CoreHelper.ScriptsFolder + "EnableOfficeTelemetryTasks.reg");
}
- internal static void EnhancePrivacy()
+ internal static void EnhancePrivacy(bool disableNewsAndInterest = true)
{
+ if (disableNewsAndInterest)
+ {
+ Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Feeds", "EnableFeeds", 0);
+ }
+
Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager", "RotatingLockScreenOverlayEnabled", "0", RegistryValueKind.DWord);
Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager", "RotatingLockScreenEnabled", "0", RegistryValueKind.DWord);
Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ContentDeliveryManager", "DisableWindowsSpotlightFeatures", "1", RegistryValueKind.DWord);
@@ -938,7 +951,6 @@ internal static void EnhancePrivacy()
Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\CloudContent", "DisableCloudOptimizedContent", 1);
Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\DataCollection", "DoNotShowFeedbackNotifications", 1);
- Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Feeds", "EnableFeeds", 0);
Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\AdvertisingInfo", "Enabled", 0);
Registry.SetValue(@"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PolicyManager\current\device\Bluetooth", "AllowAdvertising", 0);
@@ -1618,7 +1630,7 @@ internal static void DisableWidgets()
internal static void EnableWidgets()
{
- Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "TaskbarDa", "1", RegistryValueKind.DWord);
+ Utilities.TryDeleteRegistryValue(false, @"Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "TaskbarDa");
}
internal static void DisableChat()
@@ -1628,7 +1640,7 @@ internal static void DisableChat()
internal static void EnableChat()
{
- Registry.SetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "TaskbarMn", "1", RegistryValueKind.DWord);
+ Utilities.TryDeleteRegistryValue(false, @"Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced", "TaskbarMn");
}
// DEPRECATED
@@ -1759,6 +1771,16 @@ internal static void EnableEdgeTelemetry()
Utilities.TryDeleteRegistryValue(false, @"SOFTWARE\Policies\Microsoft\Edge", "SpotlightExperiencesAndRecommendationsEnabled");
}
+ internal static void DisableCoPilotAI()
+ {
+ Registry.SetValue(@"HKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\WindowsCopilot", "TurnOffWindowsCopilot", "1", RegistryValueKind.DWord);
+ }
+
+ internal static void EnableCoPilotAI()
+ {
+ Utilities.TryDeleteRegistryValue(false, @"Software\Policies\Microsoft\Windows\WindowsCopilot", "TurnOffWindowsCopilot");
+ }
+
/* Apps-specific tweaks */
// VISUAL STUDIO TELEMETRY
diff --git a/Optimizer/Optimizer.csproj b/Optimizer/Optimizer.csproj
index 14213118..778c6d22 100644
--- a/Optimizer/Optimizer.csproj
+++ b/Optimizer/Optimizer.csproj
@@ -112,6 +112,7 @@
ToggleCard.cs
+
@@ -134,7 +135,7 @@
-
+
@@ -146,7 +147,7 @@
Component
-
+
Form
@@ -177,7 +178,7 @@
UpdateForm.cs
-
+
Form
@@ -201,10 +202,11 @@
MainForm.cs
+
-
+
@@ -214,7 +216,7 @@
Resources.resx
-
+
Form
@@ -234,13 +236,12 @@
StartupRestoreForm.cs
-
+
-
-
+
+
-
-
+
@@ -303,6 +304,7 @@
True
+
@@ -379,6 +381,7 @@
+
diff --git a/Optimizer/Options.cs b/Optimizer/OptionsHelper.cs
similarity index 71%
rename from Optimizer/Options.cs
rename to Optimizer/OptionsHelper.cs
index a04b17cb..a43d95c0 100644
--- a/Optimizer/Options.cs
+++ b/Optimizer/OptionsHelper.cs
@@ -8,123 +8,24 @@
namespace Optimizer
{
- [Serializable]
- public sealed class SettingsJson
+ internal static class OptionsHelper
{
- public Color Theme { get; set; }
- public string AppsFolder { get; set; }
- public bool EnableTray { get; set; }
- public bool AutoStart { get; set; }
- public string InternalDNS { get; set; }
- public bool DisableIndicium { get; set; }
- public bool DisableAppsTool { get; set; }
- public bool DisableHostsEditor { get; set; }
- public bool DisableUWPApps { get; set; }
- public bool DisableStartupTool { get; set; }
- public bool DisableCleaner { get; set; }
- public bool DisableIntegrator { get; set; }
- public bool DisablePinger { get; set; }
- //public string TelemetryClientID { get; set; }
- //public bool DisableOptimizerTelemetry { get; set; }
-
- public LanguageCode LanguageCode { get; set; }
-
- // universal
- public bool EnablePerformanceTweaks { get; set; }
- public bool DisableNetworkThrottling { get; set; }
- public bool DisableWindowsDefender { get; set; }
- public bool DisableSystemRestore { get; set; }
- public bool DisablePrintService { get; set; }
- public bool DisableMediaPlayerSharing { get; set; }
- public bool DisableErrorReporting { get; set; }
- public bool DisableHomeGroup { get; set; }
- public bool DisableSuperfetch { get; set; }
- public bool DisableTelemetryTasks { get; set; }
- public bool DisableCompatibilityAssistant { get; set; }
- public bool DisableFaxService { get; set; }
- public bool DisableSmartScreen { get; set; }
- public bool DisableCloudClipboard { get; set; }
- public bool DisableStickyKeys { get; set; }
- public bool DisableHibernation { get; set; }
- public bool DisableSMB1 { get; set; }
- public bool DisableSMB2 { get; set; }
- public bool DisableNTFSTimeStamp { get; set; }
- public bool DisableSearch { get; set; }
-
- // apps telemetry
- public bool DisableOffice2016Telemetry { get; set; }
- public bool DisableVisualStudioTelemetry { get; set; }
- public bool DisableFirefoxTemeletry { get; set; }
- public bool DisableChromeTelemetry { get; set; }
- public bool DisableNVIDIATelemetry { get; set; }
-
- // edge
- public bool DisableEdgeDiscoverBar { get; set; }
- public bool DisableEdgeTelemetry { get; set; }
-
- // windows 8
- public bool DisableOneDrive { get; set; }
-
- // windows 10
- public bool EnableLegacyVolumeSlider { get; set; }
- public bool DisableQuickAccessHistory { get; set; }
- public bool DisableStartMenuAds { get; set; }
- public bool UninstallOneDrive { get; set; }
- public bool DisableMyPeople { get; set; }
- public bool DisableAutomaticUpdates { get; set; }
- public bool ExcludeDrivers { get; set; }
- public bool DisableTelemetryServices { get; set; }
- public bool DisablePrivacyOptions { get; set; }
- public bool DisableCortana { get; set; }
- public bool DisableSensorServices { get; set; }
- public bool DisableWindowsInk { get; set; }
- public bool DisableSpellingTyping { get; set; }
- public bool DisableXboxLive { get; set; }
- public bool DisableGameBar { get; set; }
- public bool DisableInsiderService { get; set; }
- public bool DisableStoreUpdates { get; set; }
- public bool EnableLongPaths { get; set; }
- public bool RemoveCastToDevice { get; set; }
- public bool EnableGamingMode { get; set; }
- public bool RestoreClassicPhotoViewer { get; set; }
-
- // windows 11
- public bool TaskbarToLeft { get; set; }
- public bool DisableSnapAssist { get; set; }
- public bool DisableWidgets { get; set; }
- public bool DisableChat { get; set; }
- public bool ClassicMenu { get; set; }
- public bool DisableTPMCheck { get; set; }
- public bool CompactMode { get; set; }
- public bool DisableStickers { get; set; }
- public bool DisableVBS { get; set; }
-
- // advanced
- public bool DisableHPET { get; set; }
- public bool EnableLoginVerbose { get; set; }
- }
-
- internal static class Options
- {
- const int CONTRAST_THRESHOLD = 149;
-
internal static Color ForegroundColor = Color.FromArgb(153, 102, 204);
internal static Color ForegroundAccentColor = Color.FromArgb(134, 89, 179);
internal static Color BackgroundColor = Color.FromArgb(10, 10, 10);
internal static Color BackAccentColor = Color.FromArgb(40, 40, 40);
internal static Color TextColor;
- readonly static string _themeFlag = "themeable";
internal readonly static string SettingsFile = CoreHelper.CoreFolder + "\\Optimizer.json";
- internal static SettingsJson CurrentOptions = new SettingsJson();
+ internal static Options CurrentOptions = new Options();
internal static dynamic TranslationList;
internal static Color GetContrastColor(Color c)
{
double brightness = c.R * 0.299 + c.G * 0.587 + c.B * 0.114;
- return brightness > CONTRAST_THRESHOLD ? Color.Black : Color.White;
+ return brightness > Constants.CONTRAST_THRESHOLD ? Color.Black : Color.White;
}
internal static void ApplyTheme(Form f)
@@ -155,7 +56,7 @@ private static void SetTheme(Form f, Color c1, Color c2)
if (x is LinkLabel)
{
- if ((string)c.Tag == _themeFlag)
+ if ((string)c.Tag == Constants.THEME_FLAG)
{
c.LinkColor = c1;
c.VisitedLinkColor = c1;
@@ -165,7 +66,7 @@ private static void SetTheme(Form f, Color c1, Color c2)
if (x is CheckBox || x is RadioButton || x is Label)
{
- if ((string)c.Tag == _themeFlag)
+ if ((string)c.Tag == Constants.THEME_FLAG)
{
c.ForeColor = c1;
}
@@ -217,20 +118,19 @@ internal static void LoadSettings()
// settings migration for new color picker
if (File.Exists(SettingsFile) && File.ReadAllText(SettingsFile).Contains("\"Color\":"))
{
- SettingsJson tmpJson = JsonConvert.DeserializeObject(File.ReadAllText(SettingsFile));
+ Options tmpJson = JsonConvert.DeserializeObject(File.ReadAllText(SettingsFile));
tmpJson.Theme = Color.FromArgb(153, 102, 204);
CurrentOptions = tmpJson;
}
else
{
// DEFAULT OPTIONS
-
CurrentOptions.Theme = Color.FromArgb(153, 102, 204);
- CurrentOptions.AppsFolder = Path.Combine(KnownFolders.GetPath(KnownFolder.Downloads), Constants.DOWNLOADS_FOLDER);
- Directory.CreateDirectory(Options.CurrentOptions.AppsFolder);
+ CurrentOptions.AppsFolder = Path.Combine(Utilities.GetUserDownloadsFolder(), Constants.DOWNLOADS_FOLDER);
+ Directory.CreateDirectory(OptionsHelper.CurrentOptions.AppsFolder);
CurrentOptions.EnableTray = false;
CurrentOptions.AutoStart = false;
- CurrentOptions.InternalDNS = Constants.InternalDNS;
+ CurrentOptions.InternalDNS = Constants.INTERNAL_DNS;
CurrentOptions.DisableIndicium = false;
CurrentOptions.DisableAppsTool = false;
CurrentOptions.DisableHostsEditor = false;
@@ -306,6 +206,7 @@ internal static void LoadSettings()
CurrentOptions.CompactMode = false;
CurrentOptions.DisableStickers = false;
CurrentOptions.DisableVBS = false;
+ CurrentOptions.DisableCoPilotAI = false;
CurrentOptions.DisableHPET = false;
CurrentOptions.EnableLoginVerbose = false;
@@ -323,7 +224,7 @@ internal static void LoadSettings()
}
else
{
- CurrentOptions = JsonConvert.DeserializeObject(File.ReadAllText(SettingsFile));
+ CurrentOptions = JsonConvert.DeserializeObject(File.ReadAllText(SettingsFile));
}
// prevent options from corruption
@@ -369,6 +270,7 @@ internal static void LoadTranslation()
if (CurrentOptions.LanguageCode == LanguageCode.JA) TranslationList = JObject.Parse(Properties.Resources.JA);
if (CurrentOptions.LanguageCode == LanguageCode.FA) TranslationList = JObject.Parse(Properties.Resources.FA);
if (CurrentOptions.LanguageCode == LanguageCode.NE) TranslationList = JObject.Parse(Properties.Resources.NE);
+ if (CurrentOptions.LanguageCode == LanguageCode.BG) TranslationList = JObject.Parse(Properties.Resources.BG);
}
catch (Exception ex)
{
diff --git a/Optimizer/PingerHelper.cs b/Optimizer/PingerHelper.cs
index cab49064..c4cb28c3 100644
--- a/Optimizer/PingerHelper.cs
+++ b/Optimizer/PingerHelper.cs
@@ -154,7 +154,7 @@ internal static PingReply PingHost(string nameOrAddress)
internal static bool IsInternetAvailable()
{
const int timeout = 1000;
- string host = Options.CurrentOptions.InternalDNS ?? Constants.InternalDNS;
+ string host = OptionsHelper.CurrentOptions.InternalDNS ?? Constants.INTERNAL_DNS;
var ping = new Ping();
var buffer = new byte[32];
diff --git a/Optimizer/Program.cs b/Optimizer/Program.cs
index 1772d97b..7f526c94 100644
--- a/Optimizer/Program.cs
+++ b/Optimizer/Program.cs
@@ -13,7 +13,7 @@ static class Program
/* VERSION PROPERTIES */
/* DO NOT LEAVE THEM EMPTY */
internal readonly static float Major = 15;
- internal readonly static float Minor = 8;
+ internal readonly static float Minor = 9;
internal readonly static bool EXPERIMENTAL_BUILD = false;
/* END OF VERSION PROPERTIES */
@@ -30,7 +30,8 @@ internal static float GetCurrentVersion()
internal static bool SILENT_MODE = false;
internal static int DPI_PREFERENCE;
- // Enables the corresponding Windows tab for Windows Server machines
+ // Enables the corresponding Windows tab for Windows Server machines,
+ // as well as the Advanced tweaks tab
internal static bool UNSAFE_MODE = false;
const string _jsonAssembly = @"Optimizer.Newtonsoft.Json.dll";
@@ -41,8 +42,6 @@ internal static float GetCurrentVersion()
static string _adminMissingMessage = "Optimizer needs to be run as administrator!\nApp will now close...";
static string _unsupportedMessage = "Optimizer works with Windows 7 and higher!\nApp will now close...";
- //static string _renameAppMessage = "It's recommended to rename the app from '{0}' to 'Optimizer' for a better experience.\n\nApp will now close...";
-
static string _confInvalidVersionMsg = "Windows version does not match!";
static string _confInvalidFormatMsg = "Config file is in invalid format!";
static string _confNotFoundMsg = "Config file does not exist!";
@@ -60,9 +59,8 @@ internal static float GetCurrentVersion()
static void Main(string[] switches)
{
AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException;
-
- EmbeddedAssembly.Load(_jsonAssembly, _jsonAssembly.Replace("Optimizer.", string.Empty));
AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve;
+ EmbeddedAssembly.Load(_jsonAssembly, _jsonAssembly.Replace("Optimizer.", string.Empty));
DPI_PREFERENCE = Convert.ToInt32(Microsoft.Win32.Registry.GetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ThemeManager", "LastLoadedDPI", "96"));
if (Environment.OSVersion.Version.Major >= 6) SetProcessDPIAware();
@@ -261,7 +259,7 @@ static void Main(string[] switches)
SILENT_MODE = true;
LoadSettings();
SilentOps.ProcessAllActions();
- Options.SaveSettings();
+ OptionsHelper.SaveSettings();
}
}
else
@@ -279,15 +277,15 @@ private static void CurrentDomain_UnhandledException(object sender, UnhandledExc
private static void LoadSettings()
{
// for backward compatibility (legacy)
- Options.LegacyCheck();
+ OptionsHelper.LegacyCheck();
// load settings, if there is no settings, load defaults
try
{
// show FirstRunForm/Language Selector if app is running first time
- if (!File.Exists(Options.SettingsFile))
+ if (!File.Exists(OptionsHelper.SettingsFile))
{
- Options.LoadSettings();
+ OptionsHelper.LoadSettings();
if (!SILENT_MODE)
{
FirstRunForm frf = new FirstRunForm();
@@ -296,7 +294,7 @@ private static void LoadSettings()
}
else
{
- Options.LoadSettings();
+ OptionsHelper.LoadSettings();
}
//if (!Options.CurrentOptions.DisableOptimizerTelemetry)
@@ -305,13 +303,13 @@ private static void LoadSettings()
//}
// ideal place to replace internal messages from translation list
- _adminMissingMessage = Options.TranslationList["adminMissingMsg"];
- _unsupportedMessage = Options.TranslationList["unsupportedMsg"];
- _confInvalidFormatMsg = Options.TranslationList["confInvalidFormatMsg"];
- _confInvalidVersionMsg = Options.TranslationList["confInvalidVersionMsg"];
- _confNotFoundMsg = Options.TranslationList["confNotFoundMsg"];
- _argInvalidMsg = Options.TranslationList["argInvalidMsg"];
- _alreadyRunningMsg = Options.TranslationList["alreadyRunningMsg"];
+ _adminMissingMessage = OptionsHelper.TranslationList["adminMissingMsg"];
+ _unsupportedMessage = OptionsHelper.TranslationList["unsupportedMsg"];
+ _confInvalidFormatMsg = OptionsHelper.TranslationList["confInvalidFormatMsg"];
+ _confInvalidVersionMsg = OptionsHelper.TranslationList["confInvalidVersionMsg"];
+ _confNotFoundMsg = OptionsHelper.TranslationList["confNotFoundMsg"];
+ _argInvalidMsg = OptionsHelper.TranslationList["argInvalidMsg"];
+ _alreadyRunningMsg = OptionsHelper.TranslationList["alreadyRunningMsg"];
}
catch (Exception ex)
{
diff --git a/Optimizer/Properties/Resources.Designer.cs b/Optimizer/Properties/Resources.Designer.cs
index 5f3af09a..b3b0551a 100644
--- a/Optimizer/Properties/Resources.Designer.cs
+++ b/Optimizer/Properties/Resources.Designer.cs
@@ -61,25 +61,25 @@ internal Resources() {
}
///
- /// Looks up a localized string similar to Windows Registry Editor Version 5.00
- ///
- ///[HKEY_CLASSES_ROOT\Directory\shell\OpenWithCMD]
- ///@="Open Command Prompt here"
- ///"Icon"="cmd.exe"
- ///"NoWorkingDirectory"=""
- ///
- ///[HKEY_CLASSES_ROOT\Directory\shell\OpenWithCMD\command]
- ///@="cmd.exe /s /k pushd \"%V\""
- ///
- ///[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenWithCMD]
- ///@="Open Command Prompt here"
- ///"Icon"="cmd.exe"
- ///"NoWorkingDirectory"=""
- ///
- ///[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenWithCMD\command]
- ///@="cmd.exe /s /k pushd \"%V\""
- ///
- ///[HKEY_CLASSES_ROOT\D [rest of string was truncated]";.
+ /// Looks up a localized string similar to Windows Registry Editor Version 5.00
+ ///
+ ///[HKEY_CLASSES_ROOT\Directory\shell\OpenWithCMD]
+ ///@="Open Command Prompt here"
+ ///"Icon"="cmd.exe"
+ ///"NoWorkingDirectory"=""
+ ///
+ ///[HKEY_CLASSES_ROOT\Directory\shell\OpenWithCMD\command]
+ ///@="cmd.exe /s /k pushd \"%V\""
+ ///
+ ///[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenWithCMD]
+ ///@="Open Command Prompt here"
+ ///"Icon"="cmd.exe"
+ ///"NoWorkingDirectory"=""
+ ///
+ ///[HKEY_CLASSES_ROOT\Directory\Background\shell\OpenWithCMD\command]
+ ///@="cmd.exe /s /k pushd \"%V\""
+ ///
+ ///[HKEY_CLASSES_ROOT\Drive\shell\OpenWit [rest of string was truncated]";.
///
internal static string AddOpenWithCMD {
get {
@@ -121,6 +121,31 @@ internal static System.Drawing.Bitmap banner {
}
}
+ ///
+ /// Looks up a localized string similar to {
+ /// "subSystem": "Система",
+ /// "subPrivacy": "Анонимност",
+ /// "subGaming": "Гейминг",
+ /// "subTouch": "Пипане",
+ /// "subTaskbar": "Лента за задачи",
+ /// "subExtras": "Екстри",
+ /// "btnAbout": "ОК",
+ /// "restartButton": "Рестартирай Сега",
+ /// "restartButton8": "Рестартирай Сега",
+ /// "restartButton10": "Рестартирай Сега",
+ /// "btnFind": "Намери",
+ /// "btnKill": "Убий",
+ /// "trayUnlocker": "Файлови Управители",
+ /// "restartAndApply": "Рестартирай, за да приложиш промените",
+ /// "txtVersion": "Версия: {VN}",
+ /// "txtBitness": "Работиш с [rest of string was truncated]";.
+ ///
+ internal static string BG {
+ get {
+ return ResourceManager.GetString("BG", resourceCulture);
+ }
+ }
+
///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
@@ -131,6 +156,16 @@ internal static System.Drawing.Bitmap brazil {
}
}
+ ///
+ /// Looks up a localized resource of type System.Drawing.Bitmap.
+ ///
+ internal static System.Drawing.Bitmap bulgaria {
+ get {
+ object obj = ResourceManager.GetObject("bulgaria", resourceCulture);
+ return ((System.Drawing.Bitmap)(obj));
+ }
+ }
+
///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
@@ -278,13 +313,14 @@ internal static string DisableClassicPhotoViewer {
}
///
- /// Looks up a localized string similar to rem USE AT OWN RISK AS IS WITHOUT WARRANTY OF ANY KIND !!!!!
- ///
- ///rem https://docs.microsoft.com/en-us/windows-hardware/customize/desktop/unattend/security-malware-windows-defender-disableantispyware
- ///rem "DisableAntiSpyware" is discontinued and will be ignored on client devices, as of the August 2020 (version 4.18.2007.8) update to Microsoft Defender Antivirus.
- ///
- ///rem Disable Tamper Protection First !!!!!
- ///rem https://www.tenforums.com/tutorials/123792-turn-off-tamper-protection-windows-defender-antivirus.ht [rest of string was truncated]";.
+ /// Looks up a localized string similar to rem USE AT OWN RISK AS IS WITHOUT WARRANTY OF ANY KIND !!!!!
+ ///
+ ///rem https://docs.microsoft.com/en-us/windows-hardware/customize/desktop/unattend/security-malware-windows-defender-disableantispyware
+ ///rem "DisableAntiSpyware" is discontinued and will be ignored on client devices, as of the August 2020 (version 4.18.2007.8) update to Microsoft Defender Antivirus.
+ ///
+ ///rem Disable Tamper Protection First !!!!!
+ ///rem https://www.tenforums.com/tutorials/123792-turn-off-tamper-protection-windows-defender-antivirus.html
+ ///reg [rest of string was truncated]";.
///
internal static string DisableDefenderSafeMode1903Plus {
get {
@@ -305,9 +341,9 @@ internal static string DisableDefenderSafeMode1903Plus {
///"visiosolution"=dword:00000001
///"wdsolution"=dword:00000001
///"xlsolution"=dword:00000001
- ///
+ ///
///[HKEY_CURRENT_USER\Software\Policies\microsoft\office\16.0\osm\preventedsolutiontypes]
- ///"agave" [rest of string was truncated]";.
+ ///"agave"= [rest of string was truncated]";.
///
internal static string DisableOfficeTelemetry {
get {
@@ -316,14 +352,14 @@ internal static string DisableOfficeTelemetry {
}
///
- /// Looks up a localized string similar to schtasks /end /tn "\Microsoft\Office\OfficeTelemetryAgentFallBack2016"
- ///schtasks /change /tn "\Microsoft\Office\OfficeTelemetryAgentFallBack2016" /disable
- ///schtasks /end /tn "\Microsoft\Office\OfficeTelemetryAgentLogOn2016"
- ///schtasks /change /tn "\Microsoft\Office\OfficeTelemetryAgentLogOn2016" /disable
- ///
- ///schtasks /end /tn "\Microsoft\Office\OfficeTelemetryAgentFallBack"
- ///schtasks /change /tn "\Microsoft\Office\OfficeTelemetryAgentFallBack" /disable
- ///schtasks /end /tn "\Microsoft\Office\OfficeTelemetryAgen [rest of string was truncated]";.
+ /// Looks up a localized string similar to schtasks /end /tn "\Microsoft\Office\OfficeTelemetryAgentFallBack2016"
+ ///schtasks /change /tn "\Microsoft\Office\OfficeTelemetryAgentFallBack2016" /disable
+ ///schtasks /end /tn "\Microsoft\Office\OfficeTelemetryAgentLogOn2016"
+ ///schtasks /change /tn "\Microsoft\Office\OfficeTelemetryAgentLogOn2016" /disable
+ ///
+ ///schtasks /end /tn "\Microsoft\Office\OfficeTelemetryAgentFallBack"
+ ///schtasks /change /tn "\Microsoft\Office\OfficeTelemetryAgentFallBack" /disable
+ ///schtasks /end /tn "\Microsoft\Office\OfficeTelemetryAgentLogOn" [rest of string was truncated]";.
///
internal static string DisableOfficeTelemetryTasks {
get {
@@ -332,12 +368,12 @@ internal static string DisableOfficeTelemetryTasks {
}
///
- /// Looks up a localized string similar to schtasks /end /tn "\Microsoft\Windows\Customer Experience Improvement Program\Consolidator"
- ///schtasks /change /tn "\Microsoft\Windows\Customer Experience Improvement Program\Consolidator" /disable
- ///schtasks /end /tn "\Microsoft\Windows\Customer Experience Improvement Program\BthSQM"
- ///schtasks /change /tn "\Microsoft\Windows\Customer Experience Improvement Program\BthSQM" /disable
- ///schtasks /end /tn "\Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask"
- ///schtasks /change /tn "\Microsoft\ [rest of string was truncated]";.
+ /// Looks up a localized string similar to schtasks /end /tn "\Microsoft\Windows\Customer Experience Improvement Program\Consolidator"
+ ///schtasks /change /tn "\Microsoft\Windows\Customer Experience Improvement Program\Consolidator" /disable
+ ///schtasks /end /tn "\Microsoft\Windows\Customer Experience Improvement Program\BthSQM"
+ ///schtasks /change /tn "\Microsoft\Windows\Customer Experience Improvement Program\BthSQM" /disable
+ ///schtasks /end /tn "\Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask"
+ ///schtasks /change /tn "\Microsoft\Windo [rest of string was truncated]";.
///
internal static string DisableTelemetryTasks {
get {
@@ -346,10 +382,10 @@ internal static string DisableTelemetryTasks {
}
///
- /// Looks up a localized string similar to schtasks /end /tn "\Microsoft\XblGameSave\XblGameSaveTask"
- ///schtasks /change /tn "\Microsoft\XblGameSave\XblGameSaveTask" /disable
- ///schtasks /end /tn "\Microsoft\XblGameSave\XblGameSaveTaskLogon"
- ///schtasks /change /tn "\Microsoft\XblGameSave\XblGameSaveTaskLogon" /disable
+ /// Looks up a localized string similar to schtasks /end /tn "\Microsoft\XblGameSave\XblGameSaveTask"
+ ///schtasks /change /tn "\Microsoft\XblGameSave\XblGameSaveTask" /disable
+ ///schtasks /end /tn "\Microsoft\XblGameSave\XblGameSaveTaskLogon"
+ ///schtasks /change /tn "\Microsoft\XblGameSave\XblGameSaveTaskLogon" /disable
///.
///
internal static string DisableXboxTasks {
@@ -459,7 +495,7 @@ internal static string EnableDefenderSafeMode1903Plus {
///"visiosolution"=-
///"wdsolution"=-
///"xlsolution"=-
- ///
+ ///
///[HKEY_CURRENT_USER\Software\Policies\microsoft\office\16.0\osm\preventedsolutiontypes]
///"agave"=-
///"appaddins"=-
@@ -475,14 +511,14 @@ internal static string EnableOfficeTelemetry {
}
///
- /// Looks up a localized string similar to schtasks /change /tn "\Microsoft\Office\OfficeTelemetryAgentFallBack2016" /enable
- ///schtasks /change /tn "\Microsoft\Office\OfficeTelemetryAgentLogOn2016" /enable
- ///
- ///schtasks /change /tn "\Microsoft\Office\OfficeTelemetryAgentFallBack" /enable
- ///schtasks /change /tn "\Microsoft\Office\OfficeTelemetryAgentLogOn" /enable
- ///
- ///reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\Outlook\Options\Mail" /v "EnableLogging" /t REG_DWORD /d 1 /f
- ///reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Outlook\Options\Mail" /v "EnableLoggi [rest of string was truncated]";.
+ /// Looks up a localized string similar to schtasks /change /tn "\Microsoft\Office\OfficeTelemetryAgentFallBack2016" /enable
+ ///schtasks /change /tn "\Microsoft\Office\OfficeTelemetryAgentLogOn2016" /enable
+ ///
+ ///schtasks /change /tn "\Microsoft\Office\OfficeTelemetryAgentFallBack" /enable
+ ///schtasks /change /tn "\Microsoft\Office\OfficeTelemetryAgentLogOn" /enable
+ ///
+ ///reg add "HKCU\SOFTWARE\Microsoft\Office\15.0\Outlook\Options\Mail" /v "EnableLogging" /t REG_DWORD /d 1 /f
+ ///reg add "HKCU\SOFTWARE\Microsoft\Office\16.0\Outlook\Options\Mail" /v "EnableLogging" /t [rest of string was truncated]";.
///
internal static string EnableOfficeTelemetryTasks {
get {
@@ -491,12 +527,12 @@ internal static string EnableOfficeTelemetryTasks {
}
///
- /// Looks up a localized string similar to schtasks /change /tn "\Microsoft\Windows\Customer Experience Improvement Program\Consolidator" /enable
- ///schtasks /change /tn "\Microsoft\Windows\Customer Experience Improvement Program\BthSQM" /enable
- ///schtasks /change /tn "\Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask" /enable
- ///schtasks /change /tn "\Microsoft\Windows\Customer Experience Improvement Program\UsbCeip" /enable
- ///schtasks /change /tn "\Microsoft\Windows\Customer Experience Improvement Program\Uploader" /enable
- ///schta [rest of string was truncated]";.
+ /// Looks up a localized string similar to schtasks /change /tn "\Microsoft\Windows\Customer Experience Improvement Program\Consolidator" /enable
+ ///schtasks /change /tn "\Microsoft\Windows\Customer Experience Improvement Program\BthSQM" /enable
+ ///schtasks /change /tn "\Microsoft\Windows\Customer Experience Improvement Program\KernelCeipTask" /enable
+ ///schtasks /change /tn "\Microsoft\Windows\Customer Experience Improvement Program\UsbCeip" /enable
+ ///schtasks /change /tn "\Microsoft\Windows\Customer Experience Improvement Program\Uploader" /enable
+ ///schtasks / [rest of string was truncated]";.
///
internal static string EnableTelemetryTasks {
get {
@@ -505,8 +541,8 @@ internal static string EnableTelemetryTasks {
}
///
- /// Looks up a localized string similar to schtasks /change /tn "\Microsoft\XblGameSave\XblGameSaveTask" /enable
- ///schtasks /change /tn "\Microsoft\XblGameSave\XblGameSaveTaskLogon" /enable
+ /// Looks up a localized string similar to schtasks /change /tn "\Microsoft\XblGameSave\XblGameSaveTask" /enable
+ ///schtasks /change /tn "\Microsoft\XblGameSave\XblGameSaveTaskLogon" /enable
///.
///
internal static string EnableXboxTasks {
@@ -610,11 +646,11 @@ internal static System.Drawing.Bitmap germany {
}
///
- /// Looks up a localized string similar to @echo off
- ///pushd "%~dp0"
- ///dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
- ///dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
- ///for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
+ /// Looks up a localized string similar to @echo off
+ ///pushd "%~dp0"
+ ///dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
+ ///dir /b %SystemRoot%\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
+ ///for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
///.
///
internal static string GPEditEnablerInHome {
@@ -677,22 +713,22 @@ internal static System.Drawing.Bitmap hungary {
}
///
- /// Looks up a localized string similar to Windows Registry Editor Version 5.00
- ///
- ///[HKEY_CLASSES_ROOT\*\shell\runas]
- ///@="Take Ownership"
- ///"NoWorkingDirectory"=""
- ///
- ///[HKEY_CLASSES_ROOT\*\shell\runas\command]
- ///@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
- ///"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
- ///
- ///[HKEY_CLASSES_ROOT\Directory\shell\runas]
- ///@="Take Ownership"
- ///"NoWorkingDirectory"=""
- ///
- ///[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
- ///@="cmd.exe /c takeown /f \"%1\" /r /d [rest of string was truncated]";.
+ /// Looks up a localized string similar to Windows Registry Editor Version 5.00
+ ///
+ ///[HKEY_CLASSES_ROOT\*\shell\runas]
+ ///@="Take Ownership"
+ ///"NoWorkingDirectory"=""
+ ///
+ ///[HKEY_CLASSES_ROOT\*\shell\runas\command]
+ ///@="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
+ ///"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" && icacls \"%1\" /grant administrators:F"
+ ///
+ ///[HKEY_CLASSES_ROOT\Directory\shell\runas]
+ ///@="Take Ownership"
+ ///"NoWorkingDirectory"=""
+ ///
+ ///[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
+ ///@="cmd.exe /c takeown /f \"%1\" /r /d y && icacls \"% [rest of string was truncated]";.
///
internal static string InstallTakeOwnership {
get {
@@ -790,7 +826,7 @@ internal static System.Drawing.Bitmap japan {
/// "subGaming": "게이밍",
/// "subTouch": "터치",
/// "subTaskbar": "작업 표시줄",
- /// "subExtras": "추가",
+ /// "subExtras": "추가",
/// "btnAbout": "확인",
/// "restartButton": "지금 다시 시작",
/// "restartButton8": "지금 다시 시작",
@@ -803,7 +839,7 @@ internal static System.Drawing.Bitmap japan {
/// "txtBitness": "{BITS}로 작업중 - 한국어: 비너스걸",
/// "linkUpdate": "업데이트 가능",
/// "lblLab": "실험 빌드\n(테스트 후 삭제)",
- /// "performanceSw": [rest of string was truncated]";.
+ /// "performanceSw": " [rest of string was truncated]";.
///
internal static string KO {
get {
@@ -837,8 +873,8 @@ internal static System.Drawing.Bitmap korea {
/// "btnKill": "بیکوژە (دایبخە)",
/// "trayUnlocker": "دەسکەکانی فایل",
/// "restartAndApply": "ڕیستارتی ئەکەیتەوە بۆ بینینی گۆڕانکاریەکان",
- /// "txtVersion": "وەشان : ",
- /// " [rest of string was truncated]";.
+ /// "txtVersion": "وەشان :",
+ /// "t [rest of string was truncated]";.
///
internal static string KU {
get {
@@ -1256,7 +1292,7 @@ internal static string TW {
/// "subGaming": "Ігри",
/// "subTouch": "Дотик",
/// "subTaskbar": "Панель задач",
- /// "subExtras": " Доповнення",
+ /// "subExtras": "Доповнення",
/// "btnAbout": "OK",
/// "restartButton": "Перезапустити зараз",
/// "restartButton8": "Перезапустити зараз",
@@ -1266,7 +1302,7 @@ internal static string TW {
/// "trayUnlocker": "Дескриптор файлів",
/// "restartAndApply": "Перезапустити для застосування змін",
/// "txtVersion": "Версія: {VN}",
- /// [rest of string was truncated]";.
+ /// " [rest of string was truncated]";.
///
internal static string UA {
get {
diff --git a/Optimizer/Properties/Resources.resx b/Optimizer/Properties/Resources.resx
index f6d5ae5b..8a57ec14 100644
--- a/Optimizer/Properties/Resources.resx
+++ b/Optimizer/Properties/Resources.resx
@@ -334,4 +334,10 @@
..\Resources\Flags\nepal.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\i18n\BG.json;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8
+
+
+ ..\Resources\Flags\bulgaria.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
\ No newline at end of file
diff --git a/Optimizer/Resources/Flags/bulgaria.png b/Optimizer/Resources/Flags/bulgaria.png
new file mode 100644
index 00000000..4dc5fcad
Binary files /dev/null and b/Optimizer/Resources/Flags/bulgaria.png differ
diff --git a/Optimizer/Resources/i18n/AR.json b/Optimizer/Resources/i18n/AR.json
index 0719fa0d..bf0d84d5 100644
--- a/Optimizer/Resources/i18n/AR.json
+++ b/Optimizer/Resources/i18n/AR.json
@@ -461,5 +461,9 @@
"btnRefreshFonts": "تحديث",
"chkAllNics": "تعيين لجميع محولات الشبكة",
"chkCustomDns": "قم بتعيين DNS المخصص",
- "btnSetDns": "تعيين DNS"
+ "btnSetDns": "تعيين DNS",
+ "copilotSw": "تعطيل ميزة CoPilot AI تمامًا",
+ "copilotTip": "يعطل ميزة CoPilot AI تمامًا.",
+ "btnReinforce": "تعزيز السياسات",
+ "msgReinforce": "هل أنت متأكد من رغبتك في إعادة تطبيق السياسات الحالية؟"
}
\ No newline at end of file
diff --git a/Optimizer/Resources/i18n/BG.json b/Optimizer/Resources/i18n/BG.json
index 62991972..3b1e7def 100644
--- a/Optimizer/Resources/i18n/BG.json
+++ b/Optimizer/Resources/i18n/BG.json
@@ -461,5 +461,9 @@
"btnRefreshFonts": "Обнови",
"chkAllNics": "Приложи за всички мрежови адаптери",
"chkCustomDns": "Сложи персонализиран DNS",
- "btnSetDns": "Сложи DNS"
+ "btnSetDns": "Сложи DNS",
+ "copilotSw": "Изключете CoPilot AI",
+ "copilotTip": "Изцяло изключва функцията CoPilot AI",
+ "btnReinforce": "Укрепете политиките",
+ "msgReinforce": "Сигурни ли сте, че искате да приложите отново текущите си политики?"
}
\ No newline at end of file
diff --git a/Optimizer/Resources/i18n/CN.json b/Optimizer/Resources/i18n/CN.json
index 67aa7ad3..9e7d3d88 100644
--- a/Optimizer/Resources/i18n/CN.json
+++ b/Optimizer/Resources/i18n/CN.json
@@ -460,5 +460,9 @@
"btnRefreshFonts": "刷新",
"chkAllNics": "为所有网络适配器设置",
"chkCustomDns": "设置自定义 DNS",
- "btnSetDns": "设置DNS"
+ "btnSetDns": "设置DNS",
+ "copilotSw": "禁用 CoPilot AI",
+ "copilotTip": "完全关闭 CoPilot AI 功能。",
+ "btnReinforce": "强化政策",
+ "msgReinforce": "您确定要重新应用当前的政策吗?"
}
diff --git a/Optimizer/Resources/i18n/CZ.json b/Optimizer/Resources/i18n/CZ.json
index fae5d802..910951a2 100644
--- a/Optimizer/Resources/i18n/CZ.json
+++ b/Optimizer/Resources/i18n/CZ.json
@@ -461,5 +461,9 @@ Má to negativní vliv na výkon.",
"btnRefreshFonts": "Obnovit",
"chkAllNics": "Nastavení pro všechny síťové adaptéry",
"chkCustomDns": "Nastavte vlastní DNS",
- "btnSetDns": "Nastavte DNS"
+ "btnSetDns": "Nastavte DNS",
+ "copilotSw": "Vypnout funkci CoPilot AI",
+ "copilotTip": "Úplně vypne funkci CoPilot AI.",
+ "btnReinforce": "Posílit politiky",
+ "msgReinforce": "Opravdu si přejete znovu použít své stávající politiky?"
}
diff --git a/Optimizer/Resources/i18n/DE.json b/Optimizer/Resources/i18n/DE.json
index ce080195..a02efe48 100644
--- a/Optimizer/Resources/i18n/DE.json
+++ b/Optimizer/Resources/i18n/DE.json
@@ -435,5 +435,9 @@
"btnRefreshFonts": "Aktualisieren",
"chkAllNics": "Für alle Netzwerkadapter festgelegt",
"chkCustomDns": "Legen Sie benutzerdefiniertes DNS fest",
- "btnSetDns": "DNS einstellen"
+ "btnSetDns": "DNS einstellen",
+ "copilotSw": "CoPilot AI deaktivieren",
+ "copilotTip": "Deaktiviert die CoPilot AI-Funktion vollständig.",
+ "btnReinforce": "Richtlinien verstärken",
+ "msgReinforce": "Sind Sie sicher, dass Sie Ihre aktuellen Richtlinien erneut anwenden möchten?"
}
diff --git a/Optimizer/Resources/i18n/EL.json b/Optimizer/Resources/i18n/EL.json
index 28eedd94..12f48e8a 100644
--- a/Optimizer/Resources/i18n/EL.json
+++ b/Optimizer/Resources/i18n/EL.json
@@ -456,5 +456,9 @@
"btnRefreshFonts": "Ανανέωση",
"chkAllNics": "Εφαρμογή για όλους τους προσαρμογείς δικτύου",
"chkCustomDns": "Ορισμός προσαρμοσμένου DNS",
- "btnSetDns": "Εφαρμογή DNS"
+ "btnSetDns": "Εφαρμογή DNS",
+ "copilotSw": "Απενεργοποίηση CoPilot AI",
+ "copilotTip": "Απενεργοποιεί πλήρως το χαρακτηριστικό CoPilot AI.",
+ "btnReinforce": "Ενίσχυση των πολιτικών",
+ "msgReinforce": "Είστε σίγουροι ότι θέλετε να ξαναεφαρμόσετε τις τρέχουσες πολιτικές σας;"
}
\ No newline at end of file
diff --git a/Optimizer/Resources/i18n/EN.json b/Optimizer/Resources/i18n/EN.json
index ca716b0d..31b54620 100644
--- a/Optimizer/Resources/i18n/EN.json
+++ b/Optimizer/Resources/i18n/EN.json
@@ -171,7 +171,7 @@
"lblUpdateDisabled": "Disabled in experimental builds",
"lblTroubleshoot": "Troubleshooting",
"btnViewLog": "View errors",
- "btnOpenConf": "Show config folder",
+ "btnOpenConf": "Show configuration folder",
"btnResetConfig": "Repair",
"integrator1": "Integrator is able to add fully-customized\nitems in Desktop right-click menu:",
"integrator2": "• Any program",
@@ -461,5 +461,9 @@ It has negative effect on performance.",
"btnRefreshFonts": "Refresh",
"chkAllNics": "Set for all network adapters",
"chkCustomDns": "Set custom DNS",
- "btnSetDns": "Set DNS"
+ "btnSetDns": "Set DNS",
+ "copilotSw": "Disable CoPilot AI",
+ "copilotTip": "Completely turns off CoPilot AI feature.",
+ "btnReinforce": "Reinforce policies",
+ "msgReinforce": "Are you sure you want to re-apply your current policies?"
}
\ No newline at end of file
diff --git a/Optimizer/Resources/i18n/ES.json b/Optimizer/Resources/i18n/ES.json
index cbb954ac..9670997e 100644
--- a/Optimizer/Resources/i18n/ES.json
+++ b/Optimizer/Resources/i18n/ES.json
@@ -458,5 +458,9 @@ Tiene un efecto negativo en el rendimiento.",
"btnRefreshFonts": "Actualizar",
"chkAllNics": "Configurado para todos los adaptadores de red.",
"chkCustomDns": "Establecer DNS personalizado",
- "btnSetDns": "Establecer DNS"
+ "btnSetDns": "Establecer DNS",
+ "copilotSw": "Desactivar CoPilot AI",
+ "copilotTip": "Desactiva por completo la función de CoPilot AI.",
+ "btnReinforce": "Reforzar Políticas",
+ "msgReinforce": "¿Estás seguro de que deseas volver a aplicar tus políticas actuales?"
}
\ No newline at end of file
diff --git a/Optimizer/Resources/i18n/FA.json b/Optimizer/Resources/i18n/FA.json
index 573ae20c..cba3ca1a 100644
--- a/Optimizer/Resources/i18n/FA.json
+++ b/Optimizer/Resources/i18n/FA.json
@@ -448,5 +448,9 @@
"btnRefreshFonts": "بارگذاری مجدد",
"chkAllNics": "تنظیم برای همه آداپتورهای شبکه",
"chkCustomDns": "DNS سفارشی را تنظیم کنید",
- "btnSetDns": "DNS را تنظیم کنید"
+ "btnSetDns": "DNS را تنظیم کنید",
+ "copilotSw": "غیرفعال کردن ویژگی CoPilot AI به طور کامل",
+ "copilotTip": "ویژگی CoPilot AI به طور کامل غیرفعال میشود.",
+ "btnReinforce": "تقویت سیاستها",
+ "msgReinforce": "آیا مطمئن هستید که میخواهید سیاستهای فعلی را مجدداً اعمال کنید؟"
}
\ No newline at end of file
diff --git a/Optimizer/Resources/i18n/FR.json b/Optimizer/Resources/i18n/FR.json
index c170e1b7..b15401a5 100644
--- a/Optimizer/Resources/i18n/FR.json
+++ b/Optimizer/Resources/i18n/FR.json
@@ -435,5 +435,9 @@ Necessite l'ouverture d'un compte Microsoft.",
"btnRefreshFonts": "Rafraichir",
"chkAllNics": "Définir pour toutes les cartes réseau",
"chkCustomDns": "Définir un DNS personnalisé",
- "btnSetDns": "Définir le DNS"
+ "btnSetDns": "Définir le DNS",
+ "copilotSw": "Désactiver CoPilot AI",
+ "copilotTip": "Désactive complètement la fonctionnalité CoPilot AI.",
+ "btnReinforce": "Renforcer les politiques",
+ "msgReinforce": "Êtes-vous sûr de vouloir réappliquer vos politiques actuelles?"
}
diff --git a/Optimizer/Resources/i18n/HU.json b/Optimizer/Resources/i18n/HU.json
index 64c329e8..24e20764 100644
--- a/Optimizer/Resources/i18n/HU.json
+++ b/Optimizer/Resources/i18n/HU.json
@@ -461,5 +461,9 @@ Negatív hatással van a teljesítményre.",
"btnRefreshFonts": "Frissítés",
"chkAllNics": "Minden hálózati adapterhez beállítva",
"chkCustomDns": "Állítsa be az egyéni DNS",
- "btnSetDns": "Állítsa be a DNS"
+ "btnSetDns": "Állítsa be a DNS",
+ "copilotSw": "CoPilot AI kikapcsolása",
+ "copilotTip": "Teljesen kikapcsolja a CoPilot AI funkciót.",
+ "btnReinforce": "Iránypontok erősítése",
+ "msgReinforce": "Biztos vagy benne, hogy újra alkalmazod az aktuális iránypontokat?"
}
\ No newline at end of file
diff --git a/Optimizer/Resources/i18n/IT.json b/Optimizer/Resources/i18n/IT.json
index 338087da..3ba17b91 100644
--- a/Optimizer/Resources/i18n/IT.json
+++ b/Optimizer/Resources/i18n/IT.json
@@ -455,5 +455,9 @@ Ha un effetto negativo sulle prestazioni.",
"btnRefreshFonts": "Aggiorna",
"chkAllNics": "Impostato per tutti gli adattatori di rete",
"chkCustomDns": "Imposta DNS personalizzati",
- "btnSetDns": "Imposta DNS"
+ "btnSetDns": "Imposta DNS",
+ "copilotSw": "Disabilita CoPilot AI",
+ "copilotTip": "Disattiva completamente la funzionalità CoPilot AI.",
+ "btnReinforce": "Rafforzare le Politiche",
+ "msgReinforce": "Sei sicuro di voler riapplicare le tue attuali politiche?"
}
\ No newline at end of file
diff --git a/Optimizer/Resources/i18n/JA.json b/Optimizer/Resources/i18n/JA.json
index 509ea6a7..2105cd4b 100644
--- a/Optimizer/Resources/i18n/JA.json
+++ b/Optimizer/Resources/i18n/JA.json
@@ -452,5 +452,9 @@ SMBv3に置き換えられており、そちらのほうがより安全です。
"btnRefreshFonts": "更新",
"chkAllNics": "すべてのネットワークアダプターに設定",
"chkCustomDns": "カスタムDNSを設定する",
- "btnSetDns": "DNSの設定"
+ "btnSetDns": "DNSの設定",
+ "copilotSw": "CoPilot AI を無効にする",
+ "copilotTip": "CoPilot AI の機能を完全に無効にします.",
+ "btnReinforce": "ポリシーを強化する",
+ "msgReinforce": "現在のポリシーを再適用してもよろしいですか?"
}
\ No newline at end of file
diff --git a/Optimizer/Resources/i18n/KO.json b/Optimizer/Resources/i18n/KO.json
index ba5a9bdb..70f804f2 100644
--- a/Optimizer/Resources/i18n/KO.json
+++ b/Optimizer/Resources/i18n/KO.json
@@ -463,5 +463,9 @@ Microsoft 계정 로그인이 필요합니다.",
"btnRefreshFonts": "새로 고침",
"chkAllNics": "모든 네트워크 어댑터에 대해 설정",
"chkCustomDns": "맞춤 DNS 설정",
- "btnSetDns": "DNS 설정"
+ "btnSetDns": "DNS 설정",
+ "copilotSw": "CoPilot AI 기능 완전히 비활성화",
+ "copilotTip": "CoPilot AI 기능을 완전히 비활성화합니다.",
+ "btnReinforce": "정책 강화",
+ "msgReinforce": "현재 정책을 다시 적용하시겠습니까?"
}
diff --git a/Optimizer/Resources/i18n/KU.json b/Optimizer/Resources/i18n/KU.json
index 02818b85..b8c69d2c 100644
--- a/Optimizer/Resources/i18n/KU.json
+++ b/Optimizer/Resources/i18n/KU.json
@@ -460,5 +460,9 @@
"btnRefreshFonts": "ڕیفرێش",
"chkAllNics": "بۆ هەموو ئەداپتەرەکانی تۆڕ ڕێکبخە",
"chkCustomDns": "DNS تایبەت بەخۆت دابنێ",
- "btnSetDns": "DNS دابنێ"
+ "btnSetDns": "DNS دابنێ",
+ "copilotSw": "CoPilot AI تایبهتییهکرن",
+ "copilotTip": "ویژگی CoPilot AI تایبهتییهکرنەوەکی تهمامی.",
+ "btnReinforce": "سیاسهٔ بیشکوچین",
+ "msgReinforce": "داکۆ پێشەنگەتیە پێوستییە کرییە مە یانو دابەزەکیی نو رە بکە؟"
}
\ No newline at end of file
diff --git a/Optimizer/Resources/i18n/NE.json b/Optimizer/Resources/i18n/NE.json
index 84084d7d..fbb25673 100644
--- a/Optimizer/Resources/i18n/NE.json
+++ b/Optimizer/Resources/i18n/NE.json
@@ -411,5 +411,9 @@
"btnRefreshFonts": "रिफ्रेस गर्नुहोस्",
"chkAllNics": "सबै नेटवर्क एडेप्टरहरूको लागि सेट गर्नुहोस्",
"chkCustomDns": "अनुकूलन DNS सेट गर्नुहोस्",
- "btnSetDns": "DNS सेट गर्नुहोस्"
+ "btnSetDns": "DNS सेट गर्नुहोस्",
+ "copilotSw": "CoPilot AI बिल्कुल बन्द गर्दछ।",
+ "copilotTip": "CoPilot AI कुरा पूरा बन्द गर्दछ।",
+ "btnReinforce": "नीत",
+ "msgReinforce": "तपाईंले आफ्ना हालका नीत"
}
\ No newline at end of file
diff --git a/Optimizer/Resources/i18n/NL.json b/Optimizer/Resources/i18n/NL.json
index 43479b4b..a66203ba 100644
--- a/Optimizer/Resources/i18n/NL.json
+++ b/Optimizer/Resources/i18n/NL.json
@@ -412,5 +412,9 @@ Het heeft een negatief effect op de prestaties.",
"btnRefreshFonts": "Ververs",
"chkAllNics": "Instellen voor alle netwerkadapters",
"chkCustomDns": "Aangepaste DNS instellen",
- "btnSetDns": "DNS instellen"
+ "btnSetDns": "DNS instellen",
+ "copilotSw": "Schakel CoPilot AI uit",
+ "copilotTip": "Schakelt de CoPilot AI-functie volledig uit.",
+ "btnReinforce": "Beleid versterken",
+ "msgReinforce": "Weet u zeker dat u uw huidige beleid opnieuw wilt toepassen?"
}
\ No newline at end of file
diff --git a/Optimizer/Resources/i18n/PL.json b/Optimizer/Resources/i18n/PL.json
index 750b17df..06bf7d85 100644
--- a/Optimizer/Resources/i18n/PL.json
+++ b/Optimizer/Resources/i18n/PL.json
@@ -430,5 +430,9 @@
"btnRefreshFonts": "Odśwież",
"chkAllNics": "Ustaw dla wszystkich kart sieciowych",
"chkCustomDns": "Ustaw niestandardowy DNS",
- "btnSetDns": "Ustaw DNS"
+ "btnSetDns": "Ustaw DNS",
+ "copilotSw": "Wyłącz funkcję CoPilot AI",
+ "copilotTip": "Całkowicie wyłącza funkcję CoPilot AI.",
+ "btnReinforce": "Wzmocnienie polityk",
+ "msgReinforce": "Czy na pewno chcesz ponownie zastosować obecne polityki?"
}
\ No newline at end of file
diff --git a/Optimizer/Resources/i18n/PT.json b/Optimizer/Resources/i18n/PT.json
index 23bcbccb..bd64b5e1 100644
--- a/Optimizer/Resources/i18n/PT.json
+++ b/Optimizer/Resources/i18n/PT.json
@@ -458,5 +458,9 @@ Tem efeito negativo no desempenho.",
"btnRefreshFonts": "Atualizar",
"chkAllNics": "Definido para todos os adaptadores de rede",
"chkCustomDns": "Definir DNS personalizado",
- "btnSetDns": "Definir DNS"
+ "btnSetDns": "Definir DNS",
+ "copilotSw": "Desativar CoPilot AI",
+ "copilotTip": "Desativa completamente a funcionalidade CoPilot AI.",
+ "btnReinforce": "Reforçar Políticas",
+ "msgReinforce": "Tem certeza de que deseja reaplicar suas políticas atuais?"
}
diff --git a/Optimizer/Resources/i18n/RO.json b/Optimizer/Resources/i18n/RO.json
index f68274c2..8a30bb62 100644
--- a/Optimizer/Resources/i18n/RO.json
+++ b/Optimizer/Resources/i18n/RO.json
@@ -443,5 +443,9 @@
"btnRefreshFonts": "Reîmprospăteaza",
"chkAllNics": "Setați pentru toate adaptoarele de rețea",
"chkCustomDns": "Setați DNS personalizat",
- "btnSetDns": "Setați DNS"
+ "btnSetDns": "Setați DNS",
+ "copilotSw": "Dezactivează funcția CoPilot AI",
+ "copilotTip": "Dezactivează complet funcționalitatea CoPilot AI.",
+ "btnReinforce": "Consolidarea politicilor",
+ "msgReinforce": "Sunteți sigur că doriți să reaplicați politicile actuale?"
}
\ No newline at end of file
diff --git a/Optimizer/Resources/i18n/RU.json b/Optimizer/Resources/i18n/RU.json
index 8dbde1f2..4d86d4cf 100644
--- a/Optimizer/Resources/i18n/RU.json
+++ b/Optimizer/Resources/i18n/RU.json
@@ -431,5 +431,9 @@
"btnRefreshFonts": "Обновить",
"chkAllNics": "Установить для всех сетевых адаптеров",
"chkCustomDns": "Установить собственный DNS",
- "btnSetDns": "Установить DNS"
+ "btnSetDns": "Установить DNS",
+ "copilotSw": "Отключить CoPilot AI",
+ "copilotTip": "Полностью отключает функцию CoPilot AI.",
+ "btnReinforce": "Укрепить политику",
+ "msgReinforce": "Вы уверены, что хотите повторно применить текущие политики?"
}
\ No newline at end of file
diff --git a/Optimizer/Resources/i18n/TR.json b/Optimizer/Resources/i18n/TR.json
index 7067a718..ce21bf94 100644
--- a/Optimizer/Resources/i18n/TR.json
+++ b/Optimizer/Resources/i18n/TR.json
@@ -459,5 +459,9 @@ Performansa olumsuz etkisi vardır.",
"btnRefreshFonts": "Yenile",
"chkAllNics": "Tüm ağ bağdaştırıcıları için ayarla",
"chkCustomDns": "Özel DNS ayarla",
- "btnSetDns": "DNS ayarla"
+ "btnSetDns": "DNS ayarla",
+ "copilotSw": "CoPilot AI'yı Devre Dışı Bırak",
+ "copilotTip": "CoPilot AI özelliğini tamamen kapatır.",
+ "btnReinforce": "Politikaları Güçlendir",
+ "msgReinforce": "Şu anki politikalarınızı tekrar uygulamak istediğinizden emin misiniz?"
}
\ No newline at end of file
diff --git a/Optimizer/Resources/i18n/TW.json b/Optimizer/Resources/i18n/TW.json
index 95734978..6aee8523 100644
--- a/Optimizer/Resources/i18n/TW.json
+++ b/Optimizer/Resources/i18n/TW.json
@@ -457,5 +457,9 @@
"btnRefreshFonts": "重新整理",
"chkAllNics": "為所有網絡適配器設置",
"chkCustomDns": "設置自定義 DNS",
- "btnSetDns": "設置DNS"
+ "btnSetDns": "設置DNS",
+ "copilotSw": "停用 CoPilot AI",
+ "copilotTip": "完全關閉 CoPilot AI 功能。",
+ "btnReinforce": "加強政策",
+ "msgReinforce": "您確定要重新應用目前的政策嗎?"
}
diff --git a/Optimizer/Resources/i18n/UA.json b/Optimizer/Resources/i18n/UA.json
index 403ed11c..c75823f4 100644
--- a/Optimizer/Resources/i18n/UA.json
+++ b/Optimizer/Resources/i18n/UA.json
@@ -462,5 +462,9 @@
"btnRefreshFonts": "Оновити",
"chkAllNics": "Набір для всіх мережевих адаптерів",
"chkCustomDns": "Встановити спеціальний DNS",
- "btnSetDns": "Встановити DNS"
+ "btnSetDns": "Встановити DNS",
+ "copilotSw": "Повністю вимкнути функцію CoPilot AI",
+ "copilotTip": "Повністю вимикає функцію CoPilot AI.",
+ "btnReinforce": "Підсилити політику",
+ "msgReinforce": "Ви впевнені, що хочете повторно застосувати поточну політику?"
}
\ No newline at end of file
diff --git a/Optimizer/SilentOps.cs b/Optimizer/SilentOps.cs
index 5984de09..3a4554f0 100644
--- a/Optimizer/SilentOps.cs
+++ b/Optimizer/SilentOps.cs
@@ -26,7 +26,7 @@ internal static SilentConfig GetSilentConfig(string path)
internal static void ProcessAllActions()
{
- Logger.InitSilentReport();
+ Logger.InitializeSilentReport();
if (Utilities.CurrentWindowsVersion == WindowsVersion.Windows7)
{
@@ -358,7 +358,7 @@ internal static void ProcessAdvancedTweaks()
{
Utilities.EnableHPET();
}
- Options.CurrentOptions.DisableHPET = CurrentSilentConfig.AdvancedTweaks.DisableHPET.Value;
+ OptionsHelper.CurrentOptions.DisableHPET = CurrentSilentConfig.AdvancedTweaks.DisableHPET.Value;
}
if (CurrentSilentConfig.AdvancedTweaks.EnableLoginVerbose.HasValue)
@@ -371,7 +371,7 @@ internal static void ProcessAdvancedTweaks()
{
Utilities.DisableLoginVerbose();
}
- Options.CurrentOptions.EnableLoginVerbose = CurrentSilentConfig.AdvancedTweaks.EnableLoginVerbose.Value;
+ OptionsHelper.CurrentOptions.EnableLoginVerbose = CurrentSilentConfig.AdvancedTweaks.EnableLoginVerbose.Value;
}
}
@@ -389,7 +389,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.DisablePerformanceTweaks();
}
- Options.CurrentOptions.EnablePerformanceTweaks = CurrentSilentConfig.Tweaks.EnablePerformanceTweaks.Value;
+ OptionsHelper.CurrentOptions.EnablePerformanceTweaks = CurrentSilentConfig.Tweaks.EnablePerformanceTweaks.Value;
}
if (CurrentSilentConfig.Tweaks.DisableNetworkThrottling.HasValue)
@@ -402,7 +402,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableNetworkThrottling();
}
- Options.CurrentOptions.DisableNetworkThrottling = CurrentSilentConfig.Tweaks.DisableNetworkThrottling.Value;
+ OptionsHelper.CurrentOptions.DisableNetworkThrottling = CurrentSilentConfig.Tweaks.DisableNetworkThrottling.Value;
}
if (CurrentSilentConfig.Tweaks.DisableWindowsDefender.HasValue)
@@ -415,7 +415,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableDefender();
}
- Options.CurrentOptions.DisableWindowsDefender = CurrentSilentConfig.Tweaks.DisableWindowsDefender.Value;
+ OptionsHelper.CurrentOptions.DisableWindowsDefender = CurrentSilentConfig.Tweaks.DisableWindowsDefender.Value;
}
if (CurrentSilentConfig.Tweaks.DisableSystemRestore.HasValue)
@@ -428,7 +428,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableSystemRestore();
}
- Options.CurrentOptions.DisableSystemRestore = CurrentSilentConfig.Tweaks.DisableSystemRestore.Value;
+ OptionsHelper.CurrentOptions.DisableSystemRestore = CurrentSilentConfig.Tweaks.DisableSystemRestore.Value;
}
if (CurrentSilentConfig.Tweaks.DisablePrintService.HasValue)
@@ -441,7 +441,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnablePrintService();
}
- Options.CurrentOptions.DisablePrintService = CurrentSilentConfig.Tweaks.DisablePrintService.Value;
+ OptionsHelper.CurrentOptions.DisablePrintService = CurrentSilentConfig.Tweaks.DisablePrintService.Value;
}
if (CurrentSilentConfig.Tweaks.DisableMediaPlayerSharing.HasValue)
@@ -454,7 +454,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableMediaPlayerSharing();
}
- Options.CurrentOptions.DisableMediaPlayerSharing = CurrentSilentConfig.Tweaks.DisableMediaPlayerSharing.Value;
+ OptionsHelper.CurrentOptions.DisableMediaPlayerSharing = CurrentSilentConfig.Tweaks.DisableMediaPlayerSharing.Value;
}
if (CurrentSilentConfig.Tweaks.DisableErrorReporting.HasValue)
@@ -467,7 +467,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableErrorReporting();
}
- Options.CurrentOptions.DisableErrorReporting = CurrentSilentConfig.Tweaks.DisableErrorReporting.Value;
+ OptionsHelper.CurrentOptions.DisableErrorReporting = CurrentSilentConfig.Tweaks.DisableErrorReporting.Value;
}
if (CurrentSilentConfig.Tweaks.DisableHomeGroup.HasValue)
@@ -480,7 +480,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableHomeGroup();
}
- Options.CurrentOptions.DisableHomeGroup = CurrentSilentConfig.Tweaks.DisableHomeGroup.Value;
+ OptionsHelper.CurrentOptions.DisableHomeGroup = CurrentSilentConfig.Tweaks.DisableHomeGroup.Value;
}
if (CurrentSilentConfig.Tweaks.DisableSuperfetch.HasValue)
@@ -493,7 +493,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableSuperfetch();
}
- Options.CurrentOptions.DisableSuperfetch = CurrentSilentConfig.Tweaks.DisableSuperfetch.Value;
+ OptionsHelper.CurrentOptions.DisableSuperfetch = CurrentSilentConfig.Tweaks.DisableSuperfetch.Value;
}
if (CurrentSilentConfig.Tweaks.DisableTelemetryTasks.HasValue)
@@ -506,7 +506,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableTelemetryTasks();
}
- Options.CurrentOptions.DisableTelemetryTasks = CurrentSilentConfig.Tweaks.DisableTelemetryTasks.Value;
+ OptionsHelper.CurrentOptions.DisableTelemetryTasks = CurrentSilentConfig.Tweaks.DisableTelemetryTasks.Value;
}
if (CurrentSilentConfig.Tweaks.DisableOffice2016Telemetry.HasValue)
@@ -519,7 +519,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableOffice2016Telemetry();
}
- Options.CurrentOptions.DisableOffice2016Telemetry = CurrentSilentConfig.Tweaks.DisableOffice2016Telemetry.Value;
+ OptionsHelper.CurrentOptions.DisableOffice2016Telemetry = CurrentSilentConfig.Tweaks.DisableOffice2016Telemetry.Value;
}
if (CurrentSilentConfig.Tweaks.DisableCompatibilityAssistant.HasValue)
@@ -532,7 +532,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableCompatibilityAssistant();
}
- Options.CurrentOptions.DisableCompatibilityAssistant = CurrentSilentConfig.Tweaks.DisableCompatibilityAssistant.Value;
+ OptionsHelper.CurrentOptions.DisableCompatibilityAssistant = CurrentSilentConfig.Tweaks.DisableCompatibilityAssistant.Value;
}
if (CurrentSilentConfig.Tweaks.DisableFaxService.HasValue)
@@ -545,7 +545,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableFaxService();
}
- Options.CurrentOptions.DisableFaxService = CurrentSilentConfig.Tweaks.DisableFaxService.Value;
+ OptionsHelper.CurrentOptions.DisableFaxService = CurrentSilentConfig.Tweaks.DisableFaxService.Value;
}
if (CurrentSilentConfig.Tweaks.DisableSmartScreen.HasValue)
@@ -558,7 +558,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableSmartScreen();
}
- Options.CurrentOptions.DisableSmartScreen = CurrentSilentConfig.Tweaks.DisableSmartScreen.Value;
+ OptionsHelper.CurrentOptions.DisableSmartScreen = CurrentSilentConfig.Tweaks.DisableSmartScreen.Value;
}
if (CurrentSilentConfig.Tweaks.DisableStickyKeys.HasValue)
@@ -571,7 +571,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableStickyKeys();
}
- Options.CurrentOptions.DisableStickyKeys = CurrentSilentConfig.Tweaks.DisableStickyKeys.Value;
+ OptionsHelper.CurrentOptions.DisableStickyKeys = CurrentSilentConfig.Tweaks.DisableStickyKeys.Value;
}
if (CurrentSilentConfig.Tweaks.DisableHibernation.HasValue)
@@ -584,7 +584,7 @@ internal static void ProcessTweaksGeneral()
{
Utilities.EnableHibernation();
}
- Options.CurrentOptions.DisableHibernation = CurrentSilentConfig.Tweaks.DisableHibernation.Value;
+ OptionsHelper.CurrentOptions.DisableHibernation = CurrentSilentConfig.Tweaks.DisableHibernation.Value;
}
if (CurrentSilentConfig.Tweaks.DisableSMB1.HasValue)
@@ -597,7 +597,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableSMB("1");
}
- Options.CurrentOptions.DisableSMB1 = CurrentSilentConfig.Tweaks.DisableSMB1.Value;
+ OptionsHelper.CurrentOptions.DisableSMB1 = CurrentSilentConfig.Tweaks.DisableSMB1.Value;
}
if (CurrentSilentConfig.Tweaks.DisableSMB2.HasValue)
@@ -610,7 +610,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableSMB("2");
}
- Options.CurrentOptions.DisableSMB2 = CurrentSilentConfig.Tweaks.DisableSMB2.Value;
+ OptionsHelper.CurrentOptions.DisableSMB2 = CurrentSilentConfig.Tweaks.DisableSMB2.Value;
}
if (CurrentSilentConfig.Tweaks.DisableNTFSTimeStamp.HasValue)
@@ -623,7 +623,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableNTFSTimeStamp();
}
- Options.CurrentOptions.DisableNTFSTimeStamp = CurrentSilentConfig.Tweaks.DisableNTFSTimeStamp.Value;
+ OptionsHelper.CurrentOptions.DisableNTFSTimeStamp = CurrentSilentConfig.Tweaks.DisableNTFSTimeStamp.Value;
}
if (CurrentSilentConfig.Tweaks.DisableSearch.HasValue)
@@ -636,7 +636,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableSearch();
}
- Options.CurrentOptions.DisableSearch = CurrentSilentConfig.Tweaks.DisableSearch.Value;
+ OptionsHelper.CurrentOptions.DisableSearch = CurrentSilentConfig.Tweaks.DisableSearch.Value;
}
if (CurrentSilentConfig.Tweaks.DisableChromeTelemetry.HasValue)
@@ -649,7 +649,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableChromeTelemetry();
}
- Options.CurrentOptions.DisableChromeTelemetry = CurrentSilentConfig.Tweaks.DisableChromeTelemetry.Value;
+ OptionsHelper.CurrentOptions.DisableChromeTelemetry = CurrentSilentConfig.Tweaks.DisableChromeTelemetry.Value;
}
if (CurrentSilentConfig.Tweaks.DisableFirefoxTemeletry.HasValue)
@@ -662,7 +662,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableFirefoxTelemetry();
}
- Options.CurrentOptions.DisableFirefoxTemeletry = CurrentSilentConfig.Tweaks.DisableFirefoxTemeletry.Value;
+ OptionsHelper.CurrentOptions.DisableFirefoxTemeletry = CurrentSilentConfig.Tweaks.DisableFirefoxTemeletry.Value;
}
if (CurrentSilentConfig.Tweaks.DisableVisualStudioTelemetry.HasValue)
@@ -675,7 +675,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableVisualStudioTelemetry();
}
- Options.CurrentOptions.DisableVisualStudioTelemetry = CurrentSilentConfig.Tweaks.DisableVisualStudioTelemetry.Value;
+ OptionsHelper.CurrentOptions.DisableVisualStudioTelemetry = CurrentSilentConfig.Tweaks.DisableVisualStudioTelemetry.Value;
}
if (CurrentSilentConfig.Tweaks.DisableNVIDIATelemetry.HasValue)
@@ -688,7 +688,7 @@ internal static void ProcessTweaksGeneral()
{
OptimizeHelper.EnableNvidiaTelemetry();
}
- Options.CurrentOptions.DisableNVIDIATelemetry = CurrentSilentConfig.Tweaks.DisableNVIDIATelemetry.Value;
+ OptionsHelper.CurrentOptions.DisableNVIDIATelemetry = CurrentSilentConfig.Tweaks.DisableNVIDIATelemetry.Value;
}
}
#endregion
@@ -706,7 +706,7 @@ internal static void ProcessTweaksWindows8()
{
OptimizeHelper.EnableOneDrive();
}
- Options.CurrentOptions.DisableOneDrive = CurrentSilentConfig.Tweaks.DisableOneDrive.Value;
+ OptionsHelper.CurrentOptions.DisableOneDrive = CurrentSilentConfig.Tweaks.DisableOneDrive.Value;
}
}
#endregion
@@ -724,7 +724,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.DisableGamingMode();
}
- Options.CurrentOptions.EnableGamingMode = CurrentSilentConfig.Tweaks.EnableGamingMode.Value;
+ OptionsHelper.CurrentOptions.EnableGamingMode = CurrentSilentConfig.Tweaks.EnableGamingMode.Value;
}
if (CurrentSilentConfig.Tweaks.EnableLegacyVolumeSlider.HasValue)
@@ -737,7 +737,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.DisableLegacyVolumeSlider();
}
- Options.CurrentOptions.EnableLegacyVolumeSlider = CurrentSilentConfig.Tweaks.EnableLegacyVolumeSlider.Value;
+ OptionsHelper.CurrentOptions.EnableLegacyVolumeSlider = CurrentSilentConfig.Tweaks.EnableLegacyVolumeSlider.Value;
}
if (CurrentSilentConfig.Tweaks.DisableQuickAccessHistory.HasValue)
@@ -750,7 +750,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.EnableQuickAccessHistory();
}
- Options.CurrentOptions.DisableQuickAccessHistory = CurrentSilentConfig.Tweaks.DisableQuickAccessHistory.Value;
+ OptionsHelper.CurrentOptions.DisableQuickAccessHistory = CurrentSilentConfig.Tweaks.DisableQuickAccessHistory.Value;
}
if (CurrentSilentConfig.Tweaks.DisableStartMenuAds.HasValue)
@@ -763,7 +763,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.EnableStartMenuAds();
}
- Options.CurrentOptions.DisableStartMenuAds = CurrentSilentConfig.Tweaks.DisableStartMenuAds.Value;
+ OptionsHelper.CurrentOptions.DisableStartMenuAds = CurrentSilentConfig.Tweaks.DisableStartMenuAds.Value;
}
if (CurrentSilentConfig.Tweaks.UninstallOneDrive.HasValue)
@@ -776,7 +776,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.InstallOneDrive();
}
- Options.CurrentOptions.UninstallOneDrive = CurrentSilentConfig.Tweaks.UninstallOneDrive.Value;
+ OptionsHelper.CurrentOptions.UninstallOneDrive = CurrentSilentConfig.Tweaks.UninstallOneDrive.Value;
}
if (CurrentSilentConfig.Tweaks.DisableMyPeople.HasValue)
@@ -789,7 +789,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.EnableMyPeople();
}
- Options.CurrentOptions.DisableMyPeople = CurrentSilentConfig.Tweaks.DisableMyPeople.Value;
+ OptionsHelper.CurrentOptions.DisableMyPeople = CurrentSilentConfig.Tweaks.DisableMyPeople.Value;
}
if (CurrentSilentConfig.Tweaks.EnableLongPaths.HasValue)
@@ -802,7 +802,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.DisableLongPaths();
}
- Options.CurrentOptions.EnableLongPaths = CurrentSilentConfig.Tweaks.EnableLongPaths.Value;
+ OptionsHelper.CurrentOptions.EnableLongPaths = CurrentSilentConfig.Tweaks.EnableLongPaths.Value;
}
if (CurrentSilentConfig.Tweaks.DisableAutomaticUpdates.HasValue)
@@ -815,7 +815,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.EnableAutomaticUpdates();
}
- Options.CurrentOptions.DisableAutomaticUpdates = CurrentSilentConfig.Tweaks.DisableAutomaticUpdates.Value;
+ OptionsHelper.CurrentOptions.DisableAutomaticUpdates = CurrentSilentConfig.Tweaks.DisableAutomaticUpdates.Value;
}
if (CurrentSilentConfig.Tweaks.ExcludeDrivers.HasValue)
@@ -828,7 +828,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.IncludeDrivers();
}
- Options.CurrentOptions.ExcludeDrivers = CurrentSilentConfig.Tweaks.ExcludeDrivers.Value;
+ OptionsHelper.CurrentOptions.ExcludeDrivers = CurrentSilentConfig.Tweaks.ExcludeDrivers.Value;
}
if (CurrentSilentConfig.Tweaks.DisableTelemetryServices.HasValue)
@@ -841,7 +841,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.EnableTelemetryServices();
}
- Options.CurrentOptions.DisableTelemetryServices = CurrentSilentConfig.Tweaks.DisableTelemetryServices.Value;
+ OptionsHelper.CurrentOptions.DisableTelemetryServices = CurrentSilentConfig.Tweaks.DisableTelemetryServices.Value;
}
if (CurrentSilentConfig.Tweaks.DisablePrivacyOptions.HasValue)
@@ -854,7 +854,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.CompromisePrivacy();
}
- Options.CurrentOptions.DisablePrivacyOptions = CurrentSilentConfig.Tweaks.DisablePrivacyOptions.Value;
+ OptionsHelper.CurrentOptions.DisablePrivacyOptions = CurrentSilentConfig.Tweaks.DisablePrivacyOptions.Value;
}
if (CurrentSilentConfig.Tweaks.DisableCortana.HasValue)
@@ -867,7 +867,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.EnableCortana();
}
- Options.CurrentOptions.DisableCortana = CurrentSilentConfig.Tweaks.DisableCortana.Value;
+ OptionsHelper.CurrentOptions.DisableCortana = CurrentSilentConfig.Tweaks.DisableCortana.Value;
}
if (CurrentSilentConfig.Tweaks.DisableSensorServices.HasValue)
@@ -880,7 +880,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.EnableSensorServices();
}
- Options.CurrentOptions.DisableSensorServices = CurrentSilentConfig.Tweaks.DisableSensorServices.Value;
+ OptionsHelper.CurrentOptions.DisableSensorServices = CurrentSilentConfig.Tweaks.DisableSensorServices.Value;
}
if (CurrentSilentConfig.Tweaks.DisableWindowsInk.HasValue)
@@ -893,7 +893,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.EnableWindowsInk();
}
- Options.CurrentOptions.DisableWindowsInk = CurrentSilentConfig.Tweaks.DisableWindowsInk.Value;
+ OptionsHelper.CurrentOptions.DisableWindowsInk = CurrentSilentConfig.Tweaks.DisableWindowsInk.Value;
}
if (CurrentSilentConfig.Tweaks.DisableSpellingTyping.HasValue)
@@ -906,7 +906,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.EnableSpellingAndTypingFeatures();
}
- Options.CurrentOptions.DisableSpellingTyping = CurrentSilentConfig.Tweaks.DisableSpellingTyping.Value;
+ OptionsHelper.CurrentOptions.DisableSpellingTyping = CurrentSilentConfig.Tweaks.DisableSpellingTyping.Value;
}
if (CurrentSilentConfig.Tweaks.DisableXboxLive.HasValue)
@@ -919,7 +919,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.EnableXboxLive();
}
- Options.CurrentOptions.DisableXboxLive = CurrentSilentConfig.Tweaks.DisableXboxLive.Value;
+ OptionsHelper.CurrentOptions.DisableXboxLive = CurrentSilentConfig.Tweaks.DisableXboxLive.Value;
}
if (CurrentSilentConfig.Tweaks.DisableGameBar.HasValue)
@@ -932,7 +932,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.EnableGameBar();
}
- Options.CurrentOptions.DisableGameBar = CurrentSilentConfig.Tweaks.DisableGameBar.Value;
+ OptionsHelper.CurrentOptions.DisableGameBar = CurrentSilentConfig.Tweaks.DisableGameBar.Value;
}
if (CurrentSilentConfig.Tweaks.DisableInsiderService.HasValue)
@@ -945,7 +945,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.EnableInsiderService();
}
- Options.CurrentOptions.DisableInsiderService = CurrentSilentConfig.Tweaks.DisableInsiderService.Value;
+ OptionsHelper.CurrentOptions.DisableInsiderService = CurrentSilentConfig.Tweaks.DisableInsiderService.Value;
}
if (CurrentSilentConfig.Tweaks.DisableStoreUpdates.HasValue)
@@ -958,7 +958,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.EnableStoreUpdates();
}
- Options.CurrentOptions.DisableStoreUpdates = CurrentSilentConfig.Tweaks.DisableStoreUpdates.Value;
+ OptionsHelper.CurrentOptions.DisableStoreUpdates = CurrentSilentConfig.Tweaks.DisableStoreUpdates.Value;
}
if (CurrentSilentConfig.Tweaks.DisableCloudClipboard.HasValue)
@@ -971,7 +971,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.EnableCloudClipboard();
}
- Options.CurrentOptions.DisableCloudClipboard = CurrentSilentConfig.Tweaks.DisableCloudClipboard.Value;
+ OptionsHelper.CurrentOptions.DisableCloudClipboard = CurrentSilentConfig.Tweaks.DisableCloudClipboard.Value;
}
if (CurrentSilentConfig.Tweaks.RemoveCastToDevice.HasValue)
@@ -984,7 +984,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.AddCastToDevice();
}
- Options.CurrentOptions.RemoveCastToDevice = CurrentSilentConfig.Tweaks.RemoveCastToDevice.Value;
+ OptionsHelper.CurrentOptions.RemoveCastToDevice = CurrentSilentConfig.Tweaks.RemoveCastToDevice.Value;
}
if (CurrentSilentConfig.Tweaks.DisableEdgeTelemetry.HasValue)
@@ -997,7 +997,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.EnableEdgeTelemetry();
}
- Options.CurrentOptions.DisableEdgeTelemetry = CurrentSilentConfig.Tweaks.DisableEdgeTelemetry.Value;
+ OptionsHelper.CurrentOptions.DisableEdgeTelemetry = CurrentSilentConfig.Tweaks.DisableEdgeTelemetry.Value;
}
if (CurrentSilentConfig.Tweaks.DisableEdgeDiscoverBar.HasValue)
@@ -1010,7 +1010,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.EnableEdgeDiscoverBar();
}
- Options.CurrentOptions.DisableEdgeDiscoverBar = CurrentSilentConfig.Tweaks.DisableEdgeDiscoverBar.Value;
+ OptionsHelper.CurrentOptions.DisableEdgeDiscoverBar = CurrentSilentConfig.Tweaks.DisableEdgeDiscoverBar.Value;
}
if (CurrentSilentConfig.Tweaks.RestoreClassicPhotoViewer.HasValue)
@@ -1023,7 +1023,7 @@ internal static void ProcessTweaksWindows10()
{
OptimizeHelper.DisableClassicPhotoViewer();
}
- Options.CurrentOptions.RestoreClassicPhotoViewer = CurrentSilentConfig.Tweaks.RestoreClassicPhotoViewer.Value;
+ OptionsHelper.CurrentOptions.RestoreClassicPhotoViewer = CurrentSilentConfig.Tweaks.RestoreClassicPhotoViewer.Value;
}
}
#endregion
@@ -1041,7 +1041,7 @@ internal static void ProcessTweaksWindows11()
{
OptimizeHelper.AlignTaskbarToCenter();
}
- Options.CurrentOptions.TaskbarToLeft = CurrentSilentConfig.Tweaks.TaskbarToLeft.Value;
+ OptionsHelper.CurrentOptions.TaskbarToLeft = CurrentSilentConfig.Tweaks.TaskbarToLeft.Value;
}
if (CurrentSilentConfig.Tweaks.DisableStickers.HasValue)
@@ -1054,7 +1054,7 @@ internal static void ProcessTweaksWindows11()
{
OptimizeHelper.EnableStickers();
}
- Options.CurrentOptions.DisableStickers = CurrentSilentConfig.Tweaks.DisableStickers.Value;
+ OptionsHelper.CurrentOptions.DisableStickers = CurrentSilentConfig.Tweaks.DisableStickers.Value;
}
if (CurrentSilentConfig.Tweaks.CompactMode.HasValue)
@@ -1067,7 +1067,7 @@ internal static void ProcessTweaksWindows11()
{
OptimizeHelper.DisableFilesCompactMode();
}
- Options.CurrentOptions.CompactMode = CurrentSilentConfig.Tweaks.CompactMode.Value;
+ OptionsHelper.CurrentOptions.CompactMode = CurrentSilentConfig.Tweaks.CompactMode.Value;
}
if (CurrentSilentConfig.Tweaks.DisableSnapAssist.HasValue)
@@ -1080,7 +1080,7 @@ internal static void ProcessTweaksWindows11()
{
OptimizeHelper.EnableSnapAssist();
}
- Options.CurrentOptions.DisableSnapAssist = CurrentSilentConfig.Tweaks.DisableSnapAssist.Value;
+ OptionsHelper.CurrentOptions.DisableSnapAssist = CurrentSilentConfig.Tweaks.DisableSnapAssist.Value;
}
if (CurrentSilentConfig.Tweaks.DisableWidgets.HasValue)
@@ -1093,7 +1093,7 @@ internal static void ProcessTweaksWindows11()
{
OptimizeHelper.EnableWidgets();
}
- Options.CurrentOptions.DisableWidgets = CurrentSilentConfig.Tweaks.DisableWidgets.Value;
+ OptionsHelper.CurrentOptions.DisableWidgets = CurrentSilentConfig.Tweaks.DisableWidgets.Value;
}
if (CurrentSilentConfig.Tweaks.DisableChat.HasValue)
@@ -1106,22 +1106,20 @@ internal static void ProcessTweaksWindows11()
{
OptimizeHelper.EnableChat();
}
- Options.CurrentOptions.DisableChat = CurrentSilentConfig.Tweaks.DisableChat.Value;
+ OptionsHelper.CurrentOptions.DisableChat = CurrentSilentConfig.Tweaks.DisableChat.Value;
}
if (CurrentSilentConfig.Tweaks.DisableVirtualizationBasedTechnology.HasValue)
{
if (CurrentSilentConfig.Tweaks.DisableVirtualizationBasedTechnology.Value)
{
- MessageBox.Show("no vbs");
- // OptimizeHelper.DisableVirtualizationBasedSecurity();
+ OptimizeHelper.DisableVirtualizationBasedSecurity();
}
else
{
- MessageBox.Show("OK vbs");
- //OptimizeHelper.EnableVirtualizationBasedSecurity();
+ OptimizeHelper.EnableVirtualizationBasedSecurity();
}
- Options.CurrentOptions.DisableVBS = CurrentSilentConfig.Tweaks.DisableVirtualizationBasedTechnology.Value;
+ OptionsHelper.CurrentOptions.DisableVBS = CurrentSilentConfig.Tweaks.DisableVirtualizationBasedTechnology.Value;
}
if (CurrentSilentConfig.Tweaks.ClassicMenu.HasValue)
@@ -1134,7 +1132,7 @@ internal static void ProcessTweaksWindows11()
{
OptimizeHelper.EnableShowMoreOptions();
}
- Options.CurrentOptions.ClassicMenu = CurrentSilentConfig.Tweaks.ClassicMenu.Value;
+ OptionsHelper.CurrentOptions.ClassicMenu = CurrentSilentConfig.Tweaks.ClassicMenu.Value;
}
if (CurrentSilentConfig.Tweaks.DisableTPMCheck.HasValue)
@@ -1147,7 +1145,20 @@ internal static void ProcessTweaksWindows11()
{
OptimizeHelper.EnableTPMCheck();
}
- Options.CurrentOptions.DisableTPMCheck = CurrentSilentConfig.Tweaks.DisableTPMCheck.Value;
+ OptionsHelper.CurrentOptions.DisableTPMCheck = CurrentSilentConfig.Tweaks.DisableTPMCheck.Value;
+ }
+
+ if (CurrentSilentConfig.Tweaks.DisableCoPilotAI.HasValue)
+ {
+ if (CurrentSilentConfig.Tweaks.DisableCoPilotAI.Value)
+ {
+ OptimizeHelper.DisableCoPilotAI();
+ }
+ else
+ {
+ OptimizeHelper.EnableCoPilotAI();
+ }
+ OptionsHelper.CurrentOptions.DisableCoPilotAI = CurrentSilentConfig.Tweaks.DisableCoPilotAI.Value;
}
}
#endregion
diff --git a/Optimizer/StartupBackupItem.cs b/Optimizer/StartupBackupItem.cs
deleted file mode 100644
index 5c28c386..00000000
--- a/Optimizer/StartupBackupItem.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System;
-
-namespace Optimizer
-{
- [Serializable]
- public sealed class StartupBackupItem
- {
- public string Name { get; set; }
- public string FileLocation { get; set; }
- public string RegistryLocation { get; set; }
- public string StartupType { get; set; }
-
- public StartupBackupItem(string n, string fl, string rl, string st)
- {
- Name = n;
- FileLocation = fl;
- RegistryLocation = rl;
- StartupType = st;
- }
- }
-}
diff --git a/Optimizer/StartupHelper.cs b/Optimizer/StartupHelper.cs
index dae46b8a..d803ca9b 100644
--- a/Optimizer/StartupHelper.cs
+++ b/Optimizer/StartupHelper.cs
@@ -100,7 +100,7 @@ private static void GetRegistryStartupItemsHelper(ref List list, St
}
}
- private static void GetFolderStartupItemsHelper(ref List list, string[] files, string[] shortcuts)
+ private static void GetFolderStartupItemsHelper(ref List list, IEnumerable files, IEnumerable shortcuts, StartupItemLocation folderOrigin)
{
foreach (string file in files)
{
@@ -110,7 +110,7 @@ private static void GetFolderStartupItemsHelper(ref List list, stri
item.Name = Path.GetFileNameWithoutExtension(file);
item.FileLocation = file;
item.Shortcut = file;
- item.RegistryLocation = StartupItemLocation.Folder;
+ item.RegistryLocation = folderOrigin;
list.Add(item);
}
@@ -128,7 +128,7 @@ private static void GetFolderStartupItemsHelper(ref List list, stri
item.Name = Path.GetFileNameWithoutExtension(shortcut);
item.FileLocation = Utilities.GetShortcutTargetFile(shortcut);
item.Shortcut = shortcut;
- item.RegistryLocation = StartupItemLocation.Folder;
+ item.RegistryLocation = folderOrigin;
list.Add(item);
}
@@ -157,18 +157,22 @@ internal static List GetStartupItems()
if (Directory.Exists(CurrentUserStartupFolder))
{
- string[] currentUserFiles = Directory.EnumerateFiles(CurrentUserStartupFolder, "*.*", SearchOption.AllDirectories)
- .Where(s => s.EndsWith(".exe") || s.EndsWith(".bat")).ToArray();
- string[] currentUserShortcuts = Directory.GetFiles(CurrentUserStartupFolder, "*.lnk", SearchOption.AllDirectories);
- GetFolderStartupItemsHelper(ref startupItems, currentUserFiles, currentUserShortcuts);
+ IEnumerable currentUserFiles = Directory.EnumerateFiles(CurrentUserStartupFolder, "*.*", SearchOption.AllDirectories)
+ .Where(s => s.EndsWith(".exe") || s.EndsWith(".bat") || s.EndsWith(".cmd"));
+
+ IEnumerable currentUserShortcuts = Directory.GetFiles(CurrentUserStartupFolder, "*.lnk", SearchOption.AllDirectories);
+
+ GetFolderStartupItemsHelper(ref startupItems, currentUserFiles, currentUserShortcuts, StartupItemLocation.CUStartupFolder);
}
if (Directory.Exists(LocalMachineStartupFolder))
{
- string[] localMachineFiles = Directory.EnumerateFiles(LocalMachineStartupFolder, "*.*", SearchOption.AllDirectories)
- .Where(s => s.EndsWith(".exe") || s.EndsWith(".bat")).ToArray();
- string[] localMachineShortcuts = Directory.GetFiles(LocalMachineStartupFolder, "*.lnk", SearchOption.AllDirectories);
- GetFolderStartupItemsHelper(ref startupItems, localMachineFiles, localMachineShortcuts);
+ IEnumerable localMachineFiles = Directory.EnumerateFiles(LocalMachineStartupFolder, "*.*", SearchOption.AllDirectories)
+ .Where(s => s.EndsWith(".exe") || s.EndsWith(".bat") || s.EndsWith(".cmd"));
+
+ IEnumerable localMachineShortcuts = Directory.GetFiles(LocalMachineStartupFolder, "*.lnk", SearchOption.AllDirectories);
+
+ GetFolderStartupItemsHelper(ref startupItems, localMachineFiles, localMachineShortcuts, StartupItemLocation.LMStartupFolder);
}
return startupItems;
diff --git a/Optimizer/TokenPrivilege.cs b/Optimizer/TokenPrivilegeHelper.cs
similarity index 89%
rename from Optimizer/TokenPrivilege.cs
rename to Optimizer/TokenPrivilegeHelper.cs
index 8bf04340..71fda3f1 100644
--- a/Optimizer/TokenPrivilege.cs
+++ b/Optimizer/TokenPrivilegeHelper.cs
@@ -7,7 +7,7 @@ namespace Optimizer
/*
* Allows clients to obtain a Windows token privilege for a well-defined scope simply by "using" an instance of this class.
*/
- sealed class TokenPrivilege : IDisposable
+ sealed class TokenPrivilegeHelper : IDisposable
{
private enum PrivilegeAction : uint
{
@@ -15,13 +15,13 @@ private enum PrivilegeAction : uint
Enable = 0x2
}
- public static TokenPrivilege Backup => new TokenPrivilege("SeBackupPrivilege");
- public static TokenPrivilege Restore => new TokenPrivilege("SeRestorePrivilege");
- public static TokenPrivilege TakeOwnership => new TokenPrivilege("SeTakeOwnershipPrivilege");
+ public static TokenPrivilegeHelper Backup => new TokenPrivilegeHelper("SeBackupPrivilege");
+ public static TokenPrivilegeHelper Restore => new TokenPrivilegeHelper("SeRestorePrivilege");
+ public static TokenPrivilegeHelper TakeOwnership => new TokenPrivilegeHelper("SeTakeOwnershipPrivilege");
private readonly string privilegeName;
- private TokenPrivilege(string privilegeName)
+ private TokenPrivilegeHelper(string privilegeName)
{
this.privilegeName = privilegeName;
Apply(PrivilegeAction.Enable);
diff --git a/Optimizer/UserFoldersHelper.cs b/Optimizer/UserFoldersHelper.cs
deleted file mode 100644
index ed424e31..00000000
--- a/Optimizer/UserFoldersHelper.cs
+++ /dev/null
@@ -1,30 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Runtime.InteropServices;
-
-namespace Optimizer
-{
- internal static class KnownFolders
- {
- private static readonly Dictionary _guids = new Dictionary
- {
- [KnownFolder.Contacts] = new Guid("56784854-C6CB-462B-8169-88E350ACB882"),
- [KnownFolder.Downloads] = new Guid("374DE290-123F-4565-9164-39C4925E467B"),
- [KnownFolder.Favorites] = new Guid("1777F761-68AD-4D8A-87BD-30B759FA33DD"),
- [KnownFolder.Links] = new Guid("BFB9D5E0-C6A9-404C-B2B2-AE6DB6AF4968"),
- [KnownFolder.SavedGames] = new Guid("4C5C32FF-BB9D-43B0-B5B4-2D72E54EAAA4"),
- [KnownFolder.SavedSearches] = new Guid("7D1D3A04-DEBB-4115-95CF-2F29DA2920DA")
- };
-
- internal static string GetPath(KnownFolder knownFolder)
- {
- return SHGetKnownFolderPath(_guids[knownFolder], 0);
- }
-
- [DllImport("shell32",
- CharSet = CharSet.Unicode, ExactSpelling = true, PreserveSig = false)]
- private static extern string SHGetKnownFolderPath(
- [MarshalAs(UnmanagedType.LPStruct)] Guid rfid, uint dwFlags,
- uint hToken = 0);
- }
-}
diff --git a/Optimizer/Utilities.cs b/Optimizer/Utilities.cs
index 0d9f4679..d5dd42fb 100644
--- a/Optimizer/Utilities.cs
+++ b/Optimizer/Utilities.cs
@@ -1,5 +1,4 @@
using Microsoft.Win32;
-using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Diagnostics;
@@ -10,7 +9,6 @@
using System.Security.AccessControl;
using System.Security.Principal;
using System.ServiceProcess;
-using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
@@ -236,7 +234,7 @@ internal static void ImportRegistryScript(string scriptFile)
internal static void Reboot()
{
- Options.SaveSettings();
+ OptionsHelper.SaveSettings();
Process.Start("shutdown.exe", "/r /t 0");
}
@@ -511,7 +509,7 @@ internal static void TryDeleteRegistryValueDefaultUsers(string path, string valu
internal static void DisableProtectedService(string serviceName)
{
- using (TokenPrivilege.TakeOwnership)
+ using (TokenPrivilegeHelper.TakeOwnership)
{
using (RegistryKey allServicesKey = Registry.LocalMachine.OpenSubKeyWritable(@"SYSTEM\CurrentControlSet\Services"))
{
@@ -558,7 +556,7 @@ internal static void DisableProtectedService(string serviceName)
internal static void EnableProtectedService(string serviceName)
{
- using (TokenPrivilege.TakeOwnership)
+ using (TokenPrivilegeHelper.TakeOwnership)
{
using (RegistryKey allServicesKey = Registry.LocalMachine.OpenSubKeyWritable(@"SYSTEM\CurrentControlSet\Services"))
{
@@ -840,23 +838,111 @@ internal static void PreventProcessFromRunning(string pName)
}
}
- // for debugging purposes
- internal static void FindDiffInTwoJsons()
+ internal static string GetUserDownloadsFolder()
{
- JObject file1 = JObject.Parse(Properties.Resources.EN);
- JObject file2 = JObject.Parse(Properties.Resources.NE);
-
- var p1 = file1.Properties().ToList();
- var p2 = file2.Properties().ToList();
-
- var missingProps = p1.Where(expected => p2.Where(actual => actual.Name == expected.Name).Count() == 0);
-
- StringBuilder sb = new StringBuilder();
- foreach (var x in missingProps)
+ try
+ {
+ return Registry.GetValue(@"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "{374DE290-123F-4565-9164-39C4925E467B}", string.Empty).ToString();
+ }
+ catch (Exception ex)
{
- sb.Append(x.Name + Environment.NewLine);
+ Logger.LogError("Utilities.GetUserDownloadsFolder", ex.Message, ex.StackTrace);
+ return string.Empty;
+ }
+ }
+
+ internal static void ReinforceCurrentTweaks()
+ {
+ SilentConfig silentConfig = new SilentConfig();
+ #region Windows General
+ silentConfig.Tweaks.EnablePerformanceTweaks = OptionsHelper.CurrentOptions.EnablePerformanceTweaks;
+ silentConfig.Tweaks.DisableNetworkThrottling = OptionsHelper.CurrentOptions.DisableNetworkThrottling;
+ silentConfig.Tweaks.DisableWindowsDefender = OptionsHelper.CurrentOptions.DisableWindowsDefender;
+ silentConfig.Tweaks.DisableSystemRestore = OptionsHelper.CurrentOptions.DisableSystemRestore;
+ silentConfig.Tweaks.DisablePrintService = OptionsHelper.CurrentOptions.DisablePrintService;
+ silentConfig.Tweaks.DisableMediaPlayerSharing = OptionsHelper.CurrentOptions.DisableMediaPlayerSharing;
+ silentConfig.Tweaks.DisableErrorReporting = OptionsHelper.CurrentOptions.DisableErrorReporting;
+ silentConfig.Tweaks.DisableHomeGroup = OptionsHelper.CurrentOptions.DisableHomeGroup;
+ silentConfig.Tweaks.DisableSuperfetch = OptionsHelper.CurrentOptions.DisableSuperfetch;
+ silentConfig.Tweaks.DisableTelemetryTasks = OptionsHelper.CurrentOptions.DisableTelemetryTasks;
+ silentConfig.Tweaks.DisableOffice2016Telemetry = OptionsHelper.CurrentOptions.DisableOffice2016Telemetry;
+ silentConfig.Tweaks.DisableCompatibilityAssistant = OptionsHelper.CurrentOptions.DisableCompatibilityAssistant;
+ silentConfig.Tweaks.DisableHibernation = OptionsHelper.CurrentOptions.DisableHibernation;
+ silentConfig.Tweaks.DisableSMB1 = OptionsHelper.CurrentOptions.DisableSMB1;
+ silentConfig.Tweaks.DisableSMB2 = OptionsHelper.CurrentOptions.DisableSMB2;
+ silentConfig.Tweaks.DisableNTFSTimeStamp = OptionsHelper.CurrentOptions.DisableNTFSTimeStamp;
+ silentConfig.Tweaks.DisableFaxService = OptionsHelper.CurrentOptions.DisableFaxService;
+ silentConfig.Tweaks.DisableSmartScreen = OptionsHelper.CurrentOptions.DisableSmartScreen;
+ silentConfig.Tweaks.DisableStickyKeys = OptionsHelper.CurrentOptions.DisableStickyKeys;
+ silentConfig.Tweaks.DisableVisualStudioTelemetry = OptionsHelper.CurrentOptions.DisableVisualStudioTelemetry;
+ silentConfig.Tweaks.DisableFirefoxTemeletry = OptionsHelper.CurrentOptions.DisableFirefoxTemeletry;
+ silentConfig.Tweaks.DisableChromeTelemetry = OptionsHelper.CurrentOptions.DisableChromeTelemetry;
+ silentConfig.Tweaks.DisableNVIDIATelemetry = OptionsHelper.CurrentOptions.DisableNVIDIATelemetry;
+ silentConfig.Tweaks.DisableSearch = OptionsHelper.CurrentOptions.DisableSearch;
+ #endregion
+ #region Windows 8.1
+ silentConfig.Tweaks.DisableOneDrive = OptionsHelper.CurrentOptions.DisableOneDrive;
+ #endregion
+ #region Windows 10
+ silentConfig.Tweaks.DisableCloudClipboard = OptionsHelper.CurrentOptions.DisableCloudClipboard;
+ silentConfig.Tweaks.EnableLegacyVolumeSlider = OptionsHelper.CurrentOptions.EnableLegacyVolumeSlider;
+ silentConfig.Tweaks.DisableQuickAccessHistory = OptionsHelper.CurrentOptions.DisableQuickAccessHistory;
+ silentConfig.Tweaks.DisableStartMenuAds = OptionsHelper.CurrentOptions.DisableStartMenuAds;
+ silentConfig.Tweaks.UninstallOneDrive = OptionsHelper.CurrentOptions.UninstallOneDrive;
+ silentConfig.Tweaks.DisableMyPeople = OptionsHelper.CurrentOptions.DisableMyPeople;
+ silentConfig.Tweaks.DisableAutomaticUpdates = OptionsHelper.CurrentOptions.DisableAutomaticUpdates;
+ silentConfig.Tweaks.ExcludeDrivers = OptionsHelper.CurrentOptions.ExcludeDrivers;
+ silentConfig.Tweaks.DisableTelemetryServices = OptionsHelper.CurrentOptions.DisableTelemetryServices;
+ silentConfig.Tweaks.DisablePrivacyOptions = OptionsHelper.CurrentOptions.DisablePrivacyOptions;
+ silentConfig.Tweaks.DisableCortana = OptionsHelper.CurrentOptions.DisableCortana;
+ silentConfig.Tweaks.DisableSensorServices = OptionsHelper.CurrentOptions.DisableSensorServices;
+ silentConfig.Tweaks.DisableWindowsInk = OptionsHelper.CurrentOptions.DisableWindowsInk;
+ silentConfig.Tweaks.DisableSpellingTyping = OptionsHelper.CurrentOptions.DisableSpellingTyping;
+ silentConfig.Tweaks.DisableXboxLive = OptionsHelper.CurrentOptions.DisableXboxLive;
+ silentConfig.Tweaks.DisableGameBar = OptionsHelper.CurrentOptions.DisableGameBar;
+ silentConfig.Tweaks.DisableInsiderService = OptionsHelper.CurrentOptions.DisableInsiderService;
+ silentConfig.Tweaks.DisableStoreUpdates = OptionsHelper.CurrentOptions.DisableStoreUpdates;
+ silentConfig.Tweaks.EnableLongPaths = OptionsHelper.CurrentOptions.EnableLongPaths;
+ silentConfig.Tweaks.RemoveCastToDevice = OptionsHelper.CurrentOptions.RemoveCastToDevice;
+ silentConfig.Tweaks.EnableGamingMode = OptionsHelper.CurrentOptions.EnableGamingMode;
+ silentConfig.Tweaks.DisableTPMCheck = OptionsHelper.CurrentOptions.DisableTPMCheck;
+ silentConfig.Tweaks.DisableVirtualizationBasedTechnology = OptionsHelper.CurrentOptions.DisableVBS;
+ silentConfig.Tweaks.DisableEdgeDiscoverBar = OptionsHelper.CurrentOptions.DisableEdgeDiscoverBar;
+ silentConfig.Tweaks.DisableEdgeTelemetry = OptionsHelper.CurrentOptions.DisableEdgeTelemetry;
+ silentConfig.Tweaks.RestoreClassicPhotoViewer = OptionsHelper.CurrentOptions.RestoreClassicPhotoViewer;
+ #endregion
+ #region Windows 11
+ silentConfig.Tweaks.TaskbarToLeft = OptionsHelper.CurrentOptions.TaskbarToLeft;
+ silentConfig.Tweaks.DisableStickers = OptionsHelper.CurrentOptions.DisableStickers;
+ silentConfig.Tweaks.CompactMode = OptionsHelper.CurrentOptions.CompactMode;
+ silentConfig.Tweaks.DisableSnapAssist = OptionsHelper.CurrentOptions.DisableSnapAssist;
+ silentConfig.Tweaks.DisableWidgets = OptionsHelper.CurrentOptions.DisableWidgets;
+ silentConfig.Tweaks.DisableChat = OptionsHelper.CurrentOptions.DisableChat;
+ silentConfig.Tweaks.ClassicMenu = OptionsHelper.CurrentOptions.ClassicMenu;
+ silentConfig.Tweaks.DisableCoPilotAI = OptionsHelper.CurrentOptions.DisableCoPilotAI;
+ #endregion
+ SilentOps.CurrentSilentConfig = silentConfig;
+
+ if (CurrentWindowsVersion == WindowsVersion.Windows7)
+ {
+ SilentOps.ProcessTweaksGeneral();
+ }
+ if (CurrentWindowsVersion == WindowsVersion.Windows8)
+ {
+ SilentOps.ProcessTweaksGeneral();
+ SilentOps.ProcessTweaksWindows8();
+ }
+ if (CurrentWindowsVersion == WindowsVersion.Windows10)
+ {
+ SilentOps.ProcessTweaksGeneral();
+ SilentOps.ProcessTweaksWindows10();
+ }
+ if (CurrentWindowsVersion == WindowsVersion.Windows11)
+ {
+ SilentOps.ProcessTweaksGeneral();
+ SilentOps.ProcessTweaksWindows10();
+ SilentOps.ProcessTweaksWindows11();
}
- MessageBox.Show(sb.ToString());
}
}
}
diff --git a/README.md b/README.md
index 6e51fc34..0bdfc161 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
-
+
@@ -20,13 +20,14 @@ Welcome to Optimizer, an advanced configuration utility designed to enhance your
🏗️ Key Features:
-- Full multilingual support (22 languages available)
+- Full multilingual support (24 languages available)
- Enhance system and network performance
- Disable unnecessary Windows services
- Turn off Windows telemetry, Cortana, and more
- Disable Office telemetry (works with Office 2016 or newer)
- Stop automatic Windows 10 updates
- Download multiple useful apps quickly
+- Disable CoPilot AI in Windows 11
- Uninstall UWP apps
- Clean system drive and browser profiles
- Fix common registry issues
@@ -104,8 +105,8 @@ Learn about our security measures in the [Security Policy](https://github.com/he
📊 Details
-- Latest version: 15.8 (Released: August 26, 2023)
-- SHA256: 2839B3E6F7BD5B3F530C2C4283CA5B16F6231358660A3AC05066FD432EAB9BC9
+- Latest version: 15.9 (Released: October 14, 2023)
+- SHA256: 3708EC060E9DAF200F8B97950D210467951FC6FEAB214E679B4FE59601F14811
☕ Buy me a delicious espresso
@@ -153,6 +154,8 @@ We'd like to extend our gratitude to the following contributors for their transl
- Hungarian: Zan
- Farsi: MjavadH
- Nepali: chapagetti
+- Hellenic
+- Bulgarian
❤️ Contribute with a translation
diff --git a/templates/template-windows11.json b/templates/template-windows11.json
index 1529bc9b..e14db3ee 100644
--- a/templates/template-windows11.json
+++ b/templates/template-windows11.json
@@ -134,6 +134,7 @@
"DisableSearch": null,
"DisableEdgeDiscoverBar": null,
"DisableEdgeTelemetry": null,
+ "DisableCoPilotAI": null,
"RestoreClassicPhotoViewer": null
}
}
\ No newline at end of file
diff --git a/version.txt b/version.txt
index e754ab7c..fa097308 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-15.8
\ No newline at end of file
+15.9
\ No newline at end of file