mirror of
https://github.com/ShareX/ShareX.git
synced 2024-10-01 17:56:51 +13:00
Added TrayMiddleClickAction setting, TaskSettings changes
This commit is contained in:
parent
201187c222
commit
10fb1a30fe
3 changed files with 37 additions and 32 deletions
|
@ -126,6 +126,9 @@ public ApplicationConfig()
|
||||||
[Category("Application"), DefaultValue(true), Description("Automatically check updates at startup.")]
|
[Category("Application"), DefaultValue(true), Description("Automatically check updates at startup.")]
|
||||||
public bool AutoCheckUpdate { get; set; }
|
public bool AutoCheckUpdate { get; set; }
|
||||||
|
|
||||||
|
[Category("Application"), DefaultValue(HotkeyType.RectangleRegion), Description("You can set which action to happen when you middle click tray icon."), TypeConverter(typeof(EnumDescriptionConverter))]
|
||||||
|
public HotkeyType TrayMiddleClickAction { get; set; }
|
||||||
|
|
||||||
[Category("Application / Config"), DefaultValue(false), Description("Automatically detect external changes to UploaderConfig file and load settigns to memory.")]
|
[Category("Application / Config"), DefaultValue(false), Description("Automatically detect external changes to UploaderConfig file and load settigns to memory.")]
|
||||||
public bool DetectUploaderConfigFileChanges { get; set; }
|
public bool DetectUploaderConfigFileChanges { get; set; }
|
||||||
|
|
||||||
|
|
|
@ -178,7 +178,7 @@ private ToolStripMenuItem WorkflowMenuItem(HotkeySettings hotkeySetting)
|
||||||
{
|
{
|
||||||
tsmi.Font = new Font(tsmi.Font, FontStyle.Bold);
|
tsmi.Font = new Font(tsmi.Font, FontStyle.Bold);
|
||||||
}
|
}
|
||||||
tsmi.Click += (sender, e) => HandleTask(hotkeySetting.TaskSettings);
|
tsmi.Click += (sender, e) => ExecuteJob(hotkeySetting.TaskSettings);
|
||||||
return tsmi;
|
return tsmi;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -999,16 +999,6 @@ private void lvUploads_KeyDown(object sender, KeyEventArgs e)
|
||||||
|
|
||||||
#region Tray events
|
#region Tray events
|
||||||
|
|
||||||
private void niTray_MouseUp(object sender, MouseEventArgs e)
|
|
||||||
{
|
|
||||||
switch (e.Button)
|
|
||||||
{
|
|
||||||
case MouseButtons.Middle:
|
|
||||||
CaptureScreenshot(CaptureType.Rectangle, null, false);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void niTray_MouseDoubleClick(object sender, MouseEventArgs e)
|
private void niTray_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.Button == MouseButtons.Left)
|
if (e.Button == MouseButtons.Left)
|
||||||
|
@ -1017,6 +1007,16 @@ private void niTray_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void niTray_MouseUp(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
switch (e.Button)
|
||||||
|
{
|
||||||
|
case MouseButtons.Middle:
|
||||||
|
ExecuteJob(Program.Settings.TrayMiddleClickAction);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void niTray_BalloonTipClicked(object sender, EventArgs e)
|
private void niTray_BalloonTipClicked(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
string url = niTray.Tag as string;
|
string url = niTray.Tag as string;
|
||||||
|
@ -1277,23 +1277,27 @@ private void HandleHotkeys(HotkeySettings hotkeySetting)
|
||||||
{
|
{
|
||||||
DebugHelper.WriteLine("Hotkey triggered: " + hotkeySetting);
|
DebugHelper.WriteLine("Hotkey triggered: " + hotkeySetting);
|
||||||
|
|
||||||
if (hotkeySetting.TaskSettings.Job == HotkeyType.None) return;
|
if (hotkeySetting.TaskSettings.Job != HotkeyType.None)
|
||||||
|
{
|
||||||
HandleTask(hotkeySetting.TaskSettings);
|
ExecuteJob(hotkeySetting.TaskSettings);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ExecuteJob(HotkeyType job)
|
private void ExecuteJob(HotkeyType job)
|
||||||
{
|
{
|
||||||
TaskSettings taskSettings = TaskSettings.GetDefaultTaskSettings();
|
ExecuteJob(Program.DefaultTaskSettings, job);
|
||||||
taskSettings.Job = job;
|
|
||||||
HandleTask(taskSettings);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HandleTask(TaskSettings taskSettings)
|
private void ExecuteJob(TaskSettings taskSettings)
|
||||||
|
{
|
||||||
|
ExecuteJob(taskSettings, taskSettings.Job);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void ExecuteJob(TaskSettings taskSettings, HotkeyType job)
|
||||||
{
|
{
|
||||||
TaskSettings safeTaskSettings = TaskSettings.GetSafeTaskSettings(taskSettings);
|
TaskSettings safeTaskSettings = TaskSettings.GetSafeTaskSettings(taskSettings);
|
||||||
|
|
||||||
switch (safeTaskSettings.Job)
|
switch (job)
|
||||||
{
|
{
|
||||||
case HotkeyType.FileUpload:
|
case HotkeyType.FileUpload:
|
||||||
UploadManager.UploadFile(safeTaskSettings);
|
UploadManager.UploadFile(safeTaskSettings);
|
||||||
|
|
|
@ -40,6 +40,7 @@ namespace ShareX
|
||||||
public class TaskSettings
|
public class TaskSettings
|
||||||
{
|
{
|
||||||
private string description = string.Empty;
|
private string description = string.Empty;
|
||||||
|
|
||||||
public string Description
|
public string Description
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
@ -135,30 +136,27 @@ public bool IsUsingDefaultSettings
|
||||||
|
|
||||||
public static TaskSettings GetDefaultTaskSettings()
|
public static TaskSettings GetDefaultTaskSettings()
|
||||||
{
|
{
|
||||||
TaskSettings taskSettings = new TaskSettings();
|
return GetSafeTaskSettings(Program.DefaultTaskSettings);
|
||||||
taskSettings.SetDefaultSettings();
|
|
||||||
taskSettings.TaskSettingsReference = Program.DefaultTaskSettings;
|
|
||||||
return taskSettings;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static TaskSettings GetSafeTaskSettings(TaskSettings taskSettings)
|
public static TaskSettings GetSafeTaskSettings(TaskSettings taskSettings)
|
||||||
{
|
{
|
||||||
TaskSettings taskSettingsCopy;
|
TaskSettings safeTaskSettings;
|
||||||
|
|
||||||
if (taskSettings.IsUsingDefaultSettings && Program.DefaultTaskSettings != null)
|
if (taskSettings.IsUsingDefaultSettings)
|
||||||
{
|
{
|
||||||
taskSettingsCopy = Program.DefaultTaskSettings.Copy();
|
safeTaskSettings = Program.DefaultTaskSettings.Copy();
|
||||||
taskSettingsCopy.Description = taskSettings.Description;
|
safeTaskSettings.Description = taskSettings.Description;
|
||||||
taskSettingsCopy.Job = taskSettings.Job;
|
safeTaskSettings.Job = taskSettings.Job;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
taskSettingsCopy = taskSettings.Copy();
|
safeTaskSettings = taskSettings.Copy();
|
||||||
taskSettingsCopy.SetDefaultSettings();
|
safeTaskSettings.SetDefaultSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
taskSettingsCopy.TaskSettingsReference = taskSettings;
|
safeTaskSettings.TaskSettingsReference = taskSettings;
|
||||||
return taskSettingsCopy;
|
return safeTaskSettings;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SetDefaultSettings()
|
private void SetDefaultSettings()
|
||||||
|
|
Loading…
Reference in a new issue