feat: Added setting to always show provider tabs

This commit is contained in:
WerWolv 2024-01-30 00:11:45 +01:00
parent 3ea32212d7
commit 62978e5d34
3 changed files with 8 additions and 1 deletions

View File

@ -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",

View File

@ -648,6 +648,7 @@ namespace hex::plugin::builtin {
ContentRegistry::Settings::add<ScalingWidget>("hex.builtin.setting.interface", "hex.builtin.setting.interface.style", "hex.builtin.setting.interface.scaling_factor").requiresRestart();
ContentRegistry::Settings::add<Widgets::Checkbox>("hex.builtin.setting.interface", "hex.builtin.setting.interface.style", "hex.builtin.setting.interface.pattern_data_row_bg", false);
ContentRegistry::Settings::add<Widgets::Checkbox>("hex.builtin.setting.interface", "hex.builtin.setting.interface.style", "hex.builtin.setting.interface.always_show_provider_tabs", false);
std::vector<std::string> languageNames;
std::vector<nlohmann::json> languageCodes;

View File

@ -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<const ContentRegistry::Interface::impl::MenuItem*, MenuItemSorter> 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];