Support image preview navigation in main window list view too

This commit is contained in:
Jaex 2022-03-31 15:49:21 +03:00
parent 52132807b0
commit 112427071b
5 changed files with 426 additions and 436 deletions

View file

@ -77,8 +77,9 @@ private void LoadCurrentImage()
CurrentImageFilePath = Images[CurrentImageIndex];
Image img = ImageHelpers.LoadImage(CurrentImageFilePath);
LoadImage(img);
UpdateStatusLabel();
}
UpdateStatusLabel();
}
private void NavigateImage(int position)
@ -127,7 +128,7 @@ private void FilterImageFiles()
}
else
{
CurrentImageIndex = 0;
CurrentImageIndex = Math.Max(filteredImages.Count - 1, 0);
}
}
@ -162,7 +163,10 @@ private void UpdateStatusLabel()
sbStatus.Append($" ({CurrentImage.Width} x {CurrentImage.Height})");
}
lblStatus.Text = sbStatus.ToString().Trim();
string status = sbStatus.ToString().Trim();
lblStatus.Visible = !string.IsNullOrEmpty(status);
lblStatus.Text = status;
lblStatus.Location = new Point((ClientSize.Width - lblStatus.Width) / 2, 0);
}
@ -197,11 +201,11 @@ public static void ShowImage(string filePath)
}
}
public static void ShowImage(string[] images, int currentImageIndex = 0)
public static void ShowImage(string[] files, int imageIndex = 0)
{
if (images != null && images.Length > 0)
if (files != null && files.Length > 0)
{
using (ImageViewer viewer = new ImageViewer(images, currentImageIndex))
using (ImageViewer viewer = new ImageViewer(files, imageIndex))
{
viewer.ShowDialog();
}
@ -245,7 +249,7 @@ private void pbPreview_MouseClick(object sender, MouseEventArgs e)
private void pbPreview_MouseMove(object sender, MouseEventArgs e)
{
lblStatus.Visible = !new Rectangle(lblStatus.Location, lblStatus.Size).Contains(e.Location);
lblStatus.Visible = !string.IsNullOrEmpty(lblStatus.Text) && !new Rectangle(lblStatus.Location, lblStatus.Size).Contains(e.Location);
lblLeft.Visible = CanNavigateLeft && new Rectangle(lblLeft.Location, lblLeft.Size).Contains(e.Location);
lblRight.Visible = CanNavigateRight && new Rectangle(lblRight.Location, lblRight.Size).Contains(e.Location);
}

View file

@ -232,6 +232,7 @@ private void InitializeComponent()
this.tssTrayTools1 = new System.Windows.Forms.ToolStripSeparator();
this.tsmiTrayImageEditor = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayImageEffects = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayImageViewer = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayImageCombiner = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayImageSplitter = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayImageThumbnailer = new System.Windows.Forms.ToolStripMenuItem();
@ -280,7 +281,6 @@ private void InitializeComponent()
this.ucTaskThumbnailView = new ShareX.TaskThumbnailView();
this.ttMain = new System.Windows.Forms.ToolTip(this.components);
this.pToolbars = new System.Windows.Forms.Panel();
this.tsmiTrayImageViewer = new System.Windows.Forms.ToolStripMenuItem();
((System.ComponentModel.ISupportInitialize)(this.scMain)).BeginInit();
this.scMain.Panel1.SuspendLayout();
this.scMain.Panel2.SuspendLayout();
@ -380,10 +380,10 @@ private void InitializeComponent()
resources.ApplyResources(this.pbPreview, "pbPreview");
this.pbPreview.DrawCheckeredBackground = true;
this.pbPreview.EnableRightClickMenu = true;
this.pbPreview.FullscreenOnClick = true;
this.pbPreview.Name = "pbPreview";
this.pbPreview.PictureBoxBackColor = System.Drawing.SystemColors.Control;
this.pbPreview.ShowImageSizeLabel = true;
this.pbPreview.MouseDown += new System.Windows.Forms.MouseEventHandler(this.pbPreview_MouseDown);
//
// tsMain
//
@ -1863,6 +1863,13 @@ private void InitializeComponent()
resources.ApplyResources(this.tsmiTrayImageEffects, "tsmiTrayImageEffects");
this.tsmiTrayImageEffects.Click += new System.EventHandler(this.tsmiImageEffects_Click);
//
// tsmiTrayImageViewer
//
this.tsmiTrayImageViewer.Image = global::ShareX.Properties.Resources.images_flickr;
this.tsmiTrayImageViewer.Name = "tsmiTrayImageViewer";
resources.ApplyResources(this.tsmiTrayImageViewer, "tsmiTrayImageViewer");
this.tsmiTrayImageViewer.Click += new System.EventHandler(this.tsmiImageViewer_Click);
//
// tsmiTrayImageCombiner
//
this.tsmiTrayImageCombiner.Image = global::ShareX.Properties.Resources.document_break;
@ -2193,13 +2200,6 @@ private void InitializeComponent()
this.pToolbars.Controls.Add(this.tsMain);
this.pToolbars.Name = "pToolbars";
//
// tsmiTrayImageViewer
//
this.tsmiTrayImageViewer.Image = global::ShareX.Properties.Resources.images_flickr;
this.tsmiTrayImageViewer.Name = "tsmiTrayImageViewer";
resources.ApplyResources(this.tsmiTrayImageViewer, "tsmiTrayImageViewer");
this.tsmiTrayImageViewer.Click += new System.EventHandler(this.tsmiImageViewer_Click);
//
// MainForm
//
this.AllowDrop = true;

View file

@ -1452,6 +1452,16 @@ private void lvUploads_KeyDown(object sender, KeyEventArgs e)
e.Handled = e.SuppressKeyPress = true;
}
private void pbPreview_MouseDown(object sender, MouseEventArgs e)
{
if (lvUploads.SelectedIndices.Count > 0)
{
string[] files = lvUploads.Items.Cast<ListViewItem>().Select(x => ((WorkerTask)x.Tag).Info?.FilePath).ToArray();
int index = lvUploads.SelectedIndices[0];
ImageViewer.ShowImage(files, index);
}
}
private void ucTaskThumbnailView_SelectedPanelChanged(object sender, EventArgs e)
{
UpdateInfoManager();

View file

@ -159,6 +159,45 @@
<data name="&gt;&gt;lblListViewTip.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="chFilename.Text" xml:space="preserve">
<value>Filename</value>
</data>
<data name="chFilename.Width" type="System.Int32, mscorlib">
<value>150</value>
</data>
<data name="chStatus.Text" xml:space="preserve">
<value>Status</value>
</data>
<data name="chProgress.Text" xml:space="preserve">
<value>Progress</value>
</data>
<data name="chProgress.Width" type="System.Int32, mscorlib">
<value>125</value>
</data>
<data name="chSpeed.Text" xml:space="preserve">
<value>Speed</value>
</data>
<data name="chSpeed.Width" type="System.Int32, mscorlib">
<value>75</value>
</data>
<data name="chElapsed.Text" xml:space="preserve">
<value>Elapsed</value>
</data>
<data name="chElapsed.Width" type="System.Int32, mscorlib">
<value>45</value>
</data>
<data name="chRemaining.Text" xml:space="preserve">
<value>Remaining</value>
</data>
<data name="chRemaining.Width" type="System.Int32, mscorlib">
<value>45</value>
</data>
<data name="chURL.Text" xml:space="preserve">
<value>URL</value>
</data>
<data name="chURL.Width" type="System.Int32, mscorlib">
<value>145</value>
</data>
<data name="lvUploads.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
@ -255,90 +294,12 @@
<data name="&gt;&gt;scMain.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="chFilename.Text" xml:space="preserve">
<value>Filename</value>
</data>
<data name="chFilename.Width" type="System.Int32, mscorlib">
<value>150</value>
</data>
<data name="chStatus.Text" xml:space="preserve">
<value>Status</value>
</data>
<data name="chProgress.Text" xml:space="preserve">
<value>Progress</value>
</data>
<data name="chProgress.Width" type="System.Int32, mscorlib">
<value>125</value>
</data>
<data name="chSpeed.Text" xml:space="preserve">
<value>Speed</value>
</data>
<data name="chSpeed.Width" type="System.Int32, mscorlib">
<value>75</value>
</data>
<data name="chElapsed.Text" xml:space="preserve">
<value>Elapsed</value>
</data>
<data name="chElapsed.Width" type="System.Int32, mscorlib">
<value>45</value>
</data>
<data name="chRemaining.Text" xml:space="preserve">
<value>Remaining</value>
</data>
<data name="chRemaining.Width" type="System.Int32, mscorlib">
<value>45</value>
</data>
<data name="chURL.Text" xml:space="preserve">
<value>URL</value>
</data>
<data name="chURL.Width" type="System.Int32, mscorlib">
<value>145</value>
</data>
<metadata name="tsMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="tsMain.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="tsMain.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="tsMain.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>165, 0</value>
</data>
<data name="tsMain.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>6, 5, 6, 2</value>
</data>
<data name="tsMain.Size" type="System.Drawing.Size, System.Drawing">
<value>165, 471</value>
</data>
<data name="tsMain.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;tsMain.Name" xml:space="preserve">
<value>tsMain</value>
</data>
<data name="&gt;&gt;tsMain.Type" xml:space="preserve">
<value>ShareX.HelpersLib.ToolStripBorderRight, ShareX.HelpersLib, Version=13.7.2.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;tsMain.Parent" xml:space="preserve">
<value>pToolbars</value>
</data>
<data name="&gt;&gt;tsMain.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="tsddbCapture.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="tsddbCapture.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsddbCapture.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 20</value>
</data>
<data name="tsddbCapture.Text" xml:space="preserve">
<value>Capture</value>
</data>
<data name="tsmiFullscreen.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
@ -420,12 +381,6 @@
<data name="tsmiShowCursor.Text" xml:space="preserve">
<value>Show cursor</value>
</data>
<data name="tsmiScreenshotDelay.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiScreenshotDelay.Text" xml:space="preserve">
<value>Screenshot delay</value>
</data>
<data name="tsmiScreenshotDelay0.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 22</value>
</data>
@ -462,17 +417,23 @@
<data name="tsmiScreenshotDelay5.Text" xml:space="preserve">
<value>5 seconds</value>
</data>
<data name="tsddbUpload.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<data name="tsmiScreenshotDelay.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiScreenshotDelay.Text" xml:space="preserve">
<value>Screenshot delay</value>
</data>
<data name="tsddbCapture.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="tsddbUpload.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<data name="tsddbCapture.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsddbUpload.Size" type="System.Drawing.Size, System.Drawing">
<data name="tsddbCapture.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 20</value>
</data>
<data name="tsddbUpload.Text" xml:space="preserve">
<value>Upload</value>
<data name="tsddbCapture.Text" xml:space="preserve">
<value>Capture</value>
</data>
<data name="tsmiUploadFile.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
@ -522,6 +483,18 @@
<data name="tsmiTweetMessage.Text" xml:space="preserve">
<value>Tweet message...</value>
</data>
<data name="tsddbUpload.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="tsddbUpload.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsddbUpload.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 20</value>
</data>
<data name="tsddbUpload.Text" xml:space="preserve">
<value>Upload</value>
</data>
<data name="tsddbWorkflows.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>BottomLeft</value>
</data>
@ -534,18 +507,6 @@
<data name="tsddbWorkflows.Text" xml:space="preserve">
<value>Workflows</value>
</data>
<data name="tsddbTools.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="tsddbTools.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsddbTools.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 20</value>
</data>
<data name="tsddbTools.Text" xml:space="preserve">
<value>Tools</value>
</data>
<data name="tsmiColorPicker.Size" type="System.Drawing.Size, System.Drawing">
<value>184, 22</value>
</data>
@ -672,6 +633,18 @@
<data name="tsmiDNSChanger.Text" xml:space="preserve">
<value>DNS changer...</value>
</data>
<data name="tsddbTools.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="tsddbTools.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsddbTools.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 20</value>
</data>
<data name="tsddbTools.Text" xml:space="preserve">
<value>Tools</value>
</data>
<data name="tssMain1.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 6</value>
</data>
@ -699,18 +672,6 @@
<data name="tsddbAfterUploadTasks.Text" xml:space="preserve">
<value>After upload tasks</value>
</data>
<data name="tsddbDestinations.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="tsddbDestinations.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsddbDestinations.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 20</value>
</data>
<data name="tsddbDestinations.Text" xml:space="preserve">
<value>Destinations</value>
</data>
<data name="tsmiImageUploaders.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
@ -756,6 +717,18 @@
<data name="tsmiCustomUploaderSettings.Text" xml:space="preserve">
<value>Custom uploader settings...</value>
</data>
<data name="tsddbDestinations.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="tsddbDestinations.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsddbDestinations.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 20</value>
</data>
<data name="tsddbDestinations.Text" xml:space="preserve">
<value>Destinations</value>
</data>
<data name="tsbApplicationSettings.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
@ -834,18 +807,6 @@
<data name="tssMain3.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 6</value>
</data>
<data name="tsddbDebug.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="tsddbDebug.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsddbDebug.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 20</value>
</data>
<data name="tsddbDebug.Text" xml:space="preserve">
<value>Debug</value>
</data>
<data name="tsmiShowDebugLog.Size" type="System.Drawing.Size, System.Drawing">
<value>171, 22</value>
</data>
@ -882,6 +843,18 @@
<data name="tsmiTestURLSharing.Text" xml:space="preserve">
<value>Test URL sharing</value>
</data>
<data name="tsddbDebug.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="tsddbDebug.ImageTransparentColor" type="System.Drawing.Color, System.Drawing">
<value>Magenta</value>
</data>
<data name="tsddbDebug.Size" type="System.Drawing.Size, System.Drawing">
<value>152, 20</value>
</data>
<data name="tsddbDebug.Text" xml:space="preserve">
<value>Debug</value>
</data>
<data name="tsbDonate.ImageAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
@ -930,18 +903,36 @@
<data name="tsbAbout.Text" xml:space="preserve">
<value>About...</value>
</data>
<data name="tsMain.Location" type="System.Drawing.Point, System.Drawing">
<value>0, 0</value>
</data>
<data name="tsMain.MinimumSize" type="System.Drawing.Size, System.Drawing">
<value>165, 0</value>
</data>
<data name="tsMain.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>6, 5, 6, 2</value>
</data>
<data name="tsMain.Size" type="System.Drawing.Size, System.Drawing">
<value>165, 471</value>
</data>
<data name="tsMain.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="&gt;&gt;tsMain.Name" xml:space="preserve">
<value>tsMain</value>
</data>
<data name="&gt;&gt;tsMain.Type" xml:space="preserve">
<value>ShareX.HelpersLib.ToolStripBorderRight, ShareX.HelpersLib, Version=13.7.2.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;tsMain.Parent" xml:space="preserve">
<value>pToolbars</value>
</data>
<data name="&gt;&gt;tsMain.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<metadata name="cmsTaskInfo.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>286, 17</value>
</metadata>
<data name="cmsTaskInfo.Size" type="System.Drawing.Size, System.Drawing">
<value>229, 472</value>
</data>
<data name="&gt;&gt;cmsTaskInfo.Name" xml:space="preserve">
<value>cmsTaskInfo</value>
</data>
<data name="&gt;&gt;cmsTaskInfo.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="tsmiShowErrors.Size" type="System.Drawing.Size, System.Drawing">
<value>228, 22</value>
</data>
@ -954,12 +945,6 @@
<data name="tsmiStopUpload.Text" xml:space="preserve">
<value>Stop upload</value>
</data>
<data name="tsmiOpen.Size" type="System.Drawing.Size, System.Drawing">
<value>228, 22</value>
</data>
<data name="tsmiOpen.Text" xml:space="preserve">
<value>Open</value>
</data>
<data name="tsmiOpenURL.ShortcutKeyDisplayString" xml:space="preserve">
<value>Enter</value>
</data>
@ -1014,11 +999,11 @@
<data name="tsmiOpenThumbnailFile.Text" xml:space="preserve">
<value>Thumbnail file</value>
</data>
<data name="tsmiCopy.Size" type="System.Drawing.Size, System.Drawing">
<data name="tsmiOpen.Size" type="System.Drawing.Size, System.Drawing">
<value>228, 22</value>
</data>
<data name="tsmiCopy.Text" xml:space="preserve">
<value>Copy</value>
<data name="tsmiOpen.Text" xml:space="preserve">
<value>Open</value>
</data>
<data name="tsmiCopyURL.ShortcutKeyDisplayString" xml:space="preserve">
<value>Ctrl+C</value>
@ -1191,6 +1176,12 @@
<data name="tssCopy6.Visible" type="System.Boolean, mscorlib">
<value>False</value>
</data>
<data name="tsmiCopy.Size" type="System.Drawing.Size, System.Drawing">
<value>228, 22</value>
</data>
<data name="tsmiCopy.Text" xml:space="preserve">
<value>Copy</value>
</data>
<data name="tsmiUploadSelectedFile.ShortcutKeyDisplayString" xml:space="preserve">
<value>Ctrl+U</value>
</data>
@ -1284,12 +1275,6 @@
<data name="tsmiOCRImage.Text" xml:space="preserve">
<value>OCR image...</value>
</data>
<data name="tsmiCombineImages.Size" type="System.Drawing.Size, System.Drawing">
<value>228, 22</value>
</data>
<data name="tsmiCombineImages.Text" xml:space="preserve">
<value>Combine images...</value>
</data>
<data name="tsmiCombineImagesHorizontally.Size" type="System.Drawing.Size, System.Drawing">
<value>188, 22</value>
</data>
@ -1302,6 +1287,12 @@
<data name="tsmiCombineImagesVertically.Text" xml:space="preserve">
<value>Combine vertically</value>
</data>
<data name="tsmiCombineImages.Size" type="System.Drawing.Size, System.Drawing">
<value>228, 22</value>
</data>
<data name="tsmiCombineImages.Text" xml:space="preserve">
<value>Combine images...</value>
</data>
<data name="tsmiShowResponse.Size" type="System.Drawing.Size, System.Drawing">
<value>228, 22</value>
</data>
@ -1323,18 +1314,198 @@
<data name="tsmiSwitchTaskViewMode.Text" xml:space="preserve">
<value>Switch to thumbnail view</value>
</data>
<data name="cmsTaskInfo.Size" type="System.Drawing.Size, System.Drawing">
<value>229, 472</value>
</data>
<data name="&gt;&gt;cmsTaskInfo.Name" xml:space="preserve">
<value>cmsTaskInfo</value>
</data>
<data name="&gt;&gt;cmsTaskInfo.Type" xml:space="preserve">
<value>System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<metadata name="niTray.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>105, 17</value>
</metadata>
<metadata name="cmsTray.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>190, 17</value>
</metadata>
<data name="tsmiTrayFullscreen.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayFullscreen.Text" xml:space="preserve">
<value>Fullscreen</value>
</data>
<data name="tsmiTrayWindow.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayWindow.Text" xml:space="preserve">
<value>Window</value>
</data>
<data name="tsmiTrayMonitor.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayMonitor.Text" xml:space="preserve">
<value>Monitor</value>
</data>
<data name="tsmiTrayRectangle.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayRectangle.Text" xml:space="preserve">
<value>Region</value>
</data>
<data name="tsmiTrayRectangleLight.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayRectangleLight.Text" xml:space="preserve">
<value>Region (Light)</value>
</data>
<data name="tsmiTrayRectangleTransparent.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayRectangleTransparent.Text" xml:space="preserve">
<value>Region (Transparent)</value>
</data>
<data name="tsmiTrayLastRegion.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayLastRegion.Text" xml:space="preserve">
<value>Last region</value>
</data>
<data name="tsmiTrayScreenRecordingFFmpeg.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayScreenRecordingFFmpeg.Text" xml:space="preserve">
<value>Screen recording</value>
</data>
<data name="tsmiTrayScreenRecordingGIF.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayScreenRecordingGIF.Text" xml:space="preserve">
<value>Screen recording (GIF)</value>
</data>
<data name="tsmiTrayScrollingCapture.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayScrollingCapture.Text" xml:space="preserve">
<value>Scrolling capture...</value>
</data>
<data name="tsmiTrayTextCapture.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayTextCapture.Text" xml:space="preserve">
<value>Text capture (OCR)...</value>
</data>
<data name="tsmiTrayAutoCapture.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayAutoCapture.Text" xml:space="preserve">
<value>Auto capture...</value>
</data>
<data name="tssTrayCapture1.Size" type="System.Drawing.Size, System.Drawing">
<value>188, 6</value>
</data>
<data name="tsmiTrayShowCursor.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayShowCursor.Text" xml:space="preserve">
<value>Show cursor</value>
</data>
<data name="tsmiTrayScreenshotDelay0.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 22</value>
</data>
<data name="tsmiTrayScreenshotDelay0.Text" xml:space="preserve">
<value>No delay</value>
</data>
<data name="tsmiTrayScreenshotDelay1.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 22</value>
</data>
<data name="tsmiTrayScreenshotDelay1.Text" xml:space="preserve">
<value>1 second</value>
</data>
<data name="tsmiTrayScreenshotDelay2.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 22</value>
</data>
<data name="tsmiTrayScreenshotDelay2.Text" xml:space="preserve">
<value>2 seconds</value>
</data>
<data name="tsmiTrayScreenshotDelay3.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 22</value>
</data>
<data name="tsmiTrayScreenshotDelay3.Text" xml:space="preserve">
<value>3 seconds</value>
</data>
<data name="tsmiTrayScreenshotDelay4.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 22</value>
</data>
<data name="tsmiTrayScreenshotDelay4.Text" xml:space="preserve">
<value>4 seconds</value>
</data>
<data name="tsmiTrayScreenshotDelay5.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 22</value>
</data>
<data name="tsmiTrayScreenshotDelay5.Text" xml:space="preserve">
<value>5 seconds</value>
</data>
<data name="tsmiTrayScreenshotDelay.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayScreenshotDelay.Text" xml:space="preserve">
<value>Screenshot delay</value>
</data>
<data name="tsmiTrayCapture.Size" type="System.Drawing.Size, System.Drawing">
<value>200, 22</value>
</data>
<data name="tsmiTrayCapture.Text" xml:space="preserve">
<value>Capture</value>
</data>
<data name="tsmiTrayUploadFile.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
</data>
<data name="tsmiTrayUploadFile.Text" xml:space="preserve">
<value>Upload file...</value>
</data>
<data name="tsmiTrayUploadFolder.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
</data>
<data name="tsmiTrayUploadFolder.Text" xml:space="preserve">
<value>Upload folder...</value>
</data>
<data name="tsmiTrayUploadClipboard.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
</data>
<data name="tsmiTrayUploadClipboard.Text" xml:space="preserve">
<value>Upload from clipboard...</value>
</data>
<data name="tsmiTrayUploadText.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
</data>
<data name="tsmiTrayUploadText.Text" xml:space="preserve">
<value>Upload text...</value>
</data>
<data name="tsmiTrayUploadURL.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
</data>
<data name="tsmiTrayUploadURL.Text" xml:space="preserve">
<value>Upload from URL...</value>
</data>
<data name="tsmiTrayUploadDragDrop.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
</data>
<data name="tsmiTrayUploadDragDrop.Text" xml:space="preserve">
<value>Drag and drop upload...</value>
</data>
<data name="tsmiTrayShortenURL.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
</data>
<data name="tsmiTrayShortenURL.Text" xml:space="preserve">
<value>Shorten URL...</value>
</data>
<data name="tsmiTrayTweetMessage.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
</data>
<data name="tsmiTrayTweetMessage.Text" xml:space="preserve">
<value>Tweet message...</value>
</data>
<data name="tsmiTrayUpload.Size" type="System.Drawing.Size, System.Drawing">
<value>200, 22</value>
</data>
@ -1494,6 +1665,51 @@
<data name="tsmiTrayAfterUploadTasks.Text" xml:space="preserve">
<value>After upload tasks</value>
</data>
<data name="tsmiTrayImageUploaders.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsmiTrayImageUploaders.Text" xml:space="preserve">
<value>Image uploaders</value>
</data>
<data name="tsmiTrayTextUploaders.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsmiTrayTextUploaders.Text" xml:space="preserve">
<value>Text uploaders</value>
</data>
<data name="tsmiTrayFileUploaders.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsmiTrayFileUploaders.Text" xml:space="preserve">
<value>File uploaders</value>
</data>
<data name="tsmiTrayURLShorteners.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsmiTrayURLShorteners.Text" xml:space="preserve">
<value>URL shorteners</value>
</data>
<data name="tsmiTrayURLSharingServices.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsmiTrayURLSharingServices.Text" xml:space="preserve">
<value>URL sharing services</value>
</data>
<data name="tssTrayDestinations1.Size" type="System.Drawing.Size, System.Drawing">
<value>216, 6</value>
</data>
<data name="tsmiTrayDestinationSettings.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsmiTrayDestinationSettings.Text" xml:space="preserve">
<value>Destination settings...</value>
</data>
<data name="tsmiTrayCustomUploaderSettings.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsmiTrayCustomUploaderSettings.Text" xml:space="preserve">
<value>Custom uploader settings...</value>
</data>
<data name="tsmiTrayDestinations.Size" type="System.Drawing.Size, System.Drawing">
<value>200, 22</value>
</data>
@ -1596,273 +1812,9 @@
<data name="niTray.Text" xml:space="preserve">
<value>ShareX</value>
</data>
<data name="tsmiTrayFullscreen.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayFullscreen.Text" xml:space="preserve">
<value>Fullscreen</value>
</data>
<data name="tsmiTrayWindow.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayWindow.Text" xml:space="preserve">
<value>Window</value>
</data>
<data name="tsmiTrayMonitor.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayMonitor.Text" xml:space="preserve">
<value>Monitor</value>
</data>
<data name="tsmiTrayRectangle.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayRectangle.Text" xml:space="preserve">
<value>Region</value>
</data>
<data name="tsmiTrayRectangleLight.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayRectangleLight.Text" xml:space="preserve">
<value>Region (Light)</value>
</data>
<data name="tsmiTrayRectangleTransparent.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayRectangleTransparent.Text" xml:space="preserve">
<value>Region (Transparent)</value>
</data>
<data name="tsmiTrayLastRegion.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayLastRegion.Text" xml:space="preserve">
<value>Last region</value>
</data>
<data name="tsmiTrayScreenRecordingFFmpeg.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayScreenRecordingFFmpeg.Text" xml:space="preserve">
<value>Screen recording</value>
</data>
<data name="tsmiTrayScreenRecordingGIF.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayScreenRecordingGIF.Text" xml:space="preserve">
<value>Screen recording (GIF)</value>
</data>
<data name="tsmiTrayScrollingCapture.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayScrollingCapture.Text" xml:space="preserve">
<value>Scrolling capture...</value>
</data>
<data name="tsmiTrayTextCapture.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayTextCapture.Text" xml:space="preserve">
<value>Text capture (OCR)...</value>
</data>
<data name="tsmiTrayAutoCapture.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayAutoCapture.Text" xml:space="preserve">
<value>Auto capture...</value>
</data>
<data name="tssTrayCapture1.Size" type="System.Drawing.Size, System.Drawing">
<value>188, 6</value>
</data>
<data name="tsmiTrayShowCursor.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayShowCursor.Text" xml:space="preserve">
<value>Show cursor</value>
</data>
<data name="tsmiTrayScreenshotDelay.Size" type="System.Drawing.Size, System.Drawing">
<value>191, 22</value>
</data>
<data name="tsmiTrayScreenshotDelay.Text" xml:space="preserve">
<value>Screenshot delay</value>
</data>
<data name="tsmiTrayScreenshotDelay0.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 22</value>
</data>
<data name="tsmiTrayScreenshotDelay0.Text" xml:space="preserve">
<value>No delay</value>
</data>
<data name="tsmiTrayScreenshotDelay1.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 22</value>
</data>
<data name="tsmiTrayScreenshotDelay1.Text" xml:space="preserve">
<value>1 second</value>
</data>
<data name="tsmiTrayScreenshotDelay2.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 22</value>
</data>
<data name="tsmiTrayScreenshotDelay2.Text" xml:space="preserve">
<value>2 seconds</value>
</data>
<data name="tsmiTrayScreenshotDelay3.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 22</value>
</data>
<data name="tsmiTrayScreenshotDelay3.Text" xml:space="preserve">
<value>3 seconds</value>
</data>
<data name="tsmiTrayScreenshotDelay4.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 22</value>
</data>
<data name="tsmiTrayScreenshotDelay4.Text" xml:space="preserve">
<value>4 seconds</value>
</data>
<data name="tsmiTrayScreenshotDelay5.Size" type="System.Drawing.Size, System.Drawing">
<value>126, 22</value>
</data>
<data name="tsmiTrayScreenshotDelay5.Text" xml:space="preserve">
<value>5 seconds</value>
</data>
<data name="tsmiTrayUploadFile.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
</data>
<data name="tsmiTrayUploadFile.Text" xml:space="preserve">
<value>Upload file...</value>
</data>
<data name="tsmiTrayUploadFolder.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
</data>
<data name="tsmiTrayUploadFolder.Text" xml:space="preserve">
<value>Upload folder...</value>
</data>
<data name="tsmiTrayUploadClipboard.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
</data>
<data name="tsmiTrayUploadClipboard.Text" xml:space="preserve">
<value>Upload from clipboard...</value>
</data>
<data name="tsmiTrayUploadText.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
</data>
<data name="tsmiTrayUploadText.Text" xml:space="preserve">
<value>Upload text...</value>
</data>
<data name="tsmiTrayUploadURL.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
</data>
<data name="tsmiTrayUploadURL.Text" xml:space="preserve">
<value>Upload from URL...</value>
</data>
<data name="tsmiTrayUploadDragDrop.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
</data>
<data name="tsmiTrayUploadDragDrop.Text" xml:space="preserve">
<value>Drag and drop upload...</value>
</data>
<data name="tsmiTrayShortenURL.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
</data>
<data name="tsmiTrayShortenURL.Text" xml:space="preserve">
<value>Shorten URL...</value>
</data>
<data name="tsmiTrayTweetMessage.Size" type="System.Drawing.Size, System.Drawing">
<value>203, 22</value>
</data>
<data name="tsmiTrayTweetMessage.Text" xml:space="preserve">
<value>Tweet message...</value>
</data>
<data name="tsmiTrayImageUploaders.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsmiTrayImageUploaders.Text" xml:space="preserve">
<value>Image uploaders</value>
</data>
<data name="tsmiTrayTextUploaders.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsmiTrayTextUploaders.Text" xml:space="preserve">
<value>Text uploaders</value>
</data>
<data name="tsmiTrayFileUploaders.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsmiTrayFileUploaders.Text" xml:space="preserve">
<value>File uploaders</value>
</data>
<data name="tsmiTrayURLShorteners.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsmiTrayURLShorteners.Text" xml:space="preserve">
<value>URL shorteners</value>
</data>
<data name="tsmiTrayURLSharingServices.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsmiTrayURLSharingServices.Text" xml:space="preserve">
<value>URL sharing services</value>
</data>
<data name="tssTrayDestinations1.Size" type="System.Drawing.Size, System.Drawing">
<value>216, 6</value>
</data>
<data name="tsmiTrayDestinationSettings.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsmiTrayDestinationSettings.Text" xml:space="preserve">
<value>Destination settings...</value>
</data>
<data name="tsmiTrayCustomUploaderSettings.Size" type="System.Drawing.Size, System.Drawing">
<value>219, 22</value>
</data>
<data name="tsmiTrayCustomUploaderSettings.Text" xml:space="preserve">
<value>Custom uploader settings...</value>
</data>
<metadata name="timerTraySingleClick.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>405, 17</value>
</metadata>
<data name="&gt;&gt;lblThumbnailViewTip.Name" xml:space="preserve">
<value>lblThumbnailViewTip</value>
</data>
<data name="&gt;&gt;lblThumbnailViewTip.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;lblThumbnailViewTip.Parent" xml:space="preserve">
<value>pThumbnailView</value>
</data>
<data name="&gt;&gt;lblThumbnailViewTip.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="&gt;&gt;ucTaskThumbnailView.Name" xml:space="preserve">
<value>ucTaskThumbnailView</value>
</data>
<data name="&gt;&gt;ucTaskThumbnailView.Type" xml:space="preserve">
<value>ShareX.TaskThumbnailView, ShareX, Version=13.7.2.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;ucTaskThumbnailView.Parent" xml:space="preserve">
<value>pThumbnailView</value>
</data>
<data name="&gt;&gt;ucTaskThumbnailView.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="pThumbnailView.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="pThumbnailView.Location" type="System.Drawing.Point, System.Drawing">
<value>165, 0</value>
</data>
<data name="pThumbnailView.Size" type="System.Drawing.Size, System.Drawing">
<value>679, 471</value>
</data>
<data name="pThumbnailView.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="&gt;&gt;pThumbnailView.Name" xml:space="preserve">
<value>pThumbnailView</value>
</data>
<data name="&gt;&gt;pThumbnailView.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;pThumbnailView.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;pThumbnailView.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="lblThumbnailViewTip.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
@ -1926,6 +1878,30 @@
<data name="&gt;&gt;ucTaskThumbnailView.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="pThumbnailView.Dock" type="System.Windows.Forms.DockStyle, System.Windows.Forms">
<value>Fill</value>
</data>
<data name="pThumbnailView.Location" type="System.Drawing.Point, System.Drawing">
<value>165, 0</value>
</data>
<data name="pThumbnailView.Size" type="System.Drawing.Size, System.Drawing">
<value>679, 471</value>
</data>
<data name="pThumbnailView.TabIndex" type="System.Int32, mscorlib">
<value>7</value>
</data>
<data name="&gt;&gt;pThumbnailView.Name" xml:space="preserve">
<value>pThumbnailView</value>
</data>
<data name="&gt;&gt;pThumbnailView.Type" xml:space="preserve">
<value>System.Windows.Forms.Panel, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;pThumbnailView.Parent" xml:space="preserve">
<value>$this</value>
</data>
<data name="&gt;&gt;pThumbnailView.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<metadata name="ttMain.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>567, 17</value>
</metadata>
@ -3144,6 +3120,12 @@
<data name="&gt;&gt;tsmiTrayImageEffects.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiTrayImageViewer.Name" xml:space="preserve">
<value>tsmiTrayImageViewer</value>
</data>
<data name="&gt;&gt;tsmiTrayImageViewer.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiTrayImageCombiner.Name" xml:space="preserve">
<value>tsmiTrayImageCombiner</value>
</data>
@ -3408,12 +3390,6 @@
<data name="&gt;&gt;ttMain.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolTip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;tsmiTrayImageViewer.Name" xml:space="preserve">
<value>tsmiTrayImageViewer</value>
</data>
<data name="&gt;&gt;tsmiTrayImageViewer.Type" xml:space="preserve">
<value>System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>MainForm</value>
</data>

View file

@ -1090,7 +1090,7 @@ public static void OpenImageViewer()
public static void OpenImageViewer(string filePath)
{
if (!string.IsNullOrEmpty(filePath))
if (!string.IsNullOrEmpty(filePath) && File.Exists(filePath))
{
string folderPath = Path.GetDirectoryName(filePath);
string[] files = Directory.GetFiles(folderPath);