diff --git a/plugins/builtin/romfs/lang/en_US.json b/plugins/builtin/romfs/lang/en_US.json index 8fd0db2ac..1cf6497be 100644 --- a/plugins/builtin/romfs/lang/en_US.json +++ b/plugins/builtin/romfs/lang/en_US.json @@ -467,6 +467,7 @@ "hex.builtin.setting.imhex": "ImHex", "hex.builtin.setting.imhex.recent_files": "Recent Files", "hex.builtin.setting.interface": "Interface", + "hex.builtin.setting.interface.always_show_provider_tabs": "Always show Provider Tabs", "hex.builtin.setting.interface.color": "Color theme", "hex.builtin.setting.interface.fps": "FPS Limit", "hex.builtin.setting.interface.fps.unlocked": "Unlocked", diff --git a/plugins/builtin/source/content/settings_entries.cpp b/plugins/builtin/source/content/settings_entries.cpp index d711c4f58..72f1df0ec 100644 --- a/plugins/builtin/source/content/settings_entries.cpp +++ b/plugins/builtin/source/content/settings_entries.cpp @@ -648,6 +648,7 @@ namespace hex::plugin::builtin { ContentRegistry::Settings::add("hex.builtin.setting.interface", "hex.builtin.setting.interface.style", "hex.builtin.setting.interface.scaling_factor").requiresRestart(); ContentRegistry::Settings::add("hex.builtin.setting.interface", "hex.builtin.setting.interface.style", "hex.builtin.setting.interface.pattern_data_row_bg", false); + ContentRegistry::Settings::add("hex.builtin.setting.interface", "hex.builtin.setting.interface.style", "hex.builtin.setting.interface.always_show_provider_tabs", false); std::vector languageNames; std::vector languageCodes; diff --git a/plugins/builtin/source/content/ui_items.cpp b/plugins/builtin/source/content/ui_items.cpp index 1d7edda6c..7266da498 100644 --- a/plugins/builtin/source/content/ui_items.cpp +++ b/plugins/builtin/source/content/ui_items.cpp @@ -285,6 +285,11 @@ namespace hex::plugin::builtin { rightClickedProvider = nullptr; }); + static bool alwaysShowProviderTabs = false; + EventSettingsChanged::subscribe([] { + alwaysShowProviderTabs = ContentRegistry::Settings::read("hex.builtin.setting.interface", "hex.builtin.setting.interface.always_show_provider_tabs", false); + }); + ContentRegistry::Interface::addToolbarItem([] { std::set menuItems; @@ -330,7 +335,7 @@ namespace hex::plugin::builtin { if (providerSelectorVisible) { for (size_t i = 0; i < providers.size(); i++) { - if (providers.size() == 1) + if (providers.size() == 1 && !alwaysShowProviderTabs) break; auto &tabProvider = providers[i];