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.")]
|
||||
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.")]
|
||||
public bool DetectUploaderConfigFileChanges { get; set; }
|
||||
|
||||
|
|
|
@ -178,7 +178,7 @@ private ToolStripMenuItem WorkflowMenuItem(HotkeySettings hotkeySetting)
|
|||
{
|
||||
tsmi.Font = new Font(tsmi.Font, FontStyle.Bold);
|
||||
}
|
||||
tsmi.Click += (sender, e) => HandleTask(hotkeySetting.TaskSettings);
|
||||
tsmi.Click += (sender, e) => ExecuteJob(hotkeySetting.TaskSettings);
|
||||
return tsmi;
|
||||
}
|
||||
|
||||
|
@ -999,16 +999,6 @@ private void lvUploads_KeyDown(object sender, KeyEventArgs e)
|
|||
|
||||
#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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
string url = niTray.Tag as string;
|
||||
|
@ -1277,23 +1277,27 @@ private void HandleHotkeys(HotkeySettings hotkeySetting)
|
|||
{
|
||||
DebugHelper.WriteLine("Hotkey triggered: " + hotkeySetting);
|
||||
|
||||
if (hotkeySetting.TaskSettings.Job == HotkeyType.None) return;
|
||||
|
||||
HandleTask(hotkeySetting.TaskSettings);
|
||||
if (hotkeySetting.TaskSettings.Job != HotkeyType.None)
|
||||
{
|
||||
ExecuteJob(hotkeySetting.TaskSettings);
|
||||
}
|
||||
}
|
||||
|
||||
private void ExecuteJob(HotkeyType job)
|
||||
{
|
||||
TaskSettings taskSettings = TaskSettings.GetDefaultTaskSettings();
|
||||
taskSettings.Job = job;
|
||||
HandleTask(taskSettings);
|
||||
ExecuteJob(Program.DefaultTaskSettings, job);
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
switch (safeTaskSettings.Job)
|
||||
switch (job)
|
||||
{
|
||||
case HotkeyType.FileUpload:
|
||||
UploadManager.UploadFile(safeTaskSettings);
|
||||
|
|
|
@ -40,6 +40,7 @@ namespace ShareX
|
|||
public class TaskSettings
|
||||
{
|
||||
private string description = string.Empty;
|
||||
|
||||
public string Description
|
||||
{
|
||||
get
|
||||
|
@ -135,30 +136,27 @@ public bool IsUsingDefaultSettings
|
|||
|
||||
public static TaskSettings GetDefaultTaskSettings()
|
||||
{
|
||||
TaskSettings taskSettings = new TaskSettings();
|
||||
taskSettings.SetDefaultSettings();
|
||||
taskSettings.TaskSettingsReference = Program.DefaultTaskSettings;
|
||||
return taskSettings;
|
||||
return GetSafeTaskSettings(Program.DefaultTaskSettings);
|
||||
}
|
||||
|
||||
public static TaskSettings GetSafeTaskSettings(TaskSettings taskSettings)
|
||||
{
|
||||
TaskSettings taskSettingsCopy;
|
||||
TaskSettings safeTaskSettings;
|
||||
|
||||
if (taskSettings.IsUsingDefaultSettings && Program.DefaultTaskSettings != null)
|
||||
if (taskSettings.IsUsingDefaultSettings)
|
||||
{
|
||||
taskSettingsCopy = Program.DefaultTaskSettings.Copy();
|
||||
taskSettingsCopy.Description = taskSettings.Description;
|
||||
taskSettingsCopy.Job = taskSettings.Job;
|
||||
safeTaskSettings = Program.DefaultTaskSettings.Copy();
|
||||
safeTaskSettings.Description = taskSettings.Description;
|
||||
safeTaskSettings.Job = taskSettings.Job;
|
||||
}
|
||||
else
|
||||
{
|
||||
taskSettingsCopy = taskSettings.Copy();
|
||||
taskSettingsCopy.SetDefaultSettings();
|
||||
safeTaskSettings = taskSettings.Copy();
|
||||
safeTaskSettings.SetDefaultSettings();
|
||||
}
|
||||
|
||||
taskSettingsCopy.TaskSettingsReference = taskSettings;
|
||||
return taskSettingsCopy;
|
||||
safeTaskSettings.TaskSettingsReference = taskSettings;
|
||||
return safeTaskSettings;
|
||||
}
|
||||
|
||||
private void SetDefaultSettings()
|
||||
|
|
Loading…
Reference in a new issue