Skip to content

Commit

Permalink
Code refactoring
Browse files Browse the repository at this point in the history
  • Loading branch information
Jaex committed Mar 28, 2024
1 parent 77d4f7a commit a92bafb
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 45 deletions.
1 change: 1 addition & 0 deletions ShareX.HelpersLib/Forms/ErrorForm.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions ShareX/Forms/ApplicationSettingsForm.cs
Expand Up @@ -822,14 +822,14 @@ private async void btnImport_Click(object sender, EventArgs e)

LanguageHelper.ChangeLanguage(Program.Settings.Language);

Program.MainForm.UpdateControls();
await Program.MainForm.UpdateControls();

DebugHelper.WriteLine($"Import completed: {importPath}");
}
}
}

private void btnResetSettings_Click(object sender, EventArgs e)
private async void btnResetSettings_Click(object sender, EventArgs e)
{
if (MessageBox.Show(Resources.ApplicationSettingsForm_btnResetSettings_Click_WouldYouLikeToResetShareXSettings, "ShareX - " + Resources.Confirmation,
MessageBoxButtons.YesNo, MessageBoxIcon.Exclamation) == DialogResult.Yes)
Expand All @@ -841,7 +841,7 @@ private void btnResetSettings_Click(object sender, EventArgs e)

LanguageHelper.ChangeLanguage(Program.Settings.Language);

Program.MainForm.UpdateControls();
await Program.MainForm.UpdateControls();

DebugHelper.WriteLine("Settings reset.");
}
Expand Down
51 changes: 24 additions & 27 deletions ShareX/Forms/MainForm.cs
Expand Up @@ -58,7 +58,8 @@ private async void MainForm_HandleCreated(object sender, EventArgs e)
RunPuushTasks();

NativeMethods.UseImmersiveDarkMode(Handle, ShareXResources.IsDarkTheme);
UpdateControls();

await UpdateControls();

DebugHelper.WriteLine("Startup time: {0} ms", Program.StartTimer.ElapsedMilliseconds);

Expand Down Expand Up @@ -197,7 +198,7 @@ private void InitializeControls()
HandleCreated += MainForm_HandleCreated;
}

public void UpdateControls()
public async Task UpdateControls()
{
IsReady = false;

Expand Down Expand Up @@ -260,7 +261,7 @@ public void UpdateControls()
AfterTaskSettingsJobs();
AfterApplicationSettingsJobs();

InitHotkeys();
await InitHotkeys();

IsReady = true;
}
Expand Down Expand Up @@ -317,39 +318,35 @@ private void AfterShownJobs()
}
}

private void InitHotkeys()
private async Task InitHotkeys()
{
Task.Run(() =>
{
SettingManager.WaitHotkeysConfig();
}).ContinueInCurrentContext(() =>
await Task.Run(() => SettingManager.WaitHotkeysConfig());

if (Program.HotkeyManager == null)
{
if (Program.HotkeyManager == null)
{
Program.HotkeyManager = new HotkeyManager(this);
Program.HotkeyManager.HotkeyTrigger += HandleHotkeys;
}
Program.HotkeyManager = new HotkeyManager(this);
Program.HotkeyManager.HotkeyTrigger += HandleHotkeys;
}

Program.HotkeyManager.UpdateHotkeys(Program.HotkeysConfig.Hotkeys, !Program.IgnoreHotkeyWarning);
Program.HotkeyManager.UpdateHotkeys(Program.HotkeysConfig.Hotkeys, !Program.IgnoreHotkeyWarning);

DebugHelper.WriteLine("HotkeyManager started.");
DebugHelper.WriteLine("HotkeyManager started.");

if (Program.WatchFolderManager == null)
{
Program.WatchFolderManager = new WatchFolderManager();
}
if (Program.WatchFolderManager == null)
{
Program.WatchFolderManager = new WatchFolderManager();
}

Program.WatchFolderManager.UpdateWatchFolders();
Program.WatchFolderManager.UpdateWatchFolders();

DebugHelper.WriteLine("WatchFolderManager started.");
DebugHelper.WriteLine("WatchFolderManager started.");

UpdateWorkflowsMenu();
UpdateWorkflowsMenu();

if (pHotkeys.Visible)
{
pHotkeys.Focus();
}
});
if (pHotkeys.Visible)
{
pHotkeys.Focus();
}
}

private async void HandleHotkeys(HotkeySettings hotkeySetting)
Expand Down
38 changes: 23 additions & 15 deletions ShareX/HotkeyManager.cs
Expand Up @@ -47,8 +47,29 @@ public class HotkeyManager
public HotkeyManager(HotkeyForm form)
{
hotkeyForm = form;
hotkeyForm.HotkeyPress += hotkeyForm_HotkeyPress;
hotkeyForm.FormClosed += (sender, e) => hotkeyForm.InvokeSafe(() => UnregisterAllHotkeys(false));
hotkeyForm.HotkeyPress += HotkeyForm_HotkeyPress;
hotkeyForm.FormClosed += HotkeyForm_FormClosed;
}

private void HotkeyForm_HotkeyPress(ushort id, Keys key, Modifiers modifier)
{
if (!IgnoreHotkeys && (!Program.Settings.DisableHotkeysOnFullscreen || !CaptureHelpers.IsActiveWindowFullscreen()))
{
HotkeySettings hotkeySetting = Hotkeys.Find(x => x.HotkeyInfo.ID == id);

if (hotkeySetting != null)
{
OnHotkeyTrigger(hotkeySetting);
}
}
}

private void HotkeyForm_FormClosed(object sender, FormClosedEventArgs e)
{
if (hotkeyForm != null && !hotkeyForm.IsDisposed)
{
UnregisterAllHotkeys(false);
}
}

public void UpdateHotkeys(List<HotkeySettings> hotkeys, bool showFailedHotkeys)
Expand All @@ -68,19 +89,6 @@ public void UpdateHotkeys(List<HotkeySettings> hotkeys, bool showFailedHotkeys)
}
}

private void hotkeyForm_HotkeyPress(ushort id, Keys key, Modifiers modifier)
{
if (!IgnoreHotkeys && (!Program.Settings.DisableHotkeysOnFullscreen || !CaptureHelpers.IsActiveWindowFullscreen()))
{
HotkeySettings hotkeySetting = Hotkeys.Find(x => x.HotkeyInfo.ID == id);

if (hotkeySetting != null)
{
OnHotkeyTrigger(hotkeySetting);
}
}
}

protected void OnHotkeyTrigger(HotkeySettings hotkeySetting)
{
HotkeyTrigger?.Invoke(hotkeySetting);
Expand Down

0 comments on commit a92bafb

Please sign in to comment.