Push Bloaty&Nosy 0.40

This commit is contained in:
Belim 2023-03-07 21:07:21 +01:00
parent 896257c5b8
commit 444a35affe
10 changed files with 207 additions and 91 deletions

View File

@ -12,12 +12,12 @@ namespace Features.Feature.Apps
public override string ID() public override string ID()
{ {
return "[HIGH] Search and remove pre-installed bloatware apps automatically"; return "*[HIGH] Search and remove pre-installed bloatware apps automatically (Right-click to remove bloatware manually)";
} }
public override string Info() public override string Info()
{ {
return "To remove specific apps use the BloatFinder app in the \"More Apps\" section"; return "To remove specific apps use the BloatFinder app in the \"More Apps\" section or right click on this feature";
} }
private void RemoveApps(string str) private void RemoveApps(string str)

View File

@ -1,13 +1,14 @@
using Microsoft.Win32; using Microsoft.Win32;
using System; using System;
using System.Windows.Forms;
namespace HelperTool namespace HelperTool
{ {
public static class OsHelper public static class OsHelper
{ {
public static readonly string thisOS = GetSupportedOS() + "\x20" + GetVersion(); public static readonly string thisOS = IsWin11() + "\x20" + GetVersion();
public static string GetSupportedOS() public static bool IsWin11()
{ {
try try
{ {
@ -15,11 +16,12 @@ namespace HelperTool
int osbuild = Convert.ToInt32(key.GetValue("CurrentBuildNumber")); int osbuild = Convert.ToInt32(key.GetValue("CurrentBuildNumber"));
if (osbuild >= 21996) if (osbuild >= 21996)
{ {
return "Windows 11"; return true;
} }
} }
catch { } catch (Exception ex)
return "Windows 10"; { MessageBox.Show(ex.Message); }
return false;
} }
public static string GetVersion() public static string GetVersion()

View File

@ -31,6 +31,8 @@
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
this.pnlForm = new System.Windows.Forms.Panel(); this.pnlForm = new System.Windows.Forms.Panel();
this.pnlMain = new System.Windows.Forms.Panel(); this.pnlMain = new System.Windows.Forms.Panel();
this.lnkGitHubRepo = new System.Windows.Forms.LinkLabel();
this.lblAppOptionsFix = new System.Windows.Forms.Label();
this.lnkRunSetup = new System.Windows.Forms.LinkLabel(); this.lnkRunSetup = new System.Windows.Forms.LinkLabel();
this.btnAppOptions = new System.Windows.Forms.Button(); this.btnAppOptions = new System.Windows.Forms.Button();
this.btnSettings = new System.Windows.Forms.Button(); this.btnSettings = new System.Windows.Forms.Button();
@ -42,8 +44,8 @@
this.lblTools = new System.Windows.Forms.Label(); this.lblTools = new System.Windows.Forms.Label();
this.cmbTools = new System.Windows.Forms.ComboBox(); this.cmbTools = new System.Windows.Forms.ComboBox();
this.lblHeader = new System.Windows.Forms.Label(); this.lblHeader = new System.Windows.Forms.Label();
this.rtbLog = new System.Windows.Forms.RichTextBox();
this.tvwFeatures = new System.Windows.Forms.TreeView(); this.tvwFeatures = new System.Windows.Forms.TreeView();
this.rtbLog = new System.Windows.Forms.RichTextBox();
this.contextKebapMenu = new System.Windows.Forms.ContextMenuStrip(this.components); this.contextKebapMenu = new System.Windows.Forms.ContextMenuStrip(this.components);
this.menuAdvanced = new System.Windows.Forms.ToolStripMenuItem(); this.menuAdvanced = new System.Windows.Forms.ToolStripMenuItem();
this.menuIgnoreLowLevelP = new System.Windows.Forms.ToolStripMenuItem(); this.menuIgnoreLowLevelP = new System.Windows.Forms.ToolStripMenuItem();
@ -54,10 +56,13 @@
this.menuFixInfo = new System.Windows.Forms.ToolStripTextBox(); this.menuFixInfo = new System.Windows.Forms.ToolStripTextBox();
this.menuRestore = new System.Windows.Forms.ToolStripMenuItem(); this.menuRestore = new System.Windows.Forms.ToolStripMenuItem();
this.menuRestoreInfo = new System.Windows.Forms.ToolStripTextBox(); this.menuRestoreInfo = new System.Windows.Forms.ToolStripTextBox();
this.contextAppMenuOptions = new System.Windows.Forms.ContextMenuStrip(this.components);
this.menuAppConfigure = new System.Windows.Forms.ToolStripMenuItem();
this.pnlForm.SuspendLayout(); this.pnlForm.SuspendLayout();
this.pnlMain.SuspendLayout(); this.pnlMain.SuspendLayout();
this.contextKebapMenu.SuspendLayout(); this.contextKebapMenu.SuspendLayout();
this.contextAppMenu.SuspendLayout(); this.contextAppMenu.SuspendLayout();
this.contextAppMenuOptions.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// pnlForm // pnlForm
@ -73,6 +78,8 @@
// pnlMain // pnlMain
// //
this.pnlMain.AutoScroll = true; this.pnlMain.AutoScroll = true;
this.pnlMain.Controls.Add(this.lnkGitHubRepo);
this.pnlMain.Controls.Add(this.lblAppOptionsFix);
this.pnlMain.Controls.Add(this.lnkRunSetup); this.pnlMain.Controls.Add(this.lnkRunSetup);
this.pnlMain.Controls.Add(this.btnAppOptions); this.pnlMain.Controls.Add(this.btnAppOptions);
this.pnlMain.Controls.Add(this.btnSettings); this.pnlMain.Controls.Add(this.btnSettings);
@ -84,14 +91,41 @@
this.pnlMain.Controls.Add(this.lblTools); this.pnlMain.Controls.Add(this.lblTools);
this.pnlMain.Controls.Add(this.cmbTools); this.pnlMain.Controls.Add(this.cmbTools);
this.pnlMain.Controls.Add(this.lblHeader); this.pnlMain.Controls.Add(this.lblHeader);
this.pnlMain.Controls.Add(this.rtbLog);
this.pnlMain.Controls.Add(this.tvwFeatures); this.pnlMain.Controls.Add(this.tvwFeatures);
this.pnlMain.Controls.Add(this.rtbLog);
this.pnlMain.Dock = System.Windows.Forms.DockStyle.Fill; this.pnlMain.Dock = System.Windows.Forms.DockStyle.Fill;
this.pnlMain.Location = new System.Drawing.Point(0, 0); this.pnlMain.Location = new System.Drawing.Point(0, 0);
this.pnlMain.Name = "pnlMain"; this.pnlMain.Name = "pnlMain";
this.pnlMain.Size = new System.Drawing.Size(1019, 801); this.pnlMain.Size = new System.Drawing.Size(1019, 801);
this.pnlMain.TabIndex = 0; this.pnlMain.TabIndex = 0;
// //
// lnkGitHubRepo
//
this.lnkGitHubRepo.AutoEllipsis = true;
this.lnkGitHubRepo.Font = new System.Drawing.Font("Segoe UI Variable Text Semiligh", 12.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lnkGitHubRepo.LinkBehavior = System.Windows.Forms.LinkBehavior.HoverUnderline;
this.lnkGitHubRepo.LinkColor = System.Drawing.Color.HotPink;
this.lnkGitHubRepo.Location = new System.Drawing.Point(209, 112);
this.lnkGitHubRepo.Name = "lnkGitHubRepo";
this.lnkGitHubRepo.Size = new System.Drawing.Size(113, 23);
this.lnkGitHubRepo.TabIndex = 181;
this.lnkGitHubRepo.TabStop = true;
this.lnkGitHubRepo.Text = "Bloaty && Nosy";
this.lnkGitHubRepo.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.lnkGitHubRepo_LinkClicked);
//
// lblAppOptionsFix
//
this.lblAppOptionsFix.AutoSize = true;
this.lblAppOptionsFix.BackColor = System.Drawing.Color.MediumVioletRed;
this.lblAppOptionsFix.Font = new System.Drawing.Font("Segoe UI Variable Text Semibold", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblAppOptionsFix.ForeColor = System.Drawing.Color.White;
this.lblAppOptionsFix.Location = new System.Drawing.Point(360, 225);
this.lblAppOptionsFix.Name = "lblAppOptionsFix";
this.lblAppOptionsFix.Size = new System.Drawing.Size(25, 17);
this.lblAppOptionsFix.TabIndex = 180;
this.lblAppOptionsFix.Text = "Fix";
this.lblAppOptionsFix.Click += new System.EventHandler(this.lblAppOptionsFix_Click);
//
// lnkRunSetup // lnkRunSetup
// //
this.lnkRunSetup.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.lnkRunSetup.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
@ -114,9 +148,11 @@
this.btnAppOptions.ForeColor = System.Drawing.Color.White; this.btnAppOptions.ForeColor = System.Drawing.Color.White;
this.btnAppOptions.Location = new System.Drawing.Point(350, 213); this.btnAppOptions.Location = new System.Drawing.Point(350, 213);
this.btnAppOptions.Name = "btnAppOptions"; this.btnAppOptions.Name = "btnAppOptions";
this.btnAppOptions.Size = new System.Drawing.Size(54, 42); this.btnAppOptions.Padding = new System.Windows.Forms.Padding(0, 0, 5, 0);
this.btnAppOptions.Size = new System.Drawing.Size(62, 42);
this.btnAppOptions.TabIndex = 178; this.btnAppOptions.TabIndex = 178;
this.btnAppOptions.Text = "..."; this.btnAppOptions.Text = "...";
this.btnAppOptions.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.btnAppOptions.UseVisualStyleBackColor = false; this.btnAppOptions.UseVisualStyleBackColor = false;
this.btnAppOptions.Click += new System.EventHandler(this.btnAppOptions_Click); this.btnAppOptions.Click += new System.EventHandler(this.btnAppOptions_Click);
// //
@ -144,22 +180,25 @@
this.label1.Font = new System.Drawing.Font("Segoe UI Variable Text Semibold", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.label1.Font = new System.Drawing.Font("Segoe UI Variable Text Semibold", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.Location = new System.Drawing.Point(47, 49); this.label1.Location = new System.Drawing.Point(47, 49);
this.label1.Name = "label1"; this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(532, 43); this.label1.Size = new System.Drawing.Size(575, 43);
this.label1.TabIndex = 176; this.label1.TabIndex = 176;
this.label1.Text = "Welcome to the new era of Windows debloating"; this.label1.Text = "No more draw backs of upgrading to Windows 11 ";
this.label1.TextAlign = System.Drawing.ContentAlignment.BottomCenter;
// //
// btnKebapMenu // btnKebapMenu
// //
this.btnKebapMenu.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.btnKebapMenu.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnKebapMenu.FlatAppearance.BorderSize = 0; this.btnKebapMenu.FlatAppearance.BorderSize = 0;
this.btnKebapMenu.FlatAppearance.MouseOverBackColor = System.Drawing.Color.WhiteSmoke;
this.btnKebapMenu.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnKebapMenu.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btnKebapMenu.Font = new System.Drawing.Font("Segoe Fluent Icons", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btnKebapMenu.Font = new System.Drawing.Font("Segoe Fluent Icons", 21.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnKebapMenu.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.btnKebapMenu.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.btnKebapMenu.Location = new System.Drawing.Point(977, 0); this.btnKebapMenu.Location = new System.Drawing.Point(970, 0);
this.btnKebapMenu.Name = "btnKebapMenu"; this.btnKebapMenu.Name = "btnKebapMenu";
this.btnKebapMenu.Size = new System.Drawing.Size(42, 38); this.btnKebapMenu.Size = new System.Drawing.Size(42, 38);
this.btnKebapMenu.TabIndex = 175; this.btnKebapMenu.TabIndex = 175;
this.btnKebapMenu.Text = "..."; this.btnKebapMenu.Text = "...";
this.btnKebapMenu.TextAlign = System.Drawing.ContentAlignment.TopCenter;
this.btnKebapMenu.UseVisualStyleBackColor = true; this.btnKebapMenu.UseVisualStyleBackColor = true;
this.btnKebapMenu.Click += new System.EventHandler(this.btnMenu_Click); this.btnKebapMenu.Click += new System.EventHandler(this.btnMenu_Click);
// //
@ -174,7 +213,7 @@
this.btnAnalyze.Name = "btnAnalyze"; this.btnAnalyze.Name = "btnAnalyze";
this.btnAnalyze.Size = new System.Drawing.Size(286, 42); this.btnAnalyze.Size = new System.Drawing.Size(286, 42);
this.btnAnalyze.TabIndex = 27; this.btnAnalyze.TabIndex = 27;
this.btnAnalyze.Text = "Analyze"; this.btnAnalyze.Text = "Analyze Windows 11 ";
this.btnAnalyze.UseVisualStyleBackColor = false; this.btnAnalyze.UseVisualStyleBackColor = false;
this.btnAnalyze.Click += new System.EventHandler(this.btnAnalyze_Click); this.btnAnalyze.Click += new System.EventHandler(this.btnAnalyze_Click);
// //
@ -245,29 +284,9 @@
this.lblHeader.Name = "lblHeader"; this.lblHeader.Name = "lblHeader";
this.lblHeader.Size = new System.Drawing.Size(843, 59); this.lblHeader.Size = new System.Drawing.Size(843, 59);
this.lblHeader.TabIndex = 16; this.lblHeader.TabIndex = 16;
this.lblHeader.Text = "Windows 11 is too bloaty && nosey and has some annoying features that just need t" + this.lblHeader.Text = "Windows 11 is too and has some annoying features that just" +
"o go.\r\nThis app will scan your system and inform you which features it likes or " + " need to go.\r\nThis app will scan your system and inform you which features it li" +
"dislikes in your configuration."; "kes or dislikes in your configuration.";
//
// rtbLog
//
this.rtbLog.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.rtbLog.BackColor = System.Drawing.Color.White;
this.rtbLog.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.rtbLog.Cursor = System.Windows.Forms.Cursors.IBeam;
this.rtbLog.Font = new System.Drawing.Font("Segoe UI Variable Text Semiligh", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.rtbLog.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.rtbLog.HideSelection = false;
this.rtbLog.Location = new System.Drawing.Point(72, 305);
this.rtbLog.Name = "rtbLog";
this.rtbLog.ReadOnly = true;
this.rtbLog.Size = new System.Drawing.Size(861, 360);
this.rtbLog.TabIndex = 138;
this.rtbLog.Text = "";
this.rtbLog.Visible = false;
this.rtbLog.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler(this.richLog_LinkClicked);
// //
// tvwFeatures // tvwFeatures
// //
@ -291,6 +310,27 @@
this.tvwFeatures.TabIndex = 168; this.tvwFeatures.TabIndex = 168;
this.tvwFeatures.Visible = false; this.tvwFeatures.Visible = false;
this.tvwFeatures.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.treeFeatures_AfterCheck); this.tvwFeatures.AfterCheck += new System.Windows.Forms.TreeViewEventHandler(this.treeFeatures_AfterCheck);
this.tvwFeatures.MouseUp += new System.Windows.Forms.MouseEventHandler(this.tvwFeatures_MouseUp);
//
// rtbLog
//
this.rtbLog.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.rtbLog.BackColor = System.Drawing.Color.White;
this.rtbLog.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.rtbLog.Cursor = System.Windows.Forms.Cursors.IBeam;
this.rtbLog.Font = new System.Drawing.Font("Segoe UI Variable Text Semiligh", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.rtbLog.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64)))));
this.rtbLog.HideSelection = false;
this.rtbLog.Location = new System.Drawing.Point(72, 305);
this.rtbLog.Name = "rtbLog";
this.rtbLog.ReadOnly = true;
this.rtbLog.Size = new System.Drawing.Size(861, 360);
this.rtbLog.TabIndex = 138;
this.rtbLog.Text = "";
this.rtbLog.Visible = false;
this.rtbLog.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler(this.richLog_LinkClicked);
// //
// contextKebapMenu // contextKebapMenu
// //
@ -351,7 +391,7 @@
// //
this.menuFix.Name = "menuFix"; this.menuFix.Name = "menuFix";
this.menuFix.Size = new System.Drawing.Size(360, 32); this.menuFix.Size = new System.Drawing.Size(360, 32);
this.menuFix.Text = "Fix problems"; this.menuFix.Text = "Apply fixes";
this.menuFix.Click += new System.EventHandler(this.menuFix_Click); this.menuFix.Click += new System.EventHandler(this.menuFix_Click);
// //
// menuFixInfo // menuFixInfo
@ -369,7 +409,7 @@
// //
this.menuRestore.Name = "menuRestore"; this.menuRestore.Name = "menuRestore";
this.menuRestore.Size = new System.Drawing.Size(360, 32); this.menuRestore.Size = new System.Drawing.Size(360, 32);
this.menuRestore.Text = "Restore settings"; this.menuRestore.Text = "Restore default state";
this.menuRestore.TextDirection = System.Windows.Forms.ToolStripTextDirection.Horizontal; this.menuRestore.TextDirection = System.Windows.Forms.ToolStripTextDirection.Horizontal;
this.menuRestore.Click += new System.EventHandler(this.menuRestore_Click); this.menuRestore.Click += new System.EventHandler(this.menuRestore_Click);
// //
@ -384,6 +424,23 @@
this.menuRestoreInfo.Size = new System.Drawing.Size(300, 16); this.menuRestoreInfo.Size = new System.Drawing.Size(300, 16);
this.menuRestoreInfo.Text = "This will restore the default settings "; this.menuRestoreInfo.Text = "This will restore the default settings ";
// //
// contextAppMenuOptions
//
this.contextAppMenuOptions.BackColor = System.Drawing.SystemColors.Control;
this.contextAppMenuOptions.Font = new System.Drawing.Font("Segoe UI Variable Text Semiligh", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.contextAppMenuOptions.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menuAppConfigure});
this.contextAppMenuOptions.Name = "menuMain";
this.contextAppMenuOptions.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
this.contextAppMenuOptions.Size = new System.Drawing.Size(208, 30);
//
// menuAppConfigure
//
this.menuAppConfigure.Name = "menuAppConfigure";
this.menuAppConfigure.Size = new System.Drawing.Size(207, 26);
this.menuAppConfigure.Text = "Configure this app";
this.menuAppConfigure.Click += new System.EventHandler(this.menuAppConfigure_Click);
//
// MainForm // MainForm
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@ -391,6 +448,7 @@
this.BackColor = System.Drawing.Color.White; this.BackColor = System.Drawing.Color.White;
this.ClientSize = new System.Drawing.Size(1019, 801); this.ClientSize = new System.Drawing.Size(1019, 801);
this.Controls.Add(this.pnlForm); this.Controls.Add(this.pnlForm);
this.MinimumSize = new System.Drawing.Size(700, 700);
this.Name = "MainForm"; this.Name = "MainForm";
this.ShowIcon = false; this.ShowIcon = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
@ -402,6 +460,7 @@
this.contextKebapMenu.ResumeLayout(false); this.contextKebapMenu.ResumeLayout(false);
this.contextAppMenu.ResumeLayout(false); this.contextAppMenu.ResumeLayout(false);
this.contextAppMenu.PerformLayout(); this.contextAppMenu.PerformLayout();
this.contextAppMenuOptions.ResumeLayout(false);
this.ResumeLayout(false); this.ResumeLayout(false);
} }
@ -432,6 +491,10 @@
private System.Windows.Forms.ToolStripMenuItem menuImportProfile; private System.Windows.Forms.ToolStripMenuItem menuImportProfile;
private System.Windows.Forms.LinkLabel lnkRunSetup; private System.Windows.Forms.LinkLabel lnkRunSetup;
private System.Windows.Forms.ToolStripMenuItem menuExportProfile; private System.Windows.Forms.ToolStripMenuItem menuExportProfile;
private System.Windows.Forms.ContextMenuStrip contextAppMenuOptions;
private System.Windows.Forms.ToolStripMenuItem menuAppConfigure;
private System.Windows.Forms.Label lblAppOptionsFix;
private System.Windows.Forms.LinkLabel lnkGitHubRepo;
} }
} }

View File

@ -3,6 +3,7 @@ using Features.Feature;
using HelperTool; using HelperTool;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing; using System.Drawing;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
@ -36,7 +37,7 @@ namespace BloatyNosy
btnAppOptions.Text = "\uE70D"; btnAppOptions.Text = "\uE70D";
btnKebapMenu.Text = "\u22ee"; btnKebapMenu.Text = "\u22ee";
btnSettings.Text = "\uE713"; btnSettings.Text = "\uE713";
btnAnalyze.Text += "\x20" + OsHelper.thisOS; btnAnalyze.Text += OsHelper.GetVersion();
BackColor = BackColor =
tvwFeatures.BackColor = tvwFeatures.BackColor =
@ -356,7 +357,7 @@ namespace BloatyNosy
} }
DoProgress(100); DoProgress(100);
lnkSubHeader.Text = ""; lnkSubHeader.Text = "Fixing complete (click for details).";
tvwFeatures.Enabled = true; tvwFeatures.Enabled = true;
} }
@ -377,7 +378,7 @@ namespace BloatyNosy
} }
DoProgress(100); DoProgress(100);
lnkSubHeader.Text = ""; lnkSubHeader.Text = "Undo complete (click for details).";
tvwFeatures.Enabled = true; tvwFeatures.Enabled = true;
} }
@ -386,19 +387,21 @@ namespace BloatyNosy
{ {
if (string.IsNullOrWhiteSpace(rtbLog.Text)) if (string.IsNullOrWhiteSpace(rtbLog.Text))
{ {
MessageBox.Show("No analyze has taken place yet."); btnAnalyze.Text = "Click here to analyze first";
return;
} }
if (MessageBox.Show("Do you want to apply selected fixes?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
{
Reset(); Reset();
List<FeatureNode> performNodes = CollectFeatureNodes(); List<FeatureNode> performNodes = CollectFeatureNodes();
ApplyFeatures(performNodes); ApplyFeatures(performNodes);
} }
}
private void menuRestore_Click(object sender, EventArgs e) private void menuRestore_Click(object sender, EventArgs e)
{ {
if (MessageBox.Show("Do you want to restore selected features to Windows default state?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.Yes) if (MessageBox.Show("Do you want to restore selected fixes to Windows default state?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
{ {
Reset(); Reset();
@ -451,6 +454,11 @@ namespace BloatyNosy
private void lnkSubHeader_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) private void lnkSubHeader_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
=> menuAdvanced.PerformClick(); => menuAdvanced.PerformClick();
private void lblAppOptionsFix_Click(object sender, EventArgs e)
=> btnAppOptions.PerformClick();
private void lnkGitHubRepo_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
=> Process.Start(Utils.Uri.URL_GITREPO);
private void menuImportProfile_Click(object sender, EventArgs e) private void menuImportProfile_Click(object sender, EventArgs e)
{ {
OpenFileDialog f = new OpenFileDialog(); OpenFileDialog f = new OpenFileDialog();
@ -489,7 +497,7 @@ namespace BloatyNosy
{ {
SaveFileDialog f = new SaveFileDialog(); SaveFileDialog f = new SaveFileDialog();
f.InitialDirectory = HelperTool.Utils.Data.DataRootDir; f.InitialDirectory = HelperTool.Utils.Data.DataRootDir;
f.FileName = "debloos-profile"; f.FileName = "BloatyNosy-profile";
f.Filter = "BloatyNosy files *.bloos|*.bloos"; f.Filter = "BloatyNosy files *.bloos|*.bloos";
if (f.ShowDialog() == DialogResult.OK) if (f.ShowDialog() == DialogResult.OK)
@ -508,5 +516,34 @@ namespace BloatyNosy
MessageBox.Show("Profile has been successfully exported.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show("Profile has been successfully exported.", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information);
} }
} }
private void tvwFeatures_MouseUp(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
tvwFeatures.SelectedNode = tvwFeatures.GetNodeAt(e.X, e.Y);
// Configure .app-entries marked with asterix
if (tvwFeatures.SelectedNode != null && tvwFeatures.SelectedNode.Text.Contains("*"))
{
contextAppMenuOptions.Show(tvwFeatures, e.Location);
}
}
}
private void menuAppConfigure_Click(object sender, EventArgs e)
{
TreeNode tn = tvwFeatures.SelectedNode;
switch (tn.Text)
{
case "*[HIGH] Search and remove pre-installed bloatware apps automatically (Right-click to remove bloatware manually)":
this.SetView(new AppsPageView()); // In-box apps > BloatFinder view
break;
default:
break;
}
}
} }
} }

View File

@ -123,4 +123,7 @@
<metadata name="contextAppMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="contextAppMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>172, 17</value> <value>172, 17</value>
</metadata> </metadata>
<metadata name="contextAppMenuOptions.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>318, 17</value>
</metadata>
</root> </root>

View File

@ -18,7 +18,14 @@ namespace BloatyNosy
{ {
Application.EnableVisualStyles(); Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false); Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
if (!HelperTool.OsHelper.IsWin11())
{
MessageBox.Show("You are running Bloaty&Nosy on a system older than Windows 11.\nBloatyNosy is limited to Windows 11 ONLY.", "OS not supported", MessageBoxButtons.OK, MessageBoxIcon.Information);
Application.Exit();
}
else Application.Run(new MainForm());
} }
} }
} }

View File

@ -31,5 +31,5 @@ using System.Runtime.InteropServices;
// Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, // Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden,
// indem Sie "*" wie unten gezeigt eingeben: // indem Sie "*" wie unten gezeigt eingeben:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("0.32.0")] [assembly: AssemblyVersion("0.40.0")]
[assembly: AssemblyFileVersion("0.32.0")] [assembly: AssemblyFileVersion("0.40.0")]

View File

@ -31,7 +31,7 @@
this.btnBack = new System.Windows.Forms.Button(); this.btnBack = new System.Windows.Forms.Button();
this.lnkNoModsSig = new System.Windows.Forms.LinkLabel(); this.lnkNoModsSig = new System.Windows.Forms.LinkLabel();
this.lblHeader = new System.Windows.Forms.Label(); this.lblHeader = new System.Windows.Forms.Label();
this.listView = new System.Windows.Forms.ListView(); this.lvMods = new System.Windows.Forms.ListView();
this.btnInstall = new System.Windows.Forms.Button(); this.btnInstall = new System.Windows.Forms.Button();
this.progress = new System.Windows.Forms.ProgressBar(); this.progress = new System.Windows.Forms.ProgressBar();
this.label1 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label();
@ -80,31 +80,32 @@
this.lblHeader.TabIndex = 205; this.lblHeader.TabIndex = 205;
this.lblHeader.Text = "WinModder Marketplace"; this.lblHeader.Text = "WinModder Marketplace";
// //
// listView // lvMods
// //
this.listView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.lvMods.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.listView.BackColor = System.Drawing.SystemColors.Control; this.lvMods.BackColor = System.Drawing.SystemColors.Control;
this.listView.BorderStyle = System.Windows.Forms.BorderStyle.None; this.lvMods.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.listView.CheckBoxes = true; this.lvMods.CheckBoxes = true;
this.listView.Font = new System.Drawing.Font("Segoe UI Variable Text Semiligh", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lvMods.Font = new System.Drawing.Font("Segoe UI Variable Text Semiligh", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.listView.FullRowSelect = true; this.lvMods.FullRowSelect = true;
this.listView.HideSelection = false; this.lvMods.HideSelection = false;
this.listView.Location = new System.Drawing.Point(92, 85); this.lvMods.Location = new System.Drawing.Point(92, 85);
this.listView.Name = "listView"; this.lvMods.Name = "lvMods";
this.listView.OwnerDraw = true; this.lvMods.OwnerDraw = true;
this.listView.Size = new System.Drawing.Size(802, 326); this.lvMods.Size = new System.Drawing.Size(802, 326);
this.listView.TabIndex = 206; this.lvMods.TabIndex = 206;
this.listView.UseCompatibleStateImageBehavior = false; this.lvMods.UseCompatibleStateImageBehavior = false;
this.listView.View = System.Windows.Forms.View.Details; this.lvMods.View = System.Windows.Forms.View.Details;
this.listView.DrawColumnHeader += new System.Windows.Forms.DrawListViewColumnHeaderEventHandler(this.listView_DrawColumnHeader); this.lvMods.DrawColumnHeader += new System.Windows.Forms.DrawListViewColumnHeaderEventHandler(this.listView_DrawColumnHeader);
this.listView.DrawItem += new System.Windows.Forms.DrawListViewItemEventHandler(this.listView_DrawItem); this.lvMods.DrawItem += new System.Windows.Forms.DrawListViewItemEventHandler(this.listView_DrawItem);
// //
// btnInstall // btnInstall
// //
this.btnInstall.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.btnInstall.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnInstall.BackColor = System.Drawing.Color.MediumVioletRed; this.btnInstall.BackColor = System.Drawing.Color.MediumVioletRed;
this.btnInstall.Enabled = false;
this.btnInstall.FlatAppearance.BorderColor = System.Drawing.Color.Orchid; this.btnInstall.FlatAppearance.BorderColor = System.Drawing.Color.Orchid;
this.btnInstall.FlatAppearance.BorderSize = 0; this.btnInstall.FlatAppearance.BorderSize = 0;
this.btnInstall.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btnInstall.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
@ -164,7 +165,7 @@
this.Controls.Add(this.label1); this.Controls.Add(this.label1);
this.Controls.Add(this.progress); this.Controls.Add(this.progress);
this.Controls.Add(this.btnInstall); this.Controls.Add(this.btnInstall);
this.Controls.Add(this.listView); this.Controls.Add(this.lvMods);
this.Controls.Add(this.lblHeader); this.Controls.Add(this.lblHeader);
this.Controls.Add(this.lnkNoModsSig); this.Controls.Add(this.lnkNoModsSig);
this.Controls.Add(this.btnBack); this.Controls.Add(this.btnBack);
@ -179,7 +180,7 @@
private System.Windows.Forms.Button btnBack; private System.Windows.Forms.Button btnBack;
private System.Windows.Forms.LinkLabel lnkNoModsSig; private System.Windows.Forms.LinkLabel lnkNoModsSig;
private System.Windows.Forms.Label lblHeader; private System.Windows.Forms.Label lblHeader;
private System.Windows.Forms.ListView listView; private System.Windows.Forms.ListView lvMods;
private System.Windows.Forms.Button btnInstall; private System.Windows.Forms.Button btnInstall;
private System.Windows.Forms.ProgressBar progress; private System.Windows.Forms.ProgressBar progress;
private System.Windows.Forms.Label label1; private System.Windows.Forms.Label label1;

View File

@ -19,6 +19,7 @@ namespace BloatyNosy
modsForm = ctr as ModsPageView; modsForm = ctr as ModsPageView;
InitializeComponent(); InitializeComponent();
InitializeModsSignature(); InitializeModsSignature();
SetStyle(); SetStyle();
@ -26,17 +27,17 @@ namespace BloatyNosy
private void SetStyle() private void SetStyle()
{ {
listView.BackColor = Color.FromArgb(245, 241, 249); lvMods.BackColor = Color.FromArgb(245, 241, 249);
btnBack.Text = "\uE72B"; btnBack.Text = "\uE72B";
} }
private void InitializeModsSignature() private void InitializeModsSignature()
{ {
// Add required columns // Add required columns
listView.Columns.Add("Name"); lvMods.Columns.Add("Name");
listView.Columns.Add("Description"); lvMods.Columns.Add("Description");
listView.Columns.Add("Developer"); lvMods.Columns.Add("Developer");
listView.Columns.Add("Link"); lvMods.Columns.Add("Link");
try try
{ {
@ -52,25 +53,26 @@ namespace BloatyNosy
dm.Element("uri").Value, dm.Element("uri").Value,
}); });
listView.Items.Add(item); lvMods.Items.Add(item);
listView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); lvMods.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);
listView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); lvMods.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
} }
isFeatureInstalled(); isFeatureInstalled();
btnInstall.Enabled = (lvMods.Items.Count > 0);
} }
catch catch
{ {
MessageBox.Show("Mods signature file not found.\nPlease re-download and install the signatures."); MessageBox.Show("Mods signature file not found.\nPlease re-download and install the signatures.");
listView.Visible = false; lvMods.Visible = false;
lnkNoModsSig.Visible = true; lnkNoModsSig.Visible = true;
} }
} }
public void isFeatureInstalled() public void isFeatureInstalled()
{ {
foreach (ListViewItem item in listView.Items) foreach (ListViewItem item in lvMods.Items)
{ {
var feature = item.SubItems[3].Text; var feature = item.SubItems[3].Text;
if (File.Exists(HelperTool.Utils.Data.DataRootDir + feature.Split('/').Last()) if (File.Exists(HelperTool.Utils.Data.DataRootDir + feature.Split('/').Last())
@ -105,9 +107,10 @@ namespace BloatyNosy
progress.Visible = false; progress.Visible = false;
MessageBox.Show("We will restart the app to complete the installation.", "", MessageBoxButtons.OK, MessageBoxIcon.Information); // Update IMods page
Application.Restart(); btnBack.PerformClick();
Environment.Exit(0); modsForm.lnkExploreMods_LinkClicked(sender, e);
} }
} }
catch (Exception ex) catch (Exception ex)
@ -118,7 +121,7 @@ namespace BloatyNosy
{ {
bool bNeedRestart = false; bool bNeedRestart = false;
if (listView.CheckedItems.Count == 0) if (lvMods.CheckedItems.Count == 0)
{ {
MessageBox.Show("No feature selected.", "", MessageBoxButtons.OK, MessageBoxIcon.Information); MessageBox.Show("No feature selected.", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
return; return;
@ -126,7 +129,7 @@ namespace BloatyNosy
StringBuilder builder = new StringBuilder(); StringBuilder builder = new StringBuilder();
foreach (ListViewItem eachItem in listView.CheckedItems) foreach (ListViewItem eachItem in lvMods.CheckedItems)
{ {
List<string> list = new List<string>(eachItem.SubItems[3].Text.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries)); List<string> list = new List<string>(eachItem.SubItems[3].Text.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries));
@ -155,7 +158,7 @@ namespace BloatyNosy
} }
catch (Exception ex) catch (Exception ex)
{ {
MessageBox.Show(ex.Message, listView.FocusedItem.Text, MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(ex.Message, lvMods.FocusedItem.Text, MessageBoxButtons.OK, MessageBoxIcon.Error);
return; return;
} }
} }

View File

@ -231,7 +231,7 @@ namespace BloatyNosy
private void rtbDesc_LinkClicked(object sender, LinkClickedEventArgs e) private void rtbDesc_LinkClicked(object sender, LinkClickedEventArgs e)
=> HelperTool.Utils.LaunchUri(e.LinkText); => HelperTool.Utils.LaunchUri(e.LinkText);
private void lnkExploreMods_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) public void lnkExploreMods_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
=> this.SetView(new IModsPageView(this)); => this.SetView(new IModsPageView(this));
private void lnkDesc_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) private void lnkDesc_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)