mirror of
https://github.com/ShareX/ShareX.git
synced 2024-06-28 11:10:23 +12:00
fixed #228: Added screenshot sub folder pattern for window, that way process name or window title can be used in folder names
This commit is contained in:
parent
a2911f9e25
commit
7792e7d244
|
@ -93,6 +93,7 @@ public ApplicationConfig()
|
|||
public string CustomScreenshotsPath = "";
|
||||
|
||||
public string SaveImageSubFolderPattern = "%y-%mo";
|
||||
public string SaveImageSubFolderPatternWindow = "";
|
||||
|
||||
#endregion Paths
|
||||
|
||||
|
|
25
ShareX/Forms/ApplicationSettingsForm.Designer.cs
generated
25
ShareX/Forms/ApplicationSettingsForm.Designer.cs
generated
|
@ -123,6 +123,7 @@ private void InitializeComponent()
|
|||
this.cbMainWindowTaskViewMode = new System.Windows.Forms.ComboBox();
|
||||
this.lblMainWindowTaskViewMode = new System.Windows.Forms.Label();
|
||||
this.tpClipboardFormats = new System.Windows.Forms.TabPage();
|
||||
this.lblClipboardFormatsTip = new System.Windows.Forms.Label();
|
||||
this.btnClipboardFormatEdit = new System.Windows.Forms.Button();
|
||||
this.btnClipboardFormatRemove = new System.Windows.Forms.Button();
|
||||
this.btnClipboardFormatAdd = new System.Windows.Forms.Button();
|
||||
|
@ -178,7 +179,8 @@ private void InitializeComponent()
|
|||
this.tpAdvanced = new System.Windows.Forms.TabPage();
|
||||
this.pgSettings = new System.Windows.Forms.PropertyGrid();
|
||||
this.tttvMain = new ShareX.HelpersLib.TabToTreeView();
|
||||
this.lblClipboardFormatsTip = new System.Windows.Forms.Label();
|
||||
this.lblSaveImageSubFolderPatternWindow = new System.Windows.Forms.Label();
|
||||
this.txtSaveImageSubFolderPatternWindow = new System.Windows.Forms.TextBox();
|
||||
this.tcSettings.SuspendLayout();
|
||||
this.tpGeneral.SuspendLayout();
|
||||
this.tpTheme.SuspendLayout();
|
||||
|
@ -557,6 +559,8 @@ private void InitializeComponent()
|
|||
// tpPaths
|
||||
//
|
||||
this.tpPaths.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.tpPaths.Controls.Add(this.txtSaveImageSubFolderPatternWindow);
|
||||
this.tpPaths.Controls.Add(this.lblSaveImageSubFolderPatternWindow);
|
||||
this.tpPaths.Controls.Add(this.btnPersonalFolderPathApply);
|
||||
this.tpPaths.Controls.Add(this.btnOpenScreenshotsFolder);
|
||||
this.tpPaths.Controls.Add(this.lblPreviewPersonalFolderPath);
|
||||
|
@ -958,6 +962,11 @@ private void InitializeComponent()
|
|||
this.tpClipboardFormats.Name = "tpClipboardFormats";
|
||||
this.tpClipboardFormats.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// lblClipboardFormatsTip
|
||||
//
|
||||
resources.ApplyResources(this.lblClipboardFormatsTip, "lblClipboardFormatsTip");
|
||||
this.lblClipboardFormatsTip.Name = "lblClipboardFormatsTip";
|
||||
//
|
||||
// btnClipboardFormatEdit
|
||||
//
|
||||
resources.ApplyResources(this.btnClipboardFormatEdit, "btnClipboardFormatEdit");
|
||||
|
@ -1394,10 +1403,16 @@ private void InitializeComponent()
|
|||
this.tttvMain.TreeViewSize = 175;
|
||||
this.tttvMain.TabChanged += new ShareX.HelpersLib.TabToTreeView.TabChangedEventHandler(this.tttvMain_TabChanged);
|
||||
//
|
||||
// lblClipboardFormatsTip
|
||||
// lblSaveImageSubFolderPatternWindow
|
||||
//
|
||||
resources.ApplyResources(this.lblClipboardFormatsTip, "lblClipboardFormatsTip");
|
||||
this.lblClipboardFormatsTip.Name = "lblClipboardFormatsTip";
|
||||
resources.ApplyResources(this.lblSaveImageSubFolderPatternWindow, "lblSaveImageSubFolderPatternWindow");
|
||||
this.lblSaveImageSubFolderPatternWindow.Name = "lblSaveImageSubFolderPatternWindow";
|
||||
//
|
||||
// txtSaveImageSubFolderPatternWindow
|
||||
//
|
||||
resources.ApplyResources(this.txtSaveImageSubFolderPatternWindow, "txtSaveImageSubFolderPatternWindow");
|
||||
this.txtSaveImageSubFolderPatternWindow.Name = "txtSaveImageSubFolderPatternWindow";
|
||||
this.txtSaveImageSubFolderPatternWindow.TextChanged += new System.EventHandler(this.txtSaveImageSubFolderPatternWindow_TextChanged);
|
||||
//
|
||||
// ApplicationSettingsForm
|
||||
//
|
||||
|
@ -1615,5 +1630,7 @@ private void InitializeComponent()
|
|||
private System.Windows.Forms.Button btnThumbnailViewThumbnailSizeReset;
|
||||
private System.Windows.Forms.TabPage tpClipboardFormats;
|
||||
private System.Windows.Forms.Label lblClipboardFormatsTip;
|
||||
private System.Windows.Forms.TextBox txtSaveImageSubFolderPatternWindow;
|
||||
private System.Windows.Forms.Label lblSaveImageSubFolderPatternWindow;
|
||||
}
|
||||
}
|
|
@ -90,6 +90,7 @@ private void InitializeControls()
|
|||
eiTheme.ObjectType = typeof(ShareXTheme);
|
||||
|
||||
CodeMenu.Create<CodeMenuEntryFilename>(txtSaveImageSubFolderPattern, CodeMenuEntryFilename.t, CodeMenuEntryFilename.pn, CodeMenuEntryFilename.i, CodeMenuEntryFilename.width, CodeMenuEntryFilename.height, CodeMenuEntryFilename.n);
|
||||
CodeMenu.Create<CodeMenuEntryFilename>(txtSaveImageSubFolderPatternWindow, CodeMenuEntryFilename.i, CodeMenuEntryFilename.n);
|
||||
|
||||
cbProxyMethod.Items.AddRange(Helpers.GetLocalizedEnumDescriptions<ProxyMethod>());
|
||||
|
||||
|
@ -169,6 +170,7 @@ private void UpdateControls()
|
|||
cbUseCustomScreenshotsPath.Checked = Program.Settings.UseCustomScreenshotsPath;
|
||||
txtCustomScreenshotsPath.Text = Program.Settings.CustomScreenshotsPath;
|
||||
txtSaveImageSubFolderPattern.Text = Program.Settings.SaveImageSubFolderPattern;
|
||||
txtSaveImageSubFolderPatternWindow.Text = Program.Settings.SaveImageSubFolderPatternWindow;
|
||||
|
||||
// Settings
|
||||
cbAutomaticallyCleanupBackupFiles.Checked = Program.Settings.AutoCleanupBackupFiles;
|
||||
|
@ -715,6 +717,11 @@ private void btnOpenScreenshotsFolder_Click(object sender, EventArgs e)
|
|||
Helpers.OpenFolder(lblSaveImageSubFolderPatternPreview.Text);
|
||||
}
|
||||
|
||||
private void txtSaveImageSubFolderPatternWindow_TextChanged(object sender, EventArgs e)
|
||||
{
|
||||
Program.Settings.SaveImageSubFolderPatternWindow = Helpers.GetValidFolderPath(txtSaveImageSubFolderPatternWindow.Text);
|
||||
}
|
||||
|
||||
#endregion Paths
|
||||
|
||||
#region Settings
|
||||
|
|
|
@ -1260,6 +1260,54 @@
|
|||
<data name=">>tpIntegration.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="txtSaveImageSubFolderPatternWindow.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 232</value>
|
||||
</data>
|
||||
<data name="txtSaveImageSubFolderPatternWindow.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>408, 20</value>
|
||||
</data>
|
||||
<data name="txtSaveImageSubFolderPatternWindow.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>14</value>
|
||||
</data>
|
||||
<data name=">>txtSaveImageSubFolderPatternWindow.Name" xml:space="preserve">
|
||||
<value>txtSaveImageSubFolderPatternWindow</value>
|
||||
</data>
|
||||
<data name=">>txtSaveImageSubFolderPatternWindow.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.TextBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>txtSaveImageSubFolderPatternWindow.Parent" xml:space="preserve">
|
||||
<value>tpPaths</value>
|
||||
</data>
|
||||
<data name=">>txtSaveImageSubFolderPatternWindow.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
</data>
|
||||
<data name="lblSaveImageSubFolderPatternWindow.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
</data>
|
||||
<data name="lblSaveImageSubFolderPatternWindow.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>13, 216</value>
|
||||
</data>
|
||||
<data name="lblSaveImageSubFolderPatternWindow.Size" type="System.Drawing.Size, System.Drawing">
|
||||
<value>148, 13</value>
|
||||
</data>
|
||||
<data name="lblSaveImageSubFolderPatternWindow.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name="lblSaveImageSubFolderPatternWindow.Text" xml:space="preserve">
|
||||
<value>Sub folder pattern for window:</value>
|
||||
</data>
|
||||
<data name=">>lblSaveImageSubFolderPatternWindow.Name" xml:space="preserve">
|
||||
<value>lblSaveImageSubFolderPatternWindow</value>
|
||||
</data>
|
||||
<data name=">>lblSaveImageSubFolderPatternWindow.Type" xml:space="preserve">
|
||||
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</data>
|
||||
<data name=">>lblSaveImageSubFolderPatternWindow.Parent" xml:space="preserve">
|
||||
<value>tpPaths</value>
|
||||
</data>
|
||||
<data name=">>lblSaveImageSubFolderPatternWindow.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
</data>
|
||||
<data name="btnPersonalFolderPathApply.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
</data>
|
||||
|
@ -1270,7 +1318,7 @@
|
|||
<value>96, 23</value>
|
||||
</data>
|
||||
<data name="btnPersonalFolderPathApply.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>13</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="btnPersonalFolderPathApply.Text" xml:space="preserve">
|
||||
<value>Apply</value>
|
||||
|
@ -1285,7 +1333,7 @@
|
|||
<value>tpPaths</value>
|
||||
</data>
|
||||
<data name=">>btnPersonalFolderPathApply.ZOrder" xml:space="preserve">
|
||||
<value>0</value>
|
||||
<value>2</value>
|
||||
</data>
|
||||
<data name="btnOpenScreenshotsFolder.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
|
@ -1312,7 +1360,7 @@
|
|||
<value>tpPaths</value>
|
||||
</data>
|
||||
<data name=">>btnOpenScreenshotsFolder.ZOrder" xml:space="preserve">
|
||||
<value>1</value>
|
||||
<value>3</value>
|
||||
</data>
|
||||
<data name="lblPreviewPersonalFolderPath.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -1327,7 +1375,7 @@
|
|||
<value>16, 13</value>
|
||||
</data>
|
||||
<data name="lblPreviewPersonalFolderPath.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>4</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="lblPreviewPersonalFolderPath.Text" xml:space="preserve">
|
||||
<value>...</value>
|
||||
|
@ -1342,7 +1390,7 @@
|
|||
<value>tpPaths</value>
|
||||
</data>
|
||||
<data name=">>lblPreviewPersonalFolderPath.ZOrder" xml:space="preserve">
|
||||
<value>2</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="btnBrowsePersonalFolderPath.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
|
@ -1369,7 +1417,7 @@
|
|||
<value>tpPaths</value>
|
||||
</data>
|
||||
<data name=">>btnBrowsePersonalFolderPath.ZOrder" xml:space="preserve">
|
||||
<value>3</value>
|
||||
<value>5</value>
|
||||
</data>
|
||||
<data name="lblPersonalFolderPath.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -1399,7 +1447,7 @@
|
|||
<value>tpPaths</value>
|
||||
</data>
|
||||
<data name=">>lblPersonalFolderPath.ZOrder" xml:space="preserve">
|
||||
<value>4</value>
|
||||
<value>6</value>
|
||||
</data>
|
||||
<data name="txtPersonalFolderPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 32</value>
|
||||
|
@ -1420,7 +1468,7 @@
|
|||
<value>tpPaths</value>
|
||||
</data>
|
||||
<data name=">>txtPersonalFolderPath.ZOrder" xml:space="preserve">
|
||||
<value>5</value>
|
||||
<value>7</value>
|
||||
</data>
|
||||
<data name="btnBrowseCustomScreenshotsPath.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
|
@ -1447,7 +1495,7 @@
|
|||
<value>tpPaths</value>
|
||||
</data>
|
||||
<data name=">>btnBrowseCustomScreenshotsPath.ZOrder" xml:space="preserve">
|
||||
<value>6</value>
|
||||
<value>8</value>
|
||||
</data>
|
||||
<data name="btnOpenPersonalFolderPath.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
|
||||
<value>NoControl</value>
|
||||
|
@ -1459,7 +1507,7 @@
|
|||
<value>96, 23</value>
|
||||
</data>
|
||||
<data name="btnOpenPersonalFolderPath.TabIndex" type="System.Int32, mscorlib">
|
||||
<value>3</value>
|
||||
<value>4</value>
|
||||
</data>
|
||||
<data name="btnOpenPersonalFolderPath.Text" xml:space="preserve">
|
||||
<value>Open...</value>
|
||||
|
@ -1474,7 +1522,7 @@
|
|||
<value>tpPaths</value>
|
||||
</data>
|
||||
<data name=">>btnOpenPersonalFolderPath.ZOrder" xml:space="preserve">
|
||||
<value>7</value>
|
||||
<value>9</value>
|
||||
</data>
|
||||
<data name="txtCustomScreenshotsPath.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 112</value>
|
||||
|
@ -1495,7 +1543,7 @@
|
|||
<value>tpPaths</value>
|
||||
</data>
|
||||
<data name=">>txtCustomScreenshotsPath.ZOrder" xml:space="preserve">
|
||||
<value>8</value>
|
||||
<value>10</value>
|
||||
</data>
|
||||
<data name="cbUseCustomScreenshotsPath.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -1525,7 +1573,7 @@
|
|||
<value>tpPaths</value>
|
||||
</data>
|
||||
<data name=">>cbUseCustomScreenshotsPath.ZOrder" xml:space="preserve">
|
||||
<value>9</value>
|
||||
<value>11</value>
|
||||
</data>
|
||||
<data name="lblSaveImageSubFolderPattern.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -1555,7 +1603,7 @@
|
|||
<value>tpPaths</value>
|
||||
</data>
|
||||
<data name=">>lblSaveImageSubFolderPattern.ZOrder" xml:space="preserve">
|
||||
<value>10</value>
|
||||
<value>12</value>
|
||||
</data>
|
||||
<data name="lblSaveImageSubFolderPatternPreview.AutoSize" type="System.Boolean, mscorlib">
|
||||
<value>True</value>
|
||||
|
@ -1585,7 +1633,7 @@
|
|||
<value>tpPaths</value>
|
||||
</data>
|
||||
<data name=">>lblSaveImageSubFolderPatternPreview.ZOrder" xml:space="preserve">
|
||||
<value>11</value>
|
||||
<value>13</value>
|
||||
</data>
|
||||
<data name="txtSaveImageSubFolderPattern.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>16, 160</value>
|
||||
|
@ -1606,7 +1654,7 @@
|
|||
<value>tpPaths</value>
|
||||
</data>
|
||||
<data name=">>txtSaveImageSubFolderPattern.ZOrder" xml:space="preserve">
|
||||
<value>12</value>
|
||||
<value>14</value>
|
||||
</data>
|
||||
<data name="tpPaths.Location" type="System.Drawing.Point, System.Drawing">
|
||||
<value>4, 22</value>
|
||||
|
|
|
@ -189,7 +189,7 @@ private static void StartRecording(ScreenRecordOutput outputType, TaskSettings t
|
|||
{
|
||||
extension = taskSettings.CaptureSettings.FFmpegOptions.Extension;
|
||||
}
|
||||
string screenshotsFolder = TaskHelpers.GetScreenshotsFolder(taskSettings);
|
||||
string screenshotsFolder = TaskHelpers.GetScreenshotsFolder(taskSettings, metadata);
|
||||
string fileName = TaskHelpers.GetFilename(taskSettings, extension, metadata);
|
||||
path = TaskHelpers.HandleExistsFile(screenshotsFolder, fileName, taskSettings);
|
||||
|
||||
|
@ -321,7 +321,7 @@ private static void ScreenRecorder_EncodingProgressChanged(int progress)
|
|||
|
||||
private static string ProcessTwoPassEncoding(string input, TaskMetadata metadata, TaskSettings taskSettings, bool deleteInputFile = true)
|
||||
{
|
||||
string screenshotsFolder = TaskHelpers.GetScreenshotsFolder(taskSettings);
|
||||
string screenshotsFolder = TaskHelpers.GetScreenshotsFolder(taskSettings, metadata);
|
||||
string fileName = TaskHelpers.GetFilename(taskSettings, taskSettings.CaptureSettings.FFmpegOptions.Extension, metadata);
|
||||
string output = Path.Combine(screenshotsFolder, fileName);
|
||||
|
||||
|
|
|
@ -416,7 +416,7 @@ public static string GetFilename(TaskSettings taskSettings, string extension = n
|
|||
nameParser.ProcessName = metadata.ProcessName;
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(nameParser.WindowText))
|
||||
if (!string.IsNullOrEmpty(taskSettings.UploadSettings.NameFormatPatternActiveWindow) && !string.IsNullOrEmpty(nameParser.WindowText))
|
||||
{
|
||||
filename = nameParser.Parse(taskSettings.UploadSettings.NameFormatPatternActiveWindow);
|
||||
}
|
||||
|
@ -459,8 +459,19 @@ public static string GetScreenshotsFolder(TaskSettings taskSettings = null, Task
|
|||
}
|
||||
else
|
||||
{
|
||||
string subFolderPattern = nameParser.Parse(Program.Settings.SaveImageSubFolderPattern);
|
||||
screenshotsFolder = Path.Combine(Program.ScreenshotsParentFolder, subFolderPattern);
|
||||
string subFolderPattern;
|
||||
|
||||
if (!string.IsNullOrEmpty(Program.Settings.SaveImageSubFolderPatternWindow) && !string.IsNullOrEmpty(nameParser.WindowText))
|
||||
{
|
||||
subFolderPattern = Program.Settings.SaveImageSubFolderPatternWindow;
|
||||
}
|
||||
else
|
||||
{
|
||||
subFolderPattern = Program.Settings.SaveImageSubFolderPattern;
|
||||
}
|
||||
|
||||
string subFolderPath = nameParser.Parse(subFolderPattern);
|
||||
screenshotsFolder = Path.Combine(Program.ScreenshotsParentFolder, subFolderPath);
|
||||
}
|
||||
|
||||
return Helpers.GetAbsolutePath(screenshotsFolder);
|
||||
|
|
|
@ -632,7 +632,7 @@ private bool DoAfterCaptureJobs()
|
|||
|
||||
if (Info.TaskSettings.AfterCaptureJob.HasFlag(AfterCaptureTasks.SaveImageToFile))
|
||||
{
|
||||
string screenshotsFolder = TaskHelpers.GetScreenshotsFolder(Info.TaskSettings);
|
||||
string screenshotsFolder = TaskHelpers.GetScreenshotsFolder(Info.TaskSettings, Info.Metadata);
|
||||
string filePath = TaskHelpers.HandleExistsFile(screenshotsFolder, Info.FileName, Info.TaskSettings);
|
||||
|
||||
if (!string.IsNullOrEmpty(filePath))
|
||||
|
@ -655,7 +655,7 @@ private bool DoAfterCaptureJobs()
|
|||
}
|
||||
else
|
||||
{
|
||||
initialDirectory = TaskHelpers.GetScreenshotsFolder(Info.TaskSettings);
|
||||
initialDirectory = TaskHelpers.GetScreenshotsFolder(Info.TaskSettings, Info.Metadata);
|
||||
}
|
||||
|
||||
bool imageSaved;
|
||||
|
@ -699,7 +699,7 @@ private bool DoAfterCaptureJobs()
|
|||
else
|
||||
{
|
||||
thumbnailFilename = Info.FileName;
|
||||
thumbnailFolder = TaskHelpers.GetScreenshotsFolder(Info.TaskSettings);
|
||||
thumbnailFolder = TaskHelpers.GetScreenshotsFolder(Info.TaskSettings, Info.Metadata);
|
||||
}
|
||||
|
||||
Info.ThumbnailFilePath = TaskHelpers.CreateThumbnail(Image, thumbnailFolder, thumbnailFilename, Info.TaskSettings);
|
||||
|
|
Loading…
Reference in a new issue