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:
Jaex 2021-12-11 23:32:48 +03:00
parent a2911f9e25
commit 7792e7d244
7 changed files with 112 additions and 28 deletions

View file

@ -93,6 +93,7 @@ public ApplicationConfig()
public string CustomScreenshotsPath = ""; public string CustomScreenshotsPath = "";
public string SaveImageSubFolderPattern = "%y-%mo"; public string SaveImageSubFolderPattern = "%y-%mo";
public string SaveImageSubFolderPatternWindow = "";
#endregion Paths #endregion Paths

View file

@ -123,6 +123,7 @@ private void InitializeComponent()
this.cbMainWindowTaskViewMode = new System.Windows.Forms.ComboBox(); this.cbMainWindowTaskViewMode = new System.Windows.Forms.ComboBox();
this.lblMainWindowTaskViewMode = new System.Windows.Forms.Label(); this.lblMainWindowTaskViewMode = new System.Windows.Forms.Label();
this.tpClipboardFormats = new System.Windows.Forms.TabPage(); this.tpClipboardFormats = new System.Windows.Forms.TabPage();
this.lblClipboardFormatsTip = new System.Windows.Forms.Label();
this.btnClipboardFormatEdit = new System.Windows.Forms.Button(); this.btnClipboardFormatEdit = new System.Windows.Forms.Button();
this.btnClipboardFormatRemove = new System.Windows.Forms.Button(); this.btnClipboardFormatRemove = new System.Windows.Forms.Button();
this.btnClipboardFormatAdd = 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.tpAdvanced = new System.Windows.Forms.TabPage();
this.pgSettings = new System.Windows.Forms.PropertyGrid(); this.pgSettings = new System.Windows.Forms.PropertyGrid();
this.tttvMain = new ShareX.HelpersLib.TabToTreeView(); 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.tcSettings.SuspendLayout();
this.tpGeneral.SuspendLayout(); this.tpGeneral.SuspendLayout();
this.tpTheme.SuspendLayout(); this.tpTheme.SuspendLayout();
@ -557,6 +559,8 @@ private void InitializeComponent()
// tpPaths // tpPaths
// //
this.tpPaths.BackColor = System.Drawing.SystemColors.Window; 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.btnPersonalFolderPathApply);
this.tpPaths.Controls.Add(this.btnOpenScreenshotsFolder); this.tpPaths.Controls.Add(this.btnOpenScreenshotsFolder);
this.tpPaths.Controls.Add(this.lblPreviewPersonalFolderPath); this.tpPaths.Controls.Add(this.lblPreviewPersonalFolderPath);
@ -958,6 +962,11 @@ private void InitializeComponent()
this.tpClipboardFormats.Name = "tpClipboardFormats"; this.tpClipboardFormats.Name = "tpClipboardFormats";
this.tpClipboardFormats.UseVisualStyleBackColor = true; this.tpClipboardFormats.UseVisualStyleBackColor = true;
// //
// lblClipboardFormatsTip
//
resources.ApplyResources(this.lblClipboardFormatsTip, "lblClipboardFormatsTip");
this.lblClipboardFormatsTip.Name = "lblClipboardFormatsTip";
//
// btnClipboardFormatEdit // btnClipboardFormatEdit
// //
resources.ApplyResources(this.btnClipboardFormatEdit, "btnClipboardFormatEdit"); resources.ApplyResources(this.btnClipboardFormatEdit, "btnClipboardFormatEdit");
@ -1394,10 +1403,16 @@ private void InitializeComponent()
this.tttvMain.TreeViewSize = 175; this.tttvMain.TreeViewSize = 175;
this.tttvMain.TabChanged += new ShareX.HelpersLib.TabToTreeView.TabChangedEventHandler(this.tttvMain_TabChanged); this.tttvMain.TabChanged += new ShareX.HelpersLib.TabToTreeView.TabChangedEventHandler(this.tttvMain_TabChanged);
// //
// lblClipboardFormatsTip // lblSaveImageSubFolderPatternWindow
// //
resources.ApplyResources(this.lblClipboardFormatsTip, "lblClipboardFormatsTip"); resources.ApplyResources(this.lblSaveImageSubFolderPatternWindow, "lblSaveImageSubFolderPatternWindow");
this.lblClipboardFormatsTip.Name = "lblClipboardFormatsTip"; this.lblSaveImageSubFolderPatternWindow.Name = "lblSaveImageSubFolderPatternWindow";
//
// txtSaveImageSubFolderPatternWindow
//
resources.ApplyResources(this.txtSaveImageSubFolderPatternWindow, "txtSaveImageSubFolderPatternWindow");
this.txtSaveImageSubFolderPatternWindow.Name = "txtSaveImageSubFolderPatternWindow";
this.txtSaveImageSubFolderPatternWindow.TextChanged += new System.EventHandler(this.txtSaveImageSubFolderPatternWindow_TextChanged);
// //
// ApplicationSettingsForm // ApplicationSettingsForm
// //
@ -1615,5 +1630,7 @@ private void InitializeComponent()
private System.Windows.Forms.Button btnThumbnailViewThumbnailSizeReset; private System.Windows.Forms.Button btnThumbnailViewThumbnailSizeReset;
private System.Windows.Forms.TabPage tpClipboardFormats; private System.Windows.Forms.TabPage tpClipboardFormats;
private System.Windows.Forms.Label lblClipboardFormatsTip; private System.Windows.Forms.Label lblClipboardFormatsTip;
private System.Windows.Forms.TextBox txtSaveImageSubFolderPatternWindow;
private System.Windows.Forms.Label lblSaveImageSubFolderPatternWindow;
} }
} }

View file

@ -90,6 +90,7 @@ private void InitializeControls()
eiTheme.ObjectType = typeof(ShareXTheme); eiTheme.ObjectType = typeof(ShareXTheme);
CodeMenu.Create<CodeMenuEntryFilename>(txtSaveImageSubFolderPattern, CodeMenuEntryFilename.t, CodeMenuEntryFilename.pn, CodeMenuEntryFilename.i, CodeMenuEntryFilename.width, CodeMenuEntryFilename.height, CodeMenuEntryFilename.n); 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>()); cbProxyMethod.Items.AddRange(Helpers.GetLocalizedEnumDescriptions<ProxyMethod>());
@ -169,6 +170,7 @@ private void UpdateControls()
cbUseCustomScreenshotsPath.Checked = Program.Settings.UseCustomScreenshotsPath; cbUseCustomScreenshotsPath.Checked = Program.Settings.UseCustomScreenshotsPath;
txtCustomScreenshotsPath.Text = Program.Settings.CustomScreenshotsPath; txtCustomScreenshotsPath.Text = Program.Settings.CustomScreenshotsPath;
txtSaveImageSubFolderPattern.Text = Program.Settings.SaveImageSubFolderPattern; txtSaveImageSubFolderPattern.Text = Program.Settings.SaveImageSubFolderPattern;
txtSaveImageSubFolderPatternWindow.Text = Program.Settings.SaveImageSubFolderPatternWindow;
// Settings // Settings
cbAutomaticallyCleanupBackupFiles.Checked = Program.Settings.AutoCleanupBackupFiles; cbAutomaticallyCleanupBackupFiles.Checked = Program.Settings.AutoCleanupBackupFiles;
@ -715,6 +717,11 @@ private void btnOpenScreenshotsFolder_Click(object sender, EventArgs e)
Helpers.OpenFolder(lblSaveImageSubFolderPatternPreview.Text); Helpers.OpenFolder(lblSaveImageSubFolderPatternPreview.Text);
} }
private void txtSaveImageSubFolderPatternWindow_TextChanged(object sender, EventArgs e)
{
Program.Settings.SaveImageSubFolderPatternWindow = Helpers.GetValidFolderPath(txtSaveImageSubFolderPatternWindow.Text);
}
#endregion Paths #endregion Paths
#region Settings #region Settings

View file

@ -1260,6 +1260,54 @@
<data name="&gt;&gt;tpIntegration.ZOrder" xml:space="preserve"> <data name="&gt;&gt;tpIntegration.ZOrder" xml:space="preserve">
<value>2</value> <value>2</value>
</data> </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="&gt;&gt;txtSaveImageSubFolderPatternWindow.Name" xml:space="preserve">
<value>txtSaveImageSubFolderPatternWindow</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;txtSaveImageSubFolderPatternWindow.Parent" xml:space="preserve">
<value>tpPaths</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;lblSaveImageSubFolderPatternWindow.Name" xml:space="preserve">
<value>lblSaveImageSubFolderPatternWindow</value>
</data>
<data name="&gt;&gt;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="&gt;&gt;lblSaveImageSubFolderPatternWindow.Parent" xml:space="preserve">
<value>tpPaths</value>
</data>
<data name="&gt;&gt;lblSaveImageSubFolderPatternWindow.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="btnPersonalFolderPathApply.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <data name="btnPersonalFolderPathApply.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value> <value>NoControl</value>
</data> </data>
@ -1270,7 +1318,7 @@
<value>96, 23</value> <value>96, 23</value>
</data> </data>
<data name="btnPersonalFolderPathApply.TabIndex" type="System.Int32, mscorlib"> <data name="btnPersonalFolderPathApply.TabIndex" type="System.Int32, mscorlib">
<value>13</value> <value>3</value>
</data> </data>
<data name="btnPersonalFolderPathApply.Text" xml:space="preserve"> <data name="btnPersonalFolderPathApply.Text" xml:space="preserve">
<value>Apply</value> <value>Apply</value>
@ -1285,7 +1333,7 @@
<value>tpPaths</value> <value>tpPaths</value>
</data> </data>
<data name="&gt;&gt;btnPersonalFolderPathApply.ZOrder" xml:space="preserve"> <data name="&gt;&gt;btnPersonalFolderPathApply.ZOrder" xml:space="preserve">
<value>0</value> <value>2</value>
</data> </data>
<data name="btnOpenScreenshotsFolder.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <data name="btnOpenScreenshotsFolder.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value> <value>NoControl</value>
@ -1312,7 +1360,7 @@
<value>tpPaths</value> <value>tpPaths</value>
</data> </data>
<data name="&gt;&gt;btnOpenScreenshotsFolder.ZOrder" xml:space="preserve"> <data name="&gt;&gt;btnOpenScreenshotsFolder.ZOrder" xml:space="preserve">
<value>1</value> <value>3</value>
</data> </data>
<data name="lblPreviewPersonalFolderPath.AutoSize" type="System.Boolean, mscorlib"> <data name="lblPreviewPersonalFolderPath.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@ -1327,7 +1375,7 @@
<value>16, 13</value> <value>16, 13</value>
</data> </data>
<data name="lblPreviewPersonalFolderPath.TabIndex" type="System.Int32, mscorlib"> <data name="lblPreviewPersonalFolderPath.TabIndex" type="System.Int32, mscorlib">
<value>4</value> <value>5</value>
</data> </data>
<data name="lblPreviewPersonalFolderPath.Text" xml:space="preserve"> <data name="lblPreviewPersonalFolderPath.Text" xml:space="preserve">
<value>...</value> <value>...</value>
@ -1342,7 +1390,7 @@
<value>tpPaths</value> <value>tpPaths</value>
</data> </data>
<data name="&gt;&gt;lblPreviewPersonalFolderPath.ZOrder" xml:space="preserve"> <data name="&gt;&gt;lblPreviewPersonalFolderPath.ZOrder" xml:space="preserve">
<value>2</value> <value>4</value>
</data> </data>
<data name="btnBrowsePersonalFolderPath.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <data name="btnBrowsePersonalFolderPath.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value> <value>NoControl</value>
@ -1369,7 +1417,7 @@
<value>tpPaths</value> <value>tpPaths</value>
</data> </data>
<data name="&gt;&gt;btnBrowsePersonalFolderPath.ZOrder" xml:space="preserve"> <data name="&gt;&gt;btnBrowsePersonalFolderPath.ZOrder" xml:space="preserve">
<value>3</value> <value>5</value>
</data> </data>
<data name="lblPersonalFolderPath.AutoSize" type="System.Boolean, mscorlib"> <data name="lblPersonalFolderPath.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@ -1399,7 +1447,7 @@
<value>tpPaths</value> <value>tpPaths</value>
</data> </data>
<data name="&gt;&gt;lblPersonalFolderPath.ZOrder" xml:space="preserve"> <data name="&gt;&gt;lblPersonalFolderPath.ZOrder" xml:space="preserve">
<value>4</value> <value>6</value>
</data> </data>
<data name="txtPersonalFolderPath.Location" type="System.Drawing.Point, System.Drawing"> <data name="txtPersonalFolderPath.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 32</value> <value>16, 32</value>
@ -1420,7 +1468,7 @@
<value>tpPaths</value> <value>tpPaths</value>
</data> </data>
<data name="&gt;&gt;txtPersonalFolderPath.ZOrder" xml:space="preserve"> <data name="&gt;&gt;txtPersonalFolderPath.ZOrder" xml:space="preserve">
<value>5</value> <value>7</value>
</data> </data>
<data name="btnBrowseCustomScreenshotsPath.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <data name="btnBrowseCustomScreenshotsPath.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value> <value>NoControl</value>
@ -1447,7 +1495,7 @@
<value>tpPaths</value> <value>tpPaths</value>
</data> </data>
<data name="&gt;&gt;btnBrowseCustomScreenshotsPath.ZOrder" xml:space="preserve"> <data name="&gt;&gt;btnBrowseCustomScreenshotsPath.ZOrder" xml:space="preserve">
<value>6</value> <value>8</value>
</data> </data>
<data name="btnOpenPersonalFolderPath.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms"> <data name="btnOpenPersonalFolderPath.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value> <value>NoControl</value>
@ -1459,7 +1507,7 @@
<value>96, 23</value> <value>96, 23</value>
</data> </data>
<data name="btnOpenPersonalFolderPath.TabIndex" type="System.Int32, mscorlib"> <data name="btnOpenPersonalFolderPath.TabIndex" type="System.Int32, mscorlib">
<value>3</value> <value>4</value>
</data> </data>
<data name="btnOpenPersonalFolderPath.Text" xml:space="preserve"> <data name="btnOpenPersonalFolderPath.Text" xml:space="preserve">
<value>Open...</value> <value>Open...</value>
@ -1474,7 +1522,7 @@
<value>tpPaths</value> <value>tpPaths</value>
</data> </data>
<data name="&gt;&gt;btnOpenPersonalFolderPath.ZOrder" xml:space="preserve"> <data name="&gt;&gt;btnOpenPersonalFolderPath.ZOrder" xml:space="preserve">
<value>7</value> <value>9</value>
</data> </data>
<data name="txtCustomScreenshotsPath.Location" type="System.Drawing.Point, System.Drawing"> <data name="txtCustomScreenshotsPath.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 112</value> <value>16, 112</value>
@ -1495,7 +1543,7 @@
<value>tpPaths</value> <value>tpPaths</value>
</data> </data>
<data name="&gt;&gt;txtCustomScreenshotsPath.ZOrder" xml:space="preserve"> <data name="&gt;&gt;txtCustomScreenshotsPath.ZOrder" xml:space="preserve">
<value>8</value> <value>10</value>
</data> </data>
<data name="cbUseCustomScreenshotsPath.AutoSize" type="System.Boolean, mscorlib"> <data name="cbUseCustomScreenshotsPath.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@ -1525,7 +1573,7 @@
<value>tpPaths</value> <value>tpPaths</value>
</data> </data>
<data name="&gt;&gt;cbUseCustomScreenshotsPath.ZOrder" xml:space="preserve"> <data name="&gt;&gt;cbUseCustomScreenshotsPath.ZOrder" xml:space="preserve">
<value>9</value> <value>11</value>
</data> </data>
<data name="lblSaveImageSubFolderPattern.AutoSize" type="System.Boolean, mscorlib"> <data name="lblSaveImageSubFolderPattern.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@ -1555,7 +1603,7 @@
<value>tpPaths</value> <value>tpPaths</value>
</data> </data>
<data name="&gt;&gt;lblSaveImageSubFolderPattern.ZOrder" xml:space="preserve"> <data name="&gt;&gt;lblSaveImageSubFolderPattern.ZOrder" xml:space="preserve">
<value>10</value> <value>12</value>
</data> </data>
<data name="lblSaveImageSubFolderPatternPreview.AutoSize" type="System.Boolean, mscorlib"> <data name="lblSaveImageSubFolderPatternPreview.AutoSize" type="System.Boolean, mscorlib">
<value>True</value> <value>True</value>
@ -1585,7 +1633,7 @@
<value>tpPaths</value> <value>tpPaths</value>
</data> </data>
<data name="&gt;&gt;lblSaveImageSubFolderPatternPreview.ZOrder" xml:space="preserve"> <data name="&gt;&gt;lblSaveImageSubFolderPatternPreview.ZOrder" xml:space="preserve">
<value>11</value> <value>13</value>
</data> </data>
<data name="txtSaveImageSubFolderPattern.Location" type="System.Drawing.Point, System.Drawing"> <data name="txtSaveImageSubFolderPattern.Location" type="System.Drawing.Point, System.Drawing">
<value>16, 160</value> <value>16, 160</value>
@ -1606,7 +1654,7 @@
<value>tpPaths</value> <value>tpPaths</value>
</data> </data>
<data name="&gt;&gt;txtSaveImageSubFolderPattern.ZOrder" xml:space="preserve"> <data name="&gt;&gt;txtSaveImageSubFolderPattern.ZOrder" xml:space="preserve">
<value>12</value> <value>14</value>
</data> </data>
<data name="tpPaths.Location" type="System.Drawing.Point, System.Drawing"> <data name="tpPaths.Location" type="System.Drawing.Point, System.Drawing">
<value>4, 22</value> <value>4, 22</value>

View file

@ -189,7 +189,7 @@ private static void StartRecording(ScreenRecordOutput outputType, TaskSettings t
{ {
extension = taskSettings.CaptureSettings.FFmpegOptions.Extension; extension = taskSettings.CaptureSettings.FFmpegOptions.Extension;
} }
string screenshotsFolder = TaskHelpers.GetScreenshotsFolder(taskSettings); string screenshotsFolder = TaskHelpers.GetScreenshotsFolder(taskSettings, metadata);
string fileName = TaskHelpers.GetFilename(taskSettings, extension, metadata); string fileName = TaskHelpers.GetFilename(taskSettings, extension, metadata);
path = TaskHelpers.HandleExistsFile(screenshotsFolder, fileName, taskSettings); 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) 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 fileName = TaskHelpers.GetFilename(taskSettings, taskSettings.CaptureSettings.FFmpegOptions.Extension, metadata);
string output = Path.Combine(screenshotsFolder, fileName); string output = Path.Combine(screenshotsFolder, fileName);

View file

@ -416,7 +416,7 @@ public static string GetFilename(TaskSettings taskSettings, string extension = n
nameParser.ProcessName = metadata.ProcessName; 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); filename = nameParser.Parse(taskSettings.UploadSettings.NameFormatPatternActiveWindow);
} }
@ -459,8 +459,19 @@ public static string GetScreenshotsFolder(TaskSettings taskSettings = null, Task
} }
else else
{ {
string subFolderPattern = nameParser.Parse(Program.Settings.SaveImageSubFolderPattern); string subFolderPattern;
screenshotsFolder = Path.Combine(Program.ScreenshotsParentFolder, 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); return Helpers.GetAbsolutePath(screenshotsFolder);

View file

@ -632,7 +632,7 @@ private bool DoAfterCaptureJobs()
if (Info.TaskSettings.AfterCaptureJob.HasFlag(AfterCaptureTasks.SaveImageToFile)) 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); string filePath = TaskHelpers.HandleExistsFile(screenshotsFolder, Info.FileName, Info.TaskSettings);
if (!string.IsNullOrEmpty(filePath)) if (!string.IsNullOrEmpty(filePath))
@ -655,7 +655,7 @@ private bool DoAfterCaptureJobs()
} }
else else
{ {
initialDirectory = TaskHelpers.GetScreenshotsFolder(Info.TaskSettings); initialDirectory = TaskHelpers.GetScreenshotsFolder(Info.TaskSettings, Info.Metadata);
} }
bool imageSaved; bool imageSaved;
@ -699,7 +699,7 @@ private bool DoAfterCaptureJobs()
else else
{ {
thumbnailFilename = Info.FileName; thumbnailFilename = Info.FileName;
thumbnailFolder = TaskHelpers.GetScreenshotsFolder(Info.TaskSettings); thumbnailFolder = TaskHelpers.GetScreenshotsFolder(Info.TaskSettings, Info.Metadata);
} }
Info.ThumbnailFilePath = TaskHelpers.CreateThumbnail(Image, thumbnailFolder, thumbnailFilename, Info.TaskSettings); Info.ThumbnailFilePath = TaskHelpers.CreateThumbnail(Image, thumbnailFolder, thumbnailFilename, Info.TaskSettings);