Added TrayMiddleClickAction setting, TaskSettings changes

This commit is contained in:
Jaex 2014-07-24 22:28:59 +03:00
parent 201187c222
commit 10fb1a30fe
3 changed files with 37 additions and 32 deletions

View file

@ -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; }

View file

@ -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);

View file

@ -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()