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.")] [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; }

View file

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

View file

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