mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-01 09:47:22 +13:00
Workflows can show all tasks optionally, Added workflows to tray menu
This commit is contained in:
parent
ccc6b16474
commit
e1ea76d53b
8 changed files with 70 additions and 44 deletions
|
@ -120,6 +120,9 @@ public ApplicationConfig()
|
|||
[Category("Application"), DefaultValue(false), Description("By default copying \"Bitmap\" to clipboard. Alternative method copying \"PNG and DIB\" to clipboard.")]
|
||||
public bool UseAlternativeClipboardCopyImage { get; set; }
|
||||
|
||||
[Category("Application"), DefaultValue(true), Description("Show only customized tasks in main window workflows.")]
|
||||
public bool WorkflowsOnlyShowEdited { get; set; }
|
||||
|
||||
[Category("Application / Config"), DefaultValue(false), Description("Automatically detect external changes to UploaderConfig file and load settigns to memory.")]
|
||||
public bool DetectUploaderConfigFileChanges { get; set; }
|
||||
|
||||
|
|
6
ShareX/Forms/AboutForm.Designer.cs
generated
6
ShareX/Forms/AboutForm.Designer.cs
generated
|
@ -159,7 +159,7 @@ private void InitializeComponent()
|
|||
this.rtbCredits.Location = new System.Drawing.Point(15, 200);
|
||||
this.rtbCredits.Name = "rtbCredits";
|
||||
this.rtbCredits.ReadOnly = true;
|
||||
this.rtbCredits.Size = new System.Drawing.Size(409, 248);
|
||||
this.rtbCredits.Size = new System.Drawing.Size(417, 248);
|
||||
this.rtbCredits.TabIndex = 11;
|
||||
this.rtbCredits.Text = resources.GetString("rtbCredits.Text");
|
||||
this.rtbCredits.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler(this.rtb_LinkClicked);
|
||||
|
@ -204,7 +204,7 @@ private void InitializeComponent()
|
|||
this.cLogo.Interval = 100;
|
||||
this.cLogo.Location = new System.Drawing.Point(224, -8);
|
||||
this.cLogo.Name = "cLogo";
|
||||
this.cLogo.Size = new System.Drawing.Size(200, 200);
|
||||
this.cLogo.Size = new System.Drawing.Size(208, 200);
|
||||
this.cLogo.TabIndex = 5;
|
||||
this.cLogo.Draw += new HelpersLib.Canvas.DrawEventHandler(this.cLogo_Draw);
|
||||
this.cLogo.MouseDown += new System.Windows.Forms.MouseEventHandler(this.cLogo_MouseDown);
|
||||
|
@ -221,7 +221,7 @@ private void InitializeComponent()
|
|||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.Color.WhiteSmoke;
|
||||
this.ClientSize = new System.Drawing.Size(433, 457);
|
||||
this.ClientSize = new System.Drawing.Size(441, 457);
|
||||
this.Controls.Add(this.pbMikeSteamURL);
|
||||
this.Controls.Add(this.lblOwners);
|
||||
this.Controls.Add(this.rtbShareXInfo);
|
||||
|
|
|
@ -123,7 +123,7 @@
|
|||
Logo and icon: Mopsy - http://mpql.net
|
||||
Jira, Gist and Mega support: gpailler (Grégoire Pailler)
|
||||
Web site: dmxt (Dana)
|
||||
Amazon S3 and DreamObjects support: Alan Edwardes - http://alan.edward.es
|
||||
Amazon S3 and DreamObjects support: Alan Edwardes - http://alanedwardes.com
|
||||
|
||||
External libraries:
|
||||
|
||||
|
|
32
ShareX/Forms/MainForm.Designer.cs
generated
32
ShareX/Forms/MainForm.Designer.cs
generated
|
@ -34,6 +34,7 @@ private void InitializeComponent()
|
|||
this.tsbClipboardUpload = new System.Windows.Forms.ToolStripButton();
|
||||
this.tsbFileUpload = new System.Windows.Forms.ToolStripButton();
|
||||
this.tsbDragDropUpload = new System.Windows.Forms.ToolStripButton();
|
||||
this.tsddbWorkflows = new System.Windows.Forms.ToolStripDropDownButton();
|
||||
this.tsddbCapture = new System.Windows.Forms.ToolStripDropDownButton();
|
||||
this.tsmiFullscreen = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsmiWindow = new System.Windows.Forms.ToolStripMenuItem();
|
||||
|
@ -49,7 +50,6 @@ private void InitializeComponent()
|
|||
this.tsmiLastRegion = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsmiScreenRecorder = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsmiAutoCapture = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsddbWorkflows = new System.Windows.Forms.ToolStripDropDownButton();
|
||||
this.tsddbAfterCaptureTasks = new System.Windows.Forms.ToolStripDropDownButton();
|
||||
this.tsddbAfterUploadTasks = new System.Windows.Forms.ToolStripDropDownButton();
|
||||
this.tsddbDestinations = new System.Windows.Forms.ToolStripDropDownButton();
|
||||
|
@ -200,6 +200,7 @@ 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.tsmiTrayWorkflows = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.tsMain.SuspendLayout();
|
||||
this.scMain.Panel1.SuspendLayout();
|
||||
this.scMain.Panel2.SuspendLayout();
|
||||
|
@ -274,6 +275,15 @@ private void InitializeComponent()
|
|||
this.tsbDragDropUpload.Text = "Drag and drop upload...";
|
||||
this.tsbDragDropUpload.Click += new System.EventHandler(this.tsbDragDropUpload_Click);
|
||||
//
|
||||
// tsddbWorkflows
|
||||
//
|
||||
this.tsddbWorkflows.Image = global::ShareX.Properties.Resources.application_wave;
|
||||
this.tsddbWorkflows.ImageAlign = System.Drawing.ContentAlignment.BottomLeft;
|
||||
this.tsddbWorkflows.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.tsddbWorkflows.Name = "tsddbWorkflows";
|
||||
this.tsddbWorkflows.Size = new System.Drawing.Size(147, 20);
|
||||
this.tsddbWorkflows.Text = "Workflows";
|
||||
//
|
||||
// tsddbCapture
|
||||
//
|
||||
this.tsddbCapture.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
|
@ -409,15 +419,6 @@ private void InitializeComponent()
|
|||
this.tsmiAutoCapture.Text = "Auto capture...";
|
||||
this.tsmiAutoCapture.Click += new System.EventHandler(this.tsmiAutoCapture_Click);
|
||||
//
|
||||
// tsddbWorkflows
|
||||
//
|
||||
this.tsddbWorkflows.Image = global::ShareX.Properties.Resources.application_wave;
|
||||
this.tsddbWorkflows.ImageAlign = System.Drawing.ContentAlignment.BottomLeft;
|
||||
this.tsddbWorkflows.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.tsddbWorkflows.Name = "tsddbWorkflows";
|
||||
this.tsddbWorkflows.Size = new System.Drawing.Size(147, 20);
|
||||
this.tsddbWorkflows.Text = "Workflows";
|
||||
//
|
||||
// tsddbAfterCaptureTasks
|
||||
//
|
||||
this.tsddbAfterCaptureTasks.Image = global::ShareX.Properties.Resources.image_export;
|
||||
|
@ -1254,6 +1255,7 @@ private void InitializeComponent()
|
|||
this.tsmiTrayClipboardUpload,
|
||||
this.tsmiTrayFileUpload,
|
||||
this.tsmiTrayDragDropUpload,
|
||||
this.tsmiTrayWorkflows,
|
||||
this.tsmiTrayCapture,
|
||||
this.tsmiTrayAfterCaptureTasks,
|
||||
this.tsmiTrayAfterUploadTasks,
|
||||
|
@ -1274,7 +1276,7 @@ private void InitializeComponent()
|
|||
this.tsmiTrayShow,
|
||||
this.tsmiTrayExit});
|
||||
this.cmsTray.Name = "cmsTray";
|
||||
this.cmsTray.Size = new System.Drawing.Size(200, 440);
|
||||
this.cmsTray.Size = new System.Drawing.Size(200, 462);
|
||||
//
|
||||
// tsmiTrayClipboardUpload
|
||||
//
|
||||
|
@ -1694,6 +1696,13 @@ private void InitializeComponent()
|
|||
this.ssToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.ssToolStripMenuItem.Text = "ss";
|
||||
//
|
||||
// tsmiTrayWorkflows
|
||||
//
|
||||
this.tsmiTrayWorkflows.Image = global::ShareX.Properties.Resources.application_wave;
|
||||
this.tsmiTrayWorkflows.Name = "tsmiTrayWorkflows";
|
||||
this.tsmiTrayWorkflows.Size = new System.Drawing.Size(199, 22);
|
||||
this.tsmiTrayWorkflows.Text = "Workflows";
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
this.AllowDrop = true;
|
||||
|
@ -1896,5 +1905,6 @@ private void InitializeComponent()
|
|||
private System.Windows.Forms.ToolStripMenuItem tsmiImageEditor;
|
||||
private System.Windows.Forms.ToolStripMenuItem tsmiTrayImageEditor;
|
||||
private System.Windows.Forms.ToolStripDropDownButton tsddbWorkflows;
|
||||
private System.Windows.Forms.ToolStripMenuItem tsmiTrayWorkflows;
|
||||
}
|
||||
}
|
|
@ -108,23 +108,31 @@ private void InitControls()
|
|||
|
||||
TaskManager.ListViewControl = lvUploads;
|
||||
uim = new UploadInfoManager(lvUploads);
|
||||
|
||||
((ToolStripDropDownMenu)tsddbWorkflows.DropDown).ShowImageMargin = ((ToolStripDropDownMenu)tsmiTrayWorkflows.DropDown).ShowImageMargin =
|
||||
((ToolStripDropDownMenu)tsmiMonitor.DropDown).ShowImageMargin = ((ToolStripDropDownMenu)tsmiTrayMonitor.DropDown).ShowImageMargin = false;
|
||||
}
|
||||
|
||||
private void UpdateWorkflowsMenu()
|
||||
{
|
||||
tsddbWorkflows.DropDownItems.Clear();
|
||||
tsmiTrayWorkflows.DropDownItems.Clear();
|
||||
|
||||
Program.HotkeyManager.Hotkeys.ForEach<HotkeySettings>(x =>
|
||||
{
|
||||
if (!x.TaskSettings.IsUsingDefaultSettings)
|
||||
if (x.TaskSettings.Job != HotkeyType.None && (!Program.Settings.WorkflowsOnlyShowEdited || !x.TaskSettings.IsUsingDefaultSettings))
|
||||
{
|
||||
ToolStripMenuItem tsmi = new ToolStripMenuItem(x.TaskSettings.Description);
|
||||
tsmi.Click += (sender, e) => HandleHotkeys(x);
|
||||
tsmi.Click += (sender, e) => HandleTask(x.TaskSettings);
|
||||
tsddbWorkflows.DropDownItems.Add(tsmi);
|
||||
|
||||
tsmi = new ToolStripMenuItem(x.TaskSettings.Description);
|
||||
tsmi.Click += (sender, e) => HandleTask(x.TaskSettings);
|
||||
tsmiTrayWorkflows.DropDownItems.Add(tsmi);
|
||||
}
|
||||
});
|
||||
|
||||
tsddbWorkflows.Visible = tsddbWorkflows.DropDownItems.Count > 0;
|
||||
tsddbWorkflows.Visible = tsmiTrayWorkflows.Visible = tsddbWorkflows.DropDownItems.Count > 0;
|
||||
}
|
||||
|
||||
private void UpdateDestinationStates()
|
||||
|
@ -696,6 +704,7 @@ private void tsbApplicationSettings_Click(object sender, EventArgs e)
|
|||
}
|
||||
|
||||
AfterSettingsJobs();
|
||||
UpdateWorkflowsMenu();
|
||||
Program.Settings.SaveAsync(Program.ApplicationConfigFilePath);
|
||||
|
||||
Program.ConfigureUploadersConfigWatcher();
|
||||
|
|
|
@ -56,10 +56,10 @@ private void InitHotkeys()
|
|||
Program.HotkeyManager.HotkeyTrigger += HandleHotkeys;
|
||||
DebugHelper.WriteLine("HotkeyManager started");
|
||||
|
||||
UpdateWorkflowsMenu();
|
||||
|
||||
Program.WatchFolderManager = new WatchFolderManager();
|
||||
DebugHelper.WriteLine("WatchFolderManager started");
|
||||
|
||||
UpdateWorkflowsMenu();
|
||||
}));
|
||||
});
|
||||
}
|
||||
|
@ -70,69 +70,74 @@ private void HandleHotkeys(HotkeySettings hotkeySetting)
|
|||
|
||||
if (hotkeySetting.TaskSettings.Job == HotkeyType.None) return;
|
||||
|
||||
TaskSettings taskSettings = TaskSettings.GetSafeTaskSettings(hotkeySetting.TaskSettings);
|
||||
HandleTask(hotkeySetting.TaskSettings);
|
||||
}
|
||||
|
||||
switch (hotkeySetting.TaskSettings.Job)
|
||||
private void HandleTask(TaskSettings taskSettings)
|
||||
{
|
||||
TaskSettings safeTaskSettings = TaskSettings.GetSafeTaskSettings(taskSettings);
|
||||
|
||||
switch (safeTaskSettings.Job)
|
||||
{
|
||||
case HotkeyType.StopUploads:
|
||||
TaskManager.StopAllTasks();
|
||||
break;
|
||||
case HotkeyType.ClipboardUpload:
|
||||
UploadManager.ClipboardUpload(taskSettings);
|
||||
UploadManager.ClipboardUpload(safeTaskSettings);
|
||||
break;
|
||||
case HotkeyType.ClipboardUploadWithContentViewer:
|
||||
UploadManager.ClipboardUploadWithContentViewer(taskSettings);
|
||||
UploadManager.ClipboardUploadWithContentViewer(safeTaskSettings);
|
||||
break;
|
||||
case HotkeyType.FileUpload:
|
||||
UploadManager.UploadFile(taskSettings);
|
||||
UploadManager.UploadFile(safeTaskSettings);
|
||||
break;
|
||||
case HotkeyType.DragDropUpload:
|
||||
TaskHelpers.OpenDropWindow();
|
||||
break;
|
||||
case HotkeyType.PrintScreen:
|
||||
CaptureScreenshot(CaptureType.Screen, taskSettings, false);
|
||||
CaptureScreenshot(CaptureType.Screen, safeTaskSettings, false);
|
||||
break;
|
||||
case HotkeyType.ActiveWindow:
|
||||
CaptureScreenshot(CaptureType.ActiveWindow, taskSettings, false);
|
||||
CaptureScreenshot(CaptureType.ActiveWindow, safeTaskSettings, false);
|
||||
break;
|
||||
case HotkeyType.ActiveMonitor:
|
||||
CaptureScreenshot(CaptureType.ActiveMonitor, taskSettings, false);
|
||||
CaptureScreenshot(CaptureType.ActiveMonitor, safeTaskSettings, false);
|
||||
break;
|
||||
case HotkeyType.RectangleRegion:
|
||||
CaptureScreenshot(CaptureType.Rectangle, taskSettings, false);
|
||||
CaptureScreenshot(CaptureType.Rectangle, safeTaskSettings, false);
|
||||
break;
|
||||
case HotkeyType.WindowRectangle:
|
||||
CaptureScreenshot(CaptureType.RectangleWindow, taskSettings, false);
|
||||
CaptureScreenshot(CaptureType.RectangleWindow, safeTaskSettings, false);
|
||||
break;
|
||||
case HotkeyType.RoundedRectangleRegion:
|
||||
CaptureScreenshot(CaptureType.RoundedRectangle, taskSettings, false);
|
||||
CaptureScreenshot(CaptureType.RoundedRectangle, safeTaskSettings, false);
|
||||
break;
|
||||
case HotkeyType.EllipseRegion:
|
||||
CaptureScreenshot(CaptureType.Ellipse, taskSettings, false);
|
||||
CaptureScreenshot(CaptureType.Ellipse, safeTaskSettings, false);
|
||||
break;
|
||||
case HotkeyType.TriangleRegion:
|
||||
CaptureScreenshot(CaptureType.Triangle, taskSettings, false);
|
||||
CaptureScreenshot(CaptureType.Triangle, safeTaskSettings, false);
|
||||
break;
|
||||
case HotkeyType.DiamondRegion:
|
||||
CaptureScreenshot(CaptureType.Diamond, taskSettings, false);
|
||||
CaptureScreenshot(CaptureType.Diamond, safeTaskSettings, false);
|
||||
break;
|
||||
case HotkeyType.PolygonRegion:
|
||||
CaptureScreenshot(CaptureType.Polygon, taskSettings, false);
|
||||
CaptureScreenshot(CaptureType.Polygon, safeTaskSettings, false);
|
||||
break;
|
||||
case HotkeyType.FreeHandRegion:
|
||||
CaptureScreenshot(CaptureType.Freehand, taskSettings, false);
|
||||
CaptureScreenshot(CaptureType.Freehand, safeTaskSettings, false);
|
||||
break;
|
||||
case HotkeyType.LastRegion:
|
||||
CaptureScreenshot(CaptureType.LastRegion, taskSettings, false);
|
||||
CaptureScreenshot(CaptureType.LastRegion, safeTaskSettings, false);
|
||||
break;
|
||||
case HotkeyType.ScreenRecorder:
|
||||
TaskHelpers.DoScreenRecorder(taskSettings);
|
||||
TaskHelpers.DoScreenRecorder(safeTaskSettings);
|
||||
break;
|
||||
case HotkeyType.AutoCapture:
|
||||
TaskHelpers.OpenAutoCapture();
|
||||
break;
|
||||
case HotkeyType.ScreenColorPicker:
|
||||
TaskHelpers.OpenScreenColorPicker(taskSettings);
|
||||
TaskHelpers.OpenScreenColorPicker(safeTaskSettings);
|
||||
break;
|
||||
case HotkeyType.Ruler:
|
||||
TaskHelpers.OpenRuler();
|
||||
|
|
4
ShareX/Properties/Resources.Designer.cs
generated
4
ShareX/Properties/Resources.Designer.cs
generated
|
@ -1,7 +1,7 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.34011
|
||||
// Runtime Version:4.0.30319.18444
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
|
@ -165,7 +165,7 @@ public static System.Drawing.Bitmap application_task {
|
|||
/// </summary>
|
||||
public static System.Drawing.Bitmap application_wave {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("application-wave", resourceCulture);
|
||||
object obj = ResourceManager.GetObject("application_wave", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -117,7 +117,7 @@
|
|||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="Test" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Test.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
|
@ -358,8 +358,7 @@
|
|||
<data name="application_task" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\application-task.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="application-wave" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<data name="application_wave" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\application-wave.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
Loading…
Reference in a new issue