mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-10 14:45:41 +12:00
Merge remote-tracking branch 'refs/remotes/ShareX/master'
This commit is contained in:
commit
2910628926
4 changed files with 53 additions and 7 deletions
|
@ -1758,7 +1758,7 @@ private void InitHotkeys()
|
||||||
|
|
||||||
private void HandleHotkeys(HotkeySettings hotkeySetting)
|
private void HandleHotkeys(HotkeySettings hotkeySetting)
|
||||||
{
|
{
|
||||||
DebugHelper.WriteLine("Hotkey triggered: " + hotkeySetting);
|
DebugHelper.WriteLine("Hotkey triggered. " + hotkeySetting);
|
||||||
|
|
||||||
if (hotkeySetting.TaskSettings.Job != HotkeyType.None)
|
if (hotkeySetting.TaskSettings.Job != HotkeyType.None)
|
||||||
{
|
{
|
||||||
|
|
|
@ -138,6 +138,8 @@ public TimeSpan TaskDuration
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Stopwatch UploadDuration { get; set; }
|
||||||
|
|
||||||
public UploadResult Result { get; set; }
|
public UploadResult Result { get; set; }
|
||||||
|
|
||||||
public TaskInfo(TaskSettings taskSettings)
|
public TaskInfo(TaskSettings taskSettings)
|
||||||
|
|
|
@ -65,6 +65,7 @@ public static void Start(WorkerTask task)
|
||||||
task.StatusChanged += task_StatusChanged;
|
task.StatusChanged += task_StatusChanged;
|
||||||
task.UploadStarted += task_UploadStarted;
|
task.UploadStarted += task_UploadStarted;
|
||||||
task.UploadProgressChanged += task_UploadProgressChanged;
|
task.UploadProgressChanged += task_UploadProgressChanged;
|
||||||
|
task.UploadCompleted += task_UploadCompleted;
|
||||||
task.TaskCompleted += task_TaskCompleted;
|
task.TaskCompleted += task_TaskCompleted;
|
||||||
task.UploadersConfigWindowRequested += Task_UploadersConfigWindowRequested;
|
task.UploadersConfigWindowRequested += Task_UploadersConfigWindowRequested;
|
||||||
}
|
}
|
||||||
|
@ -272,6 +273,28 @@ private static void task_UploadProgressChanged(WorkerTask task)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void task_UploadCompleted(WorkerTask task)
|
||||||
|
{
|
||||||
|
TaskInfo info = task.Info;
|
||||||
|
|
||||||
|
if (info != null && info.Result != null && !info.Result.IsError)
|
||||||
|
{
|
||||||
|
string url = info.Result.ToString();
|
||||||
|
|
||||||
|
if (!string.IsNullOrEmpty(url))
|
||||||
|
{
|
||||||
|
string text = $"Upload completed. URL: {url}";
|
||||||
|
|
||||||
|
if (info.UploadDuration != null)
|
||||||
|
{
|
||||||
|
text += $", Duration: {info.UploadDuration.ElapsedMilliseconds} ms";
|
||||||
|
}
|
||||||
|
|
||||||
|
DebugHelper.WriteLine(text);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static void task_TaskCompleted(WorkerTask task)
|
private static void task_TaskCompleted(WorkerTask task)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
@ -318,7 +341,7 @@ private static void task_TaskCompleted(WorkerTask task)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
DebugHelper.WriteLine($"Task completed. Filename: {info.FileName}, URL: {info.Result}, Duration: {info.TaskDuration.TotalMilliseconds:d} ms");
|
DebugHelper.WriteLine($"Task completed. Filename: {info.FileName}, Duration: {(long)info.TaskDuration.TotalMilliseconds} ms");
|
||||||
|
|
||||||
string result = info.Result.ToString();
|
string result = info.Result.ToString();
|
||||||
|
|
||||||
|
|
|
@ -28,6 +28,7 @@ You should have received a copy of the GNU General Public License
|
||||||
using ShareX.UploadersLib;
|
using ShareX.UploadersLib;
|
||||||
using ShareX.UploadersLib.OtherServices;
|
using ShareX.UploadersLib.OtherServices;
|
||||||
using System;
|
using System;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
@ -46,6 +47,7 @@ public class WorkerTask : IDisposable
|
||||||
public event TaskEventHandler StatusChanged;
|
public event TaskEventHandler StatusChanged;
|
||||||
public event TaskEventHandler UploadStarted;
|
public event TaskEventHandler UploadStarted;
|
||||||
public event TaskEventHandler UploadProgressChanged;
|
public event TaskEventHandler UploadProgressChanged;
|
||||||
|
public event TaskEventHandler UploadCompleted;
|
||||||
public event TaskEventHandler TaskCompleted;
|
public event TaskEventHandler TaskCompleted;
|
||||||
public event UploaderServiceEventHandler UploadersConfigWindowRequested;
|
public event UploaderServiceEventHandler UploadersConfigWindowRequested;
|
||||||
|
|
||||||
|
@ -253,6 +255,8 @@ public void Start()
|
||||||
{
|
{
|
||||||
if (Status == TaskStatus.InQueue && !StopRequested)
|
if (Status == TaskStatus.InQueue && !StopRequested)
|
||||||
{
|
{
|
||||||
|
Info.TaskStartTime = DateTime.UtcNow;
|
||||||
|
|
||||||
threadWorker = new ThreadWorker();
|
threadWorker = new ThreadWorker();
|
||||||
Prepare();
|
Prepare();
|
||||||
threadWorker.DoWork += ThreadDoWork;
|
threadWorker.DoWork += ThreadDoWork;
|
||||||
|
@ -302,8 +306,6 @@ public void Stop()
|
||||||
|
|
||||||
private void ThreadDoWork()
|
private void ThreadDoWork()
|
||||||
{
|
{
|
||||||
Info.TaskStartTime = DateTime.UtcNow;
|
|
||||||
|
|
||||||
CreateTaskReferenceHelper();
|
CreateTaskReferenceHelper();
|
||||||
|
|
||||||
try
|
try
|
||||||
|
@ -343,8 +345,6 @@ private void ThreadDoWork()
|
||||||
DoAfterUploadJobs();
|
DoAfterUploadJobs();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Info.TaskEndTime = DateTime.UtcNow;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CreateTaskReferenceHelper()
|
private void CreateTaskReferenceHelper()
|
||||||
|
@ -425,6 +425,11 @@ private void DoUploadJob()
|
||||||
isError = DoUpload(retry);
|
isError = DoUpload(retry);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!isError)
|
||||||
|
{
|
||||||
|
OnUploadCompleted();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -851,7 +856,13 @@ public UploadResult UploadData(IGenericUploaderService service, Stream stream, s
|
||||||
uploader.EarlyURLCopyRequested += url => ClipboardHelpers.CopyText(url);
|
uploader.EarlyURLCopyRequested += url => ClipboardHelpers.CopyText(url);
|
||||||
}
|
}
|
||||||
|
|
||||||
return uploader.Upload(stream, fileName);
|
Info.UploadDuration = Stopwatch.StartNew();
|
||||||
|
|
||||||
|
UploadResult result = uploader.Upload(stream, fileName);
|
||||||
|
|
||||||
|
Info.UploadDuration.Stop();
|
||||||
|
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
@ -1023,6 +1034,14 @@ private void OnUploadStarted()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OnUploadCompleted()
|
||||||
|
{
|
||||||
|
if (UploadCompleted != null)
|
||||||
|
{
|
||||||
|
threadWorker.InvokeAsync(() => UploadCompleted(this));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void OnUploadProgressChanged()
|
private void OnUploadProgressChanged()
|
||||||
{
|
{
|
||||||
if (UploadProgressChanged != null)
|
if (UploadProgressChanged != null)
|
||||||
|
@ -1033,6 +1052,8 @@ private void OnUploadProgressChanged()
|
||||||
|
|
||||||
private void OnTaskCompleted()
|
private void OnTaskCompleted()
|
||||||
{
|
{
|
||||||
|
Info.TaskEndTime = DateTime.UtcNow;
|
||||||
|
|
||||||
Status = TaskStatus.Completed;
|
Status = TaskStatus.Completed;
|
||||||
|
|
||||||
if (StopRequested)
|
if (StopRequested)
|
||||||
|
|
Loading…
Reference in a new issue