Add dark mode to winforms

- Add dark theme icon variants
- Change all light theme icon fill colors to match Chardonnay

Also fixed #1460  by chaing the directory select control to DirectoryOrCustomSelectControl
This commit is contained in:
Michael Bucari-Tovo
2025-12-01 16:03:13 -07:00
committed by MBucari
parent 7852067b81
commit cdb91ae2ca
78 changed files with 1540 additions and 1030 deletions

View File

Binary file not shown.

View File

Binary file not shown.

View File

Binary file not shown.

View File

@@ -136,12 +136,12 @@ public class App : Application
[PropertyChangeFilter(nameof(ThemeVariant))]
private static void ThemeVariant_PropertyChanged(object sender, PropertyChangedEventArgsEx e)
=> OpenAndApplyTheme(e.NewValue as string);
=> OpenAndApplyTheme(e.NewValue as Configuration.Theme? ?? Configuration.Theme.System);
private static void OnActualThemeVariantChanged(object? sender, EventArgs e)
=> OpenAndApplyTheme(Configuration.Instance.GetString(propertyName: nameof(ThemeVariant)));
=> OpenAndApplyTheme(Configuration.Instance.ThemeVariant);
private static void OpenAndApplyTheme(string? themeVariant)
private static void OpenAndApplyTheme(Configuration.Theme themeVariant)
{
using ChardonnayThemePersister? themePersister = ChardonnayThemePersister.Create();
themePersister?.Target.ApplyTheme(themeVariant);

View File

@@ -52,7 +52,8 @@ namespace LibationAvalonia.Controls.Settings
var parent = ThemeComboBox.Parent as Panel;
if (parent?.Children.Remove(ThemeComboBox) ?? false)
{
Configuration.Instance.SetString(ViewModel?.ThemeVariant, nameof(ViewModel.ThemeVariant));
Configuration.Instance.ThemeVariant = ViewModel?.ThemeVariant.Value ?? Configuration.Theme.System;
parent.Children.Add(ThemeComboBox);
}
ThemeComboBox.SelectionChanged += ThemeComboBox_SelectionChanged;

View File

@@ -29,11 +29,11 @@ namespace LibationAvalonia.Dialogs
if (Design.IsDesignMode)
{
var themeVariant = Configuration.CreateMockInstance().GetString(propertyName: nameof(ThemeVariant));
var themeVariant = Configuration.CreateMockInstance().ThemeVariant;
RequestedThemeVariant = themeVariant switch
{
nameof(ThemeVariant.Dark) => ThemeVariant.Dark,
nameof(ThemeVariant.Light) => ThemeVariant.Light,
Configuration.Theme.Dark => ThemeVariant.Dark,
Configuration.Theme.Light => ThemeVariant.Light,
_ => ThemeVariant.Default,
};
}

View File

@@ -37,7 +37,7 @@ public class ChardonnayTheme : IUpdatable, ICloneable
/// <summary> Invoke <see cref="IUpdatable.Updated"/> </summary>
public void Save() => Updated?.Invoke(this, EventArgs.Empty);
public Color GetColor(string? themeVariant, string itemName)
public Color GetColor(LibationFileManager.Configuration.Theme themeVariant, string itemName)
=> GetColor(FromVariantName(themeVariant), itemName);
public Color GetColor(ThemeVariant themeVariant, string itemName)
@@ -46,7 +46,7 @@ public class ChardonnayTheme : IUpdatable, ICloneable
return ThemeColors[themeVariant].TryGetValue(itemName, out var color) ? color : default;
}
public ChardonnayTheme SetColor(string? themeVariant, Expression<Func<ColorPaletteResources, Color>> colorSelector, Color color)
public ChardonnayTheme SetColor(LibationFileManager.Configuration.Theme themeVariant, Expression<Func<ColorPaletteResources, Color>> colorSelector, Color color)
=> SetColor(FromVariantName(themeVariant), colorSelector, color);
public ChardonnayTheme SetColor(ThemeVariant themeVariant, Expression<Func<ColorPaletteResources, Color>> colorSelector, Color color)
@@ -59,7 +59,7 @@ public class ChardonnayTheme : IUpdatable, ICloneable
return this;
}
public ChardonnayTheme SetColor(string? themeVariant, string itemName, Color itemColor)
public ChardonnayTheme SetColor(LibationFileManager.Configuration.Theme themeVariant, string itemName, Color itemColor)
=> SetColor(FromVariantName(themeVariant), itemName, itemColor);
public ChardonnayTheme SetColor(ThemeVariant themeVariant, string itemName, Color itemColor)
@@ -69,7 +69,7 @@ public class ChardonnayTheme : IUpdatable, ICloneable
return this;
}
public FrozenDictionary<string, Color> GetThemeColors(string? themeVariant)
public FrozenDictionary<string, Color> GetThemeColors(LibationFileManager.Configuration.Theme themeVariant)
=> GetThemeColors(FromVariantName(themeVariant));
public FrozenDictionary<string, Color> GetThemeColors(ThemeVariant themeVariant)
@@ -78,7 +78,7 @@ public class ChardonnayTheme : IUpdatable, ICloneable
return ThemeColors[themeVariant].ToFrozenDictionary();
}
public void ApplyTheme(string? themeVariant)
public void ApplyTheme(LibationFileManager.Configuration.Theme themeVariant)
=> ApplyTheme(FromVariantName(themeVariant));
public void ApplyTheme(ThemeVariant themeVariant)
@@ -195,11 +195,11 @@ public class ChardonnayTheme : IUpdatable, ICloneable
throw new InvalidOperationException("FluentTheme.Palettes only supports Light and Dark variants.");
}
private static ThemeVariant FromVariantName(string? variantName)
private static ThemeVariant FromVariantName(LibationFileManager.Configuration.Theme variantName)
=> variantName switch
{
nameof(ThemeVariant.Dark) => ThemeVariant.Dark,
nameof(ThemeVariant.Light) => ThemeVariant.Light,
LibationFileManager.Configuration.Theme.Dark => ThemeVariant.Dark,
LibationFileManager.Configuration.Theme.Light => ThemeVariant.Light,
// "System"
_ => ThemeVariant.Default
};

View File

@@ -12,8 +12,7 @@ namespace LibationAvalonia.ViewModels.Settings
{
public class ImportantSettingsVM : ViewModelBase
{
private string themeVariant;
private string initialThemeVariant;
private EnumDisplay<Configuration.Theme> themeVariant;
private readonly Configuration config;
public ImportantSettingsVM(Configuration config)
@@ -30,9 +29,7 @@ namespace LibationAvalonia.ViewModels.Settings
GridScaleFactor = scaleFactorToLinearRange(config.GridScaleFactor);
GridFontScaleFactor = scaleFactorToLinearRange(config.GridFontScaleFactor);
themeVariant = initialThemeVariant = config.GetString(propertyName: nameof(ThemeVariant)) ?? "";
if (string.IsNullOrWhiteSpace(initialThemeVariant))
themeVariant = initialThemeVariant = "System";
themeVariant = Themes.Single(v => v.Value == config.ThemeVariant);
}
public void SaveSettings(Configuration config)
@@ -91,7 +88,10 @@ namespace LibationAvalonia.ViewModels.Settings
public string GridScaleFactorText { get; } = Configuration.GetDescription(nameof(Configuration.GridScaleFactor));
public string GridFontScaleFactorText { get; } = Configuration.GetDescription(nameof(Configuration.GridFontScaleFactor));
public string BetaOptInText { get; } = Configuration.GetDescription(nameof(Configuration.BetaOptIn));
public string[] Themes { get; } = { "System", nameof(Avalonia.Styling.ThemeVariant.Light), nameof(Avalonia.Styling.ThemeVariant.Dark) };
public EnumDisplay<Configuration.Theme>[] Themes { get; }
= Enum.GetValues<Configuration.Theme>()
.Select(v => new EnumDisplay<Configuration.Theme>(v))
.ToArray();
public string BooksDirectory { get; set; }
public bool SavePodcastsToParentFolder { get; set; }
@@ -103,7 +103,7 @@ namespace LibationAvalonia.ViewModels.Settings
public bool UseWebView { get; set; }
public Serilog.Events.LogEventLevel LoggingLevel { get; set; }
public string ThemeVariant
public EnumDisplay<Configuration.Theme> ThemeVariant
{
get => themeVariant;
set => this.RaiseAndSetIfChanged(ref themeVariant, value);

View File

@@ -154,6 +154,9 @@ namespace LibationFileManager
set => SetString(value);
}
[Description("Libation's display color theme")]
public Theme ThemeVariant { get => GetNonString(defaultValue: Theme.System); set => SetNonString(value); }
[Description("Allow Libation to fix up audiobook metadata")]
public bool AllowLibationFixup { get => GetNonString(defaultValue: true); set => SetNonString(value); }
@@ -261,6 +264,14 @@ namespace LibationFileManager
Ignore = 3
}
[JsonConverter(typeof(StringEnumConverter))]
public enum Theme
{
System = 0,
Light = 1,
Dark = 2
}
[JsonConverter(typeof(StringEnumConverter))]
public enum DateTimeSource
{

View File

@@ -1,8 +1,9 @@
using System.Windows.Forms;
using LibationWinForms.GridView;
using System.Windows.Forms;
namespace LibationWinForms
{
public class AccessibleDataGridViewButtonCell : DataGridViewButtonCell
public class AccessibleDataGridViewButtonCell : DataGridViewButtonCell
{
protected string AccessibilityName { get; }
@@ -24,7 +25,8 @@ namespace LibationWinForms
public AccessibleDataGridViewButtonCell(string accessibilityName) : base()
{
AccessibilityName = accessibilityName;
}
FlatStyle = Application.IsDarkModeEnabled ? FlatStyle.Flat : FlatStyle.System;
}
protected class ButtonCellAccessibilityObject : DataGridViewButtonCellAccessibleObject
{

View File

@@ -0,0 +1,45 @@
using System.Windows.Forms;
namespace LibationWinForms
{
public class AccessibleDataGridViewComboBoxCell : DataGridViewComboBoxCell
{
protected string AccessibilityName { get; }
/// <summary>
/// Get or set description for accessibility. eg: screen readers. Also sets the ToolTipText
/// </summary>
protected string AccessibilityDescription
{
get => field;
set
{
field = value;
ToolTipText = value;
}
}
protected override AccessibleObject CreateAccessibilityInstance() => new ComboBoxCellAccessibilityObject(this, name: AccessibilityName, description: AccessibilityDescription);
public AccessibleDataGridViewComboBoxCell(string accessibilityName) : base()
{
FlatStyle = Application.IsDarkModeEnabled ? FlatStyle.Flat : FlatStyle.Standard;
AccessibilityName = accessibilityName;
}
protected class ComboBoxCellAccessibilityObject : DataGridViewComboBoxCellAccessibleObject
{
private string _name;
public override string Name => _name;
private string _description;
public override string Description => _description;
public ComboBoxCellAccessibilityObject(DataGridViewCell owner, string name, string description) : base(owner)
{
_name = name;
_description = description;
}
}
}
}

View File

@@ -14,7 +14,7 @@ namespace LibationWinForms.Dialogs
InitializeComponent();
this.SetLibationIcon();
releaseNotesLbl.Text = $"Libation {AppScaffolding.LibationScaffolding.Variety} v{AppScaffolding.LibationScaffolding.BuildVersion}";
pictureBox1.Image = Application.IsDarkModeEnabled ? Properties.Resources.cheers_dark : Properties.Resources.cheers;
rmcrackanLbl.Tag = LibationContributor.PrimaryContributors.Single(c => c.Name == rmcrackanLbl.Text);
MBucariLbl.Tag = LibationContributor.PrimaryContributors.Single(c => c.Name == MBucariLbl.Text);
@@ -22,8 +22,13 @@ namespace LibationWinForms.Dialogs
{
var label = new LinkLabel { Tag = contributor, Text = contributor.Name, AutoSize = true };
label.LinkClicked += ContributorLabel_LinkClicked;
label.SetLinkLabelColors();
flowLayoutPanel1.Controls.Add(label);
}
rmcrackanLbl.SetLinkLabelColors();
MBucariLbl.SetLinkLabelColors();
releaseNotesLbl.SetLinkLabelColors();
getLibationLbl.SetLinkLabelColors();
var toolTip = new ToolTip();
toolTip.SetToolTip(releaseNotesLbl, "View Release Notes");

View File

@@ -31,11 +31,11 @@
this.cancelBtn = new System.Windows.Forms.Button();
this.saveBtn = new System.Windows.Forms.Button();
this.dataGridView1 = new System.Windows.Forms.DataGridView();
this.DeleteAccount = new System.Windows.Forms.DataGridViewButtonColumn();
this.ExportAccount = new System.Windows.Forms.DataGridViewButtonColumn();
this.DeleteAccount = new DeleteColumn();
this.ExportAccount = new ExportColumn();
this.LibraryScan = new System.Windows.Forms.DataGridViewCheckBoxColumn();
this.AccountId = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.Locale = new System.Windows.Forms.DataGridViewComboBoxColumn();
this.Locale = new LocaleColumn();
this.AccountName = new System.Windows.Forms.DataGridViewTextBoxColumn();
this.importBtn = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.dataGridView1)).BeginInit();
@@ -165,11 +165,11 @@
private System.Windows.Forms.Button saveBtn;
private System.Windows.Forms.DataGridView dataGridView1;
private System.Windows.Forms.Button importBtn;
private System.Windows.Forms.DataGridViewButtonColumn DeleteAccount;
private System.Windows.Forms.DataGridViewButtonColumn ExportAccount;
private DeleteColumn DeleteAccount;
private ExportColumn ExportAccount;
private System.Windows.Forms.DataGridViewCheckBoxColumn LibraryScan;
private System.Windows.Forms.DataGridViewTextBoxColumn AccountId;
private System.Windows.Forms.DataGridViewComboBoxColumn Locale;
private LocaleColumn Locale;
private System.Windows.Forms.DataGridViewTextBoxColumn AccountName;
}
}

View File

@@ -20,7 +20,7 @@ namespace LibationWinForms.Dialogs
public AccountsDialog()
{
InitializeComponent();
dataGridView1.EnableHeadersVisualStyles = !Application.IsDarkModeEnabled;
dataGridView1.Columns[COL_AccountName].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
populateDropDown();
@@ -299,5 +299,55 @@ namespace LibationWinForms.Dialogs
ex);
}
}
#region Accessable Columns
public class DeleteColumn : DataGridViewButtonColumn
{
public DeleteColumn() : base()
{
this.CellTemplate = new DeleteColumnCell();
}
}
public class ExportColumn : DataGridViewButtonColumn
{
public ExportColumn() : base()
{
this.CellTemplate = new ExportColumnCell();
}
}
public class LocaleColumn : DataGridViewComboBoxColumn
{
public LocaleColumn() : base()
{
this.CellTemplate = new LocaleColumnCell();
}
}
public class DeleteColumnCell : AccessibleDataGridViewButtonCell
{
public DeleteColumnCell() : base("Delete account from Libation")
{
ToolTipText = AccessibilityName;
}
}
public class LocaleColumnCell : AccessibleDataGridViewComboBoxCell
{
public LocaleColumnCell() : base("Select Audible account region")
{
ToolTipText = AccessibilityName;
}
}
public class ExportColumnCell : AccessibleDataGridViewButtonCell
{
public ExportColumnCell() : base("Export account to mkb79/audible-cli format")
{
ToolTipText = AccessibilityName;
}
}
#endregion
}
}

View File

@@ -27,6 +27,7 @@ namespace LibationWinForms.Dialogs
{
InitializeComponent();
this.SetLibationIcon();
audibleLink.SetLinkLabelColors();
}
public BookDetailsDialog(LibraryBook libraryBook) : this()
{
@@ -40,6 +41,7 @@ namespace LibationWinForms.Dialogs
{
this.Text = Book.TitleWithSubtitle;
dolbyAtmosPb.Visible = Book.IsSpatial;
dolbyAtmosPb.Image = Application.IsDarkModeEnabled ? Properties.Resources.Dolby_Atmos_Vertical_80_dark : Properties.Resources.Dolby_Atmos_Vertical_80;
(_, var picture) = PictureStorage.GetPicture(new PictureDefinition(Book.PictureId, PictureSize._80x80));
this.coverPb.Image = WinFormsUtil.TryLoadImageOrDefault(picture, PictureSize._80x80);
@@ -138,6 +140,7 @@ namespace LibationWinForms.Dialogs
var locale = AudibleApi.Localization.Get(_libraryBook.Book.Locale);
var link = $"https://www.audible.{locale.TopDomain}/pd/{Book.AudibleProductId}";
Go.To.Url(link);
e.Link.Visited = true;
}
}
}

View File

@@ -21,7 +21,7 @@ namespace LibationWinForms.Dialogs
public BookRecordsDialog()
{
InitializeComponent();
dataGridView1.EnableHeadersVisualStyles = !Application.IsDarkModeEnabled;
if (!DesignMode)
{
//Prevent the designer from auto-generating columns

View File

@@ -55,7 +55,7 @@ namespace LibationWinForms.Dialogs
public EditQuickFilters()
{
InitializeComponent();
dataGridView1.EnableHeadersVisualStyles = !Application.IsDarkModeEnabled;
dataGridView1.Columns[COL_Filter].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
populateGridValues();

View File

@@ -44,13 +44,13 @@
allowLibationFixupCbox = new System.Windows.Forms.CheckBox();
convertLossyRb = new System.Windows.Forms.RadioButton();
convertLosslessRb = new System.Windows.Forms.RadioButton();
inProgressSelectControl = new DirectorySelectControl();
logsBtn = new System.Windows.Forms.Button();
booksSelectControl = new DirectoryOrCustomSelectControl();
loggingLevelLbl = new System.Windows.Forms.Label();
loggingLevelCb = new System.Windows.Forms.ComboBox();
tabControl = new System.Windows.Forms.TabControl();
tab1ImportantSettings = new System.Windows.Forms.TabPage();
themeCb = new System.Windows.Forms.ComboBox();
label22 = new System.Windows.Forms.Label();
groupBox1 = new System.Windows.Forms.GroupBox();
applyDisplaySettingsBtn = new System.Windows.Forms.Button();
gridScaleFactorLbl = new System.Windows.Forms.Label();
@@ -58,6 +58,7 @@
gridFontScaleFactorLbl = new System.Windows.Forms.Label();
gridFontScaleFactorTbar = new System.Windows.Forms.TrackBar();
booksGb = new System.Windows.Forms.GroupBox();
booksSelectControl = new DirectoryOrCustomSelectControl();
lastWriteTimeCb = new System.Windows.Forms.ComboBox();
creationTimeCb = new System.Windows.Forms.ComboBox();
lastWriteTimeLbl = new System.Windows.Forms.Label();
@@ -72,6 +73,7 @@
saveMetadataToFileCbox = new System.Windows.Forms.CheckBox();
useCoverAsFolderIconCb = new System.Windows.Forms.CheckBox();
inProgressFilesGb = new System.Windows.Forms.GroupBox();
inProgressSelectControl = new DirectoryOrCustomSelectControl();
customFileNamingGb = new System.Windows.Forms.GroupBox();
editCharreplacementBtn = new System.Windows.Forms.Button();
chapterFileTemplateBtn = new System.Windows.Forms.Button();
@@ -137,6 +139,7 @@
retainAaxFileCbox = new System.Windows.Forms.CheckBox();
downloadCoverArtCbox = new System.Windows.Forms.CheckBox();
createCueSheetCbox = new System.Windows.Forms.CheckBox();
themeLbl = new System.Windows.Forms.Label();
badBookGb.SuspendLayout();
tabControl.SuspendLayout();
tab1ImportantSettings.SuspendLayout();
@@ -172,7 +175,7 @@
// inProgressDescLbl
//
inProgressDescLbl.AutoSize = true;
inProgressDescLbl.Location = new System.Drawing.Point(7, 19);
inProgressDescLbl.Location = new System.Drawing.Point(7, 17);
inProgressDescLbl.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
inProgressDescLbl.Name = "inProgressDescLbl";
inProgressDescLbl.Size = new System.Drawing.Size(100, 45);
@@ -182,8 +185,8 @@
// saveBtn
//
saveBtn.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
saveBtn.Location = new System.Drawing.Point(668, 499);
saveBtn.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
saveBtn.Location = new System.Drawing.Point(668, 501);
saveBtn.Margin = new System.Windows.Forms.Padding(4, 1, 4, 1);
saveBtn.Name = "saveBtn";
saveBtn.Size = new System.Drawing.Size(88, 27);
saveBtn.TabIndex = 98;
@@ -195,8 +198,8 @@
//
cancelBtn.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
cancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
cancelBtn.Location = new System.Drawing.Point(786, 499);
cancelBtn.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
cancelBtn.Location = new System.Drawing.Point(785, 501);
cancelBtn.Margin = new System.Windows.Forms.Padding(1);
cancelBtn.Name = "cancelBtn";
cancelBtn.Size = new System.Drawing.Size(88, 27);
cancelBtn.TabIndex = 99;
@@ -341,15 +344,6 @@
convertLosslessRb.UseVisualStyleBackColor = true;
convertLosslessRb.CheckedChanged += convertFormatRb_CheckedChanged;
//
// inProgressSelectControl
//
inProgressSelectControl.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
inProgressSelectControl.Location = new System.Drawing.Point(6, 85);
inProgressSelectControl.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
inProgressSelectControl.Name = "inProgressSelectControl";
inProgressSelectControl.Size = new System.Drawing.Size(830, 49);
inProgressSelectControl.TabIndex = 19;
//
// logsBtn
//
logsBtn.Location = new System.Drawing.Point(256, 424);
@@ -360,15 +354,6 @@
logsBtn.UseVisualStyleBackColor = true;
logsBtn.Click += logsBtn_Click;
//
// booksSelectControl
//
booksSelectControl.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
booksSelectControl.Location = new System.Drawing.Point(6, 37);
booksSelectControl.Margin = new System.Windows.Forms.Padding(3, 4, 3, 4);
booksSelectControl.Name = "booksSelectControl";
booksSelectControl.Size = new System.Drawing.Size(832, 102);
booksSelectControl.TabIndex = 2;
//
// loggingLevelLbl
//
loggingLevelLbl.AutoSize = true;
@@ -397,12 +382,16 @@
tabControl.Location = new System.Drawing.Point(12, 12);
tabControl.Name = "tabControl";
tabControl.SelectedIndex = 0;
tabControl.Size = new System.Drawing.Size(864, 481);
tabControl.Size = new System.Drawing.Size(864, 485);
tabControl.TabIndex = 100;
//
// tab1ImportantSettings
//
tab1ImportantSettings.AutoScroll = true;
tab1ImportantSettings.BackColor = System.Drawing.SystemColors.Window;
tab1ImportantSettings.Controls.Add(themeLbl);
tab1ImportantSettings.Controls.Add(themeCb);
tab1ImportantSettings.Controls.Add(label22);
tab1ImportantSettings.Controls.Add(groupBox1);
tab1ImportantSettings.Controls.Add(booksGb);
tab1ImportantSettings.Controls.Add(logsBtn);
@@ -411,10 +400,28 @@
tab1ImportantSettings.Location = new System.Drawing.Point(4, 24);
tab1ImportantSettings.Name = "tab1ImportantSettings";
tab1ImportantSettings.Padding = new System.Windows.Forms.Padding(3);
tab1ImportantSettings.Size = new System.Drawing.Size(856, 453);
tab1ImportantSettings.Size = new System.Drawing.Size(856, 457);
tab1ImportantSettings.TabIndex = 0;
tab1ImportantSettings.Text = "Important settings";
tab1ImportantSettings.UseVisualStyleBackColor = true;
//
// themeCb
//
themeCb.FormattingEnabled = true;
themeCb.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
themeCb.Location = new System.Drawing.Point(63, 390);
themeCb.Name = "themeCb";
themeCb.Size = new System.Drawing.Size(121, 23);
themeCb.TabIndex = 11;
themeCb.SelectedIndexChanged += themeCb_SelectedIndexChanged;
//
// label22
//
label22.AutoSize = true;
label22.Location = new System.Drawing.Point(4, 393);
label22.Name = "label22";
label22.Size = new System.Drawing.Size(44, 15);
label22.TabIndex = 10;
label22.Text = "Theme";
//
// groupBox1
//
@@ -434,7 +441,7 @@
// applyDisplaySettingsBtn
//
applyDisplaySettingsBtn.Anchor = System.Windows.Forms.AnchorStyles.Right;
applyDisplaySettingsBtn.Location = new System.Drawing.Point(689, 26);
applyDisplaySettingsBtn.Location = new System.Drawing.Point(672, 26);
applyDisplaySettingsBtn.Name = "applyDisplaySettingsBtn";
applyDisplaySettingsBtn.Size = new System.Drawing.Size(148, 34);
applyDisplaySettingsBtn.TabIndex = 9;
@@ -487,13 +494,13 @@
// booksGb
//
booksGb.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
booksGb.Controls.Add(booksSelectControl);
booksGb.Controls.Add(lastWriteTimeCb);
booksGb.Controls.Add(creationTimeCb);
booksGb.Controls.Add(lastWriteTimeLbl);
booksGb.Controls.Add(creationTimeLbl);
booksGb.Controls.Add(overwriteExistingCbox);
booksGb.Controls.Add(saveEpisodesToSeriesFolderCbox);
booksGb.Controls.Add(booksSelectControl);
booksGb.Controls.Add(booksLocationDescLbl);
booksGb.Location = new System.Drawing.Point(6, 6);
booksGb.Name = "booksGb";
@@ -502,6 +509,14 @@
booksGb.TabStop = false;
booksGb.Text = "Books location";
//
// booksSelectControl
//
booksSelectControl.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
booksSelectControl.Location = new System.Drawing.Point(8, 37);
booksSelectControl.Name = "booksSelectControl";
booksSelectControl.Size = new System.Drawing.Size(830, 80);
booksSelectControl.TabIndex = 6;
//
// lastWriteTimeCb
//
lastWriteTimeCb.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
@@ -563,6 +578,7 @@
// tab2ImportLibrary
//
tab2ImportLibrary.AutoScroll = true;
tab2ImportLibrary.BackColor = System.Drawing.SystemColors.Window;
tab2ImportLibrary.Controls.Add(autoDownloadEpisodesCb);
tab2ImportLibrary.Controls.Add(autoScanCb);
tab2ImportLibrary.Controls.Add(showImportedStatsCb);
@@ -571,10 +587,9 @@
tab2ImportLibrary.Location = new System.Drawing.Point(4, 24);
tab2ImportLibrary.Name = "tab2ImportLibrary";
tab2ImportLibrary.Padding = new System.Windows.Forms.Padding(3);
tab2ImportLibrary.Size = new System.Drawing.Size(856, 453);
tab2ImportLibrary.Size = new System.Drawing.Size(856, 457);
tab2ImportLibrary.TabIndex = 1;
tab2ImportLibrary.Text = "Import library";
tab2ImportLibrary.UseVisualStyleBackColor = true;
//
// autoDownloadEpisodesCb
//
@@ -609,6 +624,7 @@
// tab3DownloadDecrypt
//
tab3DownloadDecrypt.AutoScroll = true;
tab3DownloadDecrypt.BackColor = System.Drawing.SystemColors.Window;
tab3DownloadDecrypt.Controls.Add(saveMetadataToFileCbox);
tab3DownloadDecrypt.Controls.Add(useCoverAsFolderIconCb);
tab3DownloadDecrypt.Controls.Add(inProgressFilesGb);
@@ -617,15 +633,15 @@
tab3DownloadDecrypt.Location = new System.Drawing.Point(4, 24);
tab3DownloadDecrypt.Name = "tab3DownloadDecrypt";
tab3DownloadDecrypt.Padding = new System.Windows.Forms.Padding(3);
tab3DownloadDecrypt.Size = new System.Drawing.Size(856, 453);
tab3DownloadDecrypt.Size = new System.Drawing.Size(856, 457);
tab3DownloadDecrypt.TabIndex = 2;
tab3DownloadDecrypt.Text = "Download/Decrypt";
tab3DownloadDecrypt.UseVisualStyleBackColor = true;
//
// saveMetadataToFileCbox
//
saveMetadataToFileCbox.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
saveMetadataToFileCbox.AutoSize = true;
saveMetadataToFileCbox.Location = new System.Drawing.Point(482, 428);
saveMetadataToFileCbox.Location = new System.Drawing.Point(481, 435);
saveMetadataToFileCbox.Name = "saveMetadataToFileCbox";
saveMetadataToFileCbox.Size = new System.Drawing.Size(166, 19);
saveMetadataToFileCbox.TabIndex = 22;
@@ -634,8 +650,9 @@
//
// useCoverAsFolderIconCb
//
useCoverAsFolderIconCb.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left;
useCoverAsFolderIconCb.AutoSize = true;
useCoverAsFolderIconCb.Location = new System.Drawing.Point(7, 428);
useCoverAsFolderIconCb.Location = new System.Drawing.Point(6, 435);
useCoverAsFolderIconCb.Name = "useCoverAsFolderIconCb";
useCoverAsFolderIconCb.Size = new System.Drawing.Size(180, 19);
useCoverAsFolderIconCb.TabIndex = 22;
@@ -644,16 +661,24 @@
//
// inProgressFilesGb
//
inProgressFilesGb.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
inProgressFilesGb.Controls.Add(inProgressDescLbl);
inProgressFilesGb.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
inProgressFilesGb.Controls.Add(inProgressSelectControl);
inProgressFilesGb.Controls.Add(inProgressDescLbl);
inProgressFilesGb.Location = new System.Drawing.Point(6, 281);
inProgressFilesGb.Name = "inProgressFilesGb";
inProgressFilesGb.Size = new System.Drawing.Size(842, 141);
inProgressFilesGb.Size = new System.Drawing.Size(842, 148);
inProgressFilesGb.TabIndex = 21;
inProgressFilesGb.TabStop = false;
inProgressFilesGb.Text = "In progress files";
//
// inProgressSelectControl
//
inProgressSelectControl.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
inProgressSelectControl.Location = new System.Drawing.Point(6, 65);
inProgressSelectControl.Name = "inProgressSelectControl";
inProgressSelectControl.Size = new System.Drawing.Size(830, 80);
inProgressSelectControl.TabIndex = 19;
//
// customFileNamingGb
//
customFileNamingGb.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
@@ -775,6 +800,7 @@
// tab4AudioFileOptions
//
tab4AudioFileOptions.AutoScroll = true;
tab4AudioFileOptions.BackColor = System.Drawing.SystemColors.Window;
tab4AudioFileOptions.Controls.Add(request_xHE_AAC_Cbox);
tab4AudioFileOptions.Controls.Add(requestSpatialCbox);
tab4AudioFileOptions.Controls.Add(useWidevineCbox);
@@ -798,10 +824,9 @@
tab4AudioFileOptions.Location = new System.Drawing.Point(4, 24);
tab4AudioFileOptions.Name = "tab4AudioFileOptions";
tab4AudioFileOptions.Padding = new System.Windows.Forms.Padding(3);
tab4AudioFileOptions.Size = new System.Drawing.Size(856, 453);
tab4AudioFileOptions.Size = new System.Drawing.Size(856, 457);
tab4AudioFileOptions.TabIndex = 3;
tab4AudioFileOptions.Text = "Audio File Options";
tab4AudioFileOptions.UseVisualStyleBackColor = true;
//
// request_xHE_AAC_Cbox
//
@@ -1183,6 +1208,7 @@
//
label19.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
label19.AutoSize = true;
label19.BackColor = System.Drawing.SystemColors.ControlLightLight;
label19.Location = new System.Drawing.Point(332, 47);
label19.Name = "label19";
label19.Size = new System.Drawing.Size(20, 15);
@@ -1193,6 +1219,7 @@
//
label18.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
label18.AutoSize = true;
label18.BackColor = System.Drawing.SystemColors.ControlLightLight;
label18.Location = new System.Drawing.Point(291, 47);
label18.Name = "label18";
label18.Size = new System.Drawing.Size(20, 15);
@@ -1203,6 +1230,7 @@
//
label17.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
label17.AutoSize = true;
label17.BackColor = System.Drawing.SystemColors.ControlLightLight;
label17.Location = new System.Drawing.Point(251, 47);
label17.Name = "label17";
label17.Size = new System.Drawing.Size(20, 15);
@@ -1213,6 +1241,7 @@
//
label16.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
label16.AutoSize = true;
label16.BackColor = System.Drawing.SystemColors.ControlLightLight;
label16.Location = new System.Drawing.Point(212, 47);
label16.Name = "label16";
label16.Size = new System.Drawing.Size(20, 15);
@@ -1223,6 +1252,7 @@
//
label12.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
label12.AutoSize = true;
label12.BackColor = System.Drawing.SystemColors.ControlLightLight;
label12.Location = new System.Drawing.Point(170, 47);
label12.Name = "label12";
label12.Size = new System.Drawing.Size(20, 15);
@@ -1233,6 +1263,7 @@
//
label15.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
label15.AutoSize = true;
label15.BackColor = System.Drawing.SystemColors.ControlLightLight;
label15.Location = new System.Drawing.Point(130, 47);
label15.Name = "label15";
label15.Size = new System.Drawing.Size(20, 15);
@@ -1243,6 +1274,7 @@
//
label9.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
label9.AutoSize = true;
label9.BackColor = System.Drawing.SystemColors.ControlLightLight;
label9.Location = new System.Drawing.Point(89, 47);
label9.Name = "label9";
label9.Size = new System.Drawing.Size(20, 15);
@@ -1253,6 +1285,7 @@
//
label8.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
label8.AutoSize = true;
label8.BackColor = System.Drawing.SystemColors.ControlLightLight;
label8.Location = new System.Drawing.Point(371, 47);
label8.Name = "label8";
label8.Size = new System.Drawing.Size(20, 15);
@@ -1281,6 +1314,7 @@
//
label14.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
label14.AutoSize = true;
label14.BackColor = System.Drawing.SystemColors.ControlLightLight;
label14.Location = new System.Drawing.Point(50, 47);
label14.Name = "label14";
label14.Size = new System.Drawing.Size(20, 15);
@@ -1291,6 +1325,7 @@
//
label2.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
label2.AutoSize = true;
label2.BackColor = System.Drawing.SystemColors.ControlLightLight;
label2.Location = new System.Drawing.Point(10, 47);
label2.Name = "label2";
label2.Size = new System.Drawing.Size(20, 15);
@@ -1403,6 +1438,15 @@
createCueSheetCbox.UseVisualStyleBackColor = true;
createCueSheetCbox.CheckedChanged += allowLibationFixupCbox_CheckedChanged;
//
// themeLbl
//
themeLbl.AutoSize = true;
themeLbl.Location = new System.Drawing.Point(190, 393);
themeLbl.Name = "themeLbl";
themeLbl.Size = new System.Drawing.Size(296, 15);
themeLbl.TabIndex = 12;
themeLbl.Text = "You must restart Libation for this change to take effect.";
//
// SettingsDialog
//
AcceptButton = saveBtn;
@@ -1464,8 +1508,6 @@
public System.Windows.Forms.Button saveBtn;
public System.Windows.Forms.Button cancelBtn;
private System.Windows.Forms.CheckBox allowLibationFixupCbox;
private DirectoryOrCustomSelectControl booksSelectControl;
private DirectorySelectControl inProgressSelectControl;
private System.Windows.Forms.RadioButton convertLossyRb;
private System.Windows.Forms.RadioButton convertLosslessRb;
private System.Windows.Forms.Button logsBtn;
@@ -1568,5 +1610,10 @@
private System.Windows.Forms.CheckBox useWidevineCbox;
private System.Windows.Forms.CheckBox requestSpatialCbox;
private System.Windows.Forms.CheckBox request_xHE_AAC_Cbox;
private DirectoryOrCustomSelectControl inProgressSelectControl;
private DirectoryOrCustomSelectControl booksSelectControl;
private System.Windows.Forms.Label label22;
private System.Windows.Forms.ComboBox themeCb;
private System.Windows.Forms.Label themeLbl;
}
}

View File

@@ -1,4 +1,6 @@
using Dinah.Core;
using DocumentFormat.OpenXml.Drawing;
using DocumentFormat.OpenXml.Office2013.Theme;
using FileManager;
using LibationFileManager;
using LibationUiBase;
@@ -19,6 +21,8 @@ namespace LibationWinForms.Dialogs
else
Go.To.Folder(Configuration.Instance.LibationFiles.Location.ShortPathName);
}
private Configuration.Theme themeVariant;
private Configuration.Theme initialThemeVariant;
private void Load_Important(Configuration config)
{
@@ -44,6 +48,10 @@ namespace LibationWinForms.Dialogs
creationTimeCb.SelectedItem = dateTimeSources.SingleOrDefault(v => v.Value == config.CreationTime) ?? dateTimeSources[0];
lastWriteTimeCb.SelectedItem = dateTimeSources.SingleOrDefault(v => v.Value == config.LastWriteTime) ?? dateTimeSources[0];
themeVariant = initialThemeVariant = config.ThemeVariant;
var themes = Enum.GetValues<Configuration.Theme>().Select(v => new EnumDisplay<Configuration.Theme>(v)).ToArray();
themeCb.Items.AddRange(themes);
themeCb.SelectedItem = themes.SingleOrDefault(v => v.Value == themeVariant) ?? themes[0];
booksSelectControl.SetSearchTitle("books location");
booksSelectControl.SetDirectoryItems(
@@ -110,6 +118,7 @@ namespace LibationWinForms.Dialogs
config.CreationTime = (creationTimeCb.SelectedItem as EnumDisplay<Configuration.DateTimeSource>)?.Value ?? Configuration.DateTimeSource.File;
config.LastWriteTime = (lastWriteTimeCb.SelectedItem as EnumDisplay<Configuration.DateTimeSource>)?.Value ?? Configuration.DateTimeSource.File;
config.ThemeVariant = (themeCb.SelectedItem as EnumDisplay<Configuration.Theme>)?.Value ?? Configuration.Theme.System;
return true;
}
@@ -123,5 +132,15 @@ namespace LibationWinForms.Dialogs
config.GridFontScaleFactor = linearRangeToScaleFactor(gridFontScaleFactorTbar.Value);
config.GridScaleFactor = linearRangeToScaleFactor(gridScaleFactorTbar.Value);
}
private void themeCb_SelectedIndexChanged(object? sender, EventArgs e)
{
var selected = themeCb.SelectedItem as EnumDisplay<Configuration.Theme>;
if (selected != null)
{
themeVariant = selected.Value;
themeLbl.Visible = themeVariant != initialThemeVariant;
}
}
}
}

View File

@@ -21,6 +21,7 @@ namespace LibationWinForms
scanLibraryOfAllAccountsToolStripMenuItem.Enabled = false;
scanLibraryOfSomeAccountsToolStripMenuItem.Enabled = false;
this.scanningToolStripMenuItem.Image = System.Windows.Forms.Application.IsDarkModeEnabled ? Properties.Resources.import_16x16_dark : Properties.Resources.import_16x16;
this.scanningToolStripMenuItem.Visible = true;
this.scanningToolStripMenuItem.Text
= (accountsLength == 1)

View File

@@ -22,7 +22,7 @@ namespace LibationWinForms
PictureStorage.SetDefaultImage(PictureSize.Native, Properties.Resources.default_cover_500x500.ToBytes(format));
BaseUtil.SetLoadImageDelegate(WinFormsUtil.TryLoadImageOrDefault);
BaseUtil.SetLoadResourceImageDelegate(Properties.Resources.ResourceManager.GetObject);
BaseUtil.SetLoadResourceImageDelegate(LoadResourceImage);
// wire-up event to automatically download after scan.
// winforms only. this should NOT be allowed in cli
@@ -36,6 +36,13 @@ namespace LibationWinForms
};
}
private static object LoadResourceImage(string resourceName)
{
if (Application.IsDarkModeEnabled)
resourceName += "_dark";
return Properties.Resources.ResourceManager.GetObject(resourceName);
}
private void AudibleApiStorage_LoadError(object sender, AccountSettingsLoadErrorEventArgs e)
{
try

View File

@@ -23,7 +23,7 @@ namespace LibationWinForms.GridView
{
public EditTagsDataGridViewImageButtonCell() : base("Edit Tags button") { }
private static Image ButtonImage { get; } = Properties.Resources.edit_25x25;
private static Image ButtonImage => Application.IsDarkModeEnabled ? Properties.Resources.edit_25x25_dark : Properties.Resources.edit_25x25;
protected override void Paint(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, int rowIndex, DataGridViewElementStates elementState, object value, object formattedValue, string errorText, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts)
{

View File

@@ -23,6 +23,8 @@ namespace LibationWinForms.GridView
private static readonly Brush DISABLED_GRAY = new SolidBrush(Color.FromArgb(0x60, Color.LightGray));
private static readonly Color HiddenForeColor = Color.LightGray;
private static readonly Color SERIES_BG_COLOR = Color.FromArgb(230, 255, 230);
private static readonly Color SERIES_BG_COLOR_DARK = Color.FromArgb(76, 82, 93);
private static Color SeriesBgColor => Application.IsDarkModeEnabled ? SERIES_BG_COLOR_DARK:SERIES_BG_COLOR;
protected override void Paint(Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, int rowIndex, DataGridViewElementStates elementState, object? value, object? formattedValue, string? errorText, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts)
{
@@ -32,7 +34,7 @@ namespace LibationWinForms.GridView
//Don't paint the button graphic
paintParts ^= DataGridViewPaintParts.ContentBackground | DataGridViewPaintParts.ContentForeground | DataGridViewPaintParts.SelectionBackground;
row.DefaultCellStyle.BackColor = status.IsEpisode ? SERIES_BG_COLOR : grid.DefaultCellStyle.BackColor;
row.DefaultCellStyle.BackColor = status.IsEpisode ? SeriesBgColor : grid.DefaultCellStyle.BackColor;
row.DefaultCellStyle.ForeColor = status.Opacity == 1 ? grid.DefaultCellStyle.ForeColor : HiddenForeColor;
base.Paint(graphics, clipBounds, cellBounds, rowIndex, elementState, null, null, null, cellStyle, advancedBorderStyle, paintParts);

View File

@@ -53,6 +53,7 @@ namespace LibationWinForms.GridView
setGridScale(Configuration.Instance.GridScaleFactor);
Configuration.Instance.PropertyChanged += Configuration_ScaleChanged;
Configuration.Instance.PropertyChanged += Configuration_FontScaleChanged;
gridEntryDataGridView.EnableHeadersVisualStyles = !Application.IsDarkModeEnabled;
gridEntryDataGridView.Disposed += (_, _) =>
{

View File

@@ -29,184 +29,177 @@
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ProcessBookControl));
this.pictureBox1 = new System.Windows.Forms.PictureBox();
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.remainingTimeLbl = new System.Windows.Forms.Label();
this.etaLbl = new System.Windows.Forms.Label();
this.cancelBtn = new System.Windows.Forms.Button();
this.statusLbl = new System.Windows.Forms.Label();
this.bookInfoLbl = new System.Windows.Forms.Label();
this.moveUpBtn = new System.Windows.Forms.Button();
this.moveDownBtn = new System.Windows.Forms.Button();
this.moveFirstBtn = new System.Windows.Forms.Button();
this.moveLastBtn = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
this.SuspendLayout();
pictureBox1 = new System.Windows.Forms.PictureBox();
progressBar1 = new System.Windows.Forms.ProgressBar();
remainingTimeLbl = new System.Windows.Forms.Label();
etaLbl = new System.Windows.Forms.Label();
cancelBtn = new System.Windows.Forms.Button();
statusLbl = new System.Windows.Forms.Label();
bookInfoLbl = new System.Windows.Forms.Label();
moveUpBtn = new System.Windows.Forms.Button();
moveDownBtn = new System.Windows.Forms.Button();
moveFirstBtn = new System.Windows.Forms.Button();
moveLastBtn = new System.Windows.Forms.Button();
((System.ComponentModel.ISupportInitialize)pictureBox1).BeginInit();
SuspendLayout();
//
// pictureBox1
//
this.pictureBox1.Location = new System.Drawing.Point(2, 2);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.Size = new System.Drawing.Size(80, 80);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
this.pictureBox1.TabIndex = 0;
this.pictureBox1.TabStop = false;
pictureBox1.Location = new System.Drawing.Point(2, 2);
pictureBox1.Name = "pictureBox1";
pictureBox1.Size = new System.Drawing.Size(80, 80);
pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage;
pictureBox1.TabIndex = 0;
pictureBox1.TabStop = false;
//
// progressBar1
//
this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.progressBar1.Location = new System.Drawing.Point(88, 65);
this.progressBar1.MarqueeAnimationSpeed = 0;
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(212, 17);
this.progressBar1.TabIndex = 2;
progressBar1.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
progressBar1.Location = new System.Drawing.Point(88, 65);
progressBar1.MarqueeAnimationSpeed = 0;
progressBar1.Name = "progressBar1";
progressBar1.Size = new System.Drawing.Size(212, 17);
progressBar1.TabIndex = 2;
//
// remainingTimeLbl
//
this.remainingTimeLbl.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.remainingTimeLbl.AutoSize = true;
this.remainingTimeLbl.Location = new System.Drawing.Point(338, 65);
this.remainingTimeLbl.Name = "remainingTimeLbl";
this.remainingTimeLbl.Size = new System.Drawing.Size(30, 15);
this.remainingTimeLbl.TabIndex = 3;
this.remainingTimeLbl.Text = "--:--";
this.remainingTimeLbl.TextAlign = System.Drawing.ContentAlignment.TopRight;
remainingTimeLbl.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
remainingTimeLbl.AutoSize = true;
remainingTimeLbl.Location = new System.Drawing.Point(338, 65);
remainingTimeLbl.Name = "remainingTimeLbl";
remainingTimeLbl.Size = new System.Drawing.Size(30, 15);
remainingTimeLbl.TabIndex = 3;
remainingTimeLbl.Text = "--:--";
remainingTimeLbl.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// etaLbl
//
this.etaLbl.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.etaLbl.AutoSize = true;
this.etaLbl.Font = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.etaLbl.Location = new System.Drawing.Point(304, 66);
this.etaLbl.Name = "etaLbl";
this.etaLbl.Size = new System.Drawing.Size(28, 13);
this.etaLbl.TabIndex = 3;
this.etaLbl.Text = "ETA:";
this.etaLbl.TextAlign = System.Drawing.ContentAlignment.TopRight;
etaLbl.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
etaLbl.AutoSize = true;
etaLbl.Font = new System.Drawing.Font("Segoe UI", 8F);
etaLbl.Location = new System.Drawing.Point(304, 66);
etaLbl.Name = "etaLbl";
etaLbl.Size = new System.Drawing.Size(27, 13);
etaLbl.TabIndex = 3;
etaLbl.Text = "ETA:";
etaLbl.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// cancelBtn
//
this.cancelBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.cancelBtn.BackColor = System.Drawing.Color.Transparent;
this.cancelBtn.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("cancelBtn.BackgroundImage")));
this.cancelBtn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.cancelBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.cancelBtn.ForeColor = System.Drawing.SystemColors.Control;
this.cancelBtn.Location = new System.Drawing.Point(348, 6);
this.cancelBtn.Margin = new System.Windows.Forms.Padding(0);
this.cancelBtn.Name = "cancelBtn";
this.cancelBtn.Size = new System.Drawing.Size(20, 20);
this.cancelBtn.TabIndex = 4;
this.cancelBtn.UseVisualStyleBackColor = false;
cancelBtn.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right;
cancelBtn.BackColor = System.Drawing.Color.Transparent;
cancelBtn.BackgroundImage = (System.Drawing.Image)resources.GetObject("cancelBtn.BackgroundImage");
cancelBtn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
cancelBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
cancelBtn.ForeColor = System.Drawing.SystemColors.Control;
cancelBtn.Location = new System.Drawing.Point(348, 6);
cancelBtn.Margin = new System.Windows.Forms.Padding(0);
cancelBtn.Name = "cancelBtn";
cancelBtn.Size = new System.Drawing.Size(20, 20);
cancelBtn.TabIndex = 4;
cancelBtn.UseVisualStyleBackColor = false;
//
// statusLbl
//
this.statusLbl.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.statusLbl.AutoSize = true;
this.statusLbl.Font = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.statusLbl.Location = new System.Drawing.Point(89, 66);
this.statusLbl.Name = "statusLbl";
this.statusLbl.Size = new System.Drawing.Size(50, 13);
this.statusLbl.TabIndex = 3;
this.statusLbl.Text = "[STATUS]";
this.statusLbl.TextAlign = System.Drawing.ContentAlignment.TopRight;
statusLbl.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left;
statusLbl.AutoSize = true;
statusLbl.Font = new System.Drawing.Font("Segoe UI", 8F);
statusLbl.Location = new System.Drawing.Point(89, 66);
statusLbl.Name = "statusLbl";
statusLbl.Size = new System.Drawing.Size(48, 13);
statusLbl.TabIndex = 3;
statusLbl.Text = "[STATUS]";
statusLbl.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// bookInfoLbl
//
this.bookInfoLbl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.bookInfoLbl.Font = new System.Drawing.Font("Segoe UI", 8F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point);
this.bookInfoLbl.Location = new System.Drawing.Point(89, 6);
this.bookInfoLbl.Name = "bookInfoLbl";
this.bookInfoLbl.Size = new System.Drawing.Size(219, 56);
this.bookInfoLbl.TabIndex = 1;
this.bookInfoLbl.Text = "[multi-\r\nline\r\nbook\r\n info]";
bookInfoLbl.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right;
bookInfoLbl.Font = new System.Drawing.Font("Segoe UI", 8F);
bookInfoLbl.Location = new System.Drawing.Point(89, 6);
bookInfoLbl.Name = "bookInfoLbl";
bookInfoLbl.Size = new System.Drawing.Size(219, 56);
bookInfoLbl.TabIndex = 1;
bookInfoLbl.Text = "[multi-\r\nline\r\nbook\r\n info]";
//
// moveUpBtn
//
this.moveUpBtn.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Right)));
this.moveUpBtn.BackColor = System.Drawing.Color.Transparent;
this.moveUpBtn.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("moveUpBtn.BackgroundImage")));
this.moveUpBtn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.moveUpBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.moveUpBtn.ForeColor = System.Drawing.SystemColors.Control;
this.moveUpBtn.Location = new System.Drawing.Point(314, 24);
this.moveUpBtn.Name = "moveUpBtn";
this.moveUpBtn.Size = new System.Drawing.Size(30, 17);
this.moveUpBtn.TabIndex = 5;
this.moveUpBtn.UseVisualStyleBackColor = false;
moveUpBtn.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
moveUpBtn.BackColor = System.Drawing.Color.Transparent;
moveUpBtn.BackgroundImage = Properties.Resources.move_up;
moveUpBtn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
moveUpBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
moveUpBtn.ForeColor = System.Drawing.SystemColors.Control;
moveUpBtn.Location = new System.Drawing.Point(314, 24);
moveUpBtn.Name = "moveUpBtn";
moveUpBtn.Size = new System.Drawing.Size(30, 17);
moveUpBtn.TabIndex = 5;
moveUpBtn.UseVisualStyleBackColor = false;
//
// moveDownBtn
//
this.moveDownBtn.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Right)));
this.moveDownBtn.BackColor = System.Drawing.Color.Transparent;
this.moveDownBtn.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("moveDownBtn.BackgroundImage")));
this.moveDownBtn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.moveDownBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.moveDownBtn.ForeColor = System.Drawing.SystemColors.Control;
this.moveDownBtn.Location = new System.Drawing.Point(314, 40);
this.moveDownBtn.Name = "moveDownBtn";
this.moveDownBtn.Size = new System.Drawing.Size(30, 17);
this.moveDownBtn.TabIndex = 5;
this.moveDownBtn.UseVisualStyleBackColor = false;
moveDownBtn.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
moveDownBtn.BackColor = System.Drawing.Color.Transparent;
moveDownBtn.BackgroundImage = Properties.Resources.move_down;
moveDownBtn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
moveDownBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
moveDownBtn.ForeColor = System.Drawing.SystemColors.Control;
moveDownBtn.Location = new System.Drawing.Point(314, 40);
moveDownBtn.Name = "moveDownBtn";
moveDownBtn.Size = new System.Drawing.Size(30, 17);
moveDownBtn.TabIndex = 5;
moveDownBtn.UseVisualStyleBackColor = false;
//
// moveFirstBtn
//
this.moveFirstBtn.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Right)));
this.moveFirstBtn.BackColor = System.Drawing.Color.Transparent;
this.moveFirstBtn.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("moveFirstBtn.BackgroundImage")));
this.moveFirstBtn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.moveFirstBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.moveFirstBtn.ForeColor = System.Drawing.SystemColors.Control;
this.moveFirstBtn.Location = new System.Drawing.Point(314, 3);
this.moveFirstBtn.Name = "moveFirstBtn";
this.moveFirstBtn.Size = new System.Drawing.Size(30, 17);
this.moveFirstBtn.TabIndex = 5;
this.moveFirstBtn.UseVisualStyleBackColor = false;
moveFirstBtn.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
moveFirstBtn.BackColor = System.Drawing.Color.Transparent;
moveFirstBtn.BackgroundImage = Properties.Resources.move_first;
moveFirstBtn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
moveFirstBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
moveFirstBtn.ForeColor = System.Drawing.SystemColors.Control;
moveFirstBtn.Location = new System.Drawing.Point(314, 3);
moveFirstBtn.Name = "moveFirstBtn";
moveFirstBtn.Size = new System.Drawing.Size(30, 17);
moveFirstBtn.TabIndex = 5;
moveFirstBtn.UseVisualStyleBackColor = false;
//
// moveLastBtn
//
this.moveLastBtn.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Right)));
this.moveLastBtn.BackColor = System.Drawing.Color.Transparent;
this.moveLastBtn.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("moveLastBtn.BackgroundImage")));
this.moveLastBtn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
this.moveLastBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.moveLastBtn.ForeColor = System.Drawing.SystemColors.Control;
this.moveLastBtn.Location = new System.Drawing.Point(314, 63);
this.moveLastBtn.Name = "moveLastBtn";
this.moveLastBtn.Size = new System.Drawing.Size(30, 17);
this.moveLastBtn.TabIndex = 5;
this.moveLastBtn.UseVisualStyleBackColor = false;
moveLastBtn.Anchor = System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right;
moveLastBtn.BackColor = System.Drawing.Color.Transparent;
moveLastBtn.BackgroundImage = Properties.Resources.move_last;
moveLastBtn.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
moveLastBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
moveLastBtn.ForeColor = System.Drawing.SystemColors.Control;
moveLastBtn.Location = new System.Drawing.Point(314, 63);
moveLastBtn.Name = "moveLastBtn";
moveLastBtn.Size = new System.Drawing.Size(30, 17);
moveLastBtn.TabIndex = 5;
moveLastBtn.UseVisualStyleBackColor = false;
//
// ProcessBookControl
//
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.BackColor = System.Drawing.SystemColors.ControlLight;
this.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
this.Controls.Add(this.moveLastBtn);
this.Controls.Add(this.moveDownBtn);
this.Controls.Add(this.moveFirstBtn);
this.Controls.Add(this.moveUpBtn);
this.Controls.Add(this.cancelBtn);
this.Controls.Add(this.statusLbl);
this.Controls.Add(this.etaLbl);
this.Controls.Add(this.remainingTimeLbl);
this.Controls.Add(this.progressBar1);
this.Controls.Add(this.bookInfoLbl);
this.Controls.Add(this.pictureBox1);
this.Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
this.Name = "ProcessBookControl";
this.Size = new System.Drawing.Size(375, 86);
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
BackColor = System.Drawing.SystemColors.ControlLight;
BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
Controls.Add(moveLastBtn);
Controls.Add(moveDownBtn);
Controls.Add(moveFirstBtn);
Controls.Add(moveUpBtn);
Controls.Add(cancelBtn);
Controls.Add(statusLbl);
Controls.Add(etaLbl);
Controls.Add(remainingTimeLbl);
Controls.Add(progressBar1);
Controls.Add(bookInfoLbl);
Controls.Add(pictureBox1);
Margin = new System.Windows.Forms.Padding(4, 2, 4, 2);
Name = "ProcessBookControl";
Size = new System.Drawing.Size(375, 86);
((System.ComponentModel.ISupportInitialize)pictureBox1).EndInit();
ResumeLayout(false);
PerformLayout();
}

View File

@@ -12,10 +12,10 @@ namespace LibationWinForms.ProcessQueue
private readonly int ProgressBarDistanceFromEdge;
private object? m_OldContext;
private static Color FailedColor { get; } = Color.LightCoral;
private static Color CancelledColor { get; } = Color.Khaki;
private static Color FailedColor => Application.IsDarkModeEnabled ? Color.FromArgb(0x50, 0x27, 0x27) : Color.LightCoral;
private static Color CancelledColor => Application.IsDarkModeEnabled ? Color.FromArgb(0x4e, 0x4b, 0x15) : Color.Khaki;
private static Color QueuedColor { get; } = SystemColors.Control;
private static Color SuccessColor { get; } = Color.PaleGreen;
private static Color SuccessColor => Application.IsDarkModeEnabled ? Color.FromArgb(0x1c, 0x3e, 0x20) : Color.PaleGreen;
public ProcessBookControl()
{
@@ -23,6 +23,10 @@ namespace LibationWinForms.ProcessQueue
remainingTimeLbl.Visible = false;
progressBar1.Visible = false;
etaLbl.Visible = false;
moveDownBtn.BackgroundImage = Application.IsDarkModeEnabled ? Properties.Resources.move_down_dark : Properties.Resources.move_down;
moveUpBtn.BackgroundImage = Application.IsDarkModeEnabled ? Properties.Resources.move_up_dark : Properties.Resources.move_up;
moveFirstBtn.BackgroundImage = Application.IsDarkModeEnabled ? Properties.Resources.move_first_dark : Properties.Resources.move_first;
moveLastBtn.BackgroundImage = Application.IsDarkModeEnabled ? Properties.Resources.move_last_dark : Properties.Resources.move_last;
CancelBtnDistanceFromEdge = Width - cancelBtn.Location.X;
ProgressBarDistanceFromEdge = Width - progressBar1.Location.X - progressBar1.Width;

View File

File diff suppressed because it is too large Load Diff

View File

@@ -31,7 +31,11 @@ internal partial class ProcessQueueControl : UserControl
virtualFlowControl2.ButtonClicked += VirtualFlowControl2_ButtonClicked;
virtualFlowControl2.DataContext = ViewModel.Queue;
queueNumberLbl.Image = Application.IsDarkModeEnabled ? Properties.Resources.queue_queued_dark : Properties.Resources.queue_queued;
errorNumberLbl.Image = Application.IsDarkModeEnabled ? Properties.Resources.queue_error_dark : Properties.Resources.queue_error;
completedNumberLbl.Image = Application.IsDarkModeEnabled ? Properties.Resources.queue_completed_dark : Properties.Resources.queue_completed;
logDGV.EnableHeadersVisualStyles = !Application.IsDarkModeEnabled;
ViewModel.PropertyChanged += ProcessQueue_PropertyChanged;
ViewModel.LogEntries.CollectionChanged += LogEntries_CollectionChanged;
ProcessQueue_PropertyChanged(this, new PropertyChangedEventArgs(null));

View File

@@ -46,10 +46,11 @@ namespace LibationWinForms
LibationUiBase.Forms.MessageBoxBase.ShowAsyncImpl = ShowMessageBox;
// do this as soon as possible (post-config)
RunSetupIfNeededAsync(config).Wait();
RunSetupIfNeededAsync(config);
// most migrations go in here
LibationScaffolding.RunPostConfigMigrations(config);
SetThemeColor(config);
// migrations which require Forms or are long-running
RunWindowsOnlyMigrations(config);
@@ -117,7 +118,19 @@ namespace LibationWinForms
}
#endregion;
private static async Task RunSetupIfNeededAsync(Configuration config)
private static void SetThemeColor(Configuration config)
{
var theme = config.ThemeVariant switch
{
Configuration.Theme.Light => SystemColorMode.Classic,
Configuration.Theme.Dark => SystemColorMode.Dark,
_ => SystemColorMode.System,
};
Application.SetColorMode(theme);
}
private static void RunSetupIfNeededAsync(Configuration config)
{
var setup = new LibationSetup(config.LibationFiles)
{
@@ -125,7 +138,7 @@ namespace LibationWinForms
SelectFolderPrompt = SelectInstallLocation
};
if (!await setup.RunSetupIfNeededAsync())
if (!setup.RunSetupIfNeededAsync().GetAwaiter().GetResult())
{
MessageBox.Show("Initial set up cancelled.", "Cancelled", MessageBoxButtons.OK, MessageBoxIcon.Warning);
Application.Exit();

View File

@@ -19,7 +19,7 @@ namespace LibationWinForms.Properties {
// 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", "17.0.0.0")]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "18.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
@@ -70,6 +70,16 @@ namespace LibationWinForms.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap cheers_dark {
get {
object obj = ResourceManager.GetObject("cheers_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -110,6 +120,16 @@ namespace LibationWinForms.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap Dolby_Atmos_Vertical_80_dark {
get {
object obj = ResourceManager.GetObject("Dolby_Atmos_Vertical_80_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -123,29 +143,9 @@ namespace LibationWinForms.Properties {
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap edit_64x64 {
internal static System.Drawing.Bitmap edit_25x25_dark {
get {
object obj = ResourceManager.GetObject("edit_64x64", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap edit_tags_25x25 {
get {
object obj = ResourceManager.GetObject("edit_tags_25x25", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap edit_tags_50x50 {
get {
object obj = ResourceManager.GetObject("edit_tags_50x50", resourceCulture);
object obj = ResourceManager.GetObject("edit_25x25_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
@@ -160,6 +160,16 @@ namespace LibationWinForms.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap error_dark {
get {
object obj = ResourceManager.GetObject("error_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -170,6 +180,16 @@ namespace LibationWinForms.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap import_16x16_dark {
get {
object obj = ResourceManager.GetObject("import_16x16_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -180,6 +200,16 @@ namespace LibationWinForms.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap liberate_green_dark {
get {
object obj = ResourceManager.GetObject("liberate_green_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -190,6 +220,16 @@ namespace LibationWinForms.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap liberate_green_pdf_no_dark {
get {
object obj = ResourceManager.GetObject("liberate_green_pdf_no_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -200,6 +240,16 @@ namespace LibationWinForms.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap liberate_green_pdf_yes_dark {
get {
object obj = ResourceManager.GetObject("liberate_green_pdf_yes_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -210,6 +260,16 @@ namespace LibationWinForms.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap liberate_red_dark {
get {
object obj = ResourceManager.GetObject("liberate_red_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -220,6 +280,16 @@ namespace LibationWinForms.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap liberate_red_pdf_no_dark {
get {
object obj = ResourceManager.GetObject("liberate_red_pdf_no_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -230,6 +300,16 @@ namespace LibationWinForms.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap liberate_red_pdf_yes_dark {
get {
object obj = ResourceManager.GetObject("liberate_red_pdf_yes_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -240,6 +320,16 @@ namespace LibationWinForms.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap liberate_yellow_dark {
get {
object obj = ResourceManager.GetObject("liberate_yellow_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -250,6 +340,16 @@ namespace LibationWinForms.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap liberate_yellow_pdf_no_dark {
get {
object obj = ResourceManager.GetObject("liberate_yellow_pdf_no_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -260,6 +360,16 @@ namespace LibationWinForms.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap liberate_yellow_pdf_yes_dark {
get {
object obj = ResourceManager.GetObject("liberate_yellow_pdf_yes_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -270,6 +380,96 @@ namespace LibationWinForms.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap minus_dark {
get {
object obj = ResourceManager.GetObject("minus_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap move_down {
get {
object obj = ResourceManager.GetObject("move_down", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap move_down_dark {
get {
object obj = ResourceManager.GetObject("move_down_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap move_first {
get {
object obj = ResourceManager.GetObject("move_first", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap move_first_dark {
get {
object obj = ResourceManager.GetObject("move_first_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap move_last {
get {
object obj = ResourceManager.GetObject("move_last", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap move_last_dark {
get {
object obj = ResourceManager.GetObject("move_last_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap move_up {
get {
object obj = ResourceManager.GetObject("move_up", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap move_up_dark {
get {
object obj = ResourceManager.GetObject("move_up_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@@ -279,5 +479,75 @@ namespace LibationWinForms.Properties {
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap plus_dark {
get {
object obj = ResourceManager.GetObject("plus_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap queue_completed {
get {
object obj = ResourceManager.GetObject("queue_completed", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap queue_completed_dark {
get {
object obj = ResourceManager.GetObject("queue_completed_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap queue_error {
get {
object obj = ResourceManager.GetObject("queue_error", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap queue_error_dark {
get {
object obj = ResourceManager.GetObject("queue_error_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap queue_queued {
get {
object obj = ResourceManager.GetObject("queue_queued", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap queue_queued_dark {
get {
object obj = ResourceManager.GetObject("queue_queued_dark", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@@ -130,8 +130,8 @@
<data name="liberate_yellow" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\liberate_yellow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="edit_64x64" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\edit_64x64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="edit_25x25" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\edit_25x25.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="default_cover_300x300" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\img-coverart-prod-unavailable_300x300.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
@@ -142,15 +142,9 @@
<data name="liberate_red" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\liberate_red.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="edit_tags_50x50" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\edit-tags-50x50.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="liberate_green_pdf_yes" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\liberate_green_pdf_yes.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="edit_25x25" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\edit_25x25.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="plus" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\plus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
@@ -178,10 +172,97 @@
<data name="liberate_yellow_pdf_no" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\liberate_yellow_pdf_no.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="edit_tags_25x25" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\edit-tags-25x25.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Dolby_Atmos_Vertical_80" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Dolby_Atmos_Vertical_80.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="liberate_green_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\liberate_green_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="liberate_green_pdf_no_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\liberate_green_pdf_no_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="liberate_green_pdf_yes_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\liberate_green_pdf_yes_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="liberate_red_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\liberate_red_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="liberate_red_pdf_no_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\liberate_red_pdf_no_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="liberate_red_pdf_yes_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\liberate_red_pdf_yes_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="plus_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\plus_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="minus_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\minus_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="liberate_yellow_pdf_yes_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\liberate_yellow_pdf_yes_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="liberate_yellow_pdf_no_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\liberate_yellow_pdf_no_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="liberate_yellow_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\liberate_yellow_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Dolby_Atmos_Vertical_80_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Dolby_Atmos_Vertical_80_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="cheers_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\cheers_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="edit_25x25_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\edit_25x25_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="error_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\error_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="import_16x16_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\import_16x16_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="move_first" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\move_first.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="move_first_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\move_first_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="move_up" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\move_up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="move_up_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\move_up_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="move_down" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\move_down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="move_down_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\move_down_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="move_last" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\move_last.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="move_last_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\move_last_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="queue_completed" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\queue_completed.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="queue_completed_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\queue_completed_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="queue_error" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\queue_error.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="queue_error_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\queue_error_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="queue_queued" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\queue_queued.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="queue_queued_dark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\queue_queued_dark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 314 B

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 573 B

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 747 B

After

Width:  |  Height:  |  Size: 588 B

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 582 B

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 381 B

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 412 B

After

Width:  |  Height:  |  Size: 433 B

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 433 B

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

Binary file not shown.

Before

Width:  |  Height:  |  Size: 470 B

After

Width:  |  Height:  |  Size: 484 B

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 B

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -44,6 +44,7 @@ namespace LibationWinForms.SeriesView
dgv.CellContentClick += Dgv_CellContentClick;
dgv.DataSource = new SeriesEntryBindingList(seriesEntries[series]);
dgv.BindingContextChanged += (_, _) => dgv.Sort(dgv.Columns["Order"], ListSortDirection.Ascending);
dgv.EnableHeadersVisualStyles = !Application.IsDarkModeEnabled;
var tab = new TabPage { Text = series.Title };
tab.Controls.Add(dgv);
@@ -171,6 +172,8 @@ namespace LibationWinForms.SeriesView
TrackVisitedState = true,
SortMode = DataGridViewColumnSortMode.Automatic,
Width = 200,
LinkColor = ThemeExtensions.LinkColor,
VisitedLinkColor = ThemeExtensions.VisitedLinkColor,
});
dgv.CellToolTipTextNeeded += Dgv_CellToolTipTextNeeded;

View File

@@ -0,0 +1,22 @@
using System.Drawing;
using System.Windows.Forms;
namespace LibationWinForms;
internal static class ThemeExtensions
{
private static readonly Color LinkLabelNew = Color.FromKnownColor(KnownColor.Blue);
private static readonly Color LinkLabelVisited = Color.FromKnownColor(KnownColor.Purple);
private static readonly Color LinkLabelNew_Dark = Color.FromKnownColor(KnownColor.CornflowerBlue);
private static readonly Color LinkLabelVisited_Dark = Color.FromKnownColor(KnownColor.Orchid);
public static Color LinkColor => Application.IsDarkModeEnabled ? LinkLabelNew_Dark : LinkLabelNew;
public static Color VisitedLinkColor => Application.IsDarkModeEnabled ? LinkLabelVisited_Dark : LinkLabelVisited;
extension(LinkLabel ll)
{
public void SetLinkLabelColors()
{
ll.VisitedLinkColor = VisitedLinkColor;
ll.LinkColor = LinkColor;
}
}
}