diff --git a/.vs/quick-picture-viewer/v16/.suo b/.vs/quick-picture-viewer/v16/.suo index ac2dd7b0..b98fad42 100644 Binary files a/.vs/quick-picture-viewer/v16/.suo and b/.vs/quick-picture-viewer/v16/.suo differ diff --git a/.vs/quick-picture-viewer/v16/Server/sqlite3/storage.ide b/.vs/quick-picture-viewer/v16/Server/sqlite3/storage.ide index a105c2c1..12102887 100644 Binary files a/.vs/quick-picture-viewer/v16/Server/sqlite3/storage.ide and b/.vs/quick-picture-viewer/v16/Server/sqlite3/storage.ide differ diff --git a/.vs/quick-picture-viewer/v16/Server/sqlite3/storage.ide-shm b/.vs/quick-picture-viewer/v16/Server/sqlite3/storage.ide-shm index 1da6f779..65b96938 100644 Binary files a/.vs/quick-picture-viewer/v16/Server/sqlite3/storage.ide-shm and b/.vs/quick-picture-viewer/v16/Server/sqlite3/storage.ide-shm differ diff --git a/.vs/quick-picture-viewer/v16/Server/sqlite3/storage.ide-wal b/.vs/quick-picture-viewer/v16/Server/sqlite3/storage.ide-wal index 0810598b..4ae8a3ff 100644 Binary files a/.vs/quick-picture-viewer/v16/Server/sqlite3/storage.ide-wal and b/.vs/quick-picture-viewer/v16/Server/sqlite3/storage.ide-wal differ diff --git a/QuickPictureViewer-Setup/QuickPictureViewer-Setup.vdproj b/QuickPictureViewer-Setup/QuickPictureViewer-Setup.vdproj index c41f5118..c36a2c3f 100644 --- a/QuickPictureViewer-Setup/QuickPictureViewer-Setup.vdproj +++ b/QuickPictureViewer-Setup/QuickPictureViewer-Setup.vdproj @@ -757,15 +757,15 @@ { "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:Quick Picture Viewer" - "ProductCode" = "8:{B1D26B6F-9D58-4D32-8026-779718DE936C}" - "PackageCode" = "8:{F6C87432-3710-44C8-8661-E0FFD7D82E81}" + "ProductCode" = "8:{9E90AEDF-C372-4EB8-8926-56C55F0448C6}" + "PackageCode" = "8:{EC117FEC-1466-4F30-88F8-035E60F6DC11}" "UpgradeCode" = "8:{D9871B4D-DF1B-418F-A7BF-D5F44A9FCFCE}" "AspNetVersion" = "8:2.0.50727.0" "RestartWWWService" = "11:FALSE" "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE" "InstallAllUsers" = "11:FALSE" - "ProductVersion" = "8:1.9.7" + "ProductVersion" = "8:1.9.8" "Manufacturer" = "8:Module Art" "ARPHELPTELEPHONE" = "8:" "ARPHELPLINK" = "8:" @@ -1743,7 +1743,7 @@ { "{5259A561-127C-4D43-A0A1-72F10C7B3BF8}:_4B597F9189B6419DBE3695587B370B9E" { - "SourcePath" = "8:..\\quick-picture-viewer\\obj\\Release\\quick-picture-viewer.exe" + "SourcePath" = "8:..\\quick-picture-viewer\\obj\\Debug\\quick-picture-viewer.exe" "TargetName" = "8:" "Tag" = "8:" "Folder" = "8:_259C1F6F99A84F81BA44246337DEBF66" diff --git a/QuickPictureViewer-Setup/Release/QuickPictureViewer-Setup.msi b/QuickPictureViewer-Setup/Release/QuickPictureViewer-Setup.msi index cdcefd6b..ab910a1d 100644 Binary files a/QuickPictureViewer-Setup/Release/QuickPictureViewer-Setup.msi and b/QuickPictureViewer-Setup/Release/QuickPictureViewer-Setup.msi differ diff --git a/README.md b/README.md index 634ce458..fc0ef8ef 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@

Install

- Windows 7, 8.1, 10 | Size: 1.7 MB | v1.9.7 | Download
+ Windows 7, 8.1, 10 | Size: 1.9 MB | v1.9.8 | Download
Uses .Net 4.7.2

diff --git a/quick-picture-viewer/AboutForm.cs b/quick-picture-viewer/AboutForm.cs index d1a0abce..a2262579 100644 --- a/quick-picture-viewer/AboutForm.cs +++ b/quick-picture-viewer/AboutForm.cs @@ -15,7 +15,6 @@ public AboutForm() if (darkMode) { this.HandleCreated += new EventHandler(ThemeManager.formHandleCreated); - this.Shown += new EventHandler(ThemeManager.formHandleCreated); } InitializeComponent(); @@ -27,8 +26,8 @@ public AboutForm() this.BackColor = ThemeManager.BackColorDark; this.ForeColor = Color.White; - infoGroup.ForeColor = Color.White; - pagesGroup.ForeColor = Color.White; + infoGroup.Paint += ThemeManager.PaintDarkGroupBox; + pagesGroup.Paint += ThemeManager.PaintDarkGroupBox; Color linkColor = ThemeManager.AccentColorDark; diff --git a/quick-picture-viewer/InfoForm.Designer.cs b/quick-picture-viewer/InfoForm.Designer.cs index 9fd9fee0..2b2d24ef 100644 --- a/quick-picture-viewer/InfoForm.Designer.cs +++ b/quick-picture-viewer/InfoForm.Designer.cs @@ -423,6 +423,7 @@ private void InitializeComponent() this.propertiesButton.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText; this.propertiesButton.UseVisualStyleBackColor = false; this.propertiesButton.Click += new System.EventHandler(this.propertiesButton_Click); + this.propertiesButton.Paint += new System.Windows.Forms.PaintEventHandler(this.propertiesButton_Paint); // // InfoForm // diff --git a/quick-picture-viewer/InfoForm.cs b/quick-picture-viewer/InfoForm.cs index 146ffabf..2ced89a6 100644 --- a/quick-picture-viewer/InfoForm.cs +++ b/quick-picture-viewer/InfoForm.cs @@ -8,13 +8,14 @@ namespace quick_picture_viewer partial class InfoForm : Form { private string fullPath = null; + private bool darkMode; public InfoForm(Bitmap bitmap, string directoryName, string fileName, bool darkMode) { + this.darkMode = darkMode; if (darkMode) { this.HandleCreated += new EventHandler(ThemeManager.formHandleCreated); - this.Shown += new EventHandler(ThemeManager.formHandleCreated); } InitializeComponent(); @@ -24,9 +25,9 @@ public InfoForm(Bitmap bitmap, string directoryName, string fileName, bool darkM this.BackColor = ThemeManager.BackColorDark; this.ForeColor = Color.White; - fileGroup.ForeColor = Color.White; - sizeGroup.ForeColor = Color.White; - dateGroup.ForeColor = Color.White; + fileGroup.Paint += ThemeManager.PaintDarkGroupBox; + sizeGroup.Paint += ThemeManager.PaintDarkGroupBox; + dateGroup.Paint += ThemeManager.PaintDarkGroupBox; propertiesButton.BackColor = ThemeManager.SecondColorDark; propertiesButton.Image = Properties.Resources.white_imgfile; @@ -85,6 +86,14 @@ public InfoForm(Bitmap bitmap, string directoryName, string fileName, bool darkM modifiedTextBox.Text = File.GetLastWriteTime(path).ToShortDateString() + " / " + File.GetLastWriteTime(path).ToLongTimeString(); propertiesButton.Enabled = true; + } + else + { + if (darkMode) + { + propertiesButton.Image = null; + propertiesButton.BackColor = ThemeManager.BackColorDark; + } } double inchesWidth = bitmap.Width / bitmap.HorizontalResolution; @@ -155,5 +164,21 @@ private void propertiesButton_Click(object sender, EventArgs e) { ShellManager.ShowFileProperties(fullPath); } + + private void propertiesButton_Paint(object sender, PaintEventArgs e) + { + if (darkMode) + { + Button btn = (Button)sender; + + if (!btn.Enabled) + { + btn.Text = string.Empty; + TextFormatFlags flags = TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter | TextFormatFlags.WordBreak; + + TextRenderer.DrawText(e.Graphics, "File properties", btn.Font, e.ClipRectangle, ThemeManager.SecondColorDark, flags); + } + } + } } } diff --git a/quick-picture-viewer/MainForm.Designer.cs b/quick-picture-viewer/MainForm.Designer.cs index 55628e50..275da467 100644 --- a/quick-picture-viewer/MainForm.Designer.cs +++ b/quick-picture-viewer/MainForm.Designer.cs @@ -298,6 +298,7 @@ private void InitializeComponent() this.zoomComboBox.FlatStyle = System.Windows.Forms.FlatStyle.System; this.zoomComboBox.Items.AddRange(new object[] { "Auto", + "1%", "2%", "3%", "4%", diff --git a/quick-picture-viewer/MainForm.cs b/quick-picture-viewer/MainForm.cs index 392e4e98..5b07d630 100644 --- a/quick-picture-viewer/MainForm.cs +++ b/quick-picture-viewer/MainForm.cs @@ -31,7 +31,7 @@ public partial class MainForm : Form private System.Timers.Timer zoomInTimer = new System.Timers.Timer(); private System.Timers.Timer zoomOutTimer = new System.Timers.Timer(); - private Task suggestionTask = null; + private System.Threading.Timer suggestionTimer; public bool printCenterImage = true; @@ -40,9 +40,8 @@ public MainForm(string openPath, bool darkMode) if (darkMode) { this.HandleCreated += new EventHandler(ThemeManager.formHandleCreated); - this.Shown += new EventHandler(ThemeManager.formHandleCreated); - } + this.darkMode = darkMode; this.openPath = openPath; @@ -673,9 +672,9 @@ private void zoomComboBox_TextChanged(object sender, EventArgs e) string substr = zoomComboBox.Text.Replace("%", ""); int zoom = int.Parse(substr); - if (zoom < 2) + if (zoom < 1) { - zoom = 2; + zoom = 1; setZoomText(zoom.ToString() + "%"); } else @@ -1300,40 +1299,32 @@ private void MainForm_Resize(object sender, EventArgs e) private void showSuggestion(string text) { - if (suggestionTask == null) + suggestionLabel.Text = text; + suggestionLabel.Visible = true; + + if (suggestionTimer != null) { - suggestionLabel.Text = text; - suggestionLabel.Visible = true; - suggestionTask = hideSuggestion(); + suggestionTimer.Dispose(); } - else + suggestionTimer = new System.Threading.Timer((obj) => { - suggestionLabel.Text = text; - suggestionTask = hideSuggestion(); - } + hideSuggestion(); + + }, null, 3000, System.Threading.Timeout.Infinite); } - private async Task hideSuggestion() + private void hideSuggestion() { - await Task.Delay(3000); - suggestionLabel.Text = ""; - suggestionLabel.Visible = false; - suggestionTask = null; + suggestionTimer.Dispose(); + suggestionLabel.Invoke((MethodInvoker)(() => { + suggestionLabel.Text = string.Empty; + suggestionLabel.Visible = false; + })); } private void picturePanel_MouseEnter(object sender, EventArgs e) { picturePanel.Focus(); } - - private void zoomOutButton_MouseUp(object sender, MouseEventArgs e) - { - - } - - private void zoomInButton_MouseUp(object sender, MouseEventArgs e) - { - - } } } diff --git a/quick-picture-viewer/MainForm.resx b/quick-picture-viewer/MainForm.resx index 8b29ec49..8e8c8306 100644 --- a/quick-picture-viewer/MainForm.resx +++ b/quick-picture-viewer/MainForm.resx @@ -338,71 +338,6 @@ 477, 17 - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAALJJREFUOE/Nks0JAjEQRnPwLihahgpeRQ/amj9YhAcbsABr0DbUClxR0PftBDES - ltmTPnhkZtl8E0jC37DGKz7xgXtsopsbdqwMDdzivOycaHIdddolvtHHOnSxsNLwBuziKpI9n00PD3Gt - IhswwjOu8IRjFEM8Yr/sjGzABqdWhgkqTLdxwUXsNURkA74ZoCbrBGKGGiJcAVUke/SQWla6aGNyjXrK - d1SqR/2bPKRfEcILB30+ElJnYjsAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAKVJREFUOE/Nkj0KAjEUBl9rqwiCl7ATxNJLeAqPIXgZrbyLXkAsxUJFUOfbRFhD - 8mK5A0N+md0i1jk2eMN34gVnWOWBwzD9QZETzpuVgy7m0L7+4IwLbZTwAl+v2ihRCrRx73iH2zj+FRjj - Po4p1cAID7jDI06xHasGerhsVmYrfKFiiipeDaRM4qio4m5AD6kfplkGeA/TPHrKT9RXcupsjZ3B7AP8 - ljJY5GqjGgAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAGZJREFUOE/VjzEKgDAQBO9bKtio//+FmvgI3REECRa5KwIOTJFiJ5y14vwwRC9X - GQpMcpOddAcY75IxuALlGKoDs2TM7W7ajt83jTJLbq/mCfBzksP9ckBgkaExEDgkkRAESn+B2QXamyDY - CyfAWwAAAABJRU5ErkJggg== - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAALVJREFUOE/V0r8OwVAUgPE7+rt6EBGC6ILRw5hsJJ7EK5DgEcTWxCLETAxWEgPf - 6bGd9LaVGHzJLz0d2t721v26AiY44oYDxsgjsSK2WKGNyue4xgZyc29TzHU0LSAr8XZCVUdTDfJa3u4o - 6Wgq46FjfDvUdTQ1sNcxvhGWOprkQyZ+gz5ekF2QleQgT061Cx1cMcAQIZ5I9R/0cIHseea6kItb0VnG - 5OIzmtHZF80Q6Pg/OfcGzhogaYnUQccAAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAO5JREFUOE/N0j1qAlEYheEPiYJgq5B0UQT3YKULsNQuixAxVUSxdAsWNoFoYmGb - 1h3YmFjZBxHSpUre84k4OOOgjeTAA3MuzJ25P3aNPGKDKdIauCQdfKCEF7zj7EkGWCDrzSyBEebIaCAu - +vISt94OucEYr95ORC//ou4tnCK2u8dwnrDCA75QQTB3+ETL21H2a855MytDk9S8md1jjaa3o7Sh3dYX - gqlCk+iP9GddROYbhd1jKA1oT06+rLxhCB1VMDoFnUbPW0xSmGGCpAbIfs2RGxYV3TDdtGfkoT3p46Jo - Et35H2jdcf5FzP4AA64vkKyV2q0AAAAASUVORK5CYII= - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAANpJREFUOE/F08EKAUEAh/E9kAPClfIeijwN8TZKilxR4gWEB6EIyUU5cxDff3a3 - 1TQ4yVe/ZqY0zc4u7xdVMcUZl2CcoIKPxdHDCjUUkAvGOtboIAZnfcyQNCu/RzCqFBbompWVjr1F2qyi - XjdQGexRNquXxtAx7ewNVBMjfxp1gp7VzrVBEUd/GnWDLtFOG4TCErj606h3J3DlPMG7O3DlvAPd6gb2 - W7DTW9ihZFZWbcyhH7nKYomWWTkKv0S9Zz1OHkpjAwd8/BLD9FENoaPeg3GAr/+Ff+R5T5lgLGc/X8aO - AAAAAElFTkSuQmCC - - - - - iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO - wwAADsMBx2+oZAAAAOZJREFUOE/F08+qAVEAx/EpVzaEnai7sOAZ1I2nId5GKbFHySOg+x63bv6EjbK2 - IL6/Y6ZmxplrFup+69PMGdNp5pzhvKuqe1QNjLHCCUfMUEdke1TQxxZNFJBHCS38QL9/4KkbzvhGRhfc - dN0rjQUGZhRKN8oOZV1w80+gstjgy4xiFJ5AdTB5nL7ONsEn9KSBLkg8TgN5r+afKAWtV6ADtNpxsj7B - FNqqOFnXQKv6C/8W2tIurFEzo1A9zKGbbOWwRNeMLCUxhPZZr1OE0rENfaGRX6I/77+gR726xxH+/C/8 - V45zBz6DLrd6wgPCAAAAAElFTkSuQmCC - - AAABAAUAYGAAAAEAIAColAAAVgAAAEBAAAABACAAKEIAAP6UAAAwMAAAAQAgAKglAAAm1wAAICAAAAEA @@ -1579,6 +1514,71 @@ 698, 17 + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAALJJREFUOE/Nks0JAjEQRnPwLihahgpeRQ/amj9YhAcbsABr0DbUClxR0PftBDES + ltmTPnhkZtl8E0jC37DGKz7xgXtsopsbdqwMDdzivOycaHIdddolvtHHOnSxsNLwBuziKpI9n00PD3Gt + IhswwjOu8IRjFEM8Yr/sjGzABqdWhgkqTLdxwUXsNURkA74ZoCbrBGKGGiJcAVUke/SQWla6aGNyjXrK + d1SqR/2bPKRfEcILB30+ElJnYjsAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAKVJREFUOE/Nkj0KAjEUBl9rqwiCl7ATxNJLeAqPIXgZrbyLXkAsxUJFUOfbRFhD + 8mK5A0N+md0i1jk2eMN34gVnWOWBwzD9QZETzpuVgy7m0L7+4IwLbZTwAl+v2ihRCrRx73iH2zj+FRjj + Po4p1cAID7jDI06xHasGerhsVmYrfKFiiipeDaRM4qio4m5AD6kfplkGeA/TPHrKT9RXcupsjZ3B7AP8 + ljJY5GqjGgAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAGZJREFUOE/VjzEKgDAQBO9bKtio//+FmvgI3REECRa5KwIOTJFiJ5y14vwwRC9X + GQpMcpOddAcY75IxuALlGKoDs2TM7W7ajt83jTJLbq/mCfBzksP9ckBgkaExEDgkkRAESn+B2QXamyDY + CyfAWwAAAABJRU5ErkJggg== + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAALVJREFUOE/V0r8OwVAUgPE7+rt6EBGC6ILRw5hsJJ7EK5DgEcTWxCLETAxWEgPf + 6bGd9LaVGHzJLz0d2t721v26AiY44oYDxsgjsSK2WKGNyue4xgZyc29TzHU0LSAr8XZCVUdTDfJa3u4o + 6Wgq46FjfDvUdTQ1sNcxvhGWOprkQyZ+gz5ekF2QleQgT061Cx1cMcAQIZ5I9R/0cIHseea6kItb0VnG + 5OIzmtHZF80Q6Pg/OfcGzhogaYnUQccAAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAO5JREFUOE/N0j1qAlEYheEPiYJgq5B0UQT3YKULsNQuixAxVUSxdAsWNoFoYmGb + 1h3YmFjZBxHSpUre84k4OOOgjeTAA3MuzJ25P3aNPGKDKdIauCQdfKCEF7zj7EkGWCDrzSyBEebIaCAu + +vISt94OucEYr95ORC//ou4tnCK2u8dwnrDCA75QQTB3+ETL21H2a855MytDk9S8md1jjaa3o7Sh3dYX + gqlCk+iP9GddROYbhd1jKA1oT06+rLxhCB1VMDoFnUbPW0xSmGGCpAbIfs2RGxYV3TDdtGfkoT3p46Jo + Et35H2jdcf5FzP4AA64vkKyV2q0AAAAASUVORK5CYII= + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAANpJREFUOE/F08EKAUEAh/E9kAPClfIeijwN8TZKilxR4gWEB6EIyUU5cxDff3a3 + 1TQ4yVe/ZqY0zc4u7xdVMcUZl2CcoIKPxdHDCjUUkAvGOtboIAZnfcyQNCu/RzCqFBbompWVjr1F2qyi + XjdQGexRNquXxtAx7ewNVBMjfxp1gp7VzrVBEUd/GnWDLtFOG4TCErj606h3J3DlPMG7O3DlvAPd6gb2 + W7DTW9ihZFZWbcyhH7nKYomWWTkKv0S9Zz1OHkpjAwd8/BLD9FENoaPeg3GAr/+Ff+R5T5lgLGc/X8aO + AAAAAElFTkSuQmCC + + + + + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO + wwAADsMBx2+oZAAAAOZJREFUOE/F08+qAVEAx/EpVzaEnai7sOAZ1I2nId5GKbFHySOg+x63bv6EjbK2 + IL6/Y6ZmxplrFup+69PMGdNp5pzhvKuqe1QNjLHCCUfMUEdke1TQxxZNFJBHCS38QL9/4KkbzvhGRhfc + dN0rjQUGZhRKN8oOZV1w80+gstjgy4xiFJ5AdTB5nL7ONsEn9KSBLkg8TgN5r+afKAWtV6ADtNpxsj7B + FNqqOFnXQKv6C/8W2tIurFEzo1A9zKGbbOWwRNeMLCUxhPZZr1OE0rENfaGRX6I/77+gR726xxH+/C/8 + V45zBz6DLrd6wgPCAAAAAElFTkSuQmCC + + 834, 17 diff --git a/quick-picture-viewer/PrintForm.Designer.cs b/quick-picture-viewer/PrintForm.Designer.cs index 433b16a0..29f56ec2 100644 --- a/quick-picture-viewer/PrintForm.Designer.cs +++ b/quick-picture-viewer/PrintForm.Designer.cs @@ -104,7 +104,9 @@ private void InitializeComponent() this.setMarginsButton.TabIndex = 44; this.setMarginsButton.Text = "Set margins"; this.setMarginsButton.UseVisualStyleBackColor = false; + this.setMarginsButton.EnabledChanged += new System.EventHandler(this.setMarginsButton_EnabledChanged); this.setMarginsButton.Click += new System.EventHandler(this.setMarginsButton_Click); + this.setMarginsButton.Paint += new System.Windows.Forms.PaintEventHandler(this.setMarginsButton_Paint); // // label4 // @@ -164,9 +166,8 @@ private void InitializeComponent() this.bottomMarginTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.bottomMarginTextBox.Location = new System.Drawing.Point(216, 157); this.bottomMarginTextBox.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3); - this.bottomMarginTextBox.Multiline = true; this.bottomMarginTextBox.Name = "bottomMarginTextBox"; - this.bottomMarginTextBox.Size = new System.Drawing.Size(34, 20); + this.bottomMarginTextBox.Size = new System.Drawing.Size(34, 23); this.bottomMarginTextBox.TabIndex = 39; // // rightMarginTextBox @@ -174,9 +175,8 @@ private void InitializeComponent() this.rightMarginTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.rightMarginTextBox.Location = new System.Drawing.Point(179, 157); this.rightMarginTextBox.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3); - this.rightMarginTextBox.Multiline = true; this.rightMarginTextBox.Name = "rightMarginTextBox"; - this.rightMarginTextBox.Size = new System.Drawing.Size(34, 20); + this.rightMarginTextBox.Size = new System.Drawing.Size(34, 23); this.rightMarginTextBox.TabIndex = 38; // // topMarginTextBox @@ -184,9 +184,8 @@ private void InitializeComponent() this.topMarginTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.topMarginTextBox.Location = new System.Drawing.Point(142, 157); this.topMarginTextBox.Margin = new System.Windows.Forms.Padding(3, 3, 0, 3); - this.topMarginTextBox.Multiline = true; this.topMarginTextBox.Name = "topMarginTextBox"; - this.topMarginTextBox.Size = new System.Drawing.Size(34, 20); + this.topMarginTextBox.Size = new System.Drawing.Size(34, 23); this.topMarginTextBox.TabIndex = 37; // // marginsLabel @@ -204,9 +203,8 @@ private void InitializeComponent() this.leftMarginTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.leftMarginTextBox.Location = new System.Drawing.Point(105, 157); this.leftMarginTextBox.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); - this.leftMarginTextBox.Multiline = true; this.leftMarginTextBox.Name = "leftMarginTextBox"; - this.leftMarginTextBox.Size = new System.Drawing.Size(34, 20); + this.leftMarginTextBox.Size = new System.Drawing.Size(34, 23); this.leftMarginTextBox.TabIndex = 35; // // titleLabel @@ -224,9 +222,8 @@ private void InitializeComponent() this.titleTextBox.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; this.titleTextBox.Location = new System.Drawing.Point(101, 26); this.titleTextBox.Margin = new System.Windows.Forms.Padding(3, 9, 3, 3); - this.titleTextBox.Multiline = true; this.titleTextBox.Name = "titleTextBox"; - this.titleTextBox.Size = new System.Drawing.Size(149, 20); + this.titleTextBox.Size = new System.Drawing.Size(149, 23); this.titleTextBox.TabIndex = 33; this.titleTextBox.Text = "Image"; // @@ -286,6 +283,7 @@ private void InitializeComponent() this.ShowInTaskbar = false; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.Text = "Print preview"; + this.Load += new System.EventHandler(this.PrintForm_Load); this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.PrintForm_KeyDown); this.groupBox1.ResumeLayout(false); this.groupBox1.PerformLayout(); diff --git a/quick-picture-viewer/PrintForm.cs b/quick-picture-viewer/PrintForm.cs index 8cdcbe33..80bdec0f 100644 --- a/quick-picture-viewer/PrintForm.cs +++ b/quick-picture-viewer/PrintForm.cs @@ -7,16 +7,30 @@ namespace quick_picture_viewer { partial class PrintForm : Form { + private bool darkMode; + public PrintForm(PrintDocument pd, bool darkMode) { + this.darkMode = darkMode; if (darkMode) { this.HandleCreated += new EventHandler(ThemeManager.formHandleCreated); - this.Shown += new EventHandler(ThemeManager.formHandleCreated); } InitializeComponent(); + titleTextBox.AutoSize = false; + titleTextBox.Height = 20; + + leftMarginTextBox.AutoSize = false; + leftMarginTextBox.Height = 20; + topMarginTextBox.AutoSize = false; + topMarginTextBox.Height = 20; + rightMarginTextBox.AutoSize = false; + rightMarginTextBox.Height = 20; + bottomMarginTextBox.AutoSize = false; + bottomMarginTextBox.Height = 20; + leftMarginTextBox.Text = pd.DefaultPageSettings.Margins.Left.ToString(); topMarginTextBox.Text = pd.DefaultPageSettings.Margins.Top.ToString(); rightMarginTextBox.Text = pd.DefaultPageSettings.Margins.Right.ToString(); @@ -33,7 +47,7 @@ public PrintForm(PrintDocument pd, bool darkMode) printPreviewControl1.BackColor = ThemeManager.BackColorDark; - groupBox1.ForeColor = Color.White; + groupBox1.Paint += ThemeManager.PaintDarkGroupBox; titleTextBox.BackColor = ThemeManager.SecondColorDark; titleTextBox.ForeColor = Color.White; @@ -111,5 +125,49 @@ private void setMarginsButton_Click(object sender, EventArgs e) MessageBox.Show("Unable to parse document margins", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } + + private void setMarginsButton_Paint(object sender, PaintEventArgs e) + { + if (darkMode) + { + Button btn = (Button)sender; + + btn.Text = string.Empty; + TextFormatFlags flags = TextFormatFlags.HorizontalCenter | TextFormatFlags.VerticalCenter | TextFormatFlags.WordBreak; + + if (btn.Enabled) + { + TextRenderer.DrawText(e.Graphics, "Set margins", btn.Font, e.ClipRectangle, Color.White, flags); + } + else + { + TextRenderer.DrawText(e.Graphics, "Set margins", btn.Font, e.ClipRectangle, ThemeManager.SecondColorDark, flags); + } + } + } + + private void setMarginsButton_EnabledChanged(object sender, EventArgs e) + { + if (darkMode) + { + Button btn = (Button)sender; + + if (btn.Enabled) + { + btn.BackColor = ThemeManager.SecondColorDark; + } + else + { + btn.BackColor = ThemeManager.BackColorDark; + } + } + } + + private void PrintForm_Load(object sender, EventArgs e) + { + centerCheckbox.Checked = (this.Owner as MainForm).printCenterImage; + marginsCheckBox.Checked = printPreviewControl1.Document.OriginAtMargins; + horizontalCheckBox.Checked = printPreviewControl1.Document.DefaultPageSettings.Landscape; + } } } diff --git a/quick-picture-viewer/Program.cs b/quick-picture-viewer/Program.cs index a3ad0182..f52b8b12 100644 --- a/quick-picture-viewer/Program.cs +++ b/quick-picture-viewer/Program.cs @@ -8,9 +8,9 @@ static class Program [STAThread] static void Main(string[] args) { - if (Environment.OSVersion.Version.Major >= 6) - { - SetProcessDPIAware(); + if (Environment.OSVersion.Version.Major >= 6) + { + SetProcessDPIAware(); } ThemeManager.allowDarkModeForApp(true); diff --git a/quick-picture-viewer/Properties/AssemblyInfo.cs b/quick-picture-viewer/Properties/AssemblyInfo.cs index 1149e2a7..83169da5 100644 --- a/quick-picture-viewer/Properties/AssemblyInfo.cs +++ b/quick-picture-viewer/Properties/AssemblyInfo.cs @@ -32,6 +32,6 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.9.7")] -[assembly: AssemblyFileVersion("1.9.7")] +[assembly: AssemblyVersion("1.9.8")] +[assembly: AssemblyFileVersion("1.9.8")] [assembly: NeutralResourcesLanguage("en")] diff --git a/quick-picture-viewer/ThemeManager.cs b/quick-picture-viewer/ThemeManager.cs index 66f66101..239cf2d0 100644 --- a/quick-picture-viewer/ThemeManager.cs +++ b/quick-picture-viewer/ThemeManager.cs @@ -118,5 +118,21 @@ public static bool isWindows10() string productName = (string)reg.GetValue("ProductName"); return productName.StartsWith("Windows 10"); } + + public static void PaintDarkGroupBox(object sender, PaintEventArgs p) + { + GroupBox box = (GroupBox)sender; + + SolidBrush brush = new SolidBrush(ThemeManager.SecondColorDark); + Pen pen = new Pen(brush, 1); + + p.Graphics.Clear(ThemeManager.BackColorDark); + p.Graphics.DrawString(box.Text, box.Font, Brushes.White, 0, -3); + + p.Graphics.DrawLine(pen, 0, 16, 0, box.Height - 2); + p.Graphics.DrawLine(pen, 0, 16, box.Width - 1, 16); + p.Graphics.DrawLine(pen, box.Width - 1, 16, box.Width - 1, box.Height - 2); + p.Graphics.DrawLine(pen, 0, box.Height - 2, box.Width - 1, box.Height - 2); + } } } diff --git a/quick-picture-viewer/UpdateForm.cs b/quick-picture-viewer/UpdateForm.cs index d84f9b45..ce6f8880 100644 --- a/quick-picture-viewer/UpdateForm.cs +++ b/quick-picture-viewer/UpdateForm.cs @@ -14,7 +14,6 @@ public UpdateForm(UpdateChecker checker, string appName, bool darkMode) if (darkMode) { this.HandleCreated += new EventHandler(ThemeManager.formHandleCreated); - this.Shown += new EventHandler(ThemeManager.formHandleCreated); } _checker = checker; diff --git a/quick-picture-viewer/WallpaperForm.cs b/quick-picture-viewer/WallpaperForm.cs index e36a9c07..fd77b599 100644 --- a/quick-picture-viewer/WallpaperForm.cs +++ b/quick-picture-viewer/WallpaperForm.cs @@ -13,7 +13,6 @@ public WallpaperForm(Bitmap bmp, bool darkMode) if (darkMode) { this.HandleCreated += new EventHandler(ThemeManager.formHandleCreated); - this.Shown += new EventHandler(ThemeManager.formHandleCreated); } this.bmp = bmp; @@ -26,7 +25,7 @@ public WallpaperForm(Bitmap bmp, bool darkMode) this.BackColor = ThemeManager.BackColorDark; this.ForeColor = Color.White; - groupBox1.ForeColor = Color.White; + groupBox1.Paint += ThemeManager.PaintDarkGroupBox; okButton.BackColor = ThemeManager.SecondColorDark; okButton.Image = Properties.Resources.white_desktop; diff --git a/quick-picture-viewer/bin/Debug/quick-picture-viewer.exe b/quick-picture-viewer/bin/Debug/quick-picture-viewer.exe index c1624daf..2596e4fd 100644 Binary files a/quick-picture-viewer/bin/Debug/quick-picture-viewer.exe and b/quick-picture-viewer/bin/Debug/quick-picture-viewer.exe differ diff --git a/quick-picture-viewer/bin/Debug/quick-picture-viewer.pdb b/quick-picture-viewer/bin/Debug/quick-picture-viewer.pdb index f6e3358b..82b62356 100644 Binary files a/quick-picture-viewer/bin/Debug/quick-picture-viewer.pdb and b/quick-picture-viewer/bin/Debug/quick-picture-viewer.pdb differ diff --git a/quick-picture-viewer/bin/Release/quick-picture-viewer.exe b/quick-picture-viewer/bin/Release/quick-picture-viewer.exe index 37f4bfaf..5ac08a8d 100644 Binary files a/quick-picture-viewer/bin/Release/quick-picture-viewer.exe and b/quick-picture-viewer/bin/Release/quick-picture-viewer.exe differ diff --git a/quick-picture-viewer/bin/Release/quick-picture-viewer.pdb b/quick-picture-viewer/bin/Release/quick-picture-viewer.pdb index 029621c0..876133f8 100644 Binary files a/quick-picture-viewer/bin/Release/quick-picture-viewer.pdb and b/quick-picture-viewer/bin/Release/quick-picture-viewer.pdb differ diff --git a/quick-picture-viewer/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/quick-picture-viewer/obj/Debug/DesignTimeResolveAssemblyReferences.cache index dd18dde1..f799767b 100644 Binary files a/quick-picture-viewer/obj/Debug/DesignTimeResolveAssemblyReferences.cache and b/quick-picture-viewer/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/quick-picture-viewer/obj/Debug/quick-picture-viewer.csproj.GenerateResource.cache b/quick-picture-viewer/obj/Debug/quick-picture-viewer.csproj.GenerateResource.cache index 19d795cd..5a8a08d3 100644 Binary files a/quick-picture-viewer/obj/Debug/quick-picture-viewer.csproj.GenerateResource.cache and b/quick-picture-viewer/obj/Debug/quick-picture-viewer.csproj.GenerateResource.cache differ diff --git a/quick-picture-viewer/obj/Debug/quick-picture-viewer.csprojAssemblyReference.cache b/quick-picture-viewer/obj/Debug/quick-picture-viewer.csprojAssemblyReference.cache index c13a4fca..5369d5e8 100644 Binary files a/quick-picture-viewer/obj/Debug/quick-picture-viewer.csprojAssemblyReference.cache and b/quick-picture-viewer/obj/Debug/quick-picture-viewer.csprojAssemblyReference.cache differ diff --git a/quick-picture-viewer/obj/Debug/quick-picture-viewer.exe b/quick-picture-viewer/obj/Debug/quick-picture-viewer.exe index c1624daf..2596e4fd 100644 Binary files a/quick-picture-viewer/obj/Debug/quick-picture-viewer.exe and b/quick-picture-viewer/obj/Debug/quick-picture-viewer.exe differ diff --git a/quick-picture-viewer/obj/Debug/quick-picture-viewer.pdb b/quick-picture-viewer/obj/Debug/quick-picture-viewer.pdb index f6e3358b..82b62356 100644 Binary files a/quick-picture-viewer/obj/Debug/quick-picture-viewer.pdb and b/quick-picture-viewer/obj/Debug/quick-picture-viewer.pdb differ diff --git a/quick-picture-viewer/obj/Debug/quick_picture_viewer.MainForm.resources b/quick-picture-viewer/obj/Debug/quick_picture_viewer.MainForm.resources index be8d1441..49ac3c32 100644 Binary files a/quick-picture-viewer/obj/Debug/quick_picture_viewer.MainForm.resources and b/quick-picture-viewer/obj/Debug/quick_picture_viewer.MainForm.resources differ diff --git a/quick-picture-viewer/obj/Release/DesignTimeResolveAssemblyReferences.cache b/quick-picture-viewer/obj/Release/DesignTimeResolveAssemblyReferences.cache index b08c4691..9a0822ef 100644 Binary files a/quick-picture-viewer/obj/Release/DesignTimeResolveAssemblyReferences.cache and b/quick-picture-viewer/obj/Release/DesignTimeResolveAssemblyReferences.cache differ diff --git a/quick-picture-viewer/obj/Release/quick-picture-viewer.csproj.GenerateResource.cache b/quick-picture-viewer/obj/Release/quick-picture-viewer.csproj.GenerateResource.cache index 732c522d..9848ad07 100644 Binary files a/quick-picture-viewer/obj/Release/quick-picture-viewer.csproj.GenerateResource.cache and b/quick-picture-viewer/obj/Release/quick-picture-viewer.csproj.GenerateResource.cache differ diff --git a/quick-picture-viewer/obj/Release/quick-picture-viewer.csprojAssemblyReference.cache b/quick-picture-viewer/obj/Release/quick-picture-viewer.csprojAssemblyReference.cache index 8d3a29df..ec992f6c 100644 Binary files a/quick-picture-viewer/obj/Release/quick-picture-viewer.csprojAssemblyReference.cache and b/quick-picture-viewer/obj/Release/quick-picture-viewer.csprojAssemblyReference.cache differ diff --git a/quick-picture-viewer/obj/Release/quick-picture-viewer.exe b/quick-picture-viewer/obj/Release/quick-picture-viewer.exe index 37f4bfaf..5ac08a8d 100644 Binary files a/quick-picture-viewer/obj/Release/quick-picture-viewer.exe and b/quick-picture-viewer/obj/Release/quick-picture-viewer.exe differ diff --git a/quick-picture-viewer/obj/Release/quick-picture-viewer.pdb b/quick-picture-viewer/obj/Release/quick-picture-viewer.pdb index 029621c0..876133f8 100644 Binary files a/quick-picture-viewer/obj/Release/quick-picture-viewer.pdb and b/quick-picture-viewer/obj/Release/quick-picture-viewer.pdb differ diff --git a/quick-picture-viewer/picture.ico b/quick-picture-viewer/picture.ico index f382549d..433919a0 100644 Binary files a/quick-picture-viewer/picture.ico and b/quick-picture-viewer/picture.ico differ diff --git a/quick-picture-viewer/resources/imgs/picture.ico b/quick-picture-viewer/resources/imgs/picture.ico index f382549d..433919a0 100644 Binary files a/quick-picture-viewer/resources/imgs/picture.ico and b/quick-picture-viewer/resources/imgs/picture.ico differ diff --git a/quick-picture-viewer/resources/imgs/picture20.png b/quick-picture-viewer/resources/imgs/picture20.png new file mode 100644 index 00000000..3cf91988 Binary files /dev/null and b/quick-picture-viewer/resources/imgs/picture20.png differ diff --git a/quick-picture-viewer/resources/imgs/picture24.png b/quick-picture-viewer/resources/imgs/picture24.png new file mode 100644 index 00000000..7f62d5fd Binary files /dev/null and b/quick-picture-viewer/resources/imgs/picture24.png differ diff --git a/quick-picture-viewer/resources/imgs/picture256.png b/quick-picture-viewer/resources/imgs/picture256.png new file mode 100644 index 00000000..4296144d Binary files /dev/null and b/quick-picture-viewer/resources/imgs/picture256.png differ diff --git a/quick-picture-viewer/resources/imgs/picture40.png b/quick-picture-viewer/resources/imgs/picture40.png new file mode 100644 index 00000000..f0d79fc6 Binary files /dev/null and b/quick-picture-viewer/resources/imgs/picture40.png differ diff --git a/quick-picture-viewer/resources/imgs/picture60.png b/quick-picture-viewer/resources/imgs/picture60.png new file mode 100644 index 00000000..3a4bd081 Binary files /dev/null and b/quick-picture-viewer/resources/imgs/picture60.png differ diff --git a/quick-picture-viewer/resources/imgs/picture72.png b/quick-picture-viewer/resources/imgs/picture72.png new file mode 100644 index 00000000..4b036054 Binary files /dev/null and b/quick-picture-viewer/resources/imgs/picture72.png differ