diff --git a/ShiftOS.WinForms/DesktopWidgets/UpgradePercentage.Designer.cs b/ShiftOS.WinForms/DesktopWidgets/UpgradePercentage.Designer.cs
new file mode 100644
index 0000000..ca0d587
--- /dev/null
+++ b/ShiftOS.WinForms/DesktopWidgets/UpgradePercentage.Designer.cs
@@ -0,0 +1,75 @@
+namespace ShiftOS.WinForms.DesktopWidgets
+{
+ partial class UpgradePercentage
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Component Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.pgupgrades = new ShiftOS.WinForms.Controls.ShiftedProgressBar();
+ this.lbstatus = new System.Windows.Forms.Label();
+ this.SuspendLayout();
+ //
+ // pgupgrades
+ //
+ this.pgupgrades.BlockSize = 5;
+ this.pgupgrades.Dock = System.Windows.Forms.DockStyle.Bottom;
+ this.pgupgrades.Location = new System.Drawing.Point(0, 99);
+ this.pgupgrades.Maximum = 100;
+ this.pgupgrades.Name = "pgupgrades";
+ this.pgupgrades.Size = new System.Drawing.Size(227, 23);
+ this.pgupgrades.Style = System.Windows.Forms.ProgressBarStyle.Continuous;
+ this.pgupgrades.TabIndex = 0;
+ this.pgupgrades.Text = "shiftedProgressBar1";
+ this.pgupgrades.Value = 0;
+ //
+ // lbstatus
+ //
+ this.lbstatus.Dock = System.Windows.Forms.DockStyle.Fill;
+ this.lbstatus.Location = new System.Drawing.Point(0, 0);
+ this.lbstatus.Name = "lbstatus";
+ this.lbstatus.Size = new System.Drawing.Size(227, 99);
+ this.lbstatus.TabIndex = 1;
+ this.lbstatus.Text = "label1";
+ this.lbstatus.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
+ //
+ // UpgradePercentage
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.Controls.Add(this.lbstatus);
+ this.Controls.Add(this.pgupgrades);
+ this.Name = "UpgradePercentage";
+ this.Size = new System.Drawing.Size(227, 122);
+ this.ResumeLayout(false);
+
+ }
+
+ #endregion
+
+ private Controls.ShiftedProgressBar pgupgrades;
+ private System.Windows.Forms.Label lbstatus;
+ }
+}
diff --git a/ShiftOS.WinForms/DesktopWidgets/UpgradePercentage.cs b/ShiftOS.WinForms/DesktopWidgets/UpgradePercentage.cs
new file mode 100644
index 0000000..e7dec94
--- /dev/null
+++ b/ShiftOS.WinForms/DesktopWidgets/UpgradePercentage.cs
@@ -0,0 +1,41 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using ShiftOS.Engine;
+using ShiftOS.WinForms.Tools;
+
+namespace ShiftOS.WinForms.DesktopWidgets
+{
+ [DesktopWidget("Shiftorium Status", "Show how much upgrades you have and how much are available.")]
+ public partial class UpgradePercentage : UserControl, IDesktopWidget
+ {
+ public UpgradePercentage()
+ {
+ InitializeComponent();
+ }
+
+ public void OnSkinLoad()
+ {
+ ControlManager.SetupControl(lbstatus);
+ pgupgrades.Refresh();
+ }
+
+ public void OnUpgrade()
+ {
+
+ pgupgrades.Maximum = Shiftorium.GetDefaults().Count;
+ pgupgrades.Value = SaveSystem.CurrentSave.CountUpgrades();
+ lbstatus.Text = $"You have unlocked {pgupgrades.Value} upgrades out of the {pgupgrades.Maximum} available.";
+ }
+
+ public void Setup()
+ {
+ }
+ }
+}
diff --git a/ShiftOS.WinForms/DesktopWidgets/UpgradePercentage.resx b/ShiftOS.WinForms/DesktopWidgets/UpgradePercentage.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/ShiftOS.WinForms/DesktopWidgets/UpgradePercentage.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/ShiftOS.WinForms/ShiftOS.WinForms.csproj b/ShiftOS.WinForms/ShiftOS.WinForms.csproj
index 9dc3593..915543f 100644
--- a/ShiftOS.WinForms/ShiftOS.WinForms.csproj
+++ b/ShiftOS.WinForms/ShiftOS.WinForms.csproj
@@ -264,6 +264,12 @@
Clock.cs
+
+ UserControl
+
+
+ UpgradePercentage.cs
+
UserControl
@@ -413,6 +419,9 @@
Clock.cs
+
+ UpgradePercentage.cs
+
DownloadControl.cs
diff --git a/ShiftOS.WinForms/WinformsDesktop.cs b/ShiftOS.WinForms/WinformsDesktop.cs
index c458a4a..d15c04d 100644
--- a/ShiftOS.WinForms/WinformsDesktop.cs
+++ b/ShiftOS.WinForms/WinformsDesktop.cs
@@ -604,6 +604,14 @@ namespace ShiftOS.WinForms
btnshutdown.Font = LoadedSkin.ShutdownFont;
btnshutdown.ForeColor = LoadedSkin.ShutdownForeColor;
+
+ pnladvancedal.Size = LoadedSkin.AALSize;
+
+ pnlalsystemactions.Height = LoadedSkin.ALSystemActionHeight;
+ pnlstatus.Height = LoadedSkin.ALSystemStatusHeight;
+
+ flcategories.Width = LoadedSkin.AALCategoryViewWidth;
+ this.flapps.Width = LoadedSkin.AALItemViewWidth;
}
diff --git a/ShiftOS_TheReturn/Skinning.cs b/ShiftOS_TheReturn/Skinning.cs
index cee18d8..4cc9bbd 100644
--- a/ShiftOS_TheReturn/Skinning.cs
+++ b/ShiftOS_TheReturn/Skinning.cs
@@ -1115,6 +1115,42 @@ namespace ShiftOS.Engine
[ShifterDescription("What part of the panel should the status text stick to?")]
public ContentAlignment ALStatusPanelAlignment = ContentAlignment.MiddleCenter;
+
+ [ShifterMeta("Desktop")]
+ [ShifterCategory("App Launcher")]
+ [RequiresUpgrade("shift_advanced_app_launcher")]
+ [ShifterName("AL System Status Height")]
+ [ShifterDescription("Set the height of the top system status bar in the App Launcher.")]
+ public int ALSystemStatusHeight = 50;
+
+ [ShifterMeta("Desktop")]
+ [ShifterCategory("App Launcher")]
+ [RequiresUpgrade("shift_advanced_app_launcher")]
+ [ShifterName("AL Size")]
+ [ShifterDescription("Set the size of the App Launcher's container")]
+ public Size AALSize = new Size(425, 500);
+
+ [ShifterMeta("Desktop")]
+ [ShifterCategory("App Launcher")]
+ [RequiresUpgrade("shift_advanced_app_launcher")]
+ [ShifterName("AL Category View Width")]
+ [ShifterDescription("Set the width of the left Category Listing on the app launcher.")]
+ public int AALCategoryViewWidth = 237;
+
+ [ShifterMeta("Desktop")]
+ [ShifterCategory("App Launcher")]
+ [RequiresUpgrade("shift_advanced_app_launcher")]
+ [ShifterName("AL Item List Width")]
+ [ShifterDescription("Set the width of the item list in the app launcher.")]
+ public int AALItemViewWidth = 237;
+
+ [ShifterMeta("Desktop")]
+ [ShifterCategory("App Launcher")]
+ [RequiresUpgrade("shift_advanced_app_launcher")]
+ [ShifterName("AL System Actions Height")]
+ [ShifterDescription("Set the height of the bottom system actions bar in the App Launcher.")]
+ public int ALSystemActionHeight = 30;
+
[ShifterMeta("Desktop")]
[ShifterCategory("App Launcher")]
[RequiresUpgrade("skinning;shift_advanced_app_launcher")]