From 2c1f0ec259d9d056301953944152c3b3acde063b Mon Sep 17 00:00:00 2001 From: jp64k <122999544+jp64k@users.noreply.github.com> Date: Tue, 2 Dec 2025 23:01:45 +0100 Subject: [PATCH] Overhauled UI (WIP) Overhauled UI (left side navigation bar, device information, search, background, text colors) for a cleaner and more modern-looking interface. Removed no longer used resources. Adjusted layout and visibility of certain panels and controls for a cleaner interface. TODO: - Finish the full UI overhaul. - Fix MainForm Designer so it doesn't override the changes. --- AndroidSideloader.csproj | 14 +- App.config | 8 +- DonorsListView.Designer.cs | 1 - MainForm.Designer.cs | 524 +++++++++++++++--------------- MainForm.cs | 421 ++++++++++++++++++++++-- MainForm.resx | 8 +- NewApps.Designer.cs | 1 - Properties/Resources.Designer.cs | 60 +--- Properties/Resources.resx | 9 - Properties/Settings.Designer.cs | 10 +- Properties/Settings.settings | 8 +- QuestForm.Designer.cs | 1 - Resources/Pattern.png | Bin 3490 -> 0 bytes Resources/battery.png | Bin 1998 -> 398 bytes Resources/pattern_cubes.png | Bin 98393 -> 0 bytes Resources/pattern_herringbone.png | Bin 476 -> 0 bytes UpdateForm.Designer.cs | 1 - UsernameForm.Designer.cs | 1 - 18 files changed, 689 insertions(+), 378 deletions(-) delete mode 100644 Resources/Pattern.png delete mode 100644 Resources/pattern_cubes.png delete mode 100644 Resources/pattern_herringbone.png diff --git a/AndroidSideloader.csproj b/AndroidSideloader.csproj index 9ebb67a..0eddf9f 100644 --- a/AndroidSideloader.csproj +++ b/AndroidSideloader.csproj @@ -181,6 +181,11 @@ + + True + True + Resources.resx + Component @@ -266,14 +271,9 @@ PublicResXFileCodeGenerator - Resources.Designer.cs Designer + Resources.Designer.cs - - True - Resources.resx - True - QuestForm.cs Designer @@ -317,8 +317,6 @@ - - diff --git a/App.config b/App.config index ade4b57..519115b 100644 --- a/App.config +++ b/App.config @@ -33,7 +33,7 @@ True - Microsoft Sans Serif, 11.25pt + Microsoft Sans Serif, 9pt @@ -135,7 +135,7 @@ False - White + DarkGray 25, 25, 25 @@ -147,10 +147,10 @@ 25, 25, 25 - Black + 32, 35, 45 - 1, 1, 1 + 31, 34, 42 diff --git a/DonorsListView.Designer.cs b/DonorsListView.Designer.cs index 3501c0e..29a038e 100644 --- a/DonorsListView.Designer.cs +++ b/DonorsListView.Designer.cs @@ -112,7 +112,6 @@ namespace AndroidSideloader // panel1 // this.panel1.BackColor = global::AndroidSideloader.Properties.Settings.Default.BackColor; - this.panel1.BackgroundImage = global::AndroidSideloader.Properties.Resources.pattern_cubes; this.panel1.Controls.Add(this.skip_forever); this.panel1.Controls.Add(this.SkipButton); this.panel1.Controls.Add(this.DonateButton); diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs index bbb7e89..61683bb 100644 --- a/MainForm.Designer.cs +++ b/MainForm.Designer.cs @@ -1,4 +1,3 @@ - using AndroidSideloader.Properties; using System.Drawing; using System.Windows.Forms; @@ -105,9 +104,8 @@ namespace AndroidSideloader this.speedLabel_Tooltip = new System.Windows.Forms.ToolTip(this.components); this.etaLabel_Tooltip = new System.Windows.Forms.ToolTip(this.components); this.progressDLbtnContainer = new System.Windows.Forms.Panel(); - this.downloadInstallGameButton = new AndroidSideloader.RoundButton(); - this.diskLabel = new System.Windows.Forms.Label(); this.bottomContainer = new System.Windows.Forms.Panel(); + this.diskLabel = new System.Windows.Forms.Label(); this.deviceDrop = new System.Windows.Forms.Button(); this.deviceDropContainer = new System.Windows.Forms.Panel(); this.sideloadDrop = new System.Windows.Forms.Button(); @@ -118,8 +116,11 @@ namespace AndroidSideloader this.backupContainer = new System.Windows.Forms.Panel(); this.otherDrop = new System.Windows.Forms.Button(); this.otherContainer = new System.Windows.Forms.Panel(); - this.batteryLevImg = new System.Windows.Forms.PictureBox(); + this.questInfoPanel = new System.Windows.Forms.Panel(); + this.questStorageProgressBar = new System.Windows.Forms.Panel(); this.batteryLabel = new System.Windows.Forms.Label(); + this.batteryLevImg = new System.Windows.Forms.PictureBox(); + this.questInfoLabel = new System.Windows.Forms.Label(); this.ULLabel = new System.Windows.Forms.Label(); this.verLabel = new System.Windows.Forms.Label(); this.leftNavContainer = new System.Windows.Forms.Panel(); @@ -130,16 +131,17 @@ namespace AndroidSideloader this.favoriteSwitcher = new AndroidSideloader.RoundButton(); this.adbCmd_btnSend = new AndroidSideloader.RoundButton(); this.adbCmd_btnToggleUpdates = new AndroidSideloader.RoundButton(); + this.downloadInstallGameButton = new AndroidSideloader.RoundButton(); this.MountButton = new AndroidSideloader.RoundButton(); this.btnNoDevice = new AndroidSideloader.RoundButton(); ((System.ComponentModel.ISupportInitialize)(this.gamesPictureBox)).BeginInit(); this.progressDLbtnContainer.SuspendLayout(); - this.bottomContainer.SuspendLayout(); this.deviceDropContainer.SuspendLayout(); this.sideloadContainer.SuspendLayout(); this.installedAppsMenuContainer.SuspendLayout(); this.backupContainer.SuspendLayout(); this.otherContainer.SuspendLayout(); + this.questInfoPanel.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.batteryLevImg)).BeginInit(); this.leftNavContainer.SuspendLayout(); this.tableLayoutPanel1.SuspendLayout(); @@ -157,7 +159,7 @@ namespace AndroidSideloader this.m_combo.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; this.m_combo.Location = new System.Drawing.Point(224, 9); this.m_combo.Name = "m_combo"; - this.m_combo.Size = new System.Drawing.Size(374, 26); + this.m_combo.Size = new System.Drawing.Size(374, 23); this.m_combo.TabIndex = 0; this.m_combo.Text = "Select an Installed App to Uninstall or Share..."; // @@ -184,7 +186,7 @@ namespace AndroidSideloader this.speedLabel.Location = new System.Drawing.Point(2, 14); this.speedLabel.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); this.speedLabel.Name = "speedLabel"; - this.speedLabel.Size = new System.Drawing.Size(149, 18); + this.speedLabel.Size = new System.Drawing.Size(124, 15); this.speedLabel.TabIndex = 76; this.speedLabel.Text = "DLS: Speed in MBPS"; this.speedLabel_Tooltip.SetToolTip(this.speedLabel, "Current download speed, updates every second, in mbps"); @@ -234,11 +236,11 @@ namespace AndroidSideloader this.gamesQueListBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; this.gamesQueListBox.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; this.gamesQueListBox.FormattingEnabled = true; - this.gamesQueListBox.ItemHeight = 18; + this.gamesQueListBox.ItemHeight = 15; this.gamesQueListBox.Location = new System.Drawing.Point(983, 493); this.gamesQueListBox.Margin = new System.Windows.Forms.Padding(2); this.gamesQueListBox.Name = "gamesQueListBox"; - this.gamesQueListBox.Size = new System.Drawing.Size(386, 128); + this.gamesQueListBox.Size = new System.Drawing.Size(386, 122); this.gamesQueListBox.TabIndex = 9; this.gamesQueListBox.MouseClick += new System.Windows.Forms.MouseEventHandler(this.gamesQueListBox_MouseClick); this.gamesQueListBox.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop); @@ -256,7 +258,7 @@ namespace AndroidSideloader this.devicesComboBox.Location = new System.Drawing.Point(224, 39); this.devicesComboBox.Margin = new System.Windows.Forms.Padding(2); this.devicesComboBox.Name = "devicesComboBox"; - this.devicesComboBox.Size = new System.Drawing.Size(164, 26); + this.devicesComboBox.Size = new System.Drawing.Size(164, 23); this.devicesComboBox.TabIndex = 1; this.devicesComboBox.Text = "Select your device"; this.devicesComboBox.SelectedIndexChanged += new System.EventHandler(this.devicesComboBox_SelectedIndexChanged); @@ -273,7 +275,7 @@ namespace AndroidSideloader this.remotesList.Location = new System.Drawing.Point(531, 40); this.remotesList.Margin = new System.Windows.Forms.Padding(2); this.remotesList.Name = "remotesList"; - this.remotesList.Size = new System.Drawing.Size(67, 26); + this.remotesList.Size = new System.Drawing.Size(67, 23); this.remotesList.TabIndex = 3; this.remotesList.SelectedIndexChanged += new System.EventHandler(this.remotesList_SelectedIndexChanged); // @@ -353,15 +355,14 @@ namespace AndroidSideloader | System.Windows.Forms.AnchorStyles.Right))); this.searchTextBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(64)))), ((int)(((byte)(64)))), ((int)(((byte)(64))))); this.searchTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; - this.searchTextBox.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.searchTextBox.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.searchTextBox.ForeColor = System.Drawing.Color.Gray; + this.searchTextBox.ForeColor = System.Drawing.Color.LightGray; this.searchTextBox.Location = new System.Drawing.Point(224, 70); this.searchTextBox.MinimumSize = new System.Drawing.Size(231, 26); this.searchTextBox.Name = "searchTextBox"; - this.searchTextBox.Size = new System.Drawing.Size(1145, 24); + this.searchTextBox.Size = new System.Drawing.Size(1145, 21); this.searchTextBox.TabIndex = 5; - this.searchTextBox.Text = "Search"; + this.searchTextBox.Text = "Search..."; this.searchTextBox.Click += new System.EventHandler(this.searchTextBox_Click); this.searchTextBox.TextChanged += new System.EventHandler(this.searchTextBox_TextChanged); this.searchTextBox.Enter += new System.EventHandler(this.searchTextBox_Enter); @@ -378,7 +379,7 @@ namespace AndroidSideloader this.gamesQueueLabel.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; this.gamesQueueLabel.Location = new System.Drawing.Point(984, 603); this.gamesQueueLabel.Name = "gamesQueueLabel"; - this.gamesQueueLabel.Size = new System.Drawing.Size(123, 18); + this.gamesQueueLabel.Size = new System.Drawing.Size(103, 15); this.gamesQueueLabel.TabIndex = 86; this.gamesQueueLabel.Text = "Download Queue"; // @@ -438,7 +439,7 @@ namespace AndroidSideloader this.lblNotes.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; this.lblNotes.Location = new System.Drawing.Point(984, 689); this.lblNotes.Name = "lblNotes"; - this.lblNotes.Size = new System.Drawing.Size(106, 18); + this.lblNotes.Size = new System.Drawing.Size(88, 15); this.lblNotes.TabIndex = 86; this.lblNotes.Text = "Release Notes"; // @@ -514,7 +515,7 @@ namespace AndroidSideloader this.adbCmd_CommandBox.MaximumSize = new System.Drawing.Size(290, 24); this.adbCmd_CommandBox.MinimumSize = new System.Drawing.Size(290, 24); this.adbCmd_CommandBox.Name = "adbCmd_CommandBox"; - this.adbCmd_CommandBox.Size = new System.Drawing.Size(290, 24); + this.adbCmd_CommandBox.Size = new System.Drawing.Size(290, 21); this.adbCmd_CommandBox.TabIndex = 5; this.adbCmd_CommandBox.Visible = false; this.adbCmd_CommandBox.TextChanged += new System.EventHandler(this.searchTextBox_TextChanged); @@ -571,20 +572,18 @@ namespace AndroidSideloader // // startsideloadbutton // - this.startsideloadbutton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.startsideloadbutton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.startsideloadbutton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.startsideloadbutton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(45)))), ((int)(((byte)(58))))); + this.startsideloadbutton.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(107)))), ((int)(((byte)(128)))), ((int)(((byte)(159))))); this.startsideloadbutton.Dock = System.Windows.Forms.DockStyle.Top; this.startsideloadbutton.FlatAppearance.BorderSize = 0; this.startsideloadbutton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.startsideloadbutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.startsideloadbutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; + this.startsideloadbutton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F); this.startsideloadbutton.Location = new System.Drawing.Point(0, 56); this.startsideloadbutton.Name = "startsideloadbutton"; - this.startsideloadbutton.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.startsideloadbutton.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.startsideloadbutton.Size = new System.Drawing.Size(221, 28); this.startsideloadbutton.TabIndex = 5; - this.startsideloadbutton.Text = "Sideload APK"; + this.startsideloadbutton.Text = "SIDELOAD APK"; this.startsideloadbutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.startsideloadbutton_Tooltip.SetToolTip(this.startsideloadbutton, "Sideload an APK onto your device"); this.startsideloadbutton.UseVisualStyleBackColor = false; @@ -592,17 +591,15 @@ namespace AndroidSideloader // // devicesbutton // - this.devicesbutton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.devicesbutton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.devicesbutton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.devicesbutton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(45)))), ((int)(((byte)(58))))); + this.devicesbutton.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(107)))), ((int)(((byte)(128)))), ((int)(((byte)(159))))); this.devicesbutton.Dock = System.Windows.Forms.DockStyle.Top; this.devicesbutton.FlatAppearance.BorderSize = 0; this.devicesbutton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.devicesbutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.devicesbutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; + this.devicesbutton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F); this.devicesbutton.Location = new System.Drawing.Point(0, 0); this.devicesbutton.Name = "devicesbutton"; - this.devicesbutton.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.devicesbutton.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.devicesbutton.Size = new System.Drawing.Size(221, 28); this.devicesbutton.TabIndex = 0; this.devicesbutton.Text = "RECONNECT DEVICE"; @@ -613,20 +610,18 @@ namespace AndroidSideloader // // obbcopybutton // - this.obbcopybutton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.obbcopybutton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.obbcopybutton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.obbcopybutton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(45)))), ((int)(((byte)(58))))); + this.obbcopybutton.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(107)))), ((int)(((byte)(128)))), ((int)(((byte)(159))))); this.obbcopybutton.Dock = System.Windows.Forms.DockStyle.Top; this.obbcopybutton.FlatAppearance.BorderSize = 0; this.obbcopybutton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.obbcopybutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.obbcopybutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; + this.obbcopybutton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F); this.obbcopybutton.Location = new System.Drawing.Point(0, 0); this.obbcopybutton.Name = "obbcopybutton"; - this.obbcopybutton.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.obbcopybutton.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.obbcopybutton.Size = new System.Drawing.Size(221, 28); this.obbcopybutton.TabIndex = 0; - this.obbcopybutton.Text = "Copy OBB"; + this.obbcopybutton.Text = "COPY OBB"; this.obbcopybutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.obbcopybutton_Tooltip.SetToolTip(this.obbcopybutton, "Copies an obb folder to the Android/obb folder from the device (Not all games use" + " obb files)"); @@ -635,20 +630,18 @@ namespace AndroidSideloader // // backupadbbutton // - this.backupadbbutton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.backupadbbutton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.backupadbbutton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.backupadbbutton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(45)))), ((int)(((byte)(58))))); + this.backupadbbutton.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(107)))), ((int)(((byte)(128)))), ((int)(((byte)(159))))); this.backupadbbutton.Dock = System.Windows.Forms.DockStyle.Top; this.backupadbbutton.FlatAppearance.BorderSize = 0; this.backupadbbutton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.backupadbbutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.backupadbbutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; + this.backupadbbutton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F); this.backupadbbutton.Location = new System.Drawing.Point(0, 28); this.backupadbbutton.Name = "backupadbbutton"; - this.backupadbbutton.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.backupadbbutton.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.backupadbbutton.Size = new System.Drawing.Size(221, 28); this.backupadbbutton.TabIndex = 1; - this.backupadbbutton.Text = "Backup with ADB"; + this.backupadbbutton.Text = "BACKUP WITH ADB"; this.backupadbbutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.backupadbbutton_Tooltip.SetToolTip(this.backupadbbutton, "Uses ADB-Backup to Save Game Data (Pick app within the Dropdown)"); this.backupadbbutton.UseVisualStyleBackColor = false; @@ -656,20 +649,18 @@ namespace AndroidSideloader // // backupbutton // - this.backupbutton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.backupbutton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.backupbutton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.backupbutton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(45)))), ((int)(((byte)(58))))); + this.backupbutton.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(107)))), ((int)(((byte)(128)))), ((int)(((byte)(159))))); this.backupbutton.Dock = System.Windows.Forms.DockStyle.Top; this.backupbutton.FlatAppearance.BorderSize = 0; this.backupbutton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.backupbutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.backupbutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; + this.backupbutton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F); this.backupbutton.Location = new System.Drawing.Point(0, 0); this.backupbutton.Name = "backupbutton"; - this.backupbutton.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.backupbutton.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.backupbutton.Size = new System.Drawing.Size(221, 28); this.backupbutton.TabIndex = 1; - this.backupbutton.Text = "Backup Gamedata"; + this.backupbutton.Text = "BACKUP GAMEDATA"; this.backupbutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.backupbutton_Tooltip.SetToolTip(this.backupbutton, "Saves the game and apps data to the sideloader folder (Does not save APKs or OBBs" + ")"); @@ -678,20 +669,18 @@ namespace AndroidSideloader // // restorebutton // - this.restorebutton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.restorebutton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.restorebutton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.restorebutton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(45)))), ((int)(((byte)(58))))); + this.restorebutton.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(107)))), ((int)(((byte)(128)))), ((int)(((byte)(159))))); this.restorebutton.Dock = System.Windows.Forms.DockStyle.Top; this.restorebutton.FlatAppearance.BorderSize = 0; this.restorebutton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.restorebutton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.restorebutton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; + this.restorebutton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F); this.restorebutton.Location = new System.Drawing.Point(0, 56); this.restorebutton.Name = "restorebutton"; - this.restorebutton.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.restorebutton.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.restorebutton.Size = new System.Drawing.Size(221, 28); this.restorebutton.TabIndex = 0; - this.restorebutton.Text = "Restore Gamedata"; + this.restorebutton.Text = "RESTORE GAMEDATA"; this.restorebutton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.restorebutton_Tooltip.SetToolTip(this.restorebutton, "Restores the game and apps data to the device (Use the Backup Game Data button fi" + "rst!)"); @@ -700,20 +689,17 @@ namespace AndroidSideloader // // getApkButton // - this.getApkButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.getApkButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.getApkButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.getApkButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(45)))), ((int)(((byte)(58))))); + this.getApkButton.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(107)))), ((int)(((byte)(128)))), ((int)(((byte)(159))))); this.getApkButton.Dock = System.Windows.Forms.DockStyle.Top; this.getApkButton.FlatAppearance.BorderSize = 0; this.getApkButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.getApkButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.getApkButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; this.getApkButton.Location = new System.Drawing.Point(0, 0); this.getApkButton.Name = "getApkButton"; - this.getApkButton.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.getApkButton.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.getApkButton.Size = new System.Drawing.Size(221, 28); this.getApkButton.TabIndex = 2; - this.getApkButton.Text = "Share Selected App"; + this.getApkButton.Text = "SHARE SELECTED APP"; this.getApkButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.getApkButton_Tooltip.SetToolTip(this.getApkButton, "Uploads the selected app to our Servers (Pick app within the Dropdown)"); this.getApkButton.UseVisualStyleBackColor = false; @@ -721,20 +707,18 @@ namespace AndroidSideloader // // uninstallAppButton // - this.uninstallAppButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.uninstallAppButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.uninstallAppButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.uninstallAppButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(45)))), ((int)(((byte)(58))))); + this.uninstallAppButton.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(107)))), ((int)(((byte)(128)))), ((int)(((byte)(159))))); this.uninstallAppButton.Dock = System.Windows.Forms.DockStyle.Top; this.uninstallAppButton.FlatAppearance.BorderSize = 0; this.uninstallAppButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.uninstallAppButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.uninstallAppButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; + this.uninstallAppButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F); this.uninstallAppButton.Location = new System.Drawing.Point(0, 28); this.uninstallAppButton.Name = "uninstallAppButton"; - this.uninstallAppButton.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.uninstallAppButton.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.uninstallAppButton.Size = new System.Drawing.Size(221, 28); this.uninstallAppButton.TabIndex = 3; - this.uninstallAppButton.Text = "Uninstall Selected App"; + this.uninstallAppButton.Text = "UNINSTALL SELECTED APP"; this.uninstallAppButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.uninstallAppButton_Tooltip.SetToolTip(this.uninstallAppButton, "Uninstalls the selected app (Select within the Dropdown)"); this.uninstallAppButton.UseVisualStyleBackColor = false; @@ -742,20 +726,18 @@ namespace AndroidSideloader // // pullAppToDesktopBtn // - this.pullAppToDesktopBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.pullAppToDesktopBtn.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.pullAppToDesktopBtn.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.pullAppToDesktopBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(45)))), ((int)(((byte)(58))))); + this.pullAppToDesktopBtn.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(107)))), ((int)(((byte)(128)))), ((int)(((byte)(159))))); this.pullAppToDesktopBtn.Dock = System.Windows.Forms.DockStyle.Top; this.pullAppToDesktopBtn.FlatAppearance.BorderSize = 0; this.pullAppToDesktopBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.pullAppToDesktopBtn.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.pullAppToDesktopBtn.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; + this.pullAppToDesktopBtn.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F); this.pullAppToDesktopBtn.Location = new System.Drawing.Point(0, 56); this.pullAppToDesktopBtn.Name = "pullAppToDesktopBtn"; - this.pullAppToDesktopBtn.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.pullAppToDesktopBtn.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.pullAppToDesktopBtn.Size = new System.Drawing.Size(221, 28); this.pullAppToDesktopBtn.TabIndex = 4; - this.pullAppToDesktopBtn.Text = "Pull App To Desktop"; + this.pullAppToDesktopBtn.Text = "PULL APP TO DESKTOP"; this.pullAppToDesktopBtn.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.pullAppToDesktopBtn_Tooltip.SetToolTip(this.pullAppToDesktopBtn, "Extracts APK and OBB to your Desktop (Select within the Dropdown)"); this.pullAppToDesktopBtn.UseVisualStyleBackColor = false; @@ -763,20 +745,18 @@ namespace AndroidSideloader // // copyBulkObbButton // - this.copyBulkObbButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.copyBulkObbButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.copyBulkObbButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.copyBulkObbButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(45)))), ((int)(((byte)(58))))); + this.copyBulkObbButton.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(107)))), ((int)(((byte)(128)))), ((int)(((byte)(159))))); this.copyBulkObbButton.Dock = System.Windows.Forms.DockStyle.Top; this.copyBulkObbButton.FlatAppearance.BorderSize = 0; this.copyBulkObbButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.copyBulkObbButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.copyBulkObbButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; + this.copyBulkObbButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F); this.copyBulkObbButton.Location = new System.Drawing.Point(0, 28); this.copyBulkObbButton.Name = "copyBulkObbButton"; - this.copyBulkObbButton.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.copyBulkObbButton.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.copyBulkObbButton.Size = new System.Drawing.Size(221, 28); this.copyBulkObbButton.TabIndex = 1; - this.copyBulkObbButton.Text = "Recursive Copy OBB"; + this.copyBulkObbButton.Text = "RECURSIVE COPY OBB"; this.copyBulkObbButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.copyBulkObbButton_Tooltip.SetToolTip(this.copyBulkObbButton, "Copies an multiple OBB folders to your device."); this.copyBulkObbButton.UseVisualStyleBackColor = false; @@ -784,20 +764,19 @@ namespace AndroidSideloader // // aboutBtn // - this.aboutBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40))))); + this.aboutBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(35)))), ((int)(((byte)(45))))); this.aboutBtn.Cursor = System.Windows.Forms.Cursors.Hand; - this.aboutBtn.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.aboutBtn.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.aboutBtn.Dock = System.Windows.Forms.DockStyle.Top; this.aboutBtn.FlatAppearance.BorderSize = 0; this.aboutBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.aboutBtn.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.aboutBtn.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; - this.aboutBtn.Location = new System.Drawing.Point(0, 645); + this.aboutBtn.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold); + this.aboutBtn.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(93)))), ((int)(((byte)(203)))), ((int)(((byte)(173))))); + this.aboutBtn.Location = new System.Drawing.Point(0, 697); this.aboutBtn.Name = "aboutBtn"; + this.aboutBtn.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.aboutBtn.Size = new System.Drawing.Size(221, 28); this.aboutBtn.TabIndex = 5; - this.aboutBtn.Text = " ?   ABOUT"; + this.aboutBtn.Text = "ABOUT"; this.aboutBtn.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.aboutBtn_Tooltip.SetToolTip(this.aboutBtn, "About the Rookie App and it\'s amazing creators and contributors"); this.aboutBtn.UseVisualStyleBackColor = false; @@ -805,21 +784,20 @@ namespace AndroidSideloader // // settingsButton // - this.settingsButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40))))); + this.settingsButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(35)))), ((int)(((byte)(45))))); this.settingsButton.Cursor = System.Windows.Forms.Cursors.Hand; - this.settingsButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.settingsButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.settingsButton.Dock = System.Windows.Forms.DockStyle.Top; this.settingsButton.FlatAppearance.BorderSize = 0; this.settingsButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.settingsButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.settingsButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; + this.settingsButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold); + this.settingsButton.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(93)))), ((int)(((byte)(203)))), ((int)(((byte)(173))))); this.settingsButton.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; - this.settingsButton.Location = new System.Drawing.Point(0, 617); + this.settingsButton.Location = new System.Drawing.Point(0, 669); this.settingsButton.Name = "settingsButton"; + this.settingsButton.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.settingsButton.Size = new System.Drawing.Size(221, 28); this.settingsButton.TabIndex = 4; - this.settingsButton.Text = "⚙ SETTINGS"; + this.settingsButton.Text = "SETTINGS"; this.settingsButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.settingsButton_Tooltip.SetToolTip(this.settingsButton, "Rookie App Settings"); this.settingsButton.UseVisualStyleBackColor = false; @@ -827,20 +805,18 @@ namespace AndroidSideloader // // QuestOptionsButton // - this.QuestOptionsButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.QuestOptionsButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.QuestOptionsButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.QuestOptionsButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(45)))), ((int)(((byte)(58))))); + this.QuestOptionsButton.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(107)))), ((int)(((byte)(128)))), ((int)(((byte)(159))))); this.QuestOptionsButton.Dock = System.Windows.Forms.DockStyle.Top; this.QuestOptionsButton.FlatAppearance.BorderSize = 0; this.QuestOptionsButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.QuestOptionsButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.QuestOptionsButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; + this.QuestOptionsButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F); this.QuestOptionsButton.Location = new System.Drawing.Point(0, 56); this.QuestOptionsButton.Name = "QuestOptionsButton"; - this.QuestOptionsButton.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.QuestOptionsButton.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.QuestOptionsButton.Size = new System.Drawing.Size(221, 28); this.QuestOptionsButton.TabIndex = 2; - this.QuestOptionsButton.Text = "Quest Options"; + this.QuestOptionsButton.Text = "QUEST OPTIONS"; this.QuestOptionsButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.QuestOptionsButton_Tooltip.SetToolTip(this.QuestOptionsButton, "Additional Quest Settings and Utilities"); this.QuestOptionsButton.UseVisualStyleBackColor = false; @@ -848,20 +824,18 @@ namespace AndroidSideloader // // btnOpenDownloads // - this.btnOpenDownloads.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.btnOpenDownloads.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.btnOpenDownloads.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.btnOpenDownloads.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(45)))), ((int)(((byte)(58))))); + this.btnOpenDownloads.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(107)))), ((int)(((byte)(128)))), ((int)(((byte)(159))))); this.btnOpenDownloads.Dock = System.Windows.Forms.DockStyle.Top; this.btnOpenDownloads.FlatAppearance.BorderSize = 0; this.btnOpenDownloads.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnOpenDownloads.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.btnOpenDownloads.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; + this.btnOpenDownloads.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F); this.btnOpenDownloads.Location = new System.Drawing.Point(0, 84); this.btnOpenDownloads.Name = "btnOpenDownloads"; - this.btnOpenDownloads.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.btnOpenDownloads.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.btnOpenDownloads.Size = new System.Drawing.Size(221, 28); this.btnOpenDownloads.TabIndex = 7; - this.btnOpenDownloads.Text = "Open Downloads Folder"; + this.btnOpenDownloads.Text = "OPEN DOWNLOADS FOLDER"; this.btnOpenDownloads.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.btnOpenDownloads_Tooltip.SetToolTip(this.btnOpenDownloads, "Opens your set Rookie Download Folder"); this.btnOpenDownloads.UseVisualStyleBackColor = false; @@ -869,20 +843,18 @@ namespace AndroidSideloader // // btnRunAdbCmd // - this.btnRunAdbCmd.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.btnRunAdbCmd.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.btnRunAdbCmd.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.btnRunAdbCmd.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(45)))), ((int)(((byte)(58))))); + this.btnRunAdbCmd.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(107)))), ((int)(((byte)(128)))), ((int)(((byte)(159))))); this.btnRunAdbCmd.Dock = System.Windows.Forms.DockStyle.Top; this.btnRunAdbCmd.FlatAppearance.BorderSize = 0; this.btnRunAdbCmd.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.btnRunAdbCmd.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.btnRunAdbCmd.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; + this.btnRunAdbCmd.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F); this.btnRunAdbCmd.Location = new System.Drawing.Point(0, 112); this.btnRunAdbCmd.Name = "btnRunAdbCmd"; - this.btnRunAdbCmd.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.btnRunAdbCmd.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.btnRunAdbCmd.Size = new System.Drawing.Size(221, 28); this.btnRunAdbCmd.TabIndex = 6; - this.btnRunAdbCmd.Text = "Run ADB Command"; + this.btnRunAdbCmd.Text = "RUN ADB COMMAND"; this.btnRunAdbCmd.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.btnRunAdbCmd_Tooltip.SetToolTip(this.btnRunAdbCmd, "Opens the Run ADB Command Prompt"); this.btnRunAdbCmd.UseVisualStyleBackColor = false; @@ -890,20 +862,18 @@ namespace AndroidSideloader // // ADBWirelessDisable // - this.ADBWirelessDisable.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.ADBWirelessDisable.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.ADBWirelessDisable.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.ADBWirelessDisable.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(45)))), ((int)(((byte)(58))))); + this.ADBWirelessDisable.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(107)))), ((int)(((byte)(128)))), ((int)(((byte)(159))))); this.ADBWirelessDisable.Dock = System.Windows.Forms.DockStyle.Top; this.ADBWirelessDisable.FlatAppearance.BorderSize = 0; this.ADBWirelessDisable.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.ADBWirelessDisable.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.ADBWirelessDisable.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; + this.ADBWirelessDisable.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F); this.ADBWirelessDisable.Location = new System.Drawing.Point(0, 28); this.ADBWirelessDisable.Name = "ADBWirelessDisable"; - this.ADBWirelessDisable.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.ADBWirelessDisable.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.ADBWirelessDisable.Size = new System.Drawing.Size(221, 28); this.ADBWirelessDisable.TabIndex = 1; - this.ADBWirelessDisable.Text = "Disable Wireless ADB"; + this.ADBWirelessDisable.Text = "DISABLE WIRELESS ADB"; this.ADBWirelessDisable.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.ADBWirelessDisable_Tooltip.SetToolTip(this.ADBWirelessDisable, "Removes Wireless ADB settings and disconnects any Wireless devices"); this.ADBWirelessDisable.UseVisualStyleBackColor = false; @@ -911,20 +881,18 @@ namespace AndroidSideloader // // ADBWirelessEnable // - this.ADBWirelessEnable.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.ADBWirelessEnable.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.ADBWirelessEnable.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.ADBWirelessEnable.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(45)))), ((int)(((byte)(58))))); + this.ADBWirelessEnable.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(107)))), ((int)(((byte)(128)))), ((int)(((byte)(159))))); this.ADBWirelessEnable.Dock = System.Windows.Forms.DockStyle.Top; this.ADBWirelessEnable.FlatAppearance.BorderSize = 0; this.ADBWirelessEnable.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.ADBWirelessEnable.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.ADBWirelessEnable.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; + this.ADBWirelessEnable.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F); this.ADBWirelessEnable.Location = new System.Drawing.Point(0, 0); this.ADBWirelessEnable.Name = "ADBWirelessEnable"; - this.ADBWirelessEnable.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.ADBWirelessEnable.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.ADBWirelessEnable.Size = new System.Drawing.Size(221, 28); this.ADBWirelessEnable.TabIndex = 0; - this.ADBWirelessEnable.Text = "Enable Wireless ADB"; + this.ADBWirelessEnable.Text = "ENABLE WIRELESS ADB"; this.ADBWirelessEnable.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.ADBWirelessEnable_Tooltip.SetToolTip(this.ADBWirelessEnable, "Enables Wireless sideloading. Requires a connected device to activate!"); this.ADBWirelessEnable.UseVisualStyleBackColor = false; @@ -932,20 +900,18 @@ namespace AndroidSideloader // // UpdateGamesButton // - this.UpdateGamesButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.UpdateGamesButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.UpdateGamesButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.UpdateGamesButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(45)))), ((int)(((byte)(58))))); + this.UpdateGamesButton.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(107)))), ((int)(((byte)(128)))), ((int)(((byte)(159))))); this.UpdateGamesButton.Dock = System.Windows.Forms.DockStyle.Top; this.UpdateGamesButton.FlatAppearance.BorderSize = 0; this.UpdateGamesButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.UpdateGamesButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.UpdateGamesButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; + this.UpdateGamesButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F); this.UpdateGamesButton.Location = new System.Drawing.Point(0, 28); this.UpdateGamesButton.Name = "UpdateGamesButton"; - this.UpdateGamesButton.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.UpdateGamesButton.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.UpdateGamesButton.Size = new System.Drawing.Size(221, 29); this.UpdateGamesButton.TabIndex = 7; - this.UpdateGamesButton.Text = "Refresh Update List"; + this.UpdateGamesButton.Text = "REFRESH APP LIST"; this.UpdateGamesButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.UpdateGamesButton_Tooltip.SetToolTip(this.UpdateGamesButton, "Refresh Game List and available updates"); this.UpdateGamesButton.UseVisualStyleBackColor = false; @@ -953,20 +919,18 @@ namespace AndroidSideloader // // listApkButton // - this.listApkButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.listApkButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.listApkButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.listApkButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(42)))), ((int)(((byte)(45)))), ((int)(((byte)(58))))); + this.listApkButton.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(107)))), ((int)(((byte)(128)))), ((int)(((byte)(159))))); this.listApkButton.Dock = System.Windows.Forms.DockStyle.Top; this.listApkButton.FlatAppearance.BorderSize = 0; this.listApkButton.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.listApkButton.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.listApkButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; + this.listApkButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 8F); this.listApkButton.Location = new System.Drawing.Point(0, 57); this.listApkButton.Name = "listApkButton"; - this.listApkButton.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); + this.listApkButton.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.listApkButton.Size = new System.Drawing.Size(221, 28); this.listApkButton.TabIndex = 6; - this.listApkButton.Text = "Refresh All"; + this.listApkButton.Text = "REFRESH ALL"; this.listApkButton.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.listApkButton_Tooltip.SetToolTip(this.listApkButton, "Refresh connected devices, installed apps, and update game list"); this.listApkButton.UseVisualStyleBackColor = false; @@ -988,82 +952,37 @@ namespace AndroidSideloader this.progressDLbtnContainer.Size = new System.Drawing.Size(1145, 34); this.progressDLbtnContainer.TabIndex = 96; // - // downloadInstallGameButton - // - this.downloadInstallGameButton.Active1 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40))))); - this.downloadInstallGameButton.Active2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40))))); - this.downloadInstallGameButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.downloadInstallGameButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20))))); - this.downloadInstallGameButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.downloadInstallGameButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.downloadInstallGameButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.downloadInstallGameButton.DialogResult = System.Windows.Forms.DialogResult.OK; - this.downloadInstallGameButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F); - this.downloadInstallGameButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; - this.downloadInstallGameButton.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20))))); - this.downloadInstallGameButton.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20))))); - this.downloadInstallGameButton.Location = new System.Drawing.Point(781, 0); - this.downloadInstallGameButton.Margin = new System.Windows.Forms.Padding(0); - this.downloadInstallGameButton.Name = "downloadInstallGameButton"; - this.downloadInstallGameButton.Radius = 5; - this.downloadInstallGameButton.Size = new System.Drawing.Size(364, 34); - this.downloadInstallGameButton.Stroke = true; - this.downloadInstallGameButton.StrokeColor = System.Drawing.Color.FromArgb(((int)(((byte)(74)))), ((int)(((byte)(74)))), ((int)(((byte)(74))))); - this.downloadInstallGameButton.TabIndex = 94; - this.downloadInstallGameButton.Text = "Download and Install / Add To Queue ⮩ "; - this.downloadInstallGameButton.Transparency = false; - this.downloadInstallGameButton.Click += new System.EventHandler(this.downloadInstallGameButton_Click); - this.downloadInstallGameButton.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop); - this.downloadInstallGameButton.DragEnter += new System.Windows.Forms.DragEventHandler(this.Form1_DragEnter); - // - // diskLabel - // - this.diskLabel.AutoSize = true; - this.diskLabel.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.diskLabel.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.diskLabel.Dock = System.Windows.Forms.DockStyle.Top; - this.diskLabel.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.diskLabel.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; - this.diskLabel.Location = new System.Drawing.Point(0, 0); - this.diskLabel.Name = "diskLabel"; - this.diskLabel.Padding = new System.Windows.Forms.Padding(5, 0, 0, 0); - this.diskLabel.Size = new System.Drawing.Size(82, 18); - this.diskLabel.TabIndex = 7; - this.diskLabel.Text = "Disk Label"; - this.diskLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; - // // bottomContainer // this.bottomContainer.AutoSize = true; this.bottomContainer.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink; this.bottomContainer.BackColor = global::AndroidSideloader.Properties.Settings.Default.SubButtonColor; - this.bottomContainer.Controls.Add(this.diskLabel); this.bottomContainer.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.bottomContainer.Dock = System.Windows.Forms.DockStyle.Top; - this.bottomContainer.Location = new System.Drawing.Point(0, 673); + this.bottomContainer.Location = new System.Drawing.Point(0, 725); this.bottomContainer.Margin = new System.Windows.Forms.Padding(2); this.bottomContainer.Name = "bottomContainer"; - this.bottomContainer.Size = new System.Drawing.Size(221, 18); + this.bottomContainer.Size = new System.Drawing.Size(221, 0); this.bottomContainer.TabIndex = 73; + this.bottomContainer.Visible = false; // // deviceDrop // - this.deviceDrop.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50))))); - this.deviceDrop.BackgroundImage = global::AndroidSideloader.Properties.Resources.pattern_herringbone; + this.deviceDrop.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(35)))), ((int)(((byte)(45))))); this.deviceDrop.Cursor = System.Windows.Forms.Cursors.Default; - this.deviceDrop.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.deviceDrop.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.deviceDrop.Dock = System.Windows.Forms.DockStyle.Top; this.deviceDrop.FlatAppearance.BorderSize = 0; this.deviceDrop.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.deviceDrop.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.deviceDrop.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; - this.deviceDrop.Location = new System.Drawing.Point(0, 0); + this.deviceDrop.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold); + this.deviceDrop.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(93)))), ((int)(((byte)(203)))), ((int)(((byte)(173))))); + this.deviceDrop.Location = new System.Drawing.Point(0, 52); this.deviceDrop.Margin = new System.Windows.Forms.Padding(2); this.deviceDrop.Name = "deviceDrop"; + this.deviceDrop.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.deviceDrop.Size = new System.Drawing.Size(221, 28); this.deviceDrop.TabIndex = 1; - this.deviceDrop.Text = "▶ DEVICE ◀"; + this.deviceDrop.Text = "DEVICE"; + this.deviceDrop.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.deviceDrop.UseVisualStyleBackColor = false; this.deviceDrop.Click += new System.EventHandler(this.deviceDropContainer_Click); // @@ -1077,30 +996,30 @@ namespace AndroidSideloader this.deviceDropContainer.Controls.Add(this.devicesbutton); this.deviceDropContainer.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.deviceDropContainer.Dock = System.Windows.Forms.DockStyle.Top; - this.deviceDropContainer.Location = new System.Drawing.Point(0, 28); + this.deviceDropContainer.Location = new System.Drawing.Point(0, 80); this.deviceDropContainer.Margin = new System.Windows.Forms.Padding(2); this.deviceDropContainer.Name = "deviceDropContainer"; this.deviceDropContainer.Size = new System.Drawing.Size(221, 85); this.deviceDropContainer.TabIndex = 73; + this.deviceDropContainer.Visible = false; // // sideloadDrop // - this.sideloadDrop.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50))))); - this.sideloadDrop.BackgroundImage = global::AndroidSideloader.Properties.Resources.pattern_herringbone; + this.sideloadDrop.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(35)))), ((int)(((byte)(45))))); this.sideloadDrop.Cursor = System.Windows.Forms.Cursors.Default; - this.sideloadDrop.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.sideloadDrop.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.sideloadDrop.Dock = System.Windows.Forms.DockStyle.Top; this.sideloadDrop.FlatAppearance.BorderSize = 0; this.sideloadDrop.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.sideloadDrop.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.sideloadDrop.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; - this.sideloadDrop.Location = new System.Drawing.Point(0, 113); + this.sideloadDrop.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold); + this.sideloadDrop.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(93)))), ((int)(((byte)(203)))), ((int)(((byte)(173))))); + this.sideloadDrop.Location = new System.Drawing.Point(0, 165); this.sideloadDrop.Margin = new System.Windows.Forms.Padding(2); this.sideloadDrop.Name = "sideloadDrop"; + this.sideloadDrop.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.sideloadDrop.Size = new System.Drawing.Size(221, 28); this.sideloadDrop.TabIndex = 1; - this.sideloadDrop.Text = "▶ SIDELOAD ◀"; + this.sideloadDrop.Text = "SIDELOAD"; + this.sideloadDrop.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.sideloadDrop.UseVisualStyleBackColor = false; this.sideloadDrop.Click += new System.EventHandler(this.sideloadContainer_Click); // @@ -1114,30 +1033,30 @@ namespace AndroidSideloader this.sideloadContainer.Controls.Add(this.obbcopybutton); this.sideloadContainer.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.sideloadContainer.Dock = System.Windows.Forms.DockStyle.Top; - this.sideloadContainer.Location = new System.Drawing.Point(0, 141); + this.sideloadContainer.Location = new System.Drawing.Point(0, 193); this.sideloadContainer.Margin = new System.Windows.Forms.Padding(2); this.sideloadContainer.Name = "sideloadContainer"; this.sideloadContainer.Size = new System.Drawing.Size(221, 84); this.sideloadContainer.TabIndex = 74; + this.sideloadContainer.Visible = false; // // installedAppsMenu // - this.installedAppsMenu.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50))))); - this.installedAppsMenu.BackgroundImage = global::AndroidSideloader.Properties.Resources.pattern_herringbone; + this.installedAppsMenu.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(35)))), ((int)(((byte)(45))))); this.installedAppsMenu.Cursor = System.Windows.Forms.Cursors.Default; - this.installedAppsMenu.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.installedAppsMenu.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.installedAppsMenu.Dock = System.Windows.Forms.DockStyle.Top; this.installedAppsMenu.FlatAppearance.BorderSize = 0; this.installedAppsMenu.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.installedAppsMenu.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.installedAppsMenu.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; - this.installedAppsMenu.Location = new System.Drawing.Point(0, 225); + this.installedAppsMenu.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold); + this.installedAppsMenu.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(93)))), ((int)(((byte)(203)))), ((int)(((byte)(173))))); + this.installedAppsMenu.Location = new System.Drawing.Point(0, 277); this.installedAppsMenu.Margin = new System.Windows.Forms.Padding(2); this.installedAppsMenu.Name = "installedAppsMenu"; + this.installedAppsMenu.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.installedAppsMenu.Size = new System.Drawing.Size(221, 28); this.installedAppsMenu.TabIndex = 1; - this.installedAppsMenu.Text = "▶ INSTALLED APPS ◀"; + this.installedAppsMenu.Text = "INSTALLED APPS"; + this.installedAppsMenu.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.installedAppsMenu.UseVisualStyleBackColor = false; this.installedAppsMenu.Click += new System.EventHandler(this.installedAppsMenuContainer_Click); // @@ -1151,31 +1070,30 @@ namespace AndroidSideloader this.installedAppsMenuContainer.Controls.Add(this.getApkButton); this.installedAppsMenuContainer.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.installedAppsMenuContainer.Dock = System.Windows.Forms.DockStyle.Top; - this.installedAppsMenuContainer.Location = new System.Drawing.Point(0, 253); + this.installedAppsMenuContainer.Location = new System.Drawing.Point(0, 305); this.installedAppsMenuContainer.Margin = new System.Windows.Forms.Padding(2); this.installedAppsMenuContainer.Name = "installedAppsMenuContainer"; this.installedAppsMenuContainer.Size = new System.Drawing.Size(221, 84); this.installedAppsMenuContainer.TabIndex = 73; + this.installedAppsMenuContainer.Visible = false; // // backupDrop // - this.backupDrop.BackColor = global::AndroidSideloader.Properties.Settings.Default.ButtonColor; - this.backupDrop.BackgroundImage = global::AndroidSideloader.Properties.Resources.pattern_herringbone; + this.backupDrop.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(35)))), ((int)(((byte)(45))))); this.backupDrop.Cursor = System.Windows.Forms.Cursors.Default; - this.backupDrop.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.backupDrop.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.backupDrop.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "ButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.backupDrop.Dock = System.Windows.Forms.DockStyle.Top; this.backupDrop.FlatAppearance.BorderSize = 0; this.backupDrop.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.backupDrop.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.backupDrop.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; - this.backupDrop.Location = new System.Drawing.Point(0, 337); + this.backupDrop.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold); + this.backupDrop.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(93)))), ((int)(((byte)(203)))), ((int)(((byte)(173))))); + this.backupDrop.Location = new System.Drawing.Point(0, 389); this.backupDrop.Margin = new System.Windows.Forms.Padding(2); this.backupDrop.Name = "backupDrop"; + this.backupDrop.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.backupDrop.Size = new System.Drawing.Size(221, 28); this.backupDrop.TabIndex = 2; - this.backupDrop.Text = "▶ BACKUP / RESTORE ◀"; + this.backupDrop.Text = "BACKUP / RESTORE"; + this.backupDrop.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.backupDrop.UseVisualStyleBackColor = false; this.backupDrop.Click += new System.EventHandler(this.backupDrop_Click); // @@ -1189,30 +1107,30 @@ namespace AndroidSideloader this.backupContainer.Controls.Add(this.backupbutton); this.backupContainer.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.backupContainer.Dock = System.Windows.Forms.DockStyle.Top; - this.backupContainer.Location = new System.Drawing.Point(0, 365); + this.backupContainer.Location = new System.Drawing.Point(0, 417); this.backupContainer.Margin = new System.Windows.Forms.Padding(2); this.backupContainer.Name = "backupContainer"; this.backupContainer.Size = new System.Drawing.Size(221, 84); this.backupContainer.TabIndex = 76; + this.backupContainer.Visible = false; // // otherDrop // - this.otherDrop.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50))))); - this.otherDrop.BackgroundImage = global::AndroidSideloader.Properties.Resources.pattern_herringbone; + this.otherDrop.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(35)))), ((int)(((byte)(45))))); this.otherDrop.Cursor = System.Windows.Forms.Cursors.Default; - this.otherDrop.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); - this.otherDrop.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.otherDrop.Dock = System.Windows.Forms.DockStyle.Top; this.otherDrop.FlatAppearance.BorderSize = 0; this.otherDrop.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.otherDrop.Font = global::AndroidSideloader.Properties.Settings.Default.FontStyle; - this.otherDrop.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; - this.otherDrop.Location = new System.Drawing.Point(0, 449); + this.otherDrop.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold); + this.otherDrop.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(93)))), ((int)(((byte)(203)))), ((int)(((byte)(173))))); + this.otherDrop.Location = new System.Drawing.Point(0, 501); this.otherDrop.Margin = new System.Windows.Forms.Padding(2); this.otherDrop.Name = "otherDrop"; + this.otherDrop.Padding = new System.Windows.Forms.Padding(30, 0, 0, 0); this.otherDrop.Size = new System.Drawing.Size(221, 28); this.otherDrop.TabIndex = 3; - this.otherDrop.Text = "▶ OTHER ◀"; + this.otherDrop.Text = "OTHER"; + this.otherDrop.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.otherDrop.UseVisualStyleBackColor = false; this.otherDrop.Click += new System.EventHandler(this.otherDrop_Click); // @@ -1228,35 +1146,91 @@ namespace AndroidSideloader this.otherContainer.Controls.Add(this.ADBWirelessEnable); this.otherContainer.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.otherContainer.Dock = System.Windows.Forms.DockStyle.Top; - this.otherContainer.Location = new System.Drawing.Point(0, 477); + this.otherContainer.Location = new System.Drawing.Point(0, 529); this.otherContainer.Margin = new System.Windows.Forms.Padding(2); this.otherContainer.Name = "otherContainer"; this.otherContainer.Size = new System.Drawing.Size(221, 140); this.otherContainer.TabIndex = 80; + this.otherContainer.Visible = false; + // + // questStorageProgressBar + // + this.questStorageProgressBar.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(24)))), ((int)(((byte)(29))))); + this.questStorageProgressBar.Location = new System.Drawing.Point(2, 2); + this.questStorageProgressBar.Margin = new System.Windows.Forms.Padding(0); + this.questStorageProgressBar.Name = "questStorageProgressBar"; + this.questStorageProgressBar.Size = new System.Drawing.Size(217, 44); + this.questStorageProgressBar.TabIndex = 100; + this.questStorageProgressBar.Paint += new System.Windows.Forms.PaintEventHandler(this.questStorageProgressBar_Paint); + // + // questInfoPanel + // + this.questInfoPanel.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(24)))), ((int)(((byte)(29))))); + this.questInfoPanel.Controls.Add(this.batteryLabel); + this.questInfoPanel.Controls.Add(this.batteryLevImg); + this.questInfoPanel.Controls.Add(this.diskLabel); + this.questInfoPanel.Controls.Add(this.questInfoLabel); + this.questInfoPanel.Controls.Add(this.questStorageProgressBar); + this.questInfoPanel.Dock = System.Windows.Forms.DockStyle.Top; + this.questInfoPanel.Location = new System.Drawing.Point(2, 2); + this.questInfoPanel.Margin = new System.Windows.Forms.Padding(0); + this.questInfoPanel.Name = "questInfoPanel"; + this.questInfoPanel.Size = new System.Drawing.Size(217, 48); + this.questInfoPanel.TabIndex = 0; + // + // diskLabel + // + this.diskLabel.BackColor = System.Drawing.Color.Transparent; + this.diskLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.diskLabel.ForeColor = System.Drawing.Color.LightGray; + this.diskLabel.Location = new System.Drawing.Point(8, 24); + this.diskLabel.Name = "diskLabel"; + this.diskLabel.Size = new System.Drawing.Size(150, 12); + this.diskLabel.TabIndex = 7; + this.diskLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.diskLabel.Parent = this.questStorageProgressBar; // // batteryLevImg // + this.batteryLevImg.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.batteryLevImg.BackColor = System.Drawing.Color.Transparent; this.batteryLevImg.BackgroundImage = global::AndroidSideloader.Properties.Resources.battery; this.batteryLevImg.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; - this.batteryLevImg.Location = new System.Drawing.Point(166, 715); + this.batteryLevImg.Location = new System.Drawing.Point(158, 8); this.batteryLevImg.Margin = new System.Windows.Forms.Padding(2); this.batteryLevImg.Name = "batteryLevImg"; this.batteryLevImg.Size = new System.Drawing.Size(55, 29); this.batteryLevImg.TabIndex = 85; this.batteryLevImg.TabStop = false; + this.batteryLevImg.Parent = this.questStorageProgressBar; // // batteryLabel // + this.batteryLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.batteryLabel.AutoSize = true; this.batteryLabel.BackColor = System.Drawing.Color.Transparent; - this.batteryLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.batteryLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 7F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.batteryLabel.ForeColor = System.Drawing.SystemColors.ControlLightLight; - this.batteryLabel.Location = new System.Drawing.Point(174, 721); - this.batteryLabel.Margin = new System.Windows.Forms.Padding(2, 0, 2, 0); + this.batteryLabel.Location = new System.Drawing.Point(3, 6); + this.batteryLabel.Margin = new System.Windows.Forms.Padding(2); this.batteryLabel.Name = "batteryLabel"; this.batteryLabel.Size = new System.Drawing.Size(0, 13); this.batteryLabel.TabIndex = 84; + this.batteryLabel.Parent = this.batteryLevImg; + this.batteryLabel.BringToFront(); + // + // questInfoLabel + // + this.questInfoLabel.BackColor = System.Drawing.Color.Transparent; + this.questInfoLabel.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.questInfoLabel.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold); + this.questInfoLabel.ForeColor = System.Drawing.SystemColors.ControlLightLight; + this.questInfoLabel.Location = new System.Drawing.Point(8, 4); + this.questInfoLabel.Name = "questInfoLabel"; + this.questInfoLabel.Size = new System.Drawing.Size(150, 20); + this.questInfoLabel.TabIndex = 1; + this.questInfoLabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + this.questInfoLabel.Parent = this.questStorageProgressBar; // // ULLabel // @@ -1286,9 +1260,7 @@ namespace AndroidSideloader // leftNavContainer // this.leftNavContainer.AutoScroll = true; - this.leftNavContainer.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(25)))), ((int)(((byte)(25)))), ((int)(((byte)(25))))); - this.leftNavContainer.Controls.Add(this.batteryLabel); - this.leftNavContainer.Controls.Add(this.batteryLevImg); + this.leftNavContainer.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(24)))), ((int)(((byte)(29))))); this.leftNavContainer.Controls.Add(this.bottomContainer); this.leftNavContainer.Controls.Add(this.aboutBtn); this.leftNavContainer.Controls.Add(this.settingsButton); @@ -1302,6 +1274,7 @@ namespace AndroidSideloader this.leftNavContainer.Controls.Add(this.sideloadDrop); this.leftNavContainer.Controls.Add(this.deviceDropContainer); this.leftNavContainer.Controls.Add(this.deviceDrop); + this.leftNavContainer.Controls.Add(this.questInfoPanel); this.leftNavContainer.Dock = System.Windows.Forms.DockStyle.Left; this.leftNavContainer.Location = new System.Drawing.Point(0, 0); this.leftNavContainer.Margin = new System.Windows.Forms.Padding(2); @@ -1438,6 +1411,34 @@ namespace AndroidSideloader this.adbCmd_btnToggleUpdates.Visible = false; this.adbCmd_btnToggleUpdates.Click += new System.EventHandler(this.adbCmd_btnToggleUpdates_Click); // + // downloadInstallGameButton + // + this.downloadInstallGameButton.Active1 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40))))); + this.downloadInstallGameButton.Active2 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40))))); + this.downloadInstallGameButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.downloadInstallGameButton.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20))))); + this.downloadInstallGameButton.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "SubButtonColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.downloadInstallGameButton.DataBindings.Add(new System.Windows.Forms.Binding("ForeColor", global::AndroidSideloader.Properties.Settings.Default, "FontColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.downloadInstallGameButton.DataBindings.Add(new System.Windows.Forms.Binding("Font", global::AndroidSideloader.Properties.Settings.Default, "FontStyle", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); + this.downloadInstallGameButton.DialogResult = System.Windows.Forms.DialogResult.OK; + this.downloadInstallGameButton.Font = new System.Drawing.Font("Microsoft Sans Serif", 11.25F); + this.downloadInstallGameButton.ForeColor = global::AndroidSideloader.Properties.Settings.Default.FontColor; + this.downloadInstallGameButton.Inactive1 = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20))))); + this.downloadInstallGameButton.Inactive2 = System.Drawing.Color.FromArgb(((int)(((byte)(20)))), ((int)(((byte)(20)))), ((int)(((byte)(20))))); + this.downloadInstallGameButton.Location = new System.Drawing.Point(781, 0); + this.downloadInstallGameButton.Margin = new System.Windows.Forms.Padding(0); + this.downloadInstallGameButton.Name = "downloadInstallGameButton"; + this.downloadInstallGameButton.Radius = 5; + this.downloadInstallGameButton.Size = new System.Drawing.Size(364, 34); + this.downloadInstallGameButton.Stroke = true; + this.downloadInstallGameButton.StrokeColor = System.Drawing.Color.FromArgb(((int)(((byte)(74)))), ((int)(((byte)(74)))), ((int)(((byte)(74))))); + this.downloadInstallGameButton.TabIndex = 94; + this.downloadInstallGameButton.Text = "Download and Install / Add To Queue ⮩ "; + this.downloadInstallGameButton.Transparency = false; + this.downloadInstallGameButton.Click += new System.EventHandler(this.downloadInstallGameButton_Click); + this.downloadInstallGameButton.DragDrop += new System.Windows.Forms.DragEventHandler(this.Form1_DragDrop); + this.downloadInstallGameButton.DragEnter += new System.Windows.Forms.DragEventHandler(this.Form1_DragEnter); + // // MountButton // this.MountButton.Active1 = System.Drawing.Color.FromArgb(((int)(((byte)(40)))), ((int)(((byte)(40)))), ((int)(((byte)(40))))); @@ -1496,8 +1497,8 @@ namespace AndroidSideloader this.AllowDrop = true; this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = global::AndroidSideloader.Properties.Settings.Default.BackColor; - this.BackgroundImage = global::AndroidSideloader.Properties.Resources.pattern_cubes; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(34)))), ((int)(((byte)(42))))); + this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None; this.ClientSize = new System.Drawing.Size(1387, 747); this.Controls.Add(this.favoriteSwitcher); this.Controls.Add(this.adbCmd_btnSend); @@ -1527,8 +1528,9 @@ namespace AndroidSideloader this.Controls.Add(this.adbCmd_background); this.Controls.Add(this.gamesListView); this.Controls.Add(this.btnNoDevice); - this.DataBindings.Add(new System.Windows.Forms.Binding("BackColor", global::AndroidSideloader.Properties.Settings.Default, "BackColor", true, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged)); this.DoubleBuffered = true; + this.ForeColor = System.Drawing.Color.White; + this.HelpButton = true; this.MinimumSize = new System.Drawing.Size(1048, 760); this.Name = "MainForm"; this.ShowIcon = false; @@ -1542,13 +1544,13 @@ namespace AndroidSideloader ((System.ComponentModel.ISupportInitialize)(this.gamesPictureBox)).EndInit(); this.progressDLbtnContainer.ResumeLayout(false); this.progressDLbtnContainer.PerformLayout(); - this.bottomContainer.ResumeLayout(false); - this.bottomContainer.PerformLayout(); this.deviceDropContainer.ResumeLayout(false); this.sideloadContainer.ResumeLayout(false); this.installedAppsMenuContainer.ResumeLayout(false); this.backupContainer.ResumeLayout(false); this.otherContainer.ResumeLayout(false); + this.questInfoPanel.ResumeLayout(false); + this.questInfoPanel.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.batteryLevImg)).EndInit(); this.leftNavContainer.ResumeLayout(false); this.leftNavContainer.PerformLayout(); @@ -1558,7 +1560,11 @@ namespace AndroidSideloader this.favoriteGame.ResumeLayout(false); this.ResumeLayout(false); this.PerformLayout(); - + this.questStorageProgressBar.Visible = false; + this.batteryLevImg.Visible = false; + this.batteryLabel.Visible = false; + this.questInfoLabel.Visible = false; + this.diskLabel.Visible = false; } #endregion @@ -1617,7 +1623,6 @@ namespace AndroidSideloader private ToolTip etaLabel_Tooltip; private Panel progressDLbtnContainer; private Microsoft.Web.WebView2.WinForms.WebView2 webView21; - private Label diskLabel; private Panel bottomContainer; private Button devicesbutton; private Button deviceDrop; @@ -1660,5 +1665,10 @@ namespace AndroidSideloader private ContextMenuStrip favoriteGame; private ToolStripMenuItem favoriteButton; private RoundButton favoriteSwitcher; + private Panel questInfoPanel; + private Panel questStorageProgressBar; + private Label questInfoLabel; + private Label diskLabel; + private System.Windows.Forms.PictureBox searchIconPictureBox; } } diff --git a/MainForm.cs b/MainForm.cs index 60f4d18..86662d3 100755 --- a/MainForm.cs +++ b/MainForm.cs @@ -9,6 +9,7 @@ using System.Collections.Generic; using System.ComponentModel; using System.Diagnostics; using System.Drawing; +using System.Drawing.Drawing2D; using System.IO; using System.Linq; using System.Net; @@ -19,6 +20,7 @@ using System.Text.RegularExpressions; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; +using System.Runtime.InteropServices; namespace AndroidSideloader { @@ -49,6 +51,14 @@ namespace AndroidSideloader public static string currremotesimple = ""; #endif + private const int EM_SETMARGINS = 0xD3; + private const int EC_LEFTMARGIN = 0x0001; + private const int EC_RIGHTMARGIN = 0x0002; + [DllImport("user32.dll", CharSet = CharSet.Auto)] + private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wParam, IntPtr lParam); + private string freeSpaceText = ""; + private string freeSpaceTextDetailed = ""; + private int _questStorageProgress = 0; private bool _trailerPlayerInitialized; // player.html created and loaded private bool _trailerHtmlLoaded; // initial navigation completed private static readonly Dictionary _videoIdCache = new Dictionary(StringComparer.OrdinalIgnoreCase); // per game cache @@ -78,24 +88,70 @@ namespace AndroidSideloader InitializeTimeReferences(); CheckCommandLineArguments(); - // Initialize debounce timer for search - _debounceTimer = new System.Windows.Forms.Timer - { - Interval = 100, // 100ms delay for fast response - Enabled = false - }; - _debounceTimer.Tick += async (sender, e) => await RunSearch(); + CreateSearchIcon(); + searchTextBox.HandleCreated += (s, e) => ApplySearchTextMargins(); + _debounceTimer = new System.Windows.Forms.Timer { Interval = 100, Enabled = false }; + _debounceTimer.Tick += async (sender, e) => await RunSearch(); gamesQueListBox.DataSource = gamesQueueList; SetCurrentLogPath(); StartTimers(); - lvwColumnSorter = new ListViewColumnSorter(); gamesListView.ListViewItemSorter = lvwColumnSorter; - if (searchTextBox.Visible) + if (searchTextBox.Visible) { _ = searchTextBox.Focus(); } + + this.questInfoPanel.MouseEnter += this.QuestInfoHoverEnter; + this.questInfoPanel.MouseLeave += this.QuestInfoHoverLeave; + } + + private void CreateSearchIcon() + { + if (this.searchIconPictureBox == null) { - _ = searchTextBox.Focus(); + this.searchIconPictureBox = new PictureBox + { + Name = "searchIconPictureBox", + SizeMode = PictureBoxSizeMode.Zoom, + Size = new Size(16, 16), + BackColor = searchTextBox.BackColor, // blend with textbox + TabStop = false, + Enabled = false // let clicks go to the textbox + }; + + this.searchIconPictureBox.Image = Properties.Resources.SearchGlass; + } + + // Parent the icon to the same container as the textbox + var host = searchTextBox.Parent ?? this; + if (this.searchIconPictureBox.Parent != host) + { + host.Controls.Add(this.searchIconPictureBox); + this.searchIconPictureBox.BringToFront(); + } + + // 6px left padding inside the textbox area + int leftInset = 6; + var pt = new Point( + searchTextBox.Left + leftInset, + searchTextBox.Top + (searchTextBox.Height - searchIconPictureBox.Height) / 2 + ); + searchIconPictureBox.Location = pt; + } + + private void ApplySearchTextMargins() + { + if (searchTextBox == null) return; + + // icon width + left inset + small gap + int leftInset = 6; + int leftMarginPixels = (searchIconPictureBox?.Width ?? 16) + leftInset + 2; + int rightMarginPixels = 2; + + if (searchTextBox.IsHandleCreated) + { + int lParam = (rightMarginPixels << 16) | (leftMarginPixels & 0xFFFF); + SendMessage(searchTextBox.Handle, EM_SETMARGINS, (IntPtr)(EC_LEFTMARGIN | EC_RIGHTMARGIN), (IntPtr)lParam); } } @@ -215,10 +271,39 @@ namespace AndroidSideloader public static bool updatesNotified = false; public static string backupFolder; + private static void KillAdbProcesses() + { + try + { + foreach (var p in Process.GetProcessesByName("adb")) + { + try + { + if (!p.HasExited) + { + p.Kill(); + p.WaitForExit(3000); + } + } + catch (Exception ex) + { + Logger.Log($"Failed to kill adb process (PID {p.Id}): {ex.Message}", LogLevel.WARNING); + } + } + } + catch (Exception ex) + { + Logger.Log($"Error enumerating adb processes: {ex.Message}", LogLevel.WARNING); + } + } + private async void Form1_Load(object sender, EventArgs e) { _ = Logger.Log("Starting AndroidSideloader Application"); + // Hard kill any lingering adb.exe instances to avoid port/handle conflicts + KillAdbProcesses(); + // Show the form immediately this.Show(); Application.DoEvents(); @@ -601,8 +686,10 @@ namespace AndroidSideloader remotesList.Size = System.Drawing.Size.Empty; _ = Logger.Log($"Using Offline Mode"); } - } + changeTitlebarToDevice(); + UpdateQuestInfoPanel(); + } private void timer_Tick(object sender, EventArgs e) { @@ -720,7 +807,6 @@ namespace AndroidSideloader public async Task CheckForDevice() { - Devices.Clear(); string output = string.Empty; string error = string.Empty; @@ -731,7 +817,6 @@ namespace AndroidSideloader output = ADB.RunAdbCommandToString("devices").Output; }); - t1.Start(); while (t1.IsAlive) @@ -758,8 +843,6 @@ namespace AndroidSideloader i++; } - - if (devicesComboBox.Items.Count > 0) { devicesComboBox.SelectedIndex = 0; @@ -770,6 +853,9 @@ namespace AndroidSideloader battery = Utilities.StringUtilities.RemoveEverythingAfterFirst(battery, "\n"); battery = Utilities.StringUtilities.KeepOnlyNumbers(battery); batteryLabel.Text = battery + "%"; + + UpdateQuestInfoPanel(); + return devicesComboBox.SelectedIndex; } @@ -778,7 +864,6 @@ namespace AndroidSideloader _ = await CheckForDevice(); changeTitlebarToDevice(); - showAvailableSpace(); } @@ -894,6 +979,8 @@ namespace AndroidSideloader } diskLabel.Invoke(() => { diskLabel.Text = AvailableSpace; }); + + UpdateQuestInfoPanel(); } catch (Exception ex) { @@ -2543,26 +2630,66 @@ namespace AndroidSideloader private void deviceDropContainer_Click(object sender, EventArgs e) { - ShowSubMenu(deviceDropContainer); - deviceDrop.Text = (deviceDrop.Text == "▼ DEVICE ▼") ? "▶ DEVICE ◀" : "▼ DEVICE ▼"; + ToggleContainer(deviceDropContainer, deviceDrop); } private void sideloadContainer_Click(object sender, EventArgs e) { - ShowSubMenu(sideloadContainer); - sideloadDrop.Text = (sideloadDrop.Text == "▼ SIDELOAD ▼") ? "▶ SIDELOAD ◀" : "▼ SIDELOAD ▼"; + ToggleContainer(sideloadContainer, sideloadDrop); } private void installedAppsMenuContainer_Click(object sender, EventArgs e) { - ShowSubMenu(installedAppsMenuContainer); - installedAppsMenu.Text = (installedAppsMenu.Text == "▼ INSTALLED APPS ▼") ? "▶ INSTALLED APPS ◀" : "▼ INSTALLED APPS ▼"; + ToggleContainer(installedAppsMenuContainer, installedAppsMenu); } private void backupDrop_Click(object sender, EventArgs e) { - ShowSubMenu(backupContainer); - backupDrop.Text = (backupDrop.Text == "▼ BACKUP / RESTORE ▼") ? "▶ BACKUP / RESTORE ◀" : "▼ BACKUP / RESTORE ▼"; + ToggleContainer(backupContainer, backupDrop); + } + + private void otherDrop_Click(object sender, EventArgs e) + { + ToggleContainer(otherContainer, otherDrop); + } + + private void ToggleContainer(Panel containerToToggle, Button dropButton) + { + // Collapse all other containers + CollapseAllContainers(containerToToggle); + + // Toggle the clicked container + bool isExpanding = !containerToToggle.Visible; + containerToToggle.Visible = isExpanding; + } + + private void CollapseAllContainers(Panel exceptThis = null) + { + var containers = new[] + { + deviceDropContainer, + sideloadContainer, + installedAppsMenuContainer, + backupContainer, + otherContainer + }; + + var buttons = new[] + { + deviceDrop, + sideloadDrop, + installedAppsMenu, + backupDrop, + otherDrop + }; + + for (int i = 0; i < containers.Length; i++) + { + if (containers[i] != exceptThis && containers[i].Visible) + { + containers[i].Visible = false; + } + } } private void settingsButton_Click(object sender, EventArgs e) @@ -3594,12 +3721,6 @@ Please visit our Telegram (https://t.me/VRPirates) or Discord (https://discord.g } } - private void otherDrop_Click(object sender, EventArgs e) - { - ShowSubMenu(otherContainer); - otherDrop.Text = (otherDrop.Text == "▼ OTHER ▼") ? "▶ OTHER ◀" : "▼ OTHER ▼"; - } - private void gamesQueListBox_MouseClick(object sender, MouseEventArgs e) { if (gamesQueListBox.SelectedIndex == 0 && gamesQueueList.Count == 1) @@ -3839,7 +3960,7 @@ Please visit our Telegram (https://t.me/VRPirates) or Discord (https://discord.g string searchTerm = searchTextBox.Text; // Ignore placeholder text - if (searchTerm == "Search" || string.IsNullOrWhiteSpace(searchTerm)) + if (searchTerm == "Search..." || string.IsNullOrWhiteSpace(searchTerm)) { RestoreFullList(); return; @@ -4232,7 +4353,7 @@ function onYouTubeIframeAPIReady() { private void searchTextBox_Enter(object sender, EventArgs e) { - if (searchTextBox.Text == "Search" && searchTextBox.ForeColor == Color.Gray) + if (searchTextBox.Text == "Search..." && searchTextBox.ForeColor == Color.LightGray) { searchTextBox.Text = ""; searchTextBox.ForeColor = Color.White; @@ -4243,8 +4364,8 @@ function onYouTubeIframeAPIReady() { { if (string.IsNullOrWhiteSpace(searchTextBox.Text)) { - searchTextBox.Text = "Search"; - searchTextBox.ForeColor = Color.Gray; + searchTextBox.Text = "Search..."; + searchTextBox.ForeColor = Color.LightGray; } if (searchTextBox.Visible) @@ -4759,6 +4880,238 @@ function onYouTubeIframeAPIReady() { initListView(false); } } + + public async void UpdateQuestInfoPanel() + { + // Check if device is actually connected by checking Devices list + bool hasDevice = Devices != null && Devices.Count > 0 && !Devices.Contains("unauthorized"); + + if ((!settings.NodeviceMode && hasDevice) || DeviceConnected) + { + try + { + ADB.DeviceID = GetDeviceID(); + + // Get device model + string deviceModel = ADB.RunAdbCommandToString("shell getprop ro.product.model").Output.Trim(); + if (string.IsNullOrEmpty(deviceModel)) + { + deviceModel = "Device"; + } + + // Get storage info + string storageOutput = ADB.RunAdbCommandToString("shell df /sdcard").Output; + string[] lines = storageOutput.Split('\n'); + + long totalSpace = 0; + long usedSpace = 0; + long freeSpace = 0; + + + if (lines.Length > 1) + { + string[] parts = lines[1].Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + if (parts.Length >= 4) + { + if (long.TryParse(parts[1], out totalSpace) && + long.TryParse(parts[2], out usedSpace) && + long.TryParse(parts[3], out freeSpace)) + { + totalSpace = totalSpace / 1024; // Convert to MB + usedSpace = usedSpace / 1024; + freeSpace = freeSpace / 1024; + + // Format free space display + if (freeSpace > 1024) + { + freeSpaceText = $"{(freeSpace / 1024.0):F2} GB AVAILABLE"; + } + else + { + freeSpaceText = $"{freeSpace} MB AVAILABLE"; + } + + freeSpaceTextDetailed = $"{(usedSpace / 1024.0):F0} GB OF {(totalSpace / 1024.0):F0} GB USED"; + } + } + } + + // Calculate storage percentage used + int storagePercentUsed = totalSpace > 0 ? (int)((usedSpace * 100) / totalSpace) : 0; + + // Update UI on main thread + questInfoPanel.Invoke(() => + { + questInfoLabel.Text = deviceModel; + diskLabel.Text = freeSpaceText; + + // Update custom progress bar + SetQuestStorageProgress(storagePercentUsed); + }); + } + catch (Exception ex) + { + Logger.Log($"Unable to update quest info panel: {ex.Message}", LogLevel.ERROR); + questInfoPanel.Invoke(() => + { + questInfoLabel.Text = "Device Info Unavailable"; + SetQuestStorageProgress(0); + }); + } + } + else + { + questInfoPanel.Invoke(() => + { + questInfoLabel.Text = "No Device Connected"; + SetQuestStorageProgress(0); + }); + } + + // Determine visibility based on device existence + bool showQuestInfo = ((!settings.NodeviceMode && hasDevice) || DeviceConnected); + + // Toggle visibility atomically on UI thread + questInfoPanel.Invoke(() => + { + questStorageProgressBar.Visible = showQuestInfo; + batteryLevImg.Visible = showQuestInfo; + batteryLabel.Visible = showQuestInfo; + questInfoLabel.Visible = showQuestInfo; + diskLabel.Visible = showQuestInfo; + }); + } + + private void QuestInfoHoverEnter(object sender, EventArgs e) + { + // Only react when device info is shown + if (!questStorageProgressBar.Visible) return; + + diskLabel.Text = freeSpaceTextDetailed; + } + + // Restore the original baseline text ("XX GB FREE") + private void QuestInfoHoverLeave(object sender, EventArgs e) + { + // Only react when device info is shown + if (!questStorageProgressBar.Visible) return; + + // Ignore leave fired when moving between child controls inside the container + var panel = questInfoPanel; + var mouse = panel.PointToClient(MousePosition); + if (panel.ClientRectangle.Contains(mouse)) return; + + diskLabel.Text = freeSpaceText; + } + + private void questStorageProgressBar_Paint(object sender, PaintEventArgs e) + { + var g = e.Graphics; + g.SmoothingMode = SmoothingMode.AntiAlias; + g.PixelOffsetMode = PixelOffsetMode.HighQuality; + g.Clear(questStorageProgressBar.BackColor); + + int w = questStorageProgressBar.ClientSize.Width; + int h = questStorageProgressBar.ClientSize.Height; + if (w <= 0 || h <= 0) return; + + // Rounded rectangle parameters (outer + fill share the same geometry). + int radius = 10; + Color bgColor = Color.FromArgb(28, 32, 38); + Color borderColor = Color.FromArgb(60, 65, 75); + + // Modern fill gradient (adjust as desired) + Color progressStart = Color.FromArgb(43, 160, 140); + Color progressEnd = Color.FromArgb(30, 110, 95); + + // Build the rounded outer path (used for background and clipping). + var outer = new RoundedRectangleF(w, h, radius); + + // Paint background + using (var bgBrush = new SolidBrush(bgColor)) + using (var borderPen = new Pen(borderColor, 1f)) + { + g.FillPath(bgBrush, outer.Path); + g.DrawPath(borderPen, outer.Path); + } + + // Progress fraction and width + float p = Math.Max(0f, Math.Min(1f, _questStorageProgress / 100f)); + int progressWidth = Math.Max(0, (int)(w * p)); + if (progressWidth <= 0) return; + + // Near-full rounding behavior: + // As progress approaches 100%, progressively include the outer right-rounded corners. + // Threshold start at 97%. At 97% -> straight cut; at 100% -> fully rounded outer corners. + float t = 0f; + if (p > 0.97f) + { + t = Math.Min(1f, (p - 0.97f) / 0.03f); // 0..1 over last 3% + } + + // Build a clipping region for the fill: intersection of outer rounded rect with + // the left rectangular portion [0..progressWidth] + // plus a progressive right-cap region that extends into the rounded corners + // with width up to 2*radius, scaled by t. + Region fillClip = new Region(new Rectangle(0, 0, progressWidth, h)); + if (t > 0f) + { + int capWidth = (int)(t * (2 * radius)); + if (capWidth > 0) + { + // This rectangle sits inside the area of the right rounded corners, + // so union-ing it with the rectangular clip allows the fill to + // progressively "wrap" into the curvature. + var rightCapRect = new Rectangle(w - (2 * radius), 0, capWidth, h); + fillClip.Union(rightCapRect); + } + } + + Region prevClip = g.Clip; + try + { + // Final fill region = outer rounded path ∩ fillClip + using (var outerRegion = new Region(outer.Path)) + { + outerRegion.Intersect(fillClip); + g.SetClip(outerRegion, CombineMode.Replace); + + using (var progressBrush = new LinearGradientBrush( + new Rectangle(0, 0, Math.Max(1, progressWidth), h), + progressStart, + progressEnd, + LinearGradientMode.Horizontal)) + { + // Fill the outer path; clipping ensures the fill grows left to right, + // stays fully flush to the outer geometry, and never exceeds it. + g.FillPath(progressBrush, outer.Path); + } + } + } + finally + { + // Restore clip and re-stroke border to keep outline crisp + g.Clip = prevClip; + using (var borderPen = new Pen(borderColor, 1f)) + { + g.DrawPath(borderPen, outer.Path); + } + } + } + + private void SetQuestStorageProgress(int percentage) + { + _questStorageProgress = Math.Max(0, Math.Min(100, percentage)); + + if (questStorageProgressBar.InvokeRequired) + { + questStorageProgressBar.Invoke(new Action(() => questStorageProgressBar.Invalidate())); + } + else + { + questStorageProgressBar.Invalidate(); + } + } } public static class ControlExtensions diff --git a/MainForm.resx b/MainForm.resx index 98d1e97..d8f7f90 100644 --- a/MainForm.resx +++ b/MainForm.resx @@ -180,16 +180,10 @@ 955, 17 - - 798, 17 - - - 428, 56 - 855, 95 - 134 + 159 \ No newline at end of file diff --git a/NewApps.Designer.cs b/NewApps.Designer.cs index 814fe14..a31c736 100644 --- a/NewApps.Designer.cs +++ b/NewApps.Designer.cs @@ -126,7 +126,6 @@ namespace AndroidSideloader this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = global::AndroidSideloader.Properties.Settings.Default.BackColor; - this.BackgroundImage = global::AndroidSideloader.Properties.Resources.pattern_cubes; this.ClientSize = new System.Drawing.Size(313, 248); this.ControlBox = false; this.Controls.Add(this.NewAppsButton); diff --git a/Properties/Resources.Designer.cs b/Properties/Resources.Designer.cs index 5e3ddff..ee8b378 100644 --- a/Properties/Resources.Designer.cs +++ b/Properties/Resources.Designer.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // -// Dieser Code wurde von einem Tool generiert. -// Laufzeitversion:4.0.30319.42000 +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 // -// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn -// der Code erneut generiert wird. +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. // //------------------------------------------------------------------------------ @@ -13,12 +13,12 @@ namespace AndroidSideloader.Properties { /// - /// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. + /// A strongly-typed resource class, for looking up localized strings, etc. /// - // Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert - // -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert. - // Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen - // mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu. + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] @@ -33,7 +33,7 @@ namespace AndroidSideloader.Properties { } /// - /// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. + /// Returns the cached ResourceManager instance used by this class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] public static global::System.Resources.ResourceManager ResourceManager { @@ -47,8 +47,8 @@ namespace AndroidSideloader.Properties { } /// - /// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle - /// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. /// [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] public static global::System.Globalization.CultureInfo Culture { @@ -61,7 +61,7 @@ namespace AndroidSideloader.Properties { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// public static System.Drawing.Bitmap ajax_loader { get { @@ -71,7 +71,7 @@ namespace AndroidSideloader.Properties { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// public static System.Drawing.Bitmap battery { get { @@ -81,37 +81,7 @@ namespace AndroidSideloader.Properties { } /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap Pattern { - get { - object obj = ResourceManager.GetObject("Pattern", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap pattern_cubes { - get { - object obj = ResourceManager.GetObject("pattern_cubes", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. - /// - public static System.Drawing.Bitmap pattern_herringbone { - get { - object obj = ResourceManager.GetObject("pattern_herringbone", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap. + /// Looks up a localized resource of type System.Drawing.Bitmap. /// public static System.Drawing.Bitmap SearchGlass { get { diff --git a/Properties/Resources.resx b/Properties/Resources.resx index 12edd7b..dac8c83 100644 --- a/Properties/Resources.resx +++ b/Properties/Resources.resx @@ -127,13 +127,4 @@ ..\Resources\SearchGlass.PNG;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\Pattern.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\pattern_cubes.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\pattern_herringbone.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - \ No newline at end of file diff --git a/Properties/Settings.Designer.cs b/Properties/Settings.Designer.cs index cabd49f..cbba1d8 100644 --- a/Properties/Settings.Designer.cs +++ b/Properties/Settings.Designer.cs @@ -12,7 +12,7 @@ namespace AndroidSideloader.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.10.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.14.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); @@ -109,7 +109,7 @@ namespace AndroidSideloader.Properties { [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("Microsoft Sans Serif, 11.25pt")] + [global::System.Configuration.DefaultSettingValueAttribute("Microsoft Sans Serif, 9pt")] public global::System.Drawing.Font FontStyle { get { return ((global::System.Drawing.Font)(this["FontStyle"])); @@ -516,7 +516,7 @@ namespace AndroidSideloader.Properties { [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("White")] + [global::System.Configuration.DefaultSettingValueAttribute("DarkGray")] public global::System.Drawing.Color FontColor { get { return ((global::System.Drawing.Color)(this["FontColor"])); @@ -564,7 +564,7 @@ namespace AndroidSideloader.Properties { [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("Black")] + [global::System.Configuration.DefaultSettingValueAttribute("32, 35, 45")] public global::System.Drawing.Color ButtonColor { get { return ((global::System.Drawing.Color)(this["ButtonColor"])); @@ -576,7 +576,7 @@ namespace AndroidSideloader.Properties { [global::System.Configuration.UserScopedSettingAttribute()] [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Configuration.DefaultSettingValueAttribute("1, 1, 1")] + [global::System.Configuration.DefaultSettingValueAttribute("31, 34, 42")] public global::System.Drawing.Color BackColor { get { return ((global::System.Drawing.Color)(this["BackColor"])); diff --git a/Properties/Settings.settings b/Properties/Settings.settings index 6ac8e85..f839a12 100644 --- a/Properties/Settings.settings +++ b/Properties/Settings.settings @@ -24,7 +24,7 @@ True - Microsoft Sans Serif, 11.25pt + Microsoft Sans Serif, 9pt @@ -126,7 +126,7 @@ False - White + DarkGray 25, 25, 25 @@ -138,10 +138,10 @@ 25, 25, 25 - Black + 32, 35, 45 - 1, 1, 1 + 31, 34, 42 diff --git a/QuestForm.Designer.cs b/QuestForm.Designer.cs index cbc5235..94148b0 100644 --- a/QuestForm.Designer.cs +++ b/QuestForm.Designer.cs @@ -375,7 +375,6 @@ namespace AndroidSideloader this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(45)))), ((int)(((byte)(45)))), ((int)(((byte)(45))))); - this.BackgroundImage = global::AndroidSideloader.Properties.Resources.pattern_cubes; this.ClientSize = new System.Drawing.Size(309, 486); this.Controls.Add(this.label3); this.Controls.Add(this.btnApplyUsername); diff --git a/Resources/Pattern.png b/Resources/Pattern.png deleted file mode 100644 index 9bc9b8f7b1beeef7a0ae0c35fd705b500be7f751..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3490 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 SFjX7qDh5wiKbLh*2~7Yyz41x_ literal 1998 zcmbVNTWs4@7WdX}bwa zme1uo-~atLpXvU--py?tZ4^aqP9|b$^5x0fv7wcsT8@0uHAyBLt;FLFMQz&Vy)D$M zuiZyctuN}CA$KUXUslbc4{4@?edVG>&=eK!DqBb$!7i=foNh#z-{wDLXkCjigJKG% ztSHXwi3uAIO!Q^ci4j%On6BM)xGWQbB6bm7E*1<&E=QOuuS~|?GRx3ah&vKtx;=yR zP^zDfnl`2bJ_u9@19VXGX-Gk;qC7(Lkmpz^u$%xOl>L${2z32nh&fx!%IVmix-l|~ zFnQOtWR@+JO1_fcXWBWIlO&0SJj?TdAb?XbTvP^zv%SF(!;Wg}maCfv?J*+79CITK zky`ViXfmh(Z+rz%iWn>cICE>w+cDvJxahz-{vSgwh+@}_G#d2j*kZd12~3U9AUhy0T=|lkl})|KS;6$pddq7gQiSP&sJ7I z#SG+RUX=O3ZBSA(8gkJc!I~;(O}mJQ!+H_rFl!k(hHi#Yj+zD2CWeVR|MK-@G}>>Q zS-n6uoOEvwos35VoD>KE-p5ttrc!d!a9m`lI2nsDBse}@*JLiMVIhdKKn!36vZ5dY zMTF!S4hA?a$YY44#`&13j(H{Eov*cnW~zkamOP{g0Y%_35dFLeuq1>)h~p)Iks1<$ zh=&4S3m#E(z}87eqQY`kPnAX(wE)a&iiCj@P&6Qh1PLH9lm!q=Aq8TAJkTrqTb3Iv z-NZkKWZbE@RS(M5M+JTN8lr;|)+7-E1Vb2LC}2RkRsfR3qijGEC8TI!*6S!jLDxn# zT6TT=)jF3Gx~Hd7S22J`n|kPKY0F6US~kL{Uaew{sW0oRWb3ZtQa@kHV?w%44cDwY zX4Wks8+YeOX7AV|>{{X-G`_y{yDPMsrWMlv+f)BXdOa*^9vL}IE&!JCoT=uumK1hn zzN&l6{;CZ)`Bi(v<|RQU&1(i5gxV&T$myppo*);{m1L|tGc-+Fm}Vew>}MDOVQ{+6xp8d14(*EpCe!S(2_``#5+#4PE=Ki0# z_cEuR`*iWb)`bh_KTfdJ{40Bd$*;d{`{?+0hadR6u=CKnN0o!u-%3wCeUP2q_xfD; z{i%r`l&k+NBv|L#W80=j+ebG}re1nz`m5{m%Rk=qaTVj#IWe7jaCZ9AfpfE`pGcp~ zomredG2gf6#$NG*Lz|YCHkfw1BoDoC=J(0)E~>S2>C0cb{Z|Yj`s?{Oe@a}MP210h j4_}^JJiBGA|CyGhzjht_W9IV?@5W8W`(p3(JbC0_kqDR? diff --git a/Resources/pattern_cubes.png b/Resources/pattern_cubes.png deleted file mode 100644 index ba2ede491271bc8eff8527322de708e9468b3200..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98393 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 diff --git a/Resources/pattern_herringbone.png b/Resources/pattern_herringbone.png deleted file mode 100644 index a1f5ce5377df3a7b727951f60dfd20b6a99b71b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 476 zcmeAS@N?(olHy`uVBq!ia0vp^cY#=jgAGVNE!f2kq!^2X+?^QKos)S9WKZ*SaSW-5 zdwX;5x@H5OwnSyOWpD2MKf7_GVd0hHC9A$X-(gyoeCW2NUr2qOhwJV_ned0s>@N;n zx4Lk5@$Bc8e?IJcpDNLI)^g74`(?j$CKayR6?CeKJ0VhR=CYIZOz+BcmgYPt%=0<@ zvUp$RJC_vI88rthgjDXw{QS3QH;a$K&Zdtp?)#Kx)_KNW6!ck_u;=2${CPFzFF4fv z4Fq4DFn8a_4`jO=1im=2y>6dBP|e>2C7_zSHSvp-XY4xoVSDfYWcAah57l2}0ySL!<_w|B2&)o{w^Z(N=Ilvqz(rA3IB7ZTn+=qtemmB*p0Cm_U zf8TL>X5OBDkoE(&uQLi;Jz&hge`D`DyTiTdZtOM>7|&m8jD69-Zgcy_%TV3>6}v$y ztrTx}g+1K40BBUsnlG!w9`0NSWR^H>6J2|-*cGVjW&}|2!D4qH^JPnpc2uKy6JN!F z%^NSRj%pBZ12Qjj-VBqGjne>Hcm9~ydMl$n1wbdx^E