From 86e20a74e404e1224f4aced4384b77c9f535fe7d Mon Sep 17 00:00:00 2001 From: Jaex Date: Wed, 24 Jul 2019 14:47:13 +0300 Subject: [PATCH] Clicking on task panel title will open URL or file path --- .../Controls/TaskThumbnailPanel.Designer.cs | 1 + ShareX/Controls/TaskThumbnailPanel.cs | 36 +++++++++++++++++++ ShareX/TaskManager.cs | 7 +--- 3 files changed, 38 insertions(+), 6 deletions(-) diff --git a/ShareX/Controls/TaskThumbnailPanel.Designer.cs b/ShareX/Controls/TaskThumbnailPanel.Designer.cs index d1bca6dc9..a70d799da 100644 --- a/ShareX/Controls/TaskThumbnailPanel.Designer.cs +++ b/ShareX/Controls/TaskThumbnailPanel.Designer.cs @@ -94,6 +94,7 @@ private void InitializeComponent() this.lblTitle.TabIndex = 1; this.lblTitle.Text = "Test.png"; this.lblTitle.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + this.lblTitle.MouseClick += new System.Windows.Forms.MouseEventHandler(this.LblTitle_MouseClick); // // TaskThumbnailPanel // diff --git a/ShareX/Controls/TaskThumbnailPanel.cs b/ShareX/Controls/TaskThumbnailPanel.cs index d229c321e..2c377e8f7 100644 --- a/ShareX/Controls/TaskThumbnailPanel.cs +++ b/ShareX/Controls/TaskThumbnailPanel.cs @@ -303,6 +303,20 @@ public void UpdateStatus() { pThumbnail.UpdateStatusColor(Task.Status); } + + UpdateTitleCursor(); + } + + private void UpdateTitleCursor() + { + if (Task.Info != null && !string.IsNullOrEmpty(Task.Info.ToString())) + { + lblTitle.Cursor = Cursors.Hand; + } + else + { + lblTitle.Cursor = Cursors.Default; + } } public void ClearThumbnail() @@ -321,6 +335,28 @@ public void ClearThumbnail() ThumbnailExists = false; } + private void LblTitle_MouseClick(object sender, MouseEventArgs e) + { + if (e.Button == MouseButtons.Left && Task.Info != null) + { + if (Task.Info.Result != null) + { + string url = Task.Info.Result.ToString(); + + if (!string.IsNullOrEmpty(url)) + { + URLHelpers.OpenURL(url); + return; + } + } + + if (!string.IsNullOrEmpty(Task.Info.FilePath)) + { + Helpers.OpenFile(Task.Info.FilePath); + } + } + } + private void PbThumbnail_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) diff --git a/ShareX/TaskManager.cs b/ShareX/TaskManager.cs index efd1ae8be..41729b5ab 100644 --- a/ShareX/TaskManager.cs +++ b/ShareX/TaskManager.cs @@ -333,12 +333,7 @@ private static void Task_TaskCompleted(WorkerTask task) { DebugHelper.WriteLine($"Task completed. Filename: {info.FileName}, Duration: {(long)info.TaskDuration.TotalMilliseconds} ms"); - string result = info.Result.ToString(); - - if (string.IsNullOrEmpty(result) && !string.IsNullOrEmpty(info.FilePath)) - { - result = info.FilePath; - } + string result = info.ToString(); if (lvi != null) {