From a4039809762d5f014ab25ff4397e8cee73e0fd83 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Sat, 9 Aug 2025 12:25:22 +0200 Subject: [PATCH] feat: Added update to Nighly/Stable release option --- main/updater/source/main.cpp | 2 +- plugins/builtin/romfs/lang/en_US.json | 2 ++ plugins/builtin/source/content/main_menu_items.cpp | 10 ++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/main/updater/source/main.cpp b/main/updater/source/main.cpp index dd2f24b4a..085ff706c 100644 --- a/main/updater/source/main.cpp +++ b/main/updater/source/main.cpp @@ -234,7 +234,7 @@ int main(int argc, char **argv) { const auto updatePath = downloadUpdate(updateArtifactUrl); // Install the update - if (installUpdate(*updatePath)) { + if (!installUpdate(*updatePath)) { // Open the latest release page in the default browser to allow the user to manually update hex::openWebpage(releaseUrl); diff --git a/plugins/builtin/romfs/lang/en_US.json b/plugins/builtin/romfs/lang/en_US.json index 5ccd714aa..3d8d457a4 100644 --- a/plugins/builtin/romfs/lang/en_US.json +++ b/plugins/builtin/romfs/lang/en_US.json @@ -128,6 +128,8 @@ "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.extras.switch_to_stable": "Downgrade to Release", + "hex.builtin.menu.extras.switch_to_nightly": "Update to Nightly", "hex.builtin.menu.file": "File", "hex.builtin.menu.file.bookmark.export": "Export bookmarks", "hex.builtin.menu.file.bookmark.import": "Import bookmarks", diff --git a/plugins/builtin/source/content/main_menu_items.cpp b/plugins/builtin/source/content/main_menu_items.cpp index bd3ceccdc..2a4408cae 100644 --- a/plugins/builtin/source/content/main_menu_items.cpp +++ b/plugins/builtin/source/content/main_menu_items.cpp @@ -633,6 +633,16 @@ namespace hex::plugin::builtin { static void createExtrasMenu() { ContentRegistry::Interface::registerMainMenuItem("hex.builtin.menu.extras", 5000); + + if (ImHexApi::System::isNightlyBuild()) { + ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.extras", "hex.builtin.menu.extras.switch_to_stable" }, ICON_VS_ROCKET, 2750, Shortcut::None, [] { + ImHexApi::System::updateImHex(ImHexApi::System::UpdateType::Stable); + }); + } else { + ContentRegistry::Interface::addMenuItem({ "hex.builtin.menu.extras", "hex.builtin.menu.extras.switch_to_nightly" }, ICON_VS_ROCKET, 2750, Shortcut::None, [] { + ImHexApi::System::updateImHex(ImHexApi::System::UpdateType::Nightly); + }); + } } static void createHelpMenu() {