Skip to content

Commit 8dc33e4

Browse files
committed
📂 v2.2.4
Added: - Settings -> Windows: Open with QuickPictureViewer (#23, #2) - Settings -> Windows: Browse folder with QuickPictureViewer (#23, #2) Changes: - QuickLibrary v2.2.4
1 parent fa59ab9 commit 8dc33e4

File tree

50 files changed

+130
-75
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+130
-75
lines changed

.vs/quick-picture-viewer/v16/.suo

36.5 KB
Binary file not shown.
0 Bytes
Binary file not shown.
-32 KB
Binary file not shown.
-4 MB
Binary file not shown.
5.83 KB
Binary file not shown.

inno-setup/quick-picture-viewer.iss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
33

44
#define MyAppName "Quick Picture Viewer"
5-
#define MyAppVersion "2.2.3"
5+
#define MyAppVersion "2.2.4"
66
#define MyAppPublisher "Module Art"
77
#define MyAppURL "https://moduleart.github.io"
88
#define MyAppExeName "quick-picture-viewer.exe"

quick-picture-viewer/PrintForm.Designer.cs

Lines changed: 0 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

quick-picture-viewer/PrintForm.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,9 @@ private void SetDarkMode(bool dark)
5757
}
5858

5959
DarkMode = dark;
60-
marginsCheckBox.SetDarkMode(dark);
61-
horizontalCheckBox.SetDarkMode(dark);
62-
centerCheckbox.SetDarkMode(dark);
60+
marginsCheckBox.DarkMode = dark;
61+
horizontalCheckBox.DarkMode = dark;
62+
centerCheckbox.DarkMode = dark;
6363
closeBtn.SetDarkMode(dark);
6464
rightMarginTextBox.DarkMode = dark;
6565
leftMarginTextBox.DarkMode = dark;

quick-picture-viewer/SettingsForm.Designer.cs

Lines changed: 12 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

quick-picture-viewer/SettingsForm.cs

Lines changed: 80 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -38,14 +38,14 @@ private struct Language
3838
}
3939
};
4040

41-
private bool betaLangWarning = false;
41+
private bool settingsStarted = false;
4242
private MainForm owner;
4343

4444
public SettingsForm(bool darkMode)
4545
{
4646
if (darkMode)
4747
{
48-
this.HandleCreated += new EventHandler(ThemeManager.formHandleCreated);
48+
HandleCreated += new EventHandler(ThemeManager.formHandleCreated);
4949
}
5050

5151
InitializeComponent();
@@ -89,12 +89,7 @@ public SettingsForm(bool darkMode)
8989

9090
favExtTextBox.Text = Properties.Settings.Default.FavoriteExternalApp;
9191

92-
const string openWithKey = "HKEY_CLASSES_ROOT\\*\\shell\\QuickPictureViewer";
93-
string openWithValue = (string)Registry.GetValue(openWithKey, string.Empty, string.Empty);
94-
if (openWithValue.Length > 0)
95-
{
96-
openWithCheckBox.Checked = true;
97-
}
92+
openWithCheckBox.Checked = GetOpenWithState();
9893
const string browseWithKey1 = "HKEY_CLASSES_ROOT\\Directory\\Background\\shell\\QuickPictureViewer";
9994
const string browseWithKey2 = "HKEY_CLASSES_ROOT\\Directory\\shell\\QuickPictureViewer";
10095
string browseWithValue1 = (string)Registry.GetValue(browseWithKey1, string.Empty, string.Empty);
@@ -124,7 +119,7 @@ public SettingsForm(bool darkMode)
124119

125120
private void InitLanguage()
126121
{
127-
this.Text = owner.resMan.GetString("settings");
122+
Text = owner.resMan.GetString("settings");
128123
langPage.Text = owner.resMan.GetString("localization");
129124
startupPage.Text = owner.resMan.GetString("startup");
130125
restartLabel1.Text = "* " + owner.resMan.GetString("restart-required");
@@ -140,7 +135,6 @@ private void InitLanguage()
140135
updatesCheckBox.Text = owner.resMan.GetString("check-for-app-updates");
141136
favExtLabel.Text = owner.resMan.GetString("fav-external-app") + ":";
142137
browseBtn.Text = " " + owner.resMan.GetString("browse");
143-
externalPage.Text = owner.resMan.GetString("windows");
144138
slideshowPage.Text = owner.resMan.GetString("slideshow");
145139
slideshowTimeLabel.Text = owner.resMan.GetString("switching-time") + ":";
146140
mousePage.Text = owner.resMan.GetString("input");
@@ -175,32 +169,32 @@ private void SetDarkMode(bool dark)
175169
}
176170

177171
DarkMode = dark;
178-
updatesCheckBox.SetDarkMode(dark);
179-
fullscrCursorCheckBox.SetDarkMode(dark);
172+
updatesCheckBox.DarkMode = dark;
173+
fullscrCursorCheckBox.DarkMode = dark;
180174
darkThemeRadio.SetDarkMode(dark);
181175
lightThemeRadio.SetDarkMode(dark);
182176
systemThemeRadio.SetDarkMode(dark);
183177
closeBtn.SetDarkMode(dark);
184178
slideshowTimeNumeric.DarkMode = dark;
185-
slideshowCounterCheckBox.SetDarkMode(dark);
179+
slideshowCounterCheckBox.DarkMode = dark;
186180
langComboBox.SetDarkMode(dark);
187181
favExtTextBox.DarkMode = dark;
188-
escToExitCheckBox.SetDarkMode(dark);
182+
escToExitCheckBox.DarkMode = dark;
189183
mouseWheelActionRadio1.SetDarkMode(dark);
190184
mouseWheelActionRadio2.SetDarkMode(dark);
191185
mouseWheelActionRadio3.SetDarkMode(dark);
192-
startupMaximizeCheckBox.SetDarkMode(dark);
193-
startupPasteCheckBox.SetDarkMode(dark);
194-
startupBoundsCheckBox.SetDarkMode(dark);
195-
openWithCheckBox.SetDarkMode(dark);
196-
browseWithCheckBox.SetDarkMode(dark);
186+
startupMaximizeCheckBox.DarkMode = dark;
187+
startupPasteCheckBox.DarkMode = dark;
188+
startupBoundsCheckBox.DarkMode = dark;
189+
openWithCheckBox.DarkMode = dark;
190+
browseWithCheckBox.DarkMode = dark;
197191
}
198192

199193
private void SettingsForm_KeyDown(object sender, KeyEventArgs e)
200194
{
201195
if (e.KeyCode == Keys.Escape)
202196
{
203-
this.Close();
197+
Close();
204198
}
205199
}
206200

@@ -245,7 +239,7 @@ private void fullscrCursorCheckBox_CheckedChanged(object sender, EventArgs e)
245239

246240
private void closeBtn_Click(object sender, EventArgs e)
247241
{
248-
this.Close();
242+
Close();
249243
}
250244

251245
private void favExtTextBox_TextChanged(object sender, EventArgs e)
@@ -282,7 +276,7 @@ private void langComboBox_SelectedIndexChanged(object sender, EventArgs e)
282276

283277
if (owner != null)
284278
{
285-
if (languages[langComboBox.SelectedIndex].Beta && betaLangWarning)
279+
if (languages[langComboBox.SelectedIndex].Beta && settingsStarted)
286280
{
287281
MessageBox.Show(
288282
owner.resMan.GetString("beta-lang-warning"),
@@ -318,10 +312,10 @@ private void Ll_Click(object sender, EventArgs e)
318312

319313
private void SettingsForm_Load(object sender, EventArgs e)
320314
{
321-
owner = this.Owner as MainForm;
315+
owner = Owner as MainForm;
322316
InitLanguage();
323317
langComboBox_SelectedIndexChanged(null, null);
324-
betaLangWarning = true;
318+
settingsStarted = true;
325319
}
326320

327321
private void escToExitCheckBox_CheckedChanged(object sender, EventArgs e)
@@ -370,5 +364,67 @@ private void startupBoundsCheckBox_CheckedChanged(object sender, EventArgs e)
370364
Properties.Settings.Default.StartupRestoreBounds = startupBoundsCheckBox.Checked;
371365
Properties.Settings.Default.Save();
372366
}
367+
368+
private void openWithCheckBox_CheckedChanged(object sender, EventArgs e)
369+
{
370+
if (settingsStarted)
371+
{
372+
try
373+
{
374+
if (openWithCheckBox.Checked)
375+
{
376+
Registry.SetValue("HKEY_CLASSES_ROOT\\*\\shell\\QuickPictureViewer", "", "Open with QuickPictureViewer");
377+
Registry.SetValue("HKEY_CLASSES_ROOT\\*\\shell\\QuickPictureViewer", "Icon", string.Format("\"{0}picture.ico\"", AppDomain.CurrentDomain.BaseDirectory));
378+
Registry.SetValue("HKEY_CLASSES_ROOT\\*\\shell\\QuickPictureViewer\\command", "", string.Format("\"{0}quick-picture-viewer.exe\" \"%V\"", AppDomain.CurrentDomain.BaseDirectory));
379+
}
380+
else
381+
{
382+
RegistryKey RegKey = Registry.ClassesRoot.OpenSubKey("*\\shell\\QuickPictureViewer", true);
383+
RegKey.DeleteSubKeyTree("");
384+
}
385+
}
386+
catch
387+
{
388+
MessageBox.Show("To change context menu options you need to run app with Administrator", owner.resMan.GetString("error"));
389+
}
390+
}
391+
}
392+
393+
private void browseWithCheckBox_CheckedChanged(object sender, EventArgs e)
394+
{
395+
if (settingsStarted)
396+
{
397+
try
398+
{
399+
if (browseWithCheckBox.Checked)
400+
{
401+
Registry.SetValue("HKEY_CLASSES_ROOT\\Directory\\Background\\shell\\QuickPictureViewer", "", "Browse folder with QuickPictureViewer");
402+
Registry.SetValue("HKEY_CLASSES_ROOT\\Directory\\Background\\shell\\QuickPictureViewer", "Icon", string.Format("\"{0}picture.ico\"", AppDomain.CurrentDomain.BaseDirectory));
403+
Registry.SetValue("HKEY_CLASSES_ROOT\\Directory\\Background\\shell\\QuickPictureViewer\\command", "", string.Format("\"{0}quick-picture-viewer.exe\" \"%V\"", AppDomain.CurrentDomain.BaseDirectory));
404+
405+
Registry.SetValue("HKEY_CLASSES_ROOT\\Directory\\shell\\QuickPictureViewer", "", "Browse folder with QuickPictureViewer");
406+
Registry.SetValue("HKEY_CLASSES_ROOT\\Directory\\shell\\QuickPictureViewer", "Icon", string.Format("\"{0}picture.ico\"", AppDomain.CurrentDomain.BaseDirectory));
407+
Registry.SetValue("HKEY_CLASSES_ROOT\\Directory\\shell\\QuickPictureViewer\\command", "", string.Format("\"{0}quick-picture-viewer.exe\" \"%V\"", AppDomain.CurrentDomain.BaseDirectory));
408+
}
409+
else
410+
{
411+
RegistryKey RegKey = Registry.ClassesRoot.OpenSubKey("Directory\\Background\\shell\\QuickPictureViewer", true);
412+
RegKey.DeleteSubKeyTree("");
413+
RegistryKey RegKey2 = Registry.ClassesRoot.OpenSubKey("Directory\\shell\\QuickPictureViewer", true);
414+
RegKey2.DeleteSubKeyTree("");
415+
}
416+
}
417+
catch
418+
{
419+
MessageBox.Show("To change context menu options you need to run app with Administrator", owner.resMan.GetString("error"));
420+
}
421+
}
422+
}
423+
424+
private bool GetOpenWithState()
425+
{
426+
string openWithValue = (string)Registry.GetValue("HKEY_CLASSES_ROOT\\*\\shell\\QuickPictureViewer", string.Empty, string.Empty);
427+
return openWithValue.Length > 0;
428+
}
373429
}
374430
}

0 commit comments

Comments
 (0)