mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-10-22 22:33:12 +03:00
ecode: add centralized settings panel
Introduce modal user and project settings panels with searchable tree navigation and live configuration updates. - centralize settings registration and presentation - add user and project settings commands and shortcuts - preserve operational actions in the existing settings menu - support boolean, choice, numeric, and action-based settings - restore renderer notifications and choice descriptions - persist settings when closing the panel - add translated settings strings for all supported locales - fix live color preview updates
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
#include "plugins/debugger/statusdebuggercontroller.hpp"
|
||||
#include "settingsactions.hpp"
|
||||
#include "settingsmenu.hpp"
|
||||
#include "settingspanel.hpp"
|
||||
#include "uibuildsettings.hpp"
|
||||
#include "uidownloadwindow.hpp"
|
||||
#include "uirightpanel.hpp"
|
||||
@@ -2123,6 +2124,8 @@ std::map<KeyBindings::Shortcut, std::string> App::getLocalKeybindings() {
|
||||
{ { KEY_F11, KeyMod::getDefaultModifier() | KEYMOD_SHIFT }, "debug-widget-tree-view" },
|
||||
{ { KEY_K, KeyMod::getDefaultModifier() }, "open-locatebar" },
|
||||
{ { KEY_P, KeyMod::getDefaultModifier() }, "open-command-palette" },
|
||||
{ { KEY_COMMA, KeyMod::getDefaultModifier() }, "open-settings" },
|
||||
{ { KEY_COMMA, KeyMod::getDefaultModifier() | KEYMOD_SHIFT }, "open-project-settings" },
|
||||
{ { KEY_F, KeyMod::getDefaultModifier() | KEYMOD_SHIFT }, "open-global-search" },
|
||||
{ { KEY_L, KeyMod::getDefaultModifier() }, "go-to-line" },
|
||||
#if EE_PLATFORM == EE_PLATFORM_MACOS
|
||||
@@ -2206,6 +2209,8 @@ std::vector<std::string> App::getUnlockedCommands() {
|
||||
"toggle-status-terminal",
|
||||
"toggle-status-app-output",
|
||||
"menu-toggle",
|
||||
"open-settings",
|
||||
"open-project-settings",
|
||||
"switch-side-panel",
|
||||
"toggle-status-bar",
|
||||
"download-file-web",
|
||||
@@ -3593,6 +3598,20 @@ void App::toggleSettingsMenu() {
|
||||
mSettings->toggleSettingsMenu();
|
||||
}
|
||||
|
||||
void App::openSettings() {
|
||||
if ( !mSettingsPanel )
|
||||
mSettingsPanel = std::make_unique<SettingsPanel>( this );
|
||||
mSettingsPanel->show( SettingsPanel::Scope::User );
|
||||
}
|
||||
|
||||
void App::openProjectSettings() {
|
||||
if ( !projectIsOpen() )
|
||||
return;
|
||||
if ( !mSettingsPanel )
|
||||
mSettingsPanel = std::make_unique<SettingsPanel>( this );
|
||||
mSettingsPanel->show( SettingsPanel::Scope::Project );
|
||||
}
|
||||
|
||||
void App::showFolderTreeViewTab() {
|
||||
UITab* tab = mSidePanel->find<UITab>( "treeview_tab" );
|
||||
if ( tab )
|
||||
|
||||
Reference in New Issue
Block a user