Skip to content

Commit

Permalink
Update
Browse files Browse the repository at this point in the history
  • Loading branch information
lzcapp committed May 6, 2024
1 parent 5bca05d commit 804f405
Show file tree
Hide file tree
Showing 14 changed files with 292 additions and 98 deletions.
121 changes: 79 additions & 42 deletions KindleMate2/FrmMain.Designer.cs

Large diffs are not rendered by default.

73 changes: 57 additions & 16 deletions KindleMate2/FrmMain.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
namespace KindleMate2 {
public partial class FrmMain : Form {
// ReSharper disable once NotAccessedField.Local
#pragma warning disable IDE0052 // 删除未读的私有成员
#pragma warning disable IDE0052 // 删除未读的私有成员
private readonly DarkModeCS _dm = null!;
#pragma warning restore IDE0052 // 删除未读的私有成员
#pragma warning restore IDE0052 // 删除未读的私有成员

private DataTable _clippingsDataTable = new();

Expand Down Expand Up @@ -49,10 +49,37 @@ public FrmMain() {
if (_staticData.IsDarkTheme()) {
_dm = new DarkModeCS(this);
menuTheme.Image = Properties.Resources.sun;
menuTheme.ToolTipText = "切换到亮色模式";
} else {
_staticData.SetTheme("light");
menuTheme.Image = Properties.Resources.new_moon;
menuTheme.ToolTipText = "切换到暗色模式";
}

var name = _staticData.GetLanguage();
if (!string.IsNullOrWhiteSpace(name)) {
var culture = new CultureInfo(name);
Thread.CurrentThread.CurrentUICulture = culture;

switch (name.ToLowerInvariant()) {
case "en":
menuLangEN.Visible = false;
break;
case "zh-hans":
menuLangSC.Visible = false;
break;
case "zh-hant":
menuLangTC.Visible = false;
break;
}
} else {
menuLangAuto.Visible = false;
CultureInfo currentCulture = CultureInfo.CurrentCulture;
if (currentCulture.EnglishName.Contains("English")) {
menuLangEN.Visible = false;
} else if (string.Equals(currentCulture.Name, "zh-CN", StringComparison.OrdinalIgnoreCase) || string.Equals(currentCulture.Name, "zh-SG", StringComparison.OrdinalIgnoreCase) || string.Equals(currentCulture.Name, "zh-Hans", StringComparison.OrdinalIgnoreCase)) {
menuLangSC.Visible = false;
} else if (string.Equals(currentCulture.Name, "zh-TW", StringComparison.OrdinalIgnoreCase) || string.Equals(currentCulture.Name, "zh-HK", StringComparison.OrdinalIgnoreCase) || string.Equals(currentCulture.Name, "zh-MO", StringComparison.OrdinalIgnoreCase) || string.Equals(currentCulture.Name, "zh-Hant", StringComparison.OrdinalIgnoreCase)) {
menuLangTC.Visible = false;
}
}

AppDomain.CurrentDomain.ProcessExit += (_, _) => {
Expand Down Expand Up @@ -88,6 +115,11 @@ public FrmMain() {
menuHelp.Text = Strings.Help + @"(&H)";
menuAbout.Text = Strings.About;
menuRepo.Text = Strings.GitHub_Repo;
menuLang.Text = Strings.Language + @"(&L)";
menuLangEN.Text = Strings.English;
menuLangSC.Text = Strings.SC;
menuLangTC.Text = Strings.TC;
menuLangAuto.Text = Strings.AutomaticDetection;

tabPageBooks.Text = Strings.Clippings;
tabPageWords.Text = Strings.Vocabulary_List;
Expand Down Expand Up @@ -1676,13 +1708,6 @@ private void MenuRestart_Click(object sender, EventArgs e) {
Restart();
}

private void MenuLang_Click(object sender, EventArgs e) {
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");

RefreshData();
}

private void MenuClean_Click(object sender, EventArgs e) {
_clippingsDataTable = _staticData.GetClipingsDataTable();

Expand Down Expand Up @@ -1918,11 +1943,7 @@ private void MenuKindle_MouseLeave(object sender, EventArgs e) {
}

private void MenuTheme_Click(object sender, EventArgs e) {
if (_staticData.IsDarkTheme()) {
_staticData.SetSettings("theme", "light");
} else {
_staticData.SetSettings("theme", "dark");
}
_staticData.SetTheme(_staticData.IsDarkTheme() ? "light" : "dark");
Restart();
}

Expand All @@ -1933,5 +1954,25 @@ private void MenuTheme_MouseEnter(object sender, EventArgs e) {
private void MenuTheme_MouseLeave(object sender, EventArgs e) {
Cursor = Cursors.Default;
}

private void MenuLangEN_Click(object sender, EventArgs e) {
_staticData.SetLanguage("en");
Restart();
}

private void MenuLangSC_Click(object sender, EventArgs e) {
_staticData.SetLanguage("zh-Hans");
Restart();
}

private void MenuLangTC_Click(object sender, EventArgs e) {
_staticData.SetLanguage("zh-Hant");
Restart();
}

private void MenuLangAuto_Click(object sender, EventArgs e) {
_staticData.SetLanguage("");
Restart();
}
}
}
4 changes: 2 additions & 2 deletions KindleMate2/FrmMain.resx
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAKh8AAAJNU0Z0AUkBTAIBAQMB
AAFwAQgBcAEIARQBAAEUAQAD/wEAASEBAAj/AUIBTQE2BwABNgMAASgDAAFQAwABFAMAAQEBAAEgBgAB
AAG4AQgBuAEIARQBAAEUAQAD/wEAASEBAAj/AUIBTQE2BwABNgMAASgDAAFQAwABFAMAAQEBAAEgBgAB
GRIAAxEBFgNKAYkCWAFaAb0DXQHMA10BzANdAcwDXQHMA10BzANdAcwDXQHMA10BzANdAcwDXQHMA10B
zAJcAV8ByANYAbgDMQFMAw8BFGAAAzYBWQFCAUEBQgFyAUIBQQFCAXIDQgFyA0IBcwNCAXIDQgFyA0IB
cgNCAXIDQgFyA0IBcgNCAXIDQgFyA0IBcgNCAXIDQgFyA0EBcQMYASFQAAM2AVkCXQFgAc4CUQFvAfcB
Expand Down Expand Up @@ -275,7 +275,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAEZTeXN0ZW0uV2luZG93cy5Gb3JtcywgQ3VsdHVyZT1uZXV0cmFs
LCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5BQEAAAAmU3lzdGVtLldpbmRvd3MuRm9ybXMu
SW1hZ2VMaXN0U3RyZWFtZXIBAAAABERhdGEHAgIAAAAJAwAAAA8DAAAAxiIAAAJNU0Z0AUkBTAIBAQMB
AAFwAQgBcAEIARQBAAEUAQAD/wEAASEBAAj/AUIBTQE2BwABNgMAASgDAAFQAwABFAMAAQEBAAEgBgAB
AAG4AQgBuAEIARQBAAEUAQAD/wEAASEBAAj/AUIBTQE2BwABNgMAASgDAAFQAwABFAMAAQEBAAEgBgAB
GRIAAycBOgJjAV8B2gHDAYgBOwH/AcMBiAE7Af8BwwGIATsB/wHDAYgBOwH/AcMBiAE7Af8BwwGIATsB
/wHDAYgBOwH/AcMBiAE7Af8BwwGIATsB/wHDAYgBOwH/AcMBiAE7Af8BwwGIATsB/wHDAYgBOwH/AcMB
iAE7Af8BwwGIATsB/wHDAYgBOwH/AmMBXwHaAycBOgMnAToCYwFfAdoBwwGIATsB/wHDAYgBOwH/AcMB
Expand Down
Binary file modified KindleMate2/KM2.dat
Binary file not shown.
10 changes: 10 additions & 0 deletions KindleMate2/Properties/Resources.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

73 changes: 38 additions & 35 deletions KindleMate2/Properties/Resources.resx
Original file line number Diff line number Diff line change
Expand Up @@ -118,82 +118,85 @@
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="eight-spoked-asterisk" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\eight-spoked-asterisk.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="clockwise-vertical-arrows" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\clockwise-vertical-arrows.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="floppy-disk" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\floppy-disk.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="counterclockwise-arrows-button" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\counterclockwise-arrows-button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="input-latin-uppercase" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\input-latin-uppercase.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="page-facing-up" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\page-facing-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="floppy-disk" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\floppy-disk.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<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>
<data name="information" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\information.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="new-moon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\new-moon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="link" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\link.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="mobile-phone-with-arrow" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\mobile-phone-with-arrow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="broom" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\broom.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="cross-mark-button" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\cross-mark-button.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="carpentry-saw" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\carpentry-saw.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="memo" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\memo.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="check-mark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\check-mark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="keycap-number-sign" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\keycap-number-sign.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="input-latin-uppercase" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\input-latin-uppercase.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="card-file-box" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\card-file-box.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="wastebasket" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\wastebasket.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="bar-chart" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\bar-chart.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="empty" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\empty.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="page-facing-up" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\page-facing-up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="eight-spoked-asterisk" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\eight-spoked-asterisk.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="clockwise-vertical-arrows" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\clockwise-vertical-arrows.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="sun" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\sun.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="star" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\star.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>
<data name="bookmark-tabs" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\bookmark-tabs.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="carpentry-saw" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\carpentry-saw.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="broom" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\broom.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="bookmark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\bookmark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="check-mark" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\check-mark.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="keycap-number-sign" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\keycap-number-sign.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="mobile-phone-with-arrow" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\mobile-phone-with-arrow.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="open-book" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\open-book.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="wastebasket" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\wastebasket.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="sun" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\sun.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="card-file-box" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\card-file-box.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="new-moon" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\new-moon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
<data name="globe-with-meridians" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\globe-with-meridians.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>
Binary file added KindleMate2/Resources/globe-with-meridians.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 19 additions & 3 deletions KindleMate2/StaticData.cs
Original file line number Diff line number Diff line change
Expand Up @@ -569,7 +569,7 @@ public bool DeleteLookupsByWordKey(string word_key) {
return result > 0;
}

public string GetSettings(string name) {
private string GetSettings(string name) {
if (name == string.Empty) {
return string.Empty;
}
Expand All @@ -588,7 +588,7 @@ public string GetSettings(string name) {
return string.Empty;
}

public void SetSettings(string name, string value) {
private void SetSettings(string name, string value) {
if (string.IsNullOrEmpty(name)) {
return;
}
Expand All @@ -601,8 +601,24 @@ public void SetSettings(string name, string value) {
command.ExecuteNonQuery();
}

public string GetTheme() {
return GetSettings("theme");
}

public void SetTheme(string value) {
SetSettings("theme", value);
}

public string GetLanguage() {
return GetSettings("lang");
}

public void SetLanguage(string value) {
SetSettings("lang", value);
}

public bool IsDarkTheme() {
return GetSettings("theme").Equals("dark", StringComparison.OrdinalIgnoreCase);
return GetTheme().Equals("dark", StringComparison.OrdinalIgnoreCase);
}

public void VacuumDatabase() {
Expand Down
Loading

0 comments on commit 804f405

Please sign in to comment.