From 68d7e99a803f9223db01e7db85f104ce2b2e9802 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Sat, 26 Jul 2025 16:03:08 +0200 Subject: [PATCH] fix: Rename pattern editor menu options to not overlap in the toolbar items --- plugins/builtin/romfs/lang/de_DE.json | 4 +- plugins/builtin/romfs/lang/en_US.json | 8 +-- plugins/builtin/romfs/lang/es_ES.json | 4 +- plugins/builtin/romfs/lang/fr_FR.json | 8 +-- plugins/builtin/romfs/lang/hu_HU.json | 4 +- plugins/builtin/romfs/lang/it_IT.json | 4 +- plugins/builtin/romfs/lang/ja_JP.json | 4 +- plugins/builtin/romfs/lang/ko_KR.json | 4 +- plugins/builtin/romfs/lang/pl_PL.json | 8 +-- plugins/builtin/romfs/lang/pt_BR.json | 4 +- plugins/builtin/romfs/lang/ru_RU.json | 8 +-- plugins/builtin/romfs/lang/zh_CN.json | 8 +-- plugins/builtin/romfs/lang/zh_TW.json | 4 +- plugins/builtin/source/content/ui_items.cpp | 4 +- .../source/content/views/view_hex_editor.cpp | 4 +- .../content/views/view_pattern_editor.cpp | 61 +++---------------- 16 files changed, 50 insertions(+), 91 deletions(-) diff --git a/plugins/builtin/romfs/lang/de_DE.json b/plugins/builtin/romfs/lang/de_DE.json index 05a94b569..0687b41c5 100644 --- a/plugins/builtin/romfs/lang/de_DE.json +++ b/plugins/builtin/romfs/lang/de_DE.json @@ -111,8 +111,8 @@ "hex.builtin.layouts.none.restore_default": "Standard-Layout wiederherstellen", "hex.builtin.menu.edit": "Bearbeiten", "hex.builtin.menu.edit.bookmark.create": "Lesezeichen erstellen", - "hex.builtin.menu.edit.redo": "Wiederholen", - "hex.builtin.menu.edit.undo": "Rückgängig", + "hex.builtin.view.hex_editor.menu.edit.redo": "Wiederholen", + "hex.builtin.view.hex_editor.menu.edit.undo": "Rückgängig", "hex.builtin.menu.extras": "Extras", "hex.builtin.menu.file": "Datei", "hex.builtin.menu.file.bookmark.export": "Lesezeichen exportieren", diff --git a/plugins/builtin/romfs/lang/en_US.json b/plugins/builtin/romfs/lang/en_US.json index 257a7a589..3c119a734 100644 --- a/plugins/builtin/romfs/lang/en_US.json +++ b/plugins/builtin/romfs/lang/en_US.json @@ -123,8 +123,8 @@ "hex.builtin.layouts.none.restore_default": "Restore default layout", "hex.builtin.menu.edit": "Edit", "hex.builtin.menu.edit.bookmark.create": "Create Bookmark", - "hex.builtin.menu.edit.redo": "Redo", - "hex.builtin.menu.edit.undo": "Undo", + "hex.builtin.view.hex_editor.menu.edit.redo": "Redo", + "hex.builtin.view.hex_editor.menu.edit.undo": "Undo", "hex.builtin.menu.extras": "Extras", "hex.builtin.menu.file": "File", "hex.builtin.menu.file.bookmark.export": "Export bookmarks", @@ -1011,8 +1011,8 @@ "hex.builtin.view.pattern_editor.shortcut.copy": "Copy Selection to the Clipboard", "hex.builtin.view.pattern_editor.shortcut.cut": "Copy Selection to the Clipboard and Delete it", "hex.builtin.view.pattern_editor.shortcut.paste": "Paste Clipboard Contents at the Cursor Position", - "hex.builtin.view.pattern_editor.shortcut.undo": "Undo", - "hex.builtin.view.pattern_editor.shortcut.redo": "Redo", + "hex.builtin.view.pattern_editor.menu.edit.undo": "Undo", + "hex.builtin.view.pattern_editor.menu.edit.redo": "Redo", "hex.builtin.view.pattern_editor.shortcut.toggle_insert": "Toggle Write Over", "hex.builtin.view.pattern_editor.shortcut.delete": "Delete One Character at the Cursor Position", "hex.builtin.view.pattern_editor.shortcut.backspace": "Delete One Character to the Left of Cursor", diff --git a/plugins/builtin/romfs/lang/es_ES.json b/plugins/builtin/romfs/lang/es_ES.json index e9c83e6e4..b644e2b9a 100644 --- a/plugins/builtin/romfs/lang/es_ES.json +++ b/plugins/builtin/romfs/lang/es_ES.json @@ -111,8 +111,8 @@ "hex.builtin.layouts.none.restore_default": "", "hex.builtin.menu.edit": "Editar", "hex.builtin.menu.edit.bookmark.create": "Crear marcador", - "hex.builtin.menu.edit.redo": "Rehacer", - "hex.builtin.menu.edit.undo": "Deshacer", + "hex.builtin.view.hex_editor.menu.edit.redo": "Rehacer", + "hex.builtin.view.hex_editor.menu.edit.undo": "Deshacer", "hex.builtin.menu.extras": "", "hex.builtin.menu.file": "Archivo", "hex.builtin.menu.file.bookmark.export": "Exportar marcadores", diff --git a/plugins/builtin/romfs/lang/fr_FR.json b/plugins/builtin/romfs/lang/fr_FR.json index a0cb29085..9fe0dfd35 100644 --- a/plugins/builtin/romfs/lang/fr_FR.json +++ b/plugins/builtin/romfs/lang/fr_FR.json @@ -118,8 +118,8 @@ "hex.builtin.layouts.none.restore_default": "Restaurer la disposition par défaut", "hex.builtin.menu.edit": "Éditer", "hex.builtin.menu.edit.bookmark.create": "Créer un signet", - "hex.builtin.menu.edit.redo": "Rétablir", - "hex.builtin.menu.edit.undo": "Annuler", + "hex.builtin.view.hex_editor.menu.edit.redo": "Rétablir", + "hex.builtin.view.hex_editor.menu.edit.undo": "Annuler", "hex.builtin.menu.extras": "Extras", "hex.builtin.menu.file": "Fichier", "hex.builtin.menu.file.bookmark.export": "Exporter les signets", @@ -997,8 +997,8 @@ "hex.builtin.view.pattern_editor.shortcut.copy": "Copier la sélection dans le presse-papiers", "hex.builtin.view.pattern_editor.shortcut.cut": "Copier la sélection dans le presse-papiers et la supprimer", "hex.builtin.view.pattern_editor.shortcut.paste": "Coller le contenu du presse-papiers à la position du curseur", - "hex.builtin.view.pattern_editor.shortcut.undo": "Annuler", - "hex.builtin.view.pattern_editor.shortcut.redo": "Rétablir", + "hex.builtin.view.pattern_editor.menu.edit.undo": "Annuler", + "hex.builtin.view.pattern_editor.menu.edit.redo": "Rétablir", "hex.builtin.view.pattern_editor.shortcut.toggle_insert": "Activer/désactiver l'écriture par-dessus", "hex.builtin.view.pattern_editor.shortcut.delete": "Supprimer un caractère à la position du curseur", "hex.builtin.view.pattern_editor.shortcut.backspace": "Supprimer un caractère à gauche du curseur", diff --git a/plugins/builtin/romfs/lang/hu_HU.json b/plugins/builtin/romfs/lang/hu_HU.json index b3a99cad8..1a45b95e6 100644 --- a/plugins/builtin/romfs/lang/hu_HU.json +++ b/plugins/builtin/romfs/lang/hu_HU.json @@ -111,8 +111,8 @@ "hex.builtin.layouts.none.restore_default": "Alapértelmezett elrendezés visszaállítása", "hex.builtin.menu.edit": "Szerkesztés", "hex.builtin.menu.edit.bookmark.create": "Könyvjelző létrehozása", - "hex.builtin.menu.edit.redo": "Mégis", - "hex.builtin.menu.edit.undo": "Visszavonás", + "hex.builtin.view.hex_editor.menu.edit.redo": "Mégis", + "hex.builtin.view.hex_editor.menu.edit.undo": "Visszavonás", "hex.builtin.menu.extras": "Extrák", "hex.builtin.menu.file": "Fájl", "hex.builtin.menu.file.bookmark.export": "Könyvjelzők exportálása", diff --git a/plugins/builtin/romfs/lang/it_IT.json b/plugins/builtin/romfs/lang/it_IT.json index f61fff659..8970c52aa 100644 --- a/plugins/builtin/romfs/lang/it_IT.json +++ b/plugins/builtin/romfs/lang/it_IT.json @@ -111,8 +111,8 @@ "hex.builtin.layouts.none.restore_default": "", "hex.builtin.menu.edit": "Modifica", "hex.builtin.menu.edit.bookmark.create": "Crea segnalibro", - "hex.builtin.menu.edit.redo": "Ripeti", - "hex.builtin.menu.edit.undo": "Annulla", + "hex.builtin.view.hex_editor.menu.edit.redo": "Ripeti", + "hex.builtin.view.hex_editor.menu.edit.undo": "Annulla", "hex.builtin.menu.extras": "", "hex.builtin.menu.file": "File", "hex.builtin.menu.file.bookmark.export": "", diff --git a/plugins/builtin/romfs/lang/ja_JP.json b/plugins/builtin/romfs/lang/ja_JP.json index 010964a50..8dd4427f7 100644 --- a/plugins/builtin/romfs/lang/ja_JP.json +++ b/plugins/builtin/romfs/lang/ja_JP.json @@ -111,8 +111,8 @@ "hex.builtin.layouts.none.restore_default": "", "hex.builtin.menu.edit": "編集", "hex.builtin.menu.edit.bookmark.create": "ブックマークを作成", - "hex.builtin.menu.edit.redo": "やり直す", - "hex.builtin.menu.edit.undo": "元に戻す", + "hex.builtin.view.hex_editor.menu.edit.redo": "やり直す", + "hex.builtin.view.hex_editor.menu.edit.undo": "元に戻す", "hex.builtin.menu.extras": "", "hex.builtin.menu.file": "ファイル", "hex.builtin.menu.file.bookmark.export": "ブックマークをエクスポート…", diff --git a/plugins/builtin/romfs/lang/ko_KR.json b/plugins/builtin/romfs/lang/ko_KR.json index eb0635856..a52dd28bf 100644 --- a/plugins/builtin/romfs/lang/ko_KR.json +++ b/plugins/builtin/romfs/lang/ko_KR.json @@ -111,8 +111,8 @@ "hex.builtin.layouts.none.restore_default": "기본 레이아웃 복원", "hex.builtin.menu.edit": "편집", "hex.builtin.menu.edit.bookmark.create": "북마크 만들기", - "hex.builtin.menu.edit.redo": "다시 실행", - "hex.builtin.menu.edit.undo": "실행 취소", + "hex.builtin.view.hex_editor.menu.edit.redo": "다시 실행", + "hex.builtin.view.hex_editor.menu.edit.undo": "실행 취소", "hex.builtin.menu.extras": "기타", "hex.builtin.menu.file": "파일", "hex.builtin.menu.file.bookmark.export": "북마크 내보내기", diff --git a/plugins/builtin/romfs/lang/pl_PL.json b/plugins/builtin/romfs/lang/pl_PL.json index dd6473788..8ce8407fa 100644 --- a/plugins/builtin/romfs/lang/pl_PL.json +++ b/plugins/builtin/romfs/lang/pl_PL.json @@ -149,8 +149,8 @@ "hex.builtin.menu.edit": "Edycja", "hex.builtin.menu.edit.bookmark.create": "Utwórz zakładkę", "hex.builtin.menu.edit.disassemble_range": "Dezasembluj zaznaczenie", - "hex.builtin.menu.edit.redo": "Ponów", - "hex.builtin.menu.edit.undo": "Cofnij", + "hex.builtin.view.hex_editor.menu.edit.redo": "Ponów", + "hex.builtin.view.hex_editor.menu.edit.undo": "Cofnij", "hex.builtin.menu.extras": "Dodatki", "hex.builtin.menu.file": "Plik", "hex.builtin.menu.file.bookmark.export": "Eksportuj zakładki", @@ -1032,7 +1032,7 @@ "hex.builtin.view.pattern_editor.shortcut.move_word_right": "Przesuń kursor o jedno słowo na prawo", "hex.builtin.view.pattern_editor.shortcut.open_project": "Otwórz projekt ...", "hex.builtin.view.pattern_editor.shortcut.paste": "Wklej zawartość schowka w pozycji kursora", - "hex.builtin.view.pattern_editor.shortcut.redo": "Ponów", + "hex.builtin.view.pattern_editor.menu.edit.redo": "Ponów", "hex.builtin.view.pattern_editor.shortcut.regex_toggle": "Przełącz wyszukiwanie/zamianę wyrażeń regularnych", "hex.builtin.view.pattern_editor.shortcut.replace": "Zamień ...", "hex.builtin.view.pattern_editor.shortcut.run_pattern": "Uruchom wzorzec", @@ -1053,7 +1053,7 @@ "hex.builtin.view.pattern_editor.shortcut.select_word_right": "Rozszerz zaznaczenie o jedno słowo na prawo od kursora", "hex.builtin.view.pattern_editor.shortcut.step_debugger": "Krok debuggera", "hex.builtin.view.pattern_editor.shortcut.toggle_insert": "Przełącz przepisywanie", - "hex.builtin.view.pattern_editor.shortcut.undo": "Cofnij", + "hex.builtin.view.pattern_editor.menu.edit.undo": "Cofnij", "hex.builtin.view.pattern_editor.shortcut.whole_word_toggle": "Przełącz wyszukiwanie całych słów", "hex.builtin.view.pattern_editor.tooltip.parent_offset": "Przesunięcie rodzica", "hex.builtin.view.pattern_editor.virtual_files": "Wirtualny system plików", diff --git a/plugins/builtin/romfs/lang/pt_BR.json b/plugins/builtin/romfs/lang/pt_BR.json index 97a129adb..a018dbea2 100644 --- a/plugins/builtin/romfs/lang/pt_BR.json +++ b/plugins/builtin/romfs/lang/pt_BR.json @@ -111,8 +111,8 @@ "hex.builtin.layouts.none.restore_default": "", "hex.builtin.menu.edit": "Editar", "hex.builtin.menu.edit.bookmark.create": "Criar Marcador", - "hex.builtin.menu.edit.redo": "Refazer", - "hex.builtin.menu.edit.undo": "Desfazer", + "hex.builtin.view.hex_editor.menu.edit.redo": "Refazer", + "hex.builtin.view.hex_editor.menu.edit.undo": "Desfazer", "hex.builtin.menu.extras": "", "hex.builtin.menu.file": "File", "hex.builtin.menu.file.bookmark.export": "", diff --git a/plugins/builtin/romfs/lang/ru_RU.json b/plugins/builtin/romfs/lang/ru_RU.json index 0c6ab82a5..d707e7dc8 100644 --- a/plugins/builtin/romfs/lang/ru_RU.json +++ b/plugins/builtin/romfs/lang/ru_RU.json @@ -113,8 +113,8 @@ "hex.builtin.layouts.none.restore_default": "Восстановить макет по умолчанию", "hex.builtin.menu.edit": "Правка", "hex.builtin.menu.edit.bookmark.create": "Создать закладку", - "hex.builtin.menu.edit.redo": "Вернуть", - "hex.builtin.menu.edit.undo": "Отменить", + "hex.builtin.view.hex_editor.menu.edit.redo": "Вернуть", + "hex.builtin.view.hex_editor.menu.edit.undo": "Отменить", "hex.builtin.menu.extras": "Экстра", "hex.builtin.menu.file": "Файл", "hex.builtin.menu.file.bookmark.export": "Экспортировать закладки", @@ -968,8 +968,8 @@ "hex.builtin.view.pattern_editor.shortcut.copy": "Копировать выделение", "hex.builtin.view.pattern_editor.shortcut.cut": "Вырезать выделение", "hex.builtin.view.pattern_editor.shortcut.paste": "Вставить", - "hex.builtin.view.pattern_editor.shortcut.undo": "Отменить", - "hex.builtin.view.pattern_editor.shortcut.redo": "Вернуть", + "hex.builtin.view.pattern_editor.menu.edit.undo": "Отменить", + "hex.builtin.view.pattern_editor.menu.edit.redo": "Вернуть", "hex.builtin.view.pattern_editor.shortcut.toggle_insert": "Переключить режим ввода", "hex.builtin.view.pattern_editor.shortcut.delete": "Удалить символ справа от курсора", "hex.builtin.view.pattern_editor.shortcut.backspace": "Удалить символ слева от курсора", diff --git a/plugins/builtin/romfs/lang/zh_CN.json b/plugins/builtin/romfs/lang/zh_CN.json index 3cb16d9ac..d268a7774 100644 --- a/plugins/builtin/romfs/lang/zh_CN.json +++ b/plugins/builtin/romfs/lang/zh_CN.json @@ -121,8 +121,8 @@ "hex.builtin.layouts.none.restore_default": "恢复默认布局", "hex.builtin.menu.edit": "编辑", "hex.builtin.menu.edit.bookmark.create": "添加书签", - "hex.builtin.menu.edit.redo": "重做", - "hex.builtin.menu.edit.undo": "撤销", + "hex.builtin.view.hex_editor.menu.edit.redo": "重做", + "hex.builtin.view.hex_editor.menu.edit.undo": "撤销", "hex.builtin.menu.extras": "扩展", "hex.builtin.menu.file": "文件", "hex.builtin.menu.file.bookmark.export": "导出书签", @@ -1000,8 +1000,8 @@ "hex.builtin.view.pattern_editor.shortcut.copy": "复制选区到剪贴板", "hex.builtin.view.pattern_editor.shortcut.cut": "剪切选区到剪贴板", "hex.builtin.view.pattern_editor.shortcut.paste": "在光标处粘贴剪贴板内容", - "hex.builtin.view.pattern_editor.shortcut.undo": "撤销", - "hex.builtin.view.pattern_editor.shortcut.redo": "重做", + "hex.builtin.view.pattern_editor.menu.edit.undo": "撤销", + "hex.builtin.view.pattern_editor.menu.edit.redo": "重做", "hex.builtin.view.pattern_editor.shortcut.toggle_insert": "切换覆盖写入模式", "hex.builtin.view.pattern_editor.shortcut.delete": "删除光标处的字符", "hex.builtin.view.pattern_editor.shortcut.backspace": "删除光标左侧的字符", diff --git a/plugins/builtin/romfs/lang/zh_TW.json b/plugins/builtin/romfs/lang/zh_TW.json index e00162f29..4b9d5f6b0 100644 --- a/plugins/builtin/romfs/lang/zh_TW.json +++ b/plugins/builtin/romfs/lang/zh_TW.json @@ -111,8 +111,8 @@ "hex.builtin.layouts.none.restore_default": "還原預設版面配置", "hex.builtin.menu.edit": "編輯", "hex.builtin.menu.edit.bookmark.create": "建立書籤", - "hex.builtin.menu.edit.redo": "取消復原", - "hex.builtin.menu.edit.undo": "復原", + "hex.builtin.view.hex_editor.menu.edit.redo": "取消復原", + "hex.builtin.view.hex_editor.menu.edit.undo": "復原", "hex.builtin.menu.extras": "額外項目", "hex.builtin.menu.file": "檔案", "hex.builtin.menu.file.bookmark.export": "匯出書籤", diff --git a/plugins/builtin/source/content/ui_items.cpp b/plugins/builtin/source/content/ui_items.cpp index 3582d2f0e..822df9285 100644 --- a/plugins/builtin/source/content/ui_items.cpp +++ b/plugins/builtin/source/content/ui_items.cpp @@ -546,8 +546,8 @@ namespace hex::plugin::builtin { }); EventImHexStartupFinished::subscribe([] { - ContentRegistry::Interface::addMenuItemToToolbar("hex.builtin.menu.edit.undo", ImGuiCustomCol_ToolbarBlue); - ContentRegistry::Interface::addMenuItemToToolbar("hex.builtin.menu.edit.redo", ImGuiCustomCol_ToolbarBlue); + ContentRegistry::Interface::addMenuItemToToolbar("hex.builtin.view.hex_editor.menu.edit.undo", ImGuiCustomCol_ToolbarBlue); + ContentRegistry::Interface::addMenuItemToToolbar("hex.builtin.view.hex_editor.menu.edit.redo", ImGuiCustomCol_ToolbarBlue); ContentRegistry::Interface::addMenuItemToToolbar("hex.builtin.menu.file.create_file", ImGuiCustomCol_ToolbarGray); ContentRegistry::Interface::addMenuItemToToolbar("hex.builtin.menu.file.open_file", ImGuiCustomCol_ToolbarBrown); ContentRegistry::Interface::addMenuItemToToolbar("hex.builtin.view.hex_editor.menu.file.save", ImGuiCustomCol_ToolbarBlue); diff --git a/plugins/builtin/source/content/views/view_hex_editor.cpp b/plugins/builtin/source/content/views/view_hex_editor.cpp index 5f7646133..e1fcff5f7 100644 --- a/plugins/builtin/source/content/views/view_hex_editor.cpp +++ b/plugins/builtin/source/content/views/view_hex_editor.cpp @@ -1172,14 +1172,14 @@ namespace hex::plugin::builtin { void ViewHexEditor::registerMenuItems() { /* Undo */ - ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.edit", "hex.builtin.menu.edit.undo" }, ICON_VS_DISCARD, 1000, CTRLCMD + Keys::Z, [] { + ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.edit", "hex.builtin.view.hex_editor.menu.edit.undo" }, ICON_VS_DISCARD, 1000, CTRLCMD + Keys::Z, [] { auto provider = ImHexApi::Provider::get(); provider->undo(); }, [&] { return ImHexApi::Provider::isValid() && ImHexApi::Provider::get()->canUndo(); }, this); /* Redo */ - ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.edit", "hex.builtin.menu.edit.redo" }, ICON_VS_REDO, 1050, CTRLCMD + Keys::Y, [] { + ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.edit", "hex.builtin.view.hex_editor.menu.edit.redo" }, ICON_VS_REDO, 1050, CTRLCMD + Keys::Y, [] { auto provider = ImHexApi::Provider::get(); provider->redo(); }, [&] { return ImHexApi::Provider::isValid() && ImHexApi::Provider::get()->canRedo(); }, diff --git a/plugins/builtin/source/content/views/view_pattern_editor.cpp b/plugins/builtin/source/content/views/view_pattern_editor.cpp index b99ea3045..3351e8a11 100644 --- a/plugins/builtin/source/content/views/view_pattern_editor.cpp +++ b/plugins/builtin/source/content/views/view_pattern_editor.cpp @@ -2020,13 +2020,13 @@ namespace hex::plugin::builtin { ImGui::Separator();*/ /* Undo */ - ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.edit", "hex.builtin.menu.edit.undo" }, ICON_VS_DISCARD, 1000, CTRLCMD + Keys::Z, [this] { + ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.edit", "hex.builtin.view.pattern_editor.menu.edit.undo" }, ICON_VS_DISCARD, 1000, AllowWhileTyping + CTRLCMD + Keys::Z, [this] { m_textEditor->Undo(); }, [this] { return ImHexApi::Provider::isValid() && m_textEditor->CanUndo(); }, this); /* Redo */ - ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.edit", "hex.builtin.menu.edit.redo" }, ICON_VS_REDO, 1100, CTRLCMD + Keys::Y, [this] { + ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.edit", "hex.builtin.view.pattern_editor.menu.edit.redo" }, ICON_VS_REDO, 1100, AllowWhileTyping + CTRLCMD + Keys::Y, [this] { m_textEditor->Redo(); }, [this] { return ImHexApi::Provider::isValid() &&m_textEditor->CanRedo(); }, this); @@ -2035,46 +2035,46 @@ namespace hex::plugin::builtin { /* Cut */ - ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.edit", "hex.builtin.view.hex_editor.menu.edit.cut" }, ICON_VS_COMBINE, 1300, CTRLCMD + Keys::X, [this] { + ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.edit", "hex.builtin.view.hex_editor.menu.edit.cut" }, ICON_VS_COMBINE, 1300, AllowWhileTyping + CTRLCMD + Keys::X, [this] { m_textEditor->Cut(); }, [this] { return ImHexApi::Provider::isValid() &&m_textEditor->HasSelection(); }, this); /* Copy */ - ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.edit", "hex.builtin.view.hex_editor.menu.edit.copy" }, ICON_VS_COPY, 1400, CTRLCMD + Keys::C, [this] { + ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.edit", "hex.builtin.view.hex_editor.menu.edit.copy" }, ICON_VS_COPY, 1400, AllowWhileTyping + CTRLCMD + Keys::C, [this] { m_textEditor->Copy(); }, [this] { return ImHexApi::Provider::isValid() &&m_textEditor->HasSelection(); }, this); /* Paste */ - ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.edit", "hex.builtin.view.hex_editor.menu.edit.paste" }, ICON_VS_OUTPUT, 1500, CTRLCMD + Keys::V, [this] { + ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.edit", "hex.builtin.view.hex_editor.menu.edit.paste" }, ICON_VS_OUTPUT, 1500, AllowWhileTyping + CTRLCMD + Keys::V, [this] { m_textEditor->Paste(); }, [] { return true; }, this); /* Find */ - ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.file", "hex.builtin.view.pattern_editor.menu.find" }, ICON_VS_SEARCH, 1700, CTRLCMD + Keys::F, [this] { + ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.file", "hex.builtin.view.pattern_editor.menu.find" }, ICON_VS_SEARCH, 1700, AllowWhileTyping + CTRLCMD + Keys::F, [this] { m_replaceMode = false; m_openFindReplacePopUp = true; }, [] { return true; }, this); /* Find Next */ - ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.file", "hex.builtin.view.pattern_editor.menu.find_next" }, 1800, Keys::F3, [this] { + ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.file", "hex.builtin.view.pattern_editor.menu.find_next" }, 1800, AllowWhileTyping + Keys::F3, [this] { m_consoleEditor->GetFindReplaceHandler()->FindMatch(&*m_textEditor, true); }, [this] { return ImHexApi::Provider::isValid() && !m_consoleEditor->GetFindReplaceHandler()->GetFindWord().empty(); }, []{ return false; }, this); /* Find Previous */ - ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.file", "hex.builtin.view.pattern_editor.menu.find_previous" }, 1900, Keys::F3, [this] { + ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.file", "hex.builtin.view.pattern_editor.menu.find_previous" }, 1900, AllowWhileTyping + SHIFT + Keys::F3, [this] { m_consoleEditor->GetFindReplaceHandler()->FindMatch(&*m_textEditor, true); }, [this] { return ImHexApi::Provider::isValid() && !m_consoleEditor->GetFindReplaceHandler()->GetFindWord().empty(); }, []{ return false; }, this); /* Replace */ - ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.file", "hex.builtin.view.pattern_editor.menu.replace" }, ICON_VS_REPLACE, 2000, CTRLCMD + Keys::H, [this] { + ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.file", "hex.builtin.view.pattern_editor.menu.replace" }, ICON_VS_REPLACE, 2000, AllowWhileTyping + CTRLCMD + Keys::H, [this] { m_replaceMode = true; m_openFindReplacePopUp = true; }, [] { return true; }, @@ -2103,7 +2103,7 @@ namespace hex::plugin::builtin { ContentRegistry::Interface::addMenuItemSeparator({ "hex.builtin.menu.file" }, 2400, this); /* Goto Line */ - ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.file", "hex.builtin.view.pattern_editor.menu.goto_line" }, ICON_VS_DEBUG_STEP_INTO, 2500, CTRLCMD + Keys::G, [this] { + ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.file", "hex.builtin.view.pattern_editor.menu.goto_line" }, ICON_VS_DEBUG_STEP_INTO, 2500, AllowWhileTyping + CTRLCMD + Keys::G, [this] { m_openGotoLinePopUp = true; }, [] { return true; }, this); @@ -2366,52 +2366,11 @@ namespace hex::plugin::builtin { hex::plugin::builtin::saveProjectAs(); }); - // ShortcutManager::addShortcut(this, CTRLCMD + Keys::Insert + AllowWhileTyping, "hex.builtin.view.pattern_editor.shortcut.copy", [this] { - // m_textEditor.Copy(); - // }); - - ShortcutManager::addShortcut(this, CTRLCMD + Keys::C + AllowWhileTyping, "hex.builtin.view.pattern_editor.shortcut.copy", [this] { - if (auto editor = getEditorFromFocusedWindow(); editor != nullptr) - editor->Copy(); - }); - - // ShortcutManager::addShortcut(this, SHIFT + Keys::Insert + AllowWhileTyping, "hex.builtin.view.pattern_editor.shortcut.paste", [this] { - // m_textEditor.Paste(); - // }); - - ShortcutManager::addShortcut(this, CTRLCMD + Keys::V + AllowWhileTyping, "hex.builtin.view.pattern_editor.shortcut.paste", [this] { - if (m_focusedSubWindowName.contains(textEditorView)) - m_textEditor.get(ImHexApi::Provider::get()).Paste(); - }); - - ShortcutManager::addShortcut(this, CTRLCMD + Keys::X + AllowWhileTyping, "hex.builtin.view.pattern_editor.shortcut.cut", [this] { - if (m_focusedSubWindowName.contains(textEditorView)) - m_textEditor.get(ImHexApi::Provider::get()).Cut(); - }); - - // ShortcutManager::addShortcut(this, SHIFT + Keys::Delete + AllowWhileTyping, "hex.builtin.view.pattern_editor.shortcut.cut", [this] { - // m_textEditor.Cut(); - // }); - - ShortcutManager::addShortcut(this, CTRLCMD + Keys::Z + AllowWhileTyping, "hex.builtin.view.pattern_editor.shortcut.undo", [this] { - if (m_focusedSubWindowName.contains(textEditorView)) - m_textEditor.get(ImHexApi::Provider::get()).Undo(); - }); - - // ShortcutManager::addShortcut(this, ALT + Keys::Backspace + AllowWhileTyping, "hex.builtin.view.pattern_editor.shortcut.undo", [this] { - // m_textEditor.Undo(); - // }); - ShortcutManager::addShortcut(this, Keys::Delete + AllowWhileTyping, "hex.builtin.view.pattern_editor.shortcut.delete", [this] { if (m_focusedSubWindowName.contains(textEditorView)) m_textEditor.get(ImHexApi::Provider::get()).Delete(); }); - ShortcutManager::addShortcut(this, CTRLCMD + Keys::Y + AllowWhileTyping, "hex.builtin.view.pattern_editor.shortcut.redo", [this] { - if (m_focusedSubWindowName.contains(textEditorView)) - m_textEditor.get(ImHexApi::Provider::get()).Redo(); - }); - ShortcutManager::addShortcut(this, CTRLCMD + Keys::A + AllowWhileTyping, "hex.builtin.view.pattern_editor.shortcut.select_all", [this] { if (auto editor = getEditorFromFocusedWindow(); editor != nullptr) editor->SelectAll();