diff --git a/MainForm.Designer.cs b/MainForm.Designer.cs index c1ba2ed..7e456ea 100644 --- a/MainForm.Designer.cs +++ b/MainForm.Designer.cs @@ -4,18 +4,6 @@ namespace TikTok_Downloader { partial class MainForm { - private System.ComponentModel.IContainer components = null; - - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm)); @@ -93,18 +81,20 @@ private void InitializeComponent() // // menuStrip1 // - menuStrip1.BackColor = SystemColors.Menu; + menuStrip1.BackColor = Color.FromArgb(32, 32, 32); menuStrip1.Items.AddRange(new ToolStripItem[] { fileToolStripMenuItem }); menuStrip1.Location = new Point(0, 0); menuStrip1.Name = "menuStrip1"; menuStrip1.Size = new Size(534, 24); menuStrip1.TabIndex = 6; menuStrip1.Text = "menuStrip1"; + menuStrip1.Renderer = new RendererEx(); // // fileToolStripMenuItem // + fileToolStripMenuItem.BackColor = Color.FromArgb(32, 32, 32); fileToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] { ChangeDownloadFolderToolStripMenuItem, aboutToolStripMenuItem, settingsToolStripMenuItem }); - fileToolStripMenuItem.ForeColor = SystemColors.MenuText; + fileToolStripMenuItem.ForeColor = SystemColors.ButtonFace; fileToolStripMenuItem.Name = "fileToolStripMenuItem"; fileToolStripMenuItem.Size = new Size(61, 20); fileToolStripMenuItem.Text = "Options"; @@ -112,7 +102,8 @@ private void InitializeComponent() // // ChangeDownloadFolderToolStripMenuItem // - ChangeDownloadFolderToolStripMenuItem.BackColor = Color.Transparent; + ChangeDownloadFolderToolStripMenuItem.BackColor = Color.FromArgb(32, 32, 32); + ChangeDownloadFolderToolStripMenuItem.ForeColor = SystemColors.ButtonFace; ChangeDownloadFolderToolStripMenuItem.Name = "ChangeDownloadFolderToolStripMenuItem"; ChangeDownloadFolderToolStripMenuItem.Size = new Size(208, 22); ChangeDownloadFolderToolStripMenuItem.Text = "Change Download Folder"; @@ -120,7 +111,8 @@ private void InitializeComponent() // // aboutToolStripMenuItem // - aboutToolStripMenuItem.BackColor = Color.Transparent; + aboutToolStripMenuItem.BackColor = Color.FromArgb(32, 32, 32); + aboutToolStripMenuItem.ForeColor = SystemColors.ButtonFace; aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; aboutToolStripMenuItem.Size = new Size(208, 22); aboutToolStripMenuItem.Text = "About"; @@ -128,6 +120,8 @@ private void InitializeComponent() // // settingsToolStripMenuItem // + settingsToolStripMenuItem.BackColor = Color.FromArgb(32, 32, 32); + settingsToolStripMenuItem.ForeColor = SystemColors.ButtonFace; settingsToolStripMenuItem.Name = "settingsToolStripMenuItem"; settingsToolStripMenuItem.Size = new Size(208, 22); settingsToolStripMenuItem.Text = "Settings"; @@ -273,6 +267,38 @@ private void InitializeComponent() private CheckBox downloadAvatarsCheckBox; private ToolStripMenuItem settingsToolStripMenuItem; + public class RendererEx : ToolStripProfessionalRenderer + { + protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e) + { + Rectangle rc = new Rectangle(Point.Empty, e.Item.Size); + + if (e.Item.Selected || e.Item.Pressed) + { + // Highlight color + using (SolidBrush highlightBrush = new SolidBrush(Color.FromArgb(64, 64, 64))) + { + e.Graphics.FillRectangle(highlightBrush, rc); + } + } + else + { + // Normal background color + using (SolidBrush backBrush = new SolidBrush(Color.FromArgb(32, 32, 32))) + { + e.Graphics.FillRectangle(backBrush, rc); + } + } + } + + protected override void OnRenderItemText(ToolStripItemTextRenderEventArgs e) + { + // Text color + e.Item.ForeColor = Color.White; + base.OnRenderItemText(e); + } + } + private void cmbChoice_SelectedIndexChanged(object sender, EventArgs e) { switch (cmbChoice.SelectedIndex) diff --git a/MainForm.cs b/MainForm.cs index c4b4d30..9057d5a 100644 --- a/MainForm.cs +++ b/MainForm.cs @@ -6,6 +6,8 @@ using System.Net; using System.Reflection; using System.Text.Json; +using System.Drawing; +using System.Runtime.InteropServices; using System.Windows.Forms; namespace TikTok_Downloader @@ -21,6 +23,8 @@ public partial class MainForm : Form private string jsonLogFilePath; private object jsonLock = new object(); private bool useOldFileStructure; + private bool DownloadVideosOnly; + private bool DownloadImagesOnly; private readonly AppSettings settings; private SettingsDialog settingsDialog; private List cachedVideoUrls = new List(); @@ -1111,6 +1115,16 @@ public void EnableDownloadLogsCheckBox(bool value) InitializeLoggingFolder(); } + public void DownloadVideosOnlyCheckBox(bool value) + { + DownloadVideosOnly = value; + } + + public void DownloadImagesOnlyCheckBox(bool value) + { + DownloadImagesOnly = value; + } + private void outputTextBox_TextChanged(object sender, EventArgs e) { diff --git a/SettingsDialog.cs b/SettingsDialog.cs index 156b002..03a9c56 100644 --- a/SettingsDialog.cs +++ b/SettingsDialog.cs @@ -57,6 +57,22 @@ private void Setting5CheckBox_CheckedChanged(object sender, EventArgs e) } } + private void Setting1CheckBox_CheckedChanged(object sender, EventArgs e) + { + if (sender is CheckBox checkBox) + { + mainForm.DownloadVideosOnlyCheckBox(checkBox.Checked); + } + } + + private void Setting4CheckBox_CheckedChanged(object sender, EventArgs e) + { + if (sender is CheckBox checkBox) + { + mainForm.DownloadImagesOnlyCheckBox(checkBox.Checked); + } + } + private void InitializeComponent() { System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SettingsDialog)); @@ -141,13 +157,14 @@ private void InitializeComponent() setting1CheckBox.Text = "Download Videos Only"; setting1CheckBox.UseVisualStyleBackColor = false; setting1CheckBox.Visible = false; + setting1CheckBox.CheckedChanged += Setting1CheckBox_CheckedChanged; // // setting2CheckBox // setting2CheckBox.AutoSize = true; setting2CheckBox.BackColor = Color.Transparent; setting2CheckBox.ForeColor = SystemColors.Control; - setting2CheckBox.Location = new Point(162, 70); + setting2CheckBox.Location = new Point(167, 70); setting2CheckBox.Name = "setting2CheckBox"; setting2CheckBox.Size = new Size(115, 19); setting2CheckBox.TabIndex = 6; @@ -180,6 +197,7 @@ private void InitializeComponent() setting4CheckBox.Text = "Download Images Only"; setting4CheckBox.UseVisualStyleBackColor = false; setting4CheckBox.Visible = false; + setting4CheckBox.CheckedChanged += Setting4CheckBox_CheckedChanged; // // setting5CheckBox //