mirror of
https://github.com/SubtitleEdit/subtitleedit.git
synced 2024-10-27 22:42:38 +01:00
Fix a few minor issues regarding "DarkTheme"
This commit is contained in:
parent
d4f1e4f28f
commit
13ed5a66d3
@ -8635,7 +8635,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
}
|
||||
else
|
||||
{
|
||||
charsPerSecond.ForeColor = Color.Black;
|
||||
charsPerSecond.ForeColor = UiUtil.ForeColor;
|
||||
}
|
||||
|
||||
charsPerSecond.Text = string.Format(_language.CharactersPerSecond, charactersPerSecond);
|
||||
@ -8644,7 +8644,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
{
|
||||
if (Configuration.Settings.Tools.ListViewSyntaxColorDurationSmall)
|
||||
{
|
||||
charsPerSecond.ForeColor = Color.Black;
|
||||
charsPerSecond.ForeColor = UiUtil.ForeColor;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -8701,7 +8701,7 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
}
|
||||
else if (s.Length <= Configuration.Settings.General.SubtitleLineMaximumLength * Math.Max(numberOfLines, 2))
|
||||
{
|
||||
lineTotal.ForeColor = Color.Black;
|
||||
lineTotal.ForeColor = UiUtil.ForeColor;
|
||||
if (!textBoxHasFocus)
|
||||
{
|
||||
lineTotal.Text = string.Format(_languageGeneral.TotalLengthX, s.Length);
|
||||
@ -19242,6 +19242,11 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
SubtitleListview1.Focus();
|
||||
}
|
||||
|
||||
UiUtil.FixFonts(toolStripComboBoxWaveform);
|
||||
UiUtil.FixFonts(toolStripComboBoxFrameRate);
|
||||
UiUtil.FixFonts(comboBoxSubtitleFormats);
|
||||
UiUtil.FixFonts(comboBoxEncoding);
|
||||
UiUtil.FixFonts(toolStripSplitButtonPlayRate);
|
||||
_lastTextKeyDownTicks = DateTime.UtcNow.Ticks;
|
||||
ShowSubtitleTimer.Start();
|
||||
}
|
||||
@ -19249,9 +19254,11 @@ namespace Nikse.SubtitleEdit.Forms
|
||||
private void InitializePlayRateDropDown()
|
||||
{
|
||||
toolStripSplitButtonPlayRate.DropDownItems.Clear();
|
||||
var foreColor = UiUtil.ForeColor;
|
||||
var backColor = UiUtil.BackColor;
|
||||
for (int i = 30; i <= 300; i += 10)
|
||||
{
|
||||
toolStripSplitButtonPlayRate.DropDownItems.Add(new ToolStripMenuItem(i + "%", null, SetPlayRate) { Checked = i == 100 });
|
||||
toolStripSplitButtonPlayRate.DropDownItems.Add(new ToolStripMenuItem(i + "%", null, SetPlayRate) { Checked = i == 100, BackColor = backColor, ForeColor = foreColor });
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -13,23 +13,23 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
{
|
||||
public static IEnumerable<Control> GetAllControlByType(Control control, Type type)
|
||||
{
|
||||
var controls = control.Controls.Cast<Control>();
|
||||
var controls = control.Controls.Cast<Control>().ToList();
|
||||
|
||||
return controls.SelectMany(ctrl => GetAllControlByType(ctrl, type))
|
||||
.Concat(controls)
|
||||
.Where(c => c.GetType() == type);
|
||||
}
|
||||
|
||||
static readonly Color BackColor = Color.FromArgb(52, 52, 45);
|
||||
static readonly Color ForeColor = Color.FromArgb(150, 150, 150);
|
||||
internal static readonly Color BackColor = Color.FromArgb(52, 52, 45);
|
||||
internal static readonly Color ForeColor = Color.FromArgb(150, 150, 150);
|
||||
|
||||
private static void TabControl1_DrawItem(object sender, DrawItemEventArgs e)
|
||||
{
|
||||
var sz = e.Graphics.MeasureString((sender as TabControl)?.TabPages[e.Index].Text, e.Font);
|
||||
using (Brush br = new SolidBrush(BackColor))
|
||||
{
|
||||
e.Graphics.FillRectangle(br, e.Bounds);
|
||||
SizeF sz = e.Graphics.MeasureString((sender as TabControl).TabPages[e.Index].Text, e.Font);
|
||||
e.Graphics.DrawString((sender as TabControl).TabPages[e.Index].Text, e.Font, Brushes.WhiteSmoke, e.Bounds.Left + (e.Bounds.Width - sz.Width) / 2, e.Bounds.Top + (e.Bounds.Height - sz.Height) / 2 + 1);
|
||||
e.Graphics.DrawString((sender as TabControl)?.TabPages[e.Index].Text, e.Font, Brushes.WhiteSmoke, e.Bounds.Left + (e.Bounds.Width - sz.Width) / 2, e.Bounds.Top + (e.Bounds.Height - sz.Height) / 2 + 1);
|
||||
|
||||
Rectangle rect = e.Bounds;
|
||||
rect.Offset(0, 1);
|
||||
@ -39,7 +39,7 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
}
|
||||
}
|
||||
|
||||
private static void Tabpage_Paint(object sender, PaintEventArgs e)
|
||||
private static void TabPage_Paint(object sender, PaintEventArgs e)
|
||||
{
|
||||
using (SolidBrush fillBrush = new SolidBrush(BackColor))
|
||||
{
|
||||
@ -51,7 +51,7 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
{
|
||||
var type = c.GetType();
|
||||
var fields = type.GetFields(BindingFlags.NonPublic | BindingFlags.Instance);
|
||||
var contextMenus = fields.Where(f => f != null && f.GetValue(c) != null &&
|
||||
var contextMenus = fields.Where(f => f.GetValue(c) != null &&
|
||||
(f.GetValue(c).GetType().IsSubclassOf(typeof(T)) || f.GetValue(c).GetType() == typeof(T)));
|
||||
var menus = contextMenus.Select(f => f.GetValue(c));
|
||||
return menus.Cast<T>().ToList();
|
||||
@ -67,7 +67,7 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
Configuration.Settings.General.SubtitleFontColor = ForeColor;
|
||||
Configuration.Settings.VideoControls.WaveformBackgroundColor = BackColor;
|
||||
Configuration.Settings.VideoControls.WaveformGridColor = Color.FromArgb(62, 62, 60);
|
||||
// prevent re assignings
|
||||
// prevent re-assignments
|
||||
_isConfigUpdated = true;
|
||||
}
|
||||
|
||||
@ -77,9 +77,72 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
return;
|
||||
}
|
||||
|
||||
if (ctrl is Form)
|
||||
if (ctrl is Form form) // https://www.dreamincode.net/forums/topic/64981-designing-a-custom-title-bar/
|
||||
{
|
||||
var contextMenus = GetSubControls<ContextMenuStrip>(ctrl);
|
||||
//form.FormBorderStyle = FormBorderStyle.None;
|
||||
//var title = new PictureBox
|
||||
//{
|
||||
// Location = new Point(0,0),
|
||||
// Width = form.Width,
|
||||
// Height = 50,
|
||||
// BackColor = Color.Black,
|
||||
// Anchor = AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Left
|
||||
//};
|
||||
//form.Controls.Add(title);
|
||||
//title.SendToBack();
|
||||
//title.MouseDown += (o, i) => { form.WindowState = FormWindowState.Minimized; };
|
||||
//title.MouseUp += (o, i) => { form.WindowState = FormWindowState.Maximized; };
|
||||
//title.MouseMove += (o, i) => { form.WindowState = FormWindowState.Normal; };
|
||||
|
||||
//var minimize = new Label
|
||||
//{
|
||||
// Text = "🗕",
|
||||
// Location = new Point(form.Width - 60, 5),
|
||||
// ForeColor = ForeColor,
|
||||
// BackColor = Color.Black, // BackColor,
|
||||
// Width = 15,
|
||||
// Height = 15,
|
||||
// Anchor = AnchorStyles.Top | AnchorStyles.Right
|
||||
//};
|
||||
//minimize.Click += (o, i) => { form.WindowState = FormWindowState.Minimized; };
|
||||
//form.Controls.Add(minimize);
|
||||
//minimize.BringToFront();
|
||||
|
||||
//var maximize = new Label
|
||||
//{
|
||||
// Text = "🗗", //🗗 Overlap or 🗖 maximize
|
||||
// Location = new Point(form.Width - 40, 5),
|
||||
// ForeColor = ForeColor,
|
||||
// BackColor = Color.Black, // BackColor,
|
||||
// Width = 15,
|
||||
// Height = 15,
|
||||
// Anchor = AnchorStyles.Top | AnchorStyles.Right
|
||||
//};
|
||||
|
||||
//maximize.Click += (o, i) =>
|
||||
//{
|
||||
// form.WindowState = form.WindowState == FormWindowState.Maximized ? FormWindowState.Normal : FormWindowState.Maximized;
|
||||
// maximize.Text = form.WindowState == FormWindowState.Maximized ? "🗗" : "🗖";
|
||||
//};
|
||||
//form.Controls.Add(maximize);
|
||||
//maximize.BringToFront();
|
||||
|
||||
//var close = new Label
|
||||
//{
|
||||
// Text = "🗙",
|
||||
// Location = new Point(form.Width - 20, 5),
|
||||
// ForeColor = ForeColor,
|
||||
// BackColor = Color.Black, // BackColor,
|
||||
// Width = 15,
|
||||
// Height = 15,
|
||||
// Anchor = AnchorStyles.Top | AnchorStyles.Right
|
||||
//};
|
||||
//close.Click += (o, i) => { form.Close(); };
|
||||
//form.Controls.Add(close);
|
||||
//close.BringToFront();
|
||||
|
||||
|
||||
var contextMenus = GetSubControls<ContextMenuStrip>(form);
|
||||
foreach (ContextMenuStrip cms in contextMenus)
|
||||
{
|
||||
cms.BackColor = BackColor;
|
||||
@ -93,28 +156,28 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
}
|
||||
}
|
||||
|
||||
var toolStrips = GetSubControls<ToolStrip>(ctrl);
|
||||
var toolStrips = GetSubControls<ToolStrip>(form);
|
||||
foreach (ToolStrip c in toolStrips)
|
||||
{
|
||||
c.BackColor = BackColor;
|
||||
c.ForeColor = ForeColor;
|
||||
}
|
||||
|
||||
var toolStripContentPanels = GetSubControls<ToolStripContentPanel>(ctrl);
|
||||
var toolStripContentPanels = GetSubControls<ToolStripContentPanel>(form);
|
||||
foreach (ToolStripContentPanel c in toolStripContentPanels)
|
||||
{
|
||||
c.BackColor = BackColor;
|
||||
c.ForeColor = ForeColor;
|
||||
}
|
||||
|
||||
var toolStripContainers = GetSubControls<ToolStripContainer>(ctrl);
|
||||
var toolStripContainers = GetSubControls<ToolStripContainer>(form);
|
||||
foreach (ToolStripContainer c in toolStripContainers)
|
||||
{
|
||||
c.BackColor = BackColor;
|
||||
c.ForeColor = ForeColor;
|
||||
}
|
||||
|
||||
var toolStripDropDownMenus = GetSubControls<ToolStripDropDownMenu>(ctrl);
|
||||
var toolStripDropDownMenus = GetSubControls<ToolStripDropDownMenu>(form);
|
||||
foreach (ToolStripDropDownMenu c in toolStripDropDownMenus)
|
||||
{
|
||||
c.BackColor = BackColor;
|
||||
@ -126,14 +189,14 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
}
|
||||
}
|
||||
|
||||
var toolStripMenuItems = GetSubControls<ToolStripMenuItem>(ctrl);
|
||||
var toolStripMenuItems = GetSubControls<ToolStripMenuItem>(form);
|
||||
foreach (ToolStripMenuItem c in toolStripMenuItems)
|
||||
{
|
||||
c.BackColor = BackColor;
|
||||
c.ForeColor = ForeColor;
|
||||
}
|
||||
|
||||
var toolStripSeparators = GetSubControls<ToolStripSeparator>(ctrl);
|
||||
var toolStripSeparators = GetSubControls<ToolStripSeparator>(form);
|
||||
foreach (ToolStripSeparator c in toolStripSeparators)
|
||||
{
|
||||
if (c.GetCurrentParent() is ToolStripDropDownMenu p)
|
||||
@ -156,7 +219,7 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
tc.DrawItem += TabControl1_DrawItem;
|
||||
foreach (TabPage tabPage in tc.TabPages)
|
||||
{
|
||||
tabPage.Paint += Tabpage_Paint;
|
||||
tabPage.Paint += TabPage_Paint;
|
||||
}
|
||||
}
|
||||
FixControl(c);
|
||||
@ -200,6 +263,22 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
}
|
||||
}
|
||||
|
||||
private static void xxx(object sender, PaintEventArgs e)
|
||||
{
|
||||
// Get the separator's width and height.
|
||||
TrackBar toolStripSeparator = (TrackBar)sender;
|
||||
int width = toolStripSeparator.Width;
|
||||
int height = toolStripSeparator.Height;
|
||||
|
||||
|
||||
// Fill the background.
|
||||
e.Graphics.FillRectangle(new SolidBrush(BackColor), 0, 0, width, height);
|
||||
|
||||
// Draw the line.
|
||||
e.Graphics.DrawLine(new Pen(ForeColor), 4, height / 2, width - 4, height / 2);
|
||||
}
|
||||
|
||||
|
||||
private static void lv_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
|
||||
{
|
||||
var lv = (ListView)sender;
|
||||
@ -230,14 +309,6 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
|
||||
private class MyRenderer : ToolStripProfessionalRenderer
|
||||
{
|
||||
// protected override void OnRenderMenuItemBackground(ToolStripItemRenderEventArgs e)
|
||||
// {
|
||||
// Rectangle rc = new Rectangle(Point.Empty, e.Item.Size);
|
||||
//// Color c = e.Item.Selected ? Color.Azure : Color.Beige;
|
||||
// using (SolidBrush brush = new SolidBrush(BackColor))
|
||||
// e.Graphics.FillRectangle(brush, rc);
|
||||
// }
|
||||
|
||||
protected override void OnRenderToolStripBackground(ToolStripRenderEventArgs e)
|
||||
{
|
||||
using (SolidBrush brush = new SolidBrush(BackColor))
|
||||
@ -251,6 +322,25 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
{
|
||||
item.BackColor = BackColor;
|
||||
item.ForeColor = ForeColor;
|
||||
if (item is ToolStripSeparator)
|
||||
{
|
||||
item.Paint += ToolStripSeparatorPaint;
|
||||
}
|
||||
}
|
||||
|
||||
private static void ToolStripSeparatorPaint(object sender, PaintEventArgs e)
|
||||
{
|
||||
// Get the separator's width and height.
|
||||
ToolStripSeparator toolStripSeparator = (ToolStripSeparator)sender;
|
||||
int width = toolStripSeparator.Width;
|
||||
int height = toolStripSeparator.Height;
|
||||
|
||||
|
||||
// Fill the background.
|
||||
e.Graphics.FillRectangle(new SolidBrush(BackColor), 0, 0, width, height);
|
||||
|
||||
// Draw the line.
|
||||
e.Graphics.DrawLine(new Pen(ForeColor), 4, height / 2, width - 4, height / 2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -524,6 +524,15 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
}
|
||||
}
|
||||
|
||||
internal static void FixFonts(ToolStripComboBox item)
|
||||
{
|
||||
item.Font = GetDefaultFont();
|
||||
if (Configuration.Settings.General.UseDarkTheme)
|
||||
{
|
||||
DarkTheme.SetDarkTheme(item);
|
||||
}
|
||||
}
|
||||
|
||||
private static void FixFontsInner(Control form, int iterations = 5)
|
||||
{
|
||||
if (iterations < 1)
|
||||
@ -574,7 +583,7 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
|
||||
public static void GetLineLengths(Label label, string text)
|
||||
{
|
||||
label.ForeColor = Color.Black;
|
||||
label.ForeColor = ForeColor;
|
||||
var lines = text.SplitToLines();
|
||||
const int max = 3;
|
||||
var sb = new StringBuilder();
|
||||
@ -966,5 +975,9 @@ namespace Nikse.SubtitleEdit.Logic
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static Color BackColor => Configuration.Settings.General.UseDarkTheme ? DarkTheme.BackColor : Control.DefaultBackColor;
|
||||
|
||||
public static Color ForeColor => Configuration.Settings.General.UseDarkTheme ? DarkTheme.ForeColor : Control.DefaultForeColor;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user