mirror of
https://github.com/WerWolv/ImHex.git
synced 2026-03-27 23:37:05 -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 -sEXPORTED_RUNTIME_METHODS=ccall)
|
||||
target_link_options(main PRIVATE -sFETCH)
|
||||
target_link_options(main PRIVATE -sASSERTIONS)
|
||||
target_link_options(main PRIVATE -sWASM_BIGINT)
|
||||
target_link_options(main PRIVATE -O2)
|
||||
target_link_options(main PRIVATE -fsanitize=null)
|
||||
|
||||
@@ -556,6 +556,8 @@
|
||||
"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.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.style": "Styling",
|
||||
"hex.builtin.setting.interface.use_native_menu_bar": "Use native menu bar",
|
||||
|
||||
@@ -427,7 +427,11 @@ namespace hex::plugin::builtin {
|
||||
#endif
|
||||
});
|
||||
|
||||
static ContentRegistry::Settings::SettingsVariable<bool, "hex.builtin.setting.interface", "hex.builtin.setting.interface.show_task_finish_notification"> taskFinishedNotificationEnabled = false;
|
||||
TaskManager::addTaskCompletionCallback([](Task &task) {
|
||||
if (!taskFinishedNotificationEnabled)
|
||||
return;
|
||||
|
||||
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())));
|
||||
});
|
||||
|
||||
@@ -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.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::Checkbox>("hex.builtin.setting.hex_editor", "", "hex.builtin.setting.hex_editor.sync_scrolling", false);
|
||||
|
||||
Reference in New Issue
Block a user