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" ?>
<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>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</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>

163
Form1.Designer.cs generated

@ -32,11 +32,15 @@ namespace photo_sorter
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(form_main));
this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.openDirectoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.selectDestinationDirectoryToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.quitApplicationToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.tsi_openDirectory = new System.Windows.Forms.ToolStripMenuItem();
this.tsi_selectDestinationDirectory = 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.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.lbl_counter = new System.Windows.Forms.Label();
this.lbl_current_fname = new System.Windows.Forms.Label();
@ -92,55 +96,86 @@ namespace photo_sorter
this.helpToolStripMenuItem});
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
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.Text = "menuStrip1";
//
// fileToolStripMenuItem
//
this.fileToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.openDirectoryToolStripMenuItem,
this.selectDestinationDirectoryToolStripMenuItem,
this.quitApplicationToolStripMenuItem});
this.tsi_openDirectory,
this.tsi_selectDestinationDirectory,
this.toolStripSeparator2,
this.tsi_quitApplication});
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
this.fileToolStripMenuItem.Text = "&File";
//
// openDirectoryToolStripMenuItem
// tsi_openDirectory
//
this.openDirectoryToolStripMenuItem.Name = "openDirectoryToolStripMenuItem";
this.openDirectoryToolStripMenuItem.Size = new System.Drawing.Size(219, 22);
this.openDirectoryToolStripMenuItem.Text = "&Open Source Directory";
this.openDirectoryToolStripMenuItem.Click += new System.EventHandler(this.openDirectoryToolStripMenuItem_Click);
this.tsi_openDirectory.Name = "tsi_openDirectory";
this.tsi_openDirectory.Size = new System.Drawing.Size(219, 22);
this.tsi_openDirectory.Text = "&Open Source Directory";
this.tsi_openDirectory.Click += new System.EventHandler(this.openDirectoryToolStripMenuItem_Click);
//
// selectDestinationDirectoryToolStripMenuItem
// tsi_selectDestinationDirectory
//
this.selectDestinationDirectoryToolStripMenuItem.Name = "selectDestinationDirectoryToolStripMenuItem";
this.selectDestinationDirectoryToolStripMenuItem.Size = new System.Drawing.Size(219, 22);
this.selectDestinationDirectoryToolStripMenuItem.Text = "Select &Destination Directory";
this.selectDestinationDirectoryToolStripMenuItem.Click += new System.EventHandler(this.selectDestinationDirectoryToolStripMenuItem_Click);
this.tsi_selectDestinationDirectory.Name = "tsi_selectDestinationDirectory";
this.tsi_selectDestinationDirectory.Size = new System.Drawing.Size(219, 22);
this.tsi_selectDestinationDirectory.Text = "Select &Destination Directory";
this.tsi_selectDestinationDirectory.Click += new System.EventHandler(this.selectDestinationDirectoryToolStripMenuItem_Click);
//
// quitApplicationToolStripMenuItem
// toolStripSeparator2
//
this.quitApplicationToolStripMenuItem.Name = "quitApplicationToolStripMenuItem";
this.quitApplicationToolStripMenuItem.Size = new System.Drawing.Size(219, 22);
this.quitApplicationToolStripMenuItem.Text = "&Quit Application";
this.quitApplicationToolStripMenuItem.Click += new System.EventHandler(this.quitApplicationToolStripMenuItem_Click);
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(216, 6);
//
// 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
//
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.Size = new System.Drawing.Size(44, 20);
this.helpToolStripMenuItem.Text = "&Help";
//
// aboutToolStripMenuItem
// tsi_globalHotkeysList
//
this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
this.aboutToolStripMenuItem.Size = new System.Drawing.Size(107, 22);
this.aboutToolStripMenuItem.Text = "&About";
this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
this.tsi_globalHotkeysList.Name = "tsi_globalHotkeysList";
this.tsi_globalHotkeysList.Size = new System.Drawing.Size(192, 22);
this.tsi_globalHotkeysList.Text = "&Global Hotkeys List";
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
//
@ -155,8 +190,9 @@ namespace photo_sorter
this.gbox_preview.Controls.Add(this.img_preview);
this.gbox_preview.Enabled = false;
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.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.TabStop = false;
this.gbox_preview.Text = "Preview";
@ -164,7 +200,7 @@ namespace photo_sorter
// lbl_counter
//
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.RightToLeft = System.Windows.Forms.RightToLeft.No;
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.Location = new System.Drawing.Point(9, 18);
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.Text = "reckoning_2.file - Select Source to begin!";
this.lbl_current_fname.Text = "test.file - Select Source to begin!";
//
// btn_next
//
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.Size = new System.Drawing.Size(75, 23);
this.btn_next.TabIndex = 8;
@ -195,7 +231,7 @@ namespace photo_sorter
// btn_prev
//
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.Size = new System.Drawing.Size(75, 23);
this.btn_prev.TabIndex = 6;
@ -206,7 +242,7 @@ namespace photo_sorter
// btn_sort
//
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.Size = new System.Drawing.Size(75, 23);
this.btn_sort.TabIndex = 7;
@ -223,7 +259,7 @@ namespace photo_sorter
this.img_preview.InitialImage = null;
this.img_preview.Location = new System.Drawing.Point(6, 42);
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.TabIndex = 0;
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.lbl_sort_primary);
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.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.TabStop = false;
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.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.Size = new System.Drawing.Size(75, 23);
this.btn_reload_src.TabIndex = 902;
@ -334,7 +371,7 @@ namespace photo_sorter
// 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.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.Size = new System.Drawing.Size(26, 23);
this.btn_open_src_dir.TabIndex = 901;
@ -345,7 +382,7 @@ namespace photo_sorter
// 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.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.Size = new System.Drawing.Size(26, 23);
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)
| 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.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.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.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.Size = new System.Drawing.Size(89, 13);
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.Name = "tbox_dest_dir";
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;
//
// 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.Controls.Add(this.rad_sort_move);
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.Size = new System.Drawing.Size(111, 71);
this.gbox_copybool.TabIndex = 4;
@ -433,7 +470,7 @@ namespace photo_sorter
| System.Windows.Forms.AnchorStyles.Right)));
this.tbox_sort_secondary.Location = new System.Drawing.Point(6, 123);
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;
//
// lbl_sort_secondary
@ -451,7 +488,7 @@ namespace photo_sorter
| System.Windows.Forms.AnchorStyles.Right)));
this.tbox_sort_primary.Location = new System.Drawing.Point(6, 79);
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;
//
// lbl_sort_primary
@ -470,9 +507,9 @@ namespace photo_sorter
this.toolStripSpacer,
this.stat_bar_label,
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.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.Text = "statusStrip1";
//
@ -486,7 +523,7 @@ namespace photo_sorter
// 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;
//
// stat_bar_label
@ -514,27 +551,27 @@ namespace photo_sorter
// split_container_main.Panel1
//
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
//
this.split_container_main.Panel2.Controls.Add(this.gbox_preview);
this.split_container_main.Panel2MinSize = 256;
this.split_container_main.Size = new System.Drawing.Size(1077, 539);
this.split_container_main.SplitterDistance = 359;
this.split_container_main.Panel2MinSize = 640;
this.split_container_main.Size = new System.Drawing.Size(1080, 546);
this.split_container_main.SplitterDistance = 360;
this.split_container_main.TabIndex = 4;
//
// form_main
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
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.menuStrip1);
this.Controls.Add(this.split_container_main);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
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.Text = "Skyfall Photo Sorter";
this.menuStrip1.ResumeLayout(false);
@ -563,10 +600,10 @@ namespace photo_sorter
private System.Windows.Forms.MenuStrip menuStrip1;
private System.Windows.Forms.ToolStripMenuItem fileToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem openDirectoryToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem quitApplicationToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem tsi_openDirectory;
private System.Windows.Forms.ToolStripMenuItem tsi_quitApplication;
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.PictureBox img_preview;
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.FolderBrowserDialog folderBrowserDialog1;
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.Label lbl_counter;
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_jpeg;
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.Configuration;
//using System.Collections.Generic;
//using System.ComponentModel;
//using System.Data;
@ -18,12 +19,51 @@ namespace photo_sorter
public form_main()
{
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
{
public static string dest = "";
public static string src;
public static string dest = Properties.Settings.Default.dest_dir;
public static string src = Properties.Settings.Default.src_dir;
public static string[] filenames;
public static int filecount;
public static int position = 0;
@ -90,6 +130,11 @@ namespace photo_sorter
tbox_source_dir.Text = global.src;
status_msg("Opening source directory: " + global.src);
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();
}
}
@ -100,6 +145,11 @@ namespace photo_sorter
{
global.dest = folderBrowserDialog1.SelectedPath;
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");
}
}
@ -210,6 +260,11 @@ namespace photo_sorter
if (rad_png.Checked)
ext = "png";
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;
}
@ -229,42 +284,45 @@ namespace photo_sorter
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Enter)
if (tsi_enableGlobalHotkeys.Checked)
{
sort_image();
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)
if (keyData == Keys.Enter)
{
status_msg("Loading first image...");
global.position = 0;
update_image();
sort_image();
return true;
}
return true;
}
if (keyData == Keys.End)
{
if (global.filecount > 1)
if (keyData == Keys.PageUp)
{
status_msg("Loading final image...");
global.position = global.filecount - 1;
update_image();
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...");
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);
}
@ -365,6 +423,11 @@ namespace photo_sorter
status_msg("Unable to move " + global.filenames[global.position] + " to " + dpath + "!", 4);
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
{
@ -394,6 +457,11 @@ namespace photo_sorter
status_msg("Unable to copy " + global.filenames[global.position] + " to " + dpath + "!", 4);
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)
{
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)
@ -454,6 +522,20 @@ namespace photo_sorter
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)
{

File diff suppressed because it is too large Load Diff

@ -8,22 +8,79 @@
// </auto-generated>
//------------------------------------------------------------------------------
namespace photo_sorter.Properties
{
namespace photo_sorter.Properties {
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.8.1.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
public static Settings Default {
get {
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'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="photo_sorter.Properties" GeneratedClassName="Settings">
<Profiles />
<Settings>
<Setting Name="global_hotkeys" Type="System.Boolean" Scope="User">
<Value Profile="(Default)">True</Value>
</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 Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.DirectoryServices" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />

Loading…
Cancel
Save