diff --git a/src/dusk/ui/menu_bar.cpp b/src/dusk/ui/menu_bar.cpp index d6f6274798..5a88501c2f 100644 --- a/src/dusk/ui/menu_bar.cpp +++ b/src/dusk/ui/menu_bar.cpp @@ -50,7 +50,11 @@ MenuBar::MenuBar() : Document(kDocumentSource), mRoot(mDocument->GetElementById( // mTabBar->add_tab("Warp", [] { // // TODO // }); - mTabBar->add_tab("Editor", [this] { push(std::make_unique()); }); + + if (getSettings().backend.enableAdvancedSettings) { + mTabBar->add_tab("Editor", [this] { push(std::make_unique()); }); + } + mTabBar->add_tab("Achievements", [this] { push(std::make_unique()); }); mTabBar->add_tab("Reset", [this] { mTabBar->set_active_tab(-1); diff --git a/src/dusk/ui/settings.cpp b/src/dusk/ui/settings.cpp index 69958c8659..ddb3b8ad3d 100644 --- a/src/dusk/ui/settings.cpp +++ b/src/dusk/ui/settings.cpp @@ -14,6 +14,7 @@ #include "pane.hpp" #include "prelaunch.hpp" #include "ui.hpp" +#include "menu_bar.hpp" #include @@ -871,6 +872,7 @@ SettingsWindow::SettingsWindow(bool prelaunch) : mPrelaunch(prelaunch) { { .key = "Enable Advanced Settings", .helpText = "Show the advanced settings on the menu bar.
Most users should have this disabled.", + .onChange = [](bool value) { get_document_stack()[0] = std::make_unique(); }, }); }); } diff --git a/src/dusk/ui/ui.cpp b/src/dusk/ui/ui.cpp index 69b1dace84..a646527ee5 100644 --- a/src/dusk/ui/ui.cpp +++ b/src/dusk/ui/ui.cpp @@ -363,6 +363,10 @@ void push_toast(Toast toast) noexcept { sToasts.push_back(std::move(toast)); } +std::vector >& get_document_stack() noexcept { + return sDocumentStack; +} + std::deque& get_toasts() noexcept { return sToasts; } diff --git a/src/dusk/ui/ui.hpp b/src/dusk/ui/ui.hpp index f3b0962e95..4a27ac7aac 100644 --- a/src/dusk/ui/ui.hpp +++ b/src/dusk/ui/ui.hpp @@ -82,6 +82,8 @@ Rml::Element* append(Rml::Element* parent, const Rml::String& tag) noexcept; NavCommand map_nav_event(const Rml::Event& event) noexcept; Insets safe_area_insets(Rml::Context* context) noexcept; +std::vector >& get_document_stack() noexcept; + void push_toast(Toast toast) noexcept; std::deque& get_toasts() noexcept; void show_menu_notification() noexcept;