Feature Update v1.0.1

+ Added user configuration saves (saves config automatically)!
+ Added informative loading text for status bar
+ Changed startup image from placehold Hank Ketchum
+ Added help info
+ Added option to disable global hotkeys (enabled by default)
+ Window and panel minimum size adjustments
master
Aaron 3 years ago
parent 88065c5f3e
commit c06d42feb1

@ -1,6 +1,30 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<configuration> <configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="photo_sorter.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<startup> <startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" /> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup> </startup>
<userSettings>
<photo_sorter.Properties.Settings>
<setting name="global_hotkeys" serializeAs="String">
<value>True</value>
</setting>
<setting name="src_dir" serializeAs="String">
<value />
</setting>
<setting name="dest_dir" serializeAs="String">
<value />
</setting>
<setting name="copy_on_sort" serializeAs="String">
<value>False</value>
</setting>
<setting name="img_format" serializeAs="String">
<value>nef</value>
</setting>
</photo_sorter.Properties.Settings>
</userSettings>
</configuration> </configuration>

163
Form1.Designer.cs generated

@ -32,11 +32,15 @@ namespace photo_sorter
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(form_main)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(form_main));
this.menuStrip1 = new System.Windows.Forms.MenuStrip(); this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.openDirectoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tsi_openDirectory = new System.Windows.Forms.ToolStripMenuItem();
this.selectDestinationDirectoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tsi_selectDestinationDirectory = new System.Windows.Forms.ToolStripMenuItem();
this.quitApplicationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.tsi_quitApplication = new System.Windows.Forms.ToolStripMenuItem();
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.tsi_globalHotkeysList = new System.Windows.Forms.ToolStripMenuItem();
this.tsi_enableGlobalHotkeys = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.tsi_about = new System.Windows.Forms.ToolStripMenuItem();
this.gbox_preview = new System.Windows.Forms.GroupBox(); this.gbox_preview = new System.Windows.Forms.GroupBox();
this.lbl_counter = new System.Windows.Forms.Label(); this.lbl_counter = new System.Windows.Forms.Label();
this.lbl_current_fname = new System.Windows.Forms.Label(); this.lbl_current_fname = new System.Windows.Forms.Label();
@ -92,55 +96,86 @@ namespace photo_sorter
this.helpToolStripMenuItem}); this.helpToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0); this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1"; this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(1101, 24); this.menuStrip1.Size = new System.Drawing.Size(1104, 24);
this.menuStrip1.TabIndex = 0; this.menuStrip1.TabIndex = 0;
this.menuStrip1.Text = "menuStrip1"; this.menuStrip1.Text = "menuStrip1";
// //
// fileToolStripMenuItem // fileToolStripMenuItem
// //
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.openDirectoryToolStripMenuItem, this.tsi_openDirectory,
this.selectDestinationDirectoryToolStripMenuItem, this.tsi_selectDestinationDirectory,
this.quitApplicationToolStripMenuItem}); this.toolStripSeparator2,
this.tsi_quitApplication});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem"; this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20); this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
this.fileToolStripMenuItem.Text = "&File"; this.fileToolStripMenuItem.Text = "&File";
// //
// openDirectoryToolStripMenuItem // tsi_openDirectory
// //
this.openDirectoryToolStripMenuItem.Name = "openDirectoryToolStripMenuItem"; this.tsi_openDirectory.Name = "tsi_openDirectory";
this.openDirectoryToolStripMenuItem.Size = new System.Drawing.Size(219, 22); this.tsi_openDirectory.Size = new System.Drawing.Size(219, 22);
this.openDirectoryToolStripMenuItem.Text = "&Open Source Directory"; this.tsi_openDirectory.Text = "&Open Source Directory";
this.openDirectoryToolStripMenuItem.Click += new System.EventHandler(this.openDirectoryToolStripMenuItem_Click); this.tsi_openDirectory.Click += new System.EventHandler(this.openDirectoryToolStripMenuItem_Click);
// //
// selectDestinationDirectoryToolStripMenuItem // tsi_selectDestinationDirectory
// //
this.selectDestinationDirectoryToolStripMenuItem.Name = "selectDestinationDirectoryToolStripMenuItem"; this.tsi_selectDestinationDirectory.Name = "tsi_selectDestinationDirectory";
this.selectDestinationDirectoryToolStripMenuItem.Size = new System.Drawing.Size(219, 22); this.tsi_selectDestinationDirectory.Size = new System.Drawing.Size(219, 22);
this.selectDestinationDirectoryToolStripMenuItem.Text = "Select &Destination Directory"; this.tsi_selectDestinationDirectory.Text = "Select &Destination Directory";
this.selectDestinationDirectoryToolStripMenuItem.Click += new System.EventHandler(this.selectDestinationDirectoryToolStripMenuItem_Click); this.tsi_selectDestinationDirectory.Click += new System.EventHandler(this.selectDestinationDirectoryToolStripMenuItem_Click);
// //
// quitApplicationToolStripMenuItem // toolStripSeparator2
// //
this.quitApplicationToolStripMenuItem.Name = "quitApplicationToolStripMenuItem"; this.toolStripSeparator2.Name = "toolStripSeparator2";
this.quitApplicationToolStripMenuItem.Size = new System.Drawing.Size(219, 22); this.toolStripSeparator2.Size = new System.Drawing.Size(216, 6);
this.quitApplicationToolStripMenuItem.Text = "&Quit Application"; //
this.quitApplicationToolStripMenuItem.Click += new System.EventHandler(this.quitApplicationToolStripMenuItem_Click); // tsi_quitApplication
//
this.tsi_quitApplication.Name = "tsi_quitApplication";
this.tsi_quitApplication.Size = new System.Drawing.Size(219, 22);
this.tsi_quitApplication.Text = "&Quit Application";
this.tsi_quitApplication.Click += new System.EventHandler(this.quitApplicationToolStripMenuItem_Click);
// //
// helpToolStripMenuItem // helpToolStripMenuItem
// //
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.aboutToolStripMenuItem}); this.tsi_globalHotkeysList,
this.tsi_enableGlobalHotkeys,
this.toolStripSeparator1,
this.tsi_about});
this.helpToolStripMenuItem.Name = "helpToolStripMenuItem"; this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20); this.helpToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
this.helpToolStripMenuItem.Text = "&Help"; this.helpToolStripMenuItem.Text = "&Help";
// //
// aboutToolStripMenuItem // tsi_globalHotkeysList
// //
this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem"; this.tsi_globalHotkeysList.Name = "tsi_globalHotkeysList";
this.aboutToolStripMenuItem.Size = new System.Drawing.Size(107, 22); this.tsi_globalHotkeysList.Size = new System.Drawing.Size(192, 22);
this.aboutToolStripMenuItem.Text = "&About"; this.tsi_globalHotkeysList.Text = "&Global Hotkeys List";
this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click); this.tsi_globalHotkeysList.Click += new System.EventHandler(this.globalHotkeysListToolStripMenuItem_Click);
//
// tsi_enableGlobalHotkeys
//
this.tsi_enableGlobalHotkeys.Checked = true;
this.tsi_enableGlobalHotkeys.CheckOnClick = true;
this.tsi_enableGlobalHotkeys.CheckState = System.Windows.Forms.CheckState.Checked;
this.tsi_enableGlobalHotkeys.Name = "tsi_enableGlobalHotkeys";
this.tsi_enableGlobalHotkeys.Size = new System.Drawing.Size(192, 22);
this.tsi_enableGlobalHotkeys.Text = "&Enable Global Hotkeys";
this.tsi_enableGlobalHotkeys.Click += new System.EventHandler(this.tsi_enableGlobalHotkeys_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(189, 6);
//
// tsi_about
//
this.tsi_about.Name = "tsi_about";
this.tsi_about.Size = new System.Drawing.Size(192, 22);
this.tsi_about.Text = "&About";
this.tsi_about.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
// //
// gbox_preview // gbox_preview
// //
@ -155,8 +190,9 @@ namespace photo_sorter
this.gbox_preview.Controls.Add(this.img_preview); this.gbox_preview.Controls.Add(this.img_preview);
this.gbox_preview.Enabled = false; this.gbox_preview.Enabled = false;
this.gbox_preview.Location = new System.Drawing.Point(3, 3); this.gbox_preview.Location = new System.Drawing.Point(3, 3);
this.gbox_preview.MinimumSize = new System.Drawing.Size(640, 0);
this.gbox_preview.Name = "gbox_preview"; this.gbox_preview.Name = "gbox_preview";
this.gbox_preview.Size = new System.Drawing.Size(708, 533); this.gbox_preview.Size = new System.Drawing.Size(710, 540);
this.gbox_preview.TabIndex = 1; this.gbox_preview.TabIndex = 1;
this.gbox_preview.TabStop = false; this.gbox_preview.TabStop = false;
this.gbox_preview.Text = "Preview"; this.gbox_preview.Text = "Preview";
@ -164,7 +200,7 @@ namespace photo_sorter
// lbl_counter // lbl_counter
// //
this.lbl_counter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.lbl_counter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.lbl_counter.Location = new System.Drawing.Point(607, 18); this.lbl_counter.Location = new System.Drawing.Point(609, 18);
this.lbl_counter.Name = "lbl_counter"; this.lbl_counter.Name = "lbl_counter";
this.lbl_counter.RightToLeft = System.Windows.Forms.RightToLeft.No; this.lbl_counter.RightToLeft = System.Windows.Forms.RightToLeft.No;
this.lbl_counter.Size = new System.Drawing.Size(95, 23); this.lbl_counter.Size = new System.Drawing.Size(95, 23);
@ -177,14 +213,14 @@ namespace photo_sorter
this.lbl_current_fname.AutoSize = true; this.lbl_current_fname.AutoSize = true;
this.lbl_current_fname.Location = new System.Drawing.Point(9, 18); this.lbl_current_fname.Location = new System.Drawing.Point(9, 18);
this.lbl_current_fname.Name = "lbl_current_fname"; this.lbl_current_fname.Name = "lbl_current_fname";
this.lbl_current_fname.Size = new System.Drawing.Size(202, 13); this.lbl_current_fname.Size = new System.Drawing.Size(160, 13);
this.lbl_current_fname.TabIndex = 7; this.lbl_current_fname.TabIndex = 7;
this.lbl_current_fname.Text = "reckoning_2.file - Select Source to begin!"; this.lbl_current_fname.Text = "test.file - Select Source to begin!";
// //
// btn_next // btn_next
// //
this.btn_next.Anchor = System.Windows.Forms.AnchorStyles.Top; this.btn_next.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.btn_next.Location = new System.Drawing.Point(397, 13); this.btn_next.Location = new System.Drawing.Point(398, 13);
this.btn_next.Name = "btn_next"; this.btn_next.Name = "btn_next";
this.btn_next.Size = new System.Drawing.Size(75, 23); this.btn_next.Size = new System.Drawing.Size(75, 23);
this.btn_next.TabIndex = 8; this.btn_next.TabIndex = 8;
@ -195,7 +231,7 @@ namespace photo_sorter
// btn_prev // btn_prev
// //
this.btn_prev.Anchor = System.Windows.Forms.AnchorStyles.Top; this.btn_prev.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.btn_prev.Location = new System.Drawing.Point(235, 13); this.btn_prev.Location = new System.Drawing.Point(236, 13);
this.btn_prev.Name = "btn_prev"; this.btn_prev.Name = "btn_prev";
this.btn_prev.Size = new System.Drawing.Size(75, 23); this.btn_prev.Size = new System.Drawing.Size(75, 23);
this.btn_prev.TabIndex = 6; this.btn_prev.TabIndex = 6;
@ -206,7 +242,7 @@ namespace photo_sorter
// btn_sort // btn_sort
// //
this.btn_sort.Anchor = System.Windows.Forms.AnchorStyles.Top; this.btn_sort.Anchor = System.Windows.Forms.AnchorStyles.Top;
this.btn_sort.Location = new System.Drawing.Point(316, 13); this.btn_sort.Location = new System.Drawing.Point(317, 13);
this.btn_sort.Name = "btn_sort"; this.btn_sort.Name = "btn_sort";
this.btn_sort.Size = new System.Drawing.Size(75, 23); this.btn_sort.Size = new System.Drawing.Size(75, 23);
this.btn_sort.TabIndex = 7; this.btn_sort.TabIndex = 7;
@ -223,7 +259,7 @@ namespace photo_sorter
this.img_preview.InitialImage = null; this.img_preview.InitialImage = null;
this.img_preview.Location = new System.Drawing.Point(6, 42); this.img_preview.Location = new System.Drawing.Point(6, 42);
this.img_preview.Name = "img_preview"; this.img_preview.Name = "img_preview";
this.img_preview.Size = new System.Drawing.Size(696, 485); this.img_preview.Size = new System.Drawing.Size(698, 492);
this.img_preview.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; this.img_preview.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
this.img_preview.TabIndex = 0; this.img_preview.TabIndex = 0;
this.img_preview.TabStop = false; this.img_preview.TabStop = false;
@ -247,8 +283,9 @@ namespace photo_sorter
this.gbox_info.Controls.Add(this.tbox_sort_primary); this.gbox_info.Controls.Add(this.tbox_sort_primary);
this.gbox_info.Controls.Add(this.lbl_sort_primary); this.gbox_info.Controls.Add(this.lbl_sort_primary);
this.gbox_info.Location = new System.Drawing.Point(3, 3); this.gbox_info.Location = new System.Drawing.Point(3, 3);
this.gbox_info.MinimumSize = new System.Drawing.Size(280, 320);
this.gbox_info.Name = "gbox_info"; this.gbox_info.Name = "gbox_info";
this.gbox_info.Size = new System.Drawing.Size(353, 533); this.gbox_info.Size = new System.Drawing.Size(354, 540);
this.gbox_info.TabIndex = 2; this.gbox_info.TabIndex = 2;
this.gbox_info.TabStop = false; this.gbox_info.TabStop = false;
this.gbox_info.Text = "Sorting Info"; this.gbox_info.Text = "Sorting Info";
@ -323,7 +360,7 @@ namespace photo_sorter
// //
this.btn_reload_src.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.btn_reload_src.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btn_reload_src.Enabled = false; this.btn_reload_src.Enabled = false;
this.btn_reload_src.Location = new System.Drawing.Point(273, 481); this.btn_reload_src.Location = new System.Drawing.Point(274, 488);
this.btn_reload_src.Name = "btn_reload_src"; this.btn_reload_src.Name = "btn_reload_src";
this.btn_reload_src.Size = new System.Drawing.Size(75, 23); this.btn_reload_src.Size = new System.Drawing.Size(75, 23);
this.btn_reload_src.TabIndex = 902; this.btn_reload_src.TabIndex = 902;
@ -334,7 +371,7 @@ namespace photo_sorter
// btn_open_src_dir // btn_open_src_dir
// //
this.btn_open_src_dir.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.btn_open_src_dir.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btn_open_src_dir.Location = new System.Drawing.Point(322, 505); this.btn_open_src_dir.Location = new System.Drawing.Point(323, 512);
this.btn_open_src_dir.Name = "btn_open_src_dir"; this.btn_open_src_dir.Name = "btn_open_src_dir";
this.btn_open_src_dir.Size = new System.Drawing.Size(26, 23); this.btn_open_src_dir.Size = new System.Drawing.Size(26, 23);
this.btn_open_src_dir.TabIndex = 901; this.btn_open_src_dir.TabIndex = 901;
@ -345,7 +382,7 @@ namespace photo_sorter
// btn_open_dest_dir // btn_open_dest_dir
// //
this.btn_open_dest_dir.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.btn_open_dest_dir.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btn_open_dest_dir.Location = new System.Drawing.Point(322, 34); this.btn_open_dest_dir.Location = new System.Drawing.Point(323, 34);
this.btn_open_dest_dir.Name = "btn_open_dest_dir"; this.btn_open_dest_dir.Name = "btn_open_dest_dir";
this.btn_open_dest_dir.Size = new System.Drawing.Size(26, 23); this.btn_open_dest_dir.Size = new System.Drawing.Size(26, 23);
this.btn_open_dest_dir.TabIndex = 1; this.btn_open_dest_dir.TabIndex = 1;
@ -357,10 +394,10 @@ namespace photo_sorter
// //
this.tbox_source_dir.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) this.tbox_source_dir.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.tbox_source_dir.Location = new System.Drawing.Point(5, 506); this.tbox_source_dir.Location = new System.Drawing.Point(5, 513);
this.tbox_source_dir.Name = "tbox_source_dir"; this.tbox_source_dir.Name = "tbox_source_dir";
this.tbox_source_dir.ReadOnly = true; this.tbox_source_dir.ReadOnly = true;
this.tbox_source_dir.Size = new System.Drawing.Size(315, 20); this.tbox_source_dir.Size = new System.Drawing.Size(316, 20);
this.tbox_source_dir.TabIndex = 900; this.tbox_source_dir.TabIndex = 900;
this.tbox_source_dir.TabStop = false; this.tbox_source_dir.TabStop = false;
// //
@ -368,7 +405,7 @@ namespace photo_sorter
// //
this.lbl_source_dir.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.lbl_source_dir.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.lbl_source_dir.AutoSize = true; this.lbl_source_dir.AutoSize = true;
this.lbl_source_dir.Location = new System.Drawing.Point(6, 491); this.lbl_source_dir.Location = new System.Drawing.Point(6, 498);
this.lbl_source_dir.Name = "lbl_source_dir"; this.lbl_source_dir.Name = "lbl_source_dir";
this.lbl_source_dir.Size = new System.Drawing.Size(89, 13); this.lbl_source_dir.Size = new System.Drawing.Size(89, 13);
this.lbl_source_dir.TabIndex = 7; this.lbl_source_dir.TabIndex = 7;
@ -381,7 +418,7 @@ namespace photo_sorter
this.tbox_dest_dir.Location = new System.Drawing.Point(6, 35); this.tbox_dest_dir.Location = new System.Drawing.Point(6, 35);
this.tbox_dest_dir.Name = "tbox_dest_dir"; this.tbox_dest_dir.Name = "tbox_dest_dir";
this.tbox_dest_dir.ReadOnly = true; this.tbox_dest_dir.ReadOnly = true;
this.tbox_dest_dir.Size = new System.Drawing.Size(314, 20); this.tbox_dest_dir.Size = new System.Drawing.Size(315, 20);
this.tbox_dest_dir.TabIndex = 0; this.tbox_dest_dir.TabIndex = 0;
// //
// lbl_dest_dir // lbl_dest_dir
@ -398,7 +435,7 @@ namespace photo_sorter
this.gbox_copybool.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.gbox_copybool.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.gbox_copybool.Controls.Add(this.rad_sort_move); this.gbox_copybool.Controls.Add(this.rad_sort_move);
this.gbox_copybool.Controls.Add(this.rad_sort_copy); this.gbox_copybool.Controls.Add(this.rad_sort_copy);
this.gbox_copybool.Location = new System.Drawing.Point(234, 151); this.gbox_copybool.Location = new System.Drawing.Point(235, 151);
this.gbox_copybool.Name = "gbox_copybool"; this.gbox_copybool.Name = "gbox_copybool";
this.gbox_copybool.Size = new System.Drawing.Size(111, 71); this.gbox_copybool.Size = new System.Drawing.Size(111, 71);
this.gbox_copybool.TabIndex = 4; this.gbox_copybool.TabIndex = 4;
@ -433,7 +470,7 @@ namespace photo_sorter
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.tbox_sort_secondary.Location = new System.Drawing.Point(6, 123); this.tbox_sort_secondary.Location = new System.Drawing.Point(6, 123);
this.tbox_sort_secondary.Name = "tbox_sort_secondary"; this.tbox_sort_secondary.Name = "tbox_sort_secondary";
this.tbox_sort_secondary.Size = new System.Drawing.Size(341, 20); this.tbox_sort_secondary.Size = new System.Drawing.Size(342, 20);
this.tbox_sort_secondary.TabIndex = 3; this.tbox_sort_secondary.TabIndex = 3;
// //
// lbl_sort_secondary // lbl_sort_secondary
@ -451,7 +488,7 @@ namespace photo_sorter
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.tbox_sort_primary.Location = new System.Drawing.Point(6, 79); this.tbox_sort_primary.Location = new System.Drawing.Point(6, 79);
this.tbox_sort_primary.Name = "tbox_sort_primary"; this.tbox_sort_primary.Name = "tbox_sort_primary";
this.tbox_sort_primary.Size = new System.Drawing.Size(341, 20); this.tbox_sort_primary.Size = new System.Drawing.Size(342, 20);
this.tbox_sort_primary.TabIndex = 2; this.tbox_sort_primary.TabIndex = 2;
// //
// lbl_sort_primary // lbl_sort_primary
@ -470,9 +507,9 @@ namespace photo_sorter
this.toolStripSpacer, this.toolStripSpacer,
this.stat_bar_label, this.stat_bar_label,
this.pbar}); this.pbar});
this.status_bar.Location = new System.Drawing.Point(0, 572); this.status_bar.Location = new System.Drawing.Point(0, 579);
this.status_bar.Name = "status_bar"; this.status_bar.Name = "status_bar";
this.status_bar.Size = new System.Drawing.Size(1101, 22); this.status_bar.Size = new System.Drawing.Size(1104, 22);
this.status_bar.TabIndex = 3; this.status_bar.TabIndex = 3;
this.status_bar.Text = "statusStrip1"; this.status_bar.Text = "statusStrip1";
// //
@ -486,7 +523,7 @@ namespace photo_sorter
// toolStripSpacer // toolStripSpacer
// //
this.toolStripSpacer.Name = "toolStripSpacer"; this.toolStripSpacer.Name = "toolStripSpacer";
this.toolStripSpacer.Size = new System.Drawing.Size(784, 17); this.toolStripSpacer.Size = new System.Drawing.Size(787, 17);
this.toolStripSpacer.Spring = true; this.toolStripSpacer.Spring = true;
// //
// stat_bar_label // stat_bar_label
@ -514,27 +551,27 @@ namespace photo_sorter
// split_container_main.Panel1 // split_container_main.Panel1
// //
this.split_container_main.Panel1.Controls.Add(this.gbox_info); this.split_container_main.Panel1.Controls.Add(this.gbox_info);
this.split_container_main.Panel1MinSize = 128; this.split_container_main.Panel1MinSize = 320;
// //
// split_container_main.Panel2 // split_container_main.Panel2
// //
this.split_container_main.Panel2.Controls.Add(this.gbox_preview); this.split_container_main.Panel2.Controls.Add(this.gbox_preview);
this.split_container_main.Panel2MinSize = 256; this.split_container_main.Panel2MinSize = 640;
this.split_container_main.Size = new System.Drawing.Size(1077, 539); this.split_container_main.Size = new System.Drawing.Size(1080, 546);
this.split_container_main.SplitterDistance = 359; this.split_container_main.SplitterDistance = 360;
this.split_container_main.TabIndex = 4; this.split_container_main.TabIndex = 4;
// //
// form_main // form_main
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1101, 594); this.ClientSize = new System.Drawing.Size(1104, 601);
this.Controls.Add(this.status_bar); this.Controls.Add(this.status_bar);
this.Controls.Add(this.menuStrip1); this.Controls.Add(this.menuStrip1);
this.Controls.Add(this.split_container_main); this.Controls.Add(this.split_container_main);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MainMenuStrip = this.menuStrip1; this.MainMenuStrip = this.menuStrip1;
this.MinimumSize = new System.Drawing.Size(768, 480); this.MinimumSize = new System.Drawing.Size(1024, 480);
this.Name = "form_main"; this.Name = "form_main";
this.Text = "Skyfall Photo Sorter"; this.Text = "Skyfall Photo Sorter";
this.menuStrip1.ResumeLayout(false); this.menuStrip1.ResumeLayout(false);
@ -563,10 +600,10 @@ namespace photo_sorter
private System.Windows.Forms.MenuStrip menuStrip1; private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem openDirectoryToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem tsi_openDirectory;
private System.Windows.Forms.ToolStripMenuItem quitApplicationToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem tsi_quitApplication;
private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem tsi_about;
private System.Windows.Forms.GroupBox gbox_preview; private System.Windows.Forms.GroupBox gbox_preview;
private System.Windows.Forms.PictureBox img_preview; private System.Windows.Forms.PictureBox img_preview;
private System.Windows.Forms.Button btn_next; private System.Windows.Forms.Button btn_next;
@ -591,7 +628,7 @@ namespace photo_sorter
private System.Windows.Forms.Button btn_open_dest_dir; private System.Windows.Forms.Button btn_open_dest_dir;
private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1; private System.Windows.Forms.FolderBrowserDialog folderBrowserDialog1;
private System.Windows.Forms.Button btn_open_src_dir; private System.Windows.Forms.Button btn_open_src_dir;
private System.Windows.Forms.ToolStripMenuItem selectDestinationDirectoryToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem tsi_selectDestinationDirectory;
private System.Windows.Forms.Button btn_reload_src; private System.Windows.Forms.Button btn_reload_src;
private System.Windows.Forms.Label lbl_counter; private System.Windows.Forms.Label lbl_counter;
private System.Windows.Forms.ToolStripStatusLabel toolStripSpacer; private System.Windows.Forms.ToolStripStatusLabel toolStripSpacer;
@ -603,6 +640,10 @@ namespace photo_sorter
private System.Windows.Forms.RadioButton rad_png; private System.Windows.Forms.RadioButton rad_png;
private System.Windows.Forms.RadioButton rad_jpeg; private System.Windows.Forms.RadioButton rad_jpeg;
private System.Windows.Forms.RadioButton rad_dng; private System.Windows.Forms.RadioButton rad_dng;
private System.Windows.Forms.ToolStripMenuItem tsi_globalHotkeysList;
private System.Windows.Forms.ToolStripMenuItem tsi_enableGlobalHotkeys;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
} }
} }

@ -1,4 +1,5 @@
using System; using System;
//using System.Configuration;
//using System.Collections.Generic; //using System.Collections.Generic;
//using System.ComponentModel; //using System.ComponentModel;
//using System.Data; //using System.Data;
@ -18,12 +19,51 @@ namespace photo_sorter
public form_main() public form_main()
{ {
InitializeComponent(); InitializeComponent();
switch (Properties.Settings.Default.img_format)
{
case "nef":
rad_nef.Checked = true;
break;
case "cr2":
rad_cr2.Checked = true;
break;
case "dng":
rad_dng.Checked = true;
break;
case "jpeg":
rad_jpeg.Checked = true;
break;
case "png":
rad_png.Checked = true;
break;
default:
rad_nef.Checked = true;
break;
}
if (Properties.Settings.Default.global_hotkeys)
tsi_enableGlobalHotkeys.Checked = true;
else
tsi_enableGlobalHotkeys.Checked = false;
if (Properties.Settings.Default.copy_on_sort)
{
rad_sort_copy.Checked = true;
}
tbox_dest_dir.Text = Properties.Settings.Default.dest_dir;
tbox_source_dir.Text = Properties.Settings.Default.src_dir;
if (Directory.Exists(tbox_source_dir.Text))
{
btn_reload_src.Enabled = true;
reload_source();
}
} }
static class global static class global
{ {
public static string dest = ""; public static string dest = Properties.Settings.Default.dest_dir;
public static string src; public static string src = Properties.Settings.Default.src_dir;
public static string[] filenames; public static string[] filenames;
public static int filecount; public static int filecount;
public static int position = 0; public static int position = 0;
@ -90,6 +130,11 @@ namespace photo_sorter
tbox_source_dir.Text = global.src; tbox_source_dir.Text = global.src;
status_msg("Opening source directory: " + global.src); status_msg("Opening source directory: " + global.src);
btn_reload_src.Enabled = true; btn_reload_src.Enabled = true;
if (Properties.Settings.Default.src_dir != global.src)
{
Properties.Settings.Default.src_dir = global.src;
Properties.Settings.Default.Save();
}
reload_source(); reload_source();
} }
} }
@ -100,6 +145,11 @@ namespace photo_sorter
{ {
global.dest = folderBrowserDialog1.SelectedPath; global.dest = folderBrowserDialog1.SelectedPath;
tbox_dest_dir.Text = global.dest; tbox_dest_dir.Text = global.dest;
if (Properties.Settings.Default.dest_dir != global.dest)
{
Properties.Settings.Default.dest_dir = global.dest;
Properties.Settings.Default.Save();
}
status_msg("Destination directory updated"); status_msg("Destination directory updated");
} }
} }
@ -210,6 +260,11 @@ namespace photo_sorter
if (rad_png.Checked) if (rad_png.Checked)
ext = "png"; ext = "png";
string[] files = Directory.GetFiles(global.src, "*." + ext); string[] files = Directory.GetFiles(global.src, "*." + ext);
if (Properties.Settings.Default.img_format != ext)
{
Properties.Settings.Default.img_format = ext;
Properties.Settings.Default.Save();
}
return files; return files;
} }
@ -229,42 +284,45 @@ namespace photo_sorter
protected override bool ProcessCmdKey(ref Message msg, Keys keyData) protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{ {
if (keyData == Keys.Enter) if (tsi_enableGlobalHotkeys.Checked)
{ {
sort_image(); if (keyData == Keys.Enter)
return true;
}
if (keyData == Keys.PageUp)
{
if (global.filecount > 1)
prev_image();
return true;
}
if (keyData == Keys.PageDown)
{
if (global.filecount > 1)
next_image();
return true;
}
if (keyData == Keys.Home)
{
if (global.filecount > 1)
{ {
status_msg("Loading first image..."); sort_image();
global.position = 0; return true;
update_image();
} }
return true; if (keyData == Keys.PageUp)
}
if (keyData == Keys.End)
{
if (global.filecount > 1)
{ {
status_msg("Loading final image..."); if (global.filecount > 1)
global.position = global.filecount - 1; prev_image();
update_image(); return true;
}
if (keyData == Keys.PageDown)
{
if (global.filecount > 1)
next_image();
return true;
}
if (keyData == Keys.Home)
{
if (global.filecount > 1)
{
status_msg("Loading first image...");
global.position = 0;
update_image();
}
return true;
}
if (keyData == Keys.End)
{
if (global.filecount > 1)
{
status_msg("Loading final image...");
global.position = global.filecount - 1;
update_image();
}
return true;
} }
return true;
} }
return base.ProcessCmdKey(ref msg, keyData); return base.ProcessCmdKey(ref msg, keyData);
} }
@ -365,6 +423,11 @@ namespace photo_sorter
status_msg("Unable to move " + global.filenames[global.position] + " to " + dpath + "!", 4); status_msg("Unable to move " + global.filenames[global.position] + " to " + dpath + "!", 4);
MessageBox.Show(ex.ToString(), "Critical: IO Exception", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(ex.ToString(), "Critical: IO Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
if (Properties.Settings.Default.copy_on_sort)
{
Properties.Settings.Default.copy_on_sort = false;
Properties.Settings.Default.Save();
}
} }
else else
{ {
@ -394,6 +457,11 @@ namespace photo_sorter
status_msg("Unable to copy " + global.filenames[global.position] + " to " + dpath + "!", 4); status_msg("Unable to copy " + global.filenames[global.position] + " to " + dpath + "!", 4);
MessageBox.Show(ex.ToString(), "Critical: IO Exception", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(ex.ToString(), "Critical: IO Exception", MessageBoxButtons.OK, MessageBoxIcon.Error);
} }
if (!Properties.Settings.Default.copy_on_sort)
{
Properties.Settings.Default.copy_on_sort = true;
Properties.Settings.Default.Save();
}
} }
} }
@ -426,7 +494,7 @@ namespace photo_sorter
private void aboutToolStripMenuItem_Click(object sender, EventArgs e) private void aboutToolStripMenuItem_Click(object sender, EventArgs e)
{ {
MessageBox.Show("Photo Sorter v1.0.0\n\nThis application is Copyright Skyfall Tech, 2022.\n\nPlease visit https://www.skyfall.tech/ for more information."); MessageBox.Show("Photo Sorter v1.0.1\n\nThis application is Copyright \u00A9 Skyfall Tech, 2022-2023.\n\nPlease visit https://www.skyfall.tech/ for more information.");
} }
private void btn_open_src_dir_Click(object sender, EventArgs e) private void btn_open_src_dir_Click(object sender, EventArgs e)
@ -454,6 +522,20 @@ namespace photo_sorter
reload_source(); reload_source();
} }
private void globalHotkeysListToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox .Show("Global Hotkeys\n\nPgUp == Previous image\nPgDn == Next image\nHome == Go to first unsorted image\nEnd == Go to final unsorted image\n\nEnter == Sort photo to current options\n");
}
private void tsi_enableGlobalHotkeys_Click(object sender, EventArgs e)
{
if (tsi_enableGlobalHotkeys.Checked)
Properties.Settings.Default.global_hotkeys = true;
else
Properties.Settings.Default.global_hotkeys = false;
Properties.Settings.Default.Save();
}
/*private void Form1_FormClosing(Object sender, FormClosingEventArgs e) /*private void Form1_FormClosing(Object sender, FormClosingEventArgs e)
{ {

File diff suppressed because it is too large Load Diff

@ -8,22 +8,79 @@
// </auto-generated> // </auto-generated>
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
namespace photo_sorter.Properties {
namespace photo_sorter.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.8.1.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default public static Settings Default {
{ get {
get
{
return defaultInstance; return defaultInstance;
} }
} }
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("True")]
public bool global_hotkeys {
get {
return ((bool)(this["global_hotkeys"]));
}
set {
this["global_hotkeys"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string src_dir {
get {
return ((string)(this["src_dir"]));
}
set {
this["src_dir"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("")]
public string dest_dir {
get {
return ((string)(this["dest_dir"]));
}
set {
this["dest_dir"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool copy_on_sort {
get {
return ((bool)(this["copy_on_sort"]));
}
set {
this["copy_on_sort"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("nef")]
public string img_format {
get {
return ((string)(this["img_format"]));
}
set {
this["img_format"] = value;
}
}
} }
} }

@ -1,7 +1,21 @@
<?xml version='1.0' encoding='utf-8'?> <?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)"> <SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="photo_sorter.Properties" GeneratedClassName="Settings">
<Profiles> <Profiles />
<Profile Name="(Default)" /> <Settings>
</Profiles> <Setting Name="global_hotkeys" Type="System.Boolean" Scope="User">
<Settings /> <Value Profile="(Default)">True</Value>
</SettingsFile> </Setting>
<Setting Name="src_dir" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="dest_dir" Type="System.String" Scope="User">
<Value Profile="(Default)" />
</Setting>
<Setting Name="copy_on_sort" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">False</Value>
</Setting>
<Setting Name="img_format" Type="System.String" Scope="User">
<Value Profile="(Default)">nef</Value>
</Setting>
</Settings>
</SettingsFile>

@ -81,6 +81,7 @@
</Reference> </Reference>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
<Reference Include="System.DirectoryServices" />
<Reference Include="System.Xml.Linq" /> <Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" /> <Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />

Loading…
Cancel
Save