mirror of
https://github.com/WerWolv/ImHex.git
synced 2026-03-28 07:47:03 -05:00
impr: Add setting for task-finish notifications
This commit is contained in:
@@ -44,6 +44,7 @@ if (EMSCRIPTEN)
|
|||||||
target_link_options(main PRIVATE -sGL_UNSAFE_OPTS=0)
|
target_link_options(main PRIVATE -sGL_UNSAFE_OPTS=0)
|
||||||
target_link_options(main PRIVATE -sEXPORTED_RUNTIME_METHODS=ccall)
|
target_link_options(main PRIVATE -sEXPORTED_RUNTIME_METHODS=ccall)
|
||||||
target_link_options(main PRIVATE -sFETCH)
|
target_link_options(main PRIVATE -sFETCH)
|
||||||
|
target_link_options(main PRIVATE -sASSERTIONS)
|
||||||
target_link_options(main PRIVATE -sWASM_BIGINT)
|
target_link_options(main PRIVATE -sWASM_BIGINT)
|
||||||
target_link_options(main PRIVATE -O2)
|
target_link_options(main PRIVATE -O2)
|
||||||
target_link_options(main PRIVATE -fsanitize=null)
|
target_link_options(main PRIVATE -fsanitize=null)
|
||||||
|
|||||||
@@ -556,6 +556,8 @@
|
|||||||
"hex.builtin.setting.interface.scaling.native": "Native",
|
"hex.builtin.setting.interface.scaling.native": "Native",
|
||||||
"hex.builtin.setting.interface.scaling.fractional_warning": "The default font does not support fractional scaling. For better results, select a custom font in the 'Font' tab.",
|
"hex.builtin.setting.interface.scaling.fractional_warning": "The default font does not support fractional scaling. For better results, select a custom font in the 'Font' tab.",
|
||||||
"hex.builtin.setting.interface.show_header_command_palette": "Show Command Palette in Window Header",
|
"hex.builtin.setting.interface.show_header_command_palette": "Show Command Palette in Window Header",
|
||||||
|
"hex.builtin.setting.interface.show_task_finish_notification": "Show task completion notifications",
|
||||||
|
"hex.builtin.setting.interface.show_task_finish_notification.desc": "Should a notification be shown when a long-running task finishes while ImHex is in the background?",
|
||||||
"hex.builtin.setting.interface.show_titlebar_backdrop": "Show titlebar backdrop color",
|
"hex.builtin.setting.interface.show_titlebar_backdrop": "Show titlebar backdrop color",
|
||||||
"hex.builtin.setting.interface.style": "Styling",
|
"hex.builtin.setting.interface.style": "Styling",
|
||||||
"hex.builtin.setting.interface.use_native_menu_bar": "Use native menu bar",
|
"hex.builtin.setting.interface.use_native_menu_bar": "Use native menu bar",
|
||||||
|
|||||||
@@ -427,7 +427,11 @@ namespace hex::plugin::builtin {
|
|||||||
#endif
|
#endif
|
||||||
});
|
});
|
||||||
|
|
||||||
|
static ContentRegistry::Settings::SettingsVariable<bool, "hex.builtin.setting.interface", "hex.builtin.setting.interface.show_task_finish_notification"> taskFinishedNotificationEnabled = false;
|
||||||
TaskManager::addTaskCompletionCallback([](Task &task) {
|
TaskManager::addTaskCompletionCallback([](Task &task) {
|
||||||
|
if (!taskFinishedNotificationEnabled)
|
||||||
|
return;
|
||||||
|
|
||||||
if (!glfwGetWindowAttrib(ImHexApi::System::getMainWindowHandle(), GLFW_FOCUSED) && !task.isBackgroundTask())
|
if (!glfwGetWindowAttrib(ImHexApi::System::getMainWindowHandle(), GLFW_FOCUSED) && !task.isBackgroundTask())
|
||||||
hex::showToastMessage("ImHex", fmt::format("hex.builtin.os_toast_message.task_finished"_lang, Lang(task.getUnlocalizedName())));
|
hex::showToastMessage("ImHex", fmt::format("hex.builtin.os_toast_message.task_finished"_lang, Lang(task.getUnlocalizedName())));
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -891,6 +891,8 @@ for (const auto &path : m_paths) {
|
|||||||
ContentRegistry::Settings::add<Widgets::Checkbox>("hex.builtin.setting.interface", "hex.builtin.setting.interface.window", "hex.builtin.setting.interface.randomize_window_title", false);
|
ContentRegistry::Settings::add<Widgets::Checkbox>("hex.builtin.setting.interface", "hex.builtin.setting.interface.window", "hex.builtin.setting.interface.randomize_window_title", false);
|
||||||
|
|
||||||
ContentRegistry::Settings::add<Widgets::Checkbox>("hex.builtin.setting.interface", "hex.builtin.setting.interface.window", "hex.builtin.setting.interface.restore_window_pos", false);
|
ContentRegistry::Settings::add<Widgets::Checkbox>("hex.builtin.setting.interface", "hex.builtin.setting.interface.window", "hex.builtin.setting.interface.restore_window_pos", false);
|
||||||
|
ContentRegistry::Settings::add<Widgets::Checkbox>("hex.builtin.setting.interface", "hex.builtin.setting.interface.window", "hex.builtin.setting.interface.show_task_finish_notification", true)
|
||||||
|
.setTooltip("hex.builtin.setting.interface.show_task_finish_notification.desc");
|
||||||
|
|
||||||
ContentRegistry::Settings::add<Widgets::ColorPicker>("hex.builtin.setting.hex_editor", "", "hex.builtin.setting.hex_editor.highlight_color", ImColor(0x80, 0x80, 0xC0, 0x60));
|
ContentRegistry::Settings::add<Widgets::ColorPicker>("hex.builtin.setting.hex_editor", "", "hex.builtin.setting.hex_editor.highlight_color", ImColor(0x80, 0x80, 0xC0, 0x60));
|
||||||
ContentRegistry::Settings::add<Widgets::Checkbox>("hex.builtin.setting.hex_editor", "", "hex.builtin.setting.hex_editor.sync_scrolling", false);
|
ContentRegistry::Settings::add<Widgets::Checkbox>("hex.builtin.setting.hex_editor", "", "hex.builtin.setting.hex_editor.sync_scrolling", false);
|
||||||
|
|||||||
Reference in New Issue
Block a user