Added thumbnail open/copy buttons to right click menu

This commit is contained in:
Jaex 2014-04-23 00:00:41 +03:00
parent d21c038791
commit a2db479521
7 changed files with 97 additions and 25 deletions

View file

@ -90,12 +90,12 @@ private void InitializeComponent()
this.tssMain2 = new System.Windows.Forms.ToolStripSeparator();
this.tsddbTools = new System.Windows.Forms.ToolStripDropDownButton();
this.tsmiScreenColorPicker = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiRuler = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiHashCheck = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiIndexFolder = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiImageEffects = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiMonitorTest = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiDNSChanger = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiRuler = new System.Windows.Forms.ToolStripMenuItem();
this.tsbScreenshotsFolder = new System.Windows.Forms.ToolStripButton();
this.tsbHistory = new System.Windows.Forms.ToolStripButton();
this.tsbImageHistory = new System.Windows.Forms.ToolStripButton();
@ -133,6 +133,7 @@ private void InitializeComponent()
this.tsmiOpenDeletionURL = new System.Windows.Forms.ToolStripMenuItem();
this.tssOpen1 = new System.Windows.Forms.ToolStripSeparator();
this.tsmiOpenFile = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiOpenThumbnailFile = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiOpenFolder = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiCopy = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiCopyURL = new System.Windows.Forms.ToolStripMenuItem();
@ -202,12 +203,12 @@ private void InitializeComponent()
this.tssTray2 = new System.Windows.Forms.ToolStripSeparator();
this.tsmiTrayTools = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayScreenColorPicker = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayRuler = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayHashCheck = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayIndexFolder = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayImageEffects = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayMonitorTest = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayDNSChanger = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayRuler = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiScreenshotsFolder = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayHistory = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayImageHistory = new System.Windows.Forms.ToolStripMenuItem();
@ -217,6 +218,8 @@ private void InitializeComponent()
this.tsmiTrayShow = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiTrayExit = new System.Windows.Forms.ToolStripMenuItem();
this.ssToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiCopyThumbnailFile = new System.Windows.Forms.ToolStripMenuItem();
this.tsmiCopyThumbnailImage = new System.Windows.Forms.ToolStripMenuItem();
this.tsMain.SuspendLayout();
this.scMain.Panel1.SuspendLayout();
this.scMain.Panel2.SuspendLayout();
@ -571,6 +574,14 @@ private void InitializeComponent()
this.tsmiScreenColorPicker.Text = "Screen color picker...";
this.tsmiScreenColorPicker.Click += new System.EventHandler(this.tsmiCursorHelper_Click);
//
// tsmiRuler
//
this.tsmiRuler.Image = global::ShareX.Properties.Resources.ruler_triangle;
this.tsmiRuler.Name = "tsmiRuler";
this.tsmiRuler.Size = new System.Drawing.Size(183, 22);
this.tsmiRuler.Text = "Ruler...";
this.tsmiRuler.Click += new System.EventHandler(this.tsmiRuler_Click);
//
// tsmiHashCheck
//
this.tsmiHashCheck.Image = global::ShareX.Properties.Resources.application_task;
@ -611,14 +622,6 @@ private void InitializeComponent()
this.tsmiDNSChanger.Text = "DNS changer...";
this.tsmiDNSChanger.Click += new System.EventHandler(this.tsmiDNSChanger_Click);
//
// tsmiRuler
//
this.tsmiRuler.Image = global::ShareX.Properties.Resources.ruler_triangle;
this.tsmiRuler.Name = "tsmiRuler";
this.tsmiRuler.Size = new System.Drawing.Size(183, 22);
this.tsmiRuler.Text = "Ruler...";
this.tsmiRuler.Click += new System.EventHandler(this.tsmiRuler_Click);
//
// tsbScreenshotsFolder
//
this.tsbScreenshotsFolder.Image = global::ShareX.Properties.Resources.folder_open_image;
@ -895,7 +898,7 @@ private void InitializeComponent()
this.tsmiHidePreview});
this.cmsUploadInfo.Name = "cmsHistory";
this.cmsUploadInfo.ShowImageMargin = false;
this.cmsUploadInfo.Size = new System.Drawing.Size(155, 258);
this.cmsUploadInfo.Size = new System.Drawing.Size(155, 280);
//
// tsmiShowErrors
//
@ -920,7 +923,8 @@ private void InitializeComponent()
this.tsmiOpenDeletionURL,
this.tssOpen1,
this.tsmiOpenFile,
this.tsmiOpenFolder});
this.tsmiOpenFolder,
this.tsmiOpenThumbnailFile});
this.tsmiOpen.Name = "tsmiOpen";
this.tsmiOpen.Size = new System.Drawing.Size(154, 22);
this.tsmiOpen.Text = "Open";
@ -965,6 +969,13 @@ private void InitializeComponent()
this.tsmiOpenFile.Text = "File";
this.tsmiOpenFile.Click += new System.EventHandler(this.tsmiOpenFile_Click);
//
// tsmiOpenThumbnailFile
//
this.tsmiOpenThumbnailFile.Name = "tsmiOpenThumbnailFile";
this.tsmiOpenThumbnailFile.Size = new System.Drawing.Size(156, 22);
this.tsmiOpenThumbnailFile.Text = "Thumbnail file";
this.tsmiOpenThumbnailFile.Click += new System.EventHandler(this.tsmiOpenThumbnailFile_Click);
//
// tsmiOpenFolder
//
this.tsmiOpenFolder.Name = "tsmiOpenFolder";
@ -983,6 +994,8 @@ private void InitializeComponent()
this.tsmiCopyFile,
this.tsmiCopyImage,
this.tsmiCopyText,
this.tsmiCopyThumbnailFile,
this.tsmiCopyThumbnailImage,
this.tssCopy2,
this.tsmiCopyHTMLLink,
this.tsmiCopyHTMLImage,
@ -1526,6 +1539,14 @@ private void InitializeComponent()
this.tsmiTrayScreenColorPicker.Text = "Screen color picker...";
this.tsmiTrayScreenColorPicker.Click += new System.EventHandler(this.tsmiCursorHelper_Click);
//
// tsmiTrayRuler
//
this.tsmiTrayRuler.Image = global::ShareX.Properties.Resources.ruler_triangle;
this.tsmiTrayRuler.Name = "tsmiTrayRuler";
this.tsmiTrayRuler.Size = new System.Drawing.Size(183, 22);
this.tsmiTrayRuler.Text = "Ruler...";
this.tsmiTrayRuler.Click += new System.EventHandler(this.tsmiRuler_Click);
//
// tsmiTrayHashCheck
//
this.tsmiTrayHashCheck.Image = global::ShareX.Properties.Resources.application_task;
@ -1566,14 +1587,6 @@ private void InitializeComponent()
this.tsmiTrayDNSChanger.Text = "DNS changer...";
this.tsmiTrayDNSChanger.Click += new System.EventHandler(this.tsmiDNSChanger_Click);
//
// tsmiTrayRuler
//
this.tsmiTrayRuler.Image = global::ShareX.Properties.Resources.ruler_triangle;
this.tsmiTrayRuler.Name = "tsmiTrayRuler";
this.tsmiTrayRuler.Size = new System.Drawing.Size(183, 22);
this.tsmiTrayRuler.Text = "Ruler...";
this.tsmiTrayRuler.Click += new System.EventHandler(this.tsmiRuler_Click);
//
// tsmiScreenshotsFolder
//
this.tsmiScreenshotsFolder.Image = global::ShareX.Properties.Resources.folder_open_image;
@ -1641,6 +1654,20 @@ private void InitializeComponent()
this.ssToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
this.ssToolStripMenuItem.Text = "ss";
//
// tsmiCopyThumbnailFile
//
this.tsmiCopyThumbnailFile.Name = "tsmiCopyThumbnailFile";
this.tsmiCopyThumbnailFile.Size = new System.Drawing.Size(233, 22);
this.tsmiCopyThumbnailFile.Text = "Thumbnail file";
this.tsmiCopyThumbnailFile.Click += new System.EventHandler(this.tsmiCopyThumbnailFile_Click);
//
// tsmiCopyThumbnailImage
//
this.tsmiCopyThumbnailImage.Name = "tsmiCopyThumbnailImage";
this.tsmiCopyThumbnailImage.Size = new System.Drawing.Size(233, 22);
this.tsmiCopyThumbnailImage.Text = "Thumbnail image";
this.tsmiCopyThumbnailImage.Click += new System.EventHandler(this.tsmiCopyThumbnailImage_Click);
//
// MainForm
//
this.AllowDrop = true;
@ -1835,5 +1862,8 @@ private void InitializeComponent()
private System.Windows.Forms.ToolStripMenuItem tsmiTrayDragDropUpload;
private System.Windows.Forms.ToolStripMenuItem tsmiRuler;
private System.Windows.Forms.ToolStripMenuItem tsmiTrayRuler;
private System.Windows.Forms.ToolStripMenuItem tsmiOpenThumbnailFile;
private System.Windows.Forms.ToolStripMenuItem tsmiCopyThumbnailFile;
private System.Windows.Forms.ToolStripMenuItem tsmiCopyThumbnailImage;
}
}

View file

@ -252,6 +252,7 @@ private void UpdateControls()
tsmiOpenFile.Enabled = uim.SelectedItem.IsFileExist;
tsmiOpenFolder.Enabled = uim.SelectedItem.IsFileExist;
tsmiOpenThumbnailFile.Enabled = uim.SelectedItem.IsThumbnailFileExist;
// Copy
tsmiCopy.Visible = true;
@ -264,6 +265,8 @@ private void UpdateControls()
tsmiCopyFile.Enabled = uim.SelectedItem.IsFileExist;
tsmiCopyImage.Enabled = uim.SelectedItem.IsImageFile;
tsmiCopyText.Enabled = uim.SelectedItem.IsTextFile;
tsmiCopyThumbnailFile.Enabled = uim.SelectedItem.IsThumbnailFileExist;
tsmiCopyThumbnailImage.Enabled = uim.SelectedItem.IsThumbnailFileExist;
tsmiCopyHTMLLink.Enabled = uim.SelectedItems.Any(x => x.IsURLExist);
tsmiCopyHTMLImage.Enabled = uim.SelectedItems.Any(x => x.IsImageURL);
@ -1043,6 +1046,11 @@ private void tsmiOpenFile_Click(object sender, EventArgs e)
uim.OpenFile();
}
private void tsmiOpenThumbnailFile_Click(object sender, EventArgs e)
{
uim.OpenThumbnailFile();
}
private void tsmiOpenFolder_Click(object sender, EventArgs e)
{
uim.OpenFolder();
@ -1083,6 +1091,16 @@ private void tsmiCopyText_Click(object sender, EventArgs e)
uim.CopyText();
}
private void tsmiCopyThumbnailFile_Click(object sender, EventArgs e)
{
uim.CopyThumbnailFile();
}
private void tsmiCopyThumbnailImage_Click(object sender, EventArgs e)
{
uim.CopyThumbnailImage();
}
private void tsmiCopyHTMLLink_Click(object sender, EventArgs e)
{
uim.CopyHTMLLink();

View file

@ -70,7 +70,7 @@ public static ImageData PrepareImage(Image img, TaskSettings taskSettings)
return imageData;
}
public static bool CreateThumbnail(Image img, string filename, TaskSettings taskSettings)
public static string CreateThumbnail(Image img, string filename, TaskSettings taskSettings)
{
if ((taskSettings.ImageSettings.ThumbnailWidth > 0 || taskSettings.ImageSettings.ThumbnailHeight > 0) && (!taskSettings.ImageSettings.ThumbnailCheckSize ||
(img.Width > taskSettings.ImageSettings.ThumbnailWidth && img.Height > taskSettings.ImageSettings.ThumbnailHeight)))
@ -92,8 +92,7 @@ public static bool CreateThumbnail(Image img, string filename, TaskSettings task
}.Apply(thumbImage);
thumbImage = ImageHelpers.FillBackground(thumbImage, Color.White);
thumbImage.SaveJPG(thumbnailFilePath, 90);
DebugHelper.WriteLine("SaveThumbnailImageToFile: " + thumbnailFilePath);
return true;
return thumbnailFilePath;
}
finally
{
@ -105,7 +104,7 @@ public static bool CreateThumbnail(Image img, string filename, TaskSettings task
}
}
return false;
return null;
}
public static MemoryStream SaveImage(Image img, EImageFormat imageFormat, TaskSettings taskSettings)

View file

@ -65,6 +65,7 @@ public string FilePath
}
public string FileName { get; set; }
public string ThumbnailFilePath { get; set; }
public EDataType DataType { get; set; }
public EDataType UploadDestination

View file

@ -119,6 +119,11 @@ public void OpenFile()
if (IsItemSelected && SelectedItem.IsFileExist) Helpers.LoadBrowserAsync(SelectedItem.Info.FilePath);
}
public void OpenThumbnailFile()
{
if (IsItemSelected && SelectedItem.IsThumbnailFileExist) Helpers.LoadBrowserAsync(SelectedItem.Info.ThumbnailFilePath);
}
public void OpenFolder()
{
if (IsItemSelected && SelectedItem.IsFileExist) Helpers.OpenFolderWithFile(SelectedItem.Info.FilePath);
@ -182,6 +187,16 @@ public void CopyText()
if (IsItemSelected && SelectedItem.IsTextFile) ClipboardHelpers.CopyTextFromFile(SelectedItem.Info.FilePath);
}
public void CopyThumbnailFile()
{
if (IsItemSelected && SelectedItem.IsThumbnailFileExist) ClipboardHelpers.CopyFile(SelectedItem.Info.ThumbnailFilePath);
}
public void CopyThumbnailImage()
{
if (IsItemSelected && SelectedItem.IsThumbnailFileExist) ClipboardHelpers.CopyImageFromFile(SelectedItem.Info.ThumbnailFilePath);
}
public void CopyHTMLLink()
{
if (IsItemSelected) CopyTexts(SelectedItems.Where(x => x.IsURLExist).Select(x => parser.Parse(x.Info, UploadInfoParser.HTMLLink)));

View file

@ -40,6 +40,8 @@ public class UploadInfoStatus
public bool IsTextURL { get; private set; }
public bool IsFilePathValid { get; private set; }
public bool IsFileExist { get; private set; }
public bool IsThumbnailFilePathValid { get; private set; }
public bool IsThumbnailFileExist { get; private set; }
public bool IsImageFile { get; private set; }
public bool IsTextFile { get; private set; }
@ -63,6 +65,8 @@ public void Update()
IsFilePathValid = !string.IsNullOrEmpty(Info.FilePath) && Path.HasExtension(Info.FilePath);
IsFileExist = IsFilePathValid && File.Exists(Info.FilePath);
IsThumbnailFilePathValid = !string.IsNullOrEmpty(Info.ThumbnailFilePath) && Path.HasExtension(Info.ThumbnailFilePath);
IsThumbnailFileExist = IsThumbnailFilePathValid && File.Exists(Info.ThumbnailFilePath);
IsImageFile = IsFileExist && Helpers.IsImageFile(Info.FilePath);
IsTextFile = IsFileExist && Helpers.IsTextFile(Info.FilePath);
}

View file

@ -452,7 +452,12 @@ private void DoAfterCaptureJobs()
if (Info.TaskSettings.AfterCaptureJob.HasFlag(AfterCaptureTasks.SaveThumbnailImageToFile))
{
TaskHelpers.CreateThumbnail(tempImage, Info.FileName, Info.TaskSettings);
Info.ThumbnailFilePath = TaskHelpers.CreateThumbnail(tempImage, Info.FileName, Info.TaskSettings);
if (!string.IsNullOrEmpty(Info.ThumbnailFilePath))
{
DebugHelper.WriteLine("SaveThumbnailImageToFile: " + Info.ThumbnailFilePath);
}
}
if (Info.TaskSettings.AfterCaptureJob.HasFlag(AfterCaptureTasks.CopyFileToClipboard) && !string.IsNullOrEmpty(Info.FilePath) &&