From b78435c8815963975d034129150ebaa132fbaf57 Mon Sep 17 00:00:00 2001 From: WerWolv Date: Tue, 14 Nov 2023 15:55:34 +0100 Subject: [PATCH] feat: Turn provider settings into sidebar --- .../content/views/view_provider_settings.cpp | 27 +++++++++++-------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/plugins/builtin/source/content/views/view_provider_settings.cpp b/plugins/builtin/source/content/views/view_provider_settings.cpp index e5da51400..03ac64251 100644 --- a/plugins/builtin/source/content/views/view_provider_settings.cpp +++ b/plugins/builtin/source/content/views/view_provider_settings.cpp @@ -1,6 +1,7 @@ #include "content/views/view_provider_settings.hpp" #include +#include namespace hex::plugin::builtin { @@ -9,6 +10,18 @@ namespace hex::plugin::builtin { if (provider->hasLoadInterface() && !provider->shouldSkipLoadInterface()) EventManager::post(View::toWindowName("hex.builtin.view.provider_settings.load_popup")); }); + + ContentRegistry::Interface::addSidebarItem(ICON_VS_SERVER_PROCESS, [] { + auto provider = hex::ImHexApi::Provider::get(); + + if (provider != nullptr) + provider->drawInterface(); + }, + [] { + auto provider = hex::ImHexApi::Provider::get(); + + return provider != nullptr && provider->hasInterface() && provider->isAvailable(); + }); } ViewProviderSettings::~ViewProviderSettings() { @@ -16,13 +29,7 @@ namespace hex::plugin::builtin { } void ViewProviderSettings::drawContent() { - if (ImGui::Begin(this->getName().c_str(), &this->getWindowOpenState(), ImGuiWindowFlags_NoCollapse)) { - auto provider = hex::ImHexApi::Provider::get(); - if (provider != nullptr) - provider->drawInterface(); - } - ImGui::End(); } void ViewProviderSettings::drawAlwaysVisible() { @@ -68,13 +75,11 @@ namespace hex::plugin::builtin { } bool ViewProviderSettings::hasViewMenuItemEntry() const { - return this->isAvailable(); + return false; } bool ViewProviderSettings::isAvailable() const { - auto provider = hex::ImHexApi::Provider::get(); - - return provider != nullptr && provider->hasInterface() && provider->isAvailable(); + return false; } -} \ No newline at end of file +}