mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-05-28 17:16:29 +03:00
Add a hide / minize button on each panel vertical bar.
This commit is contained in:
@@ -340,6 +340,9 @@ TableView#locate_bar_table > tableview::row:selected > tableview::cell:nth-child
|
||||
.expand_status_bar_panel.expanded {
|
||||
icon: icon(arrow-down-s, 16dp);
|
||||
}
|
||||
.status_bar_panel_hide {
|
||||
icon: icon(arrow-down-s, 16dp);
|
||||
}
|
||||
.settings_panel .details_but.contracted {
|
||||
icon: icon(arrow-down-s, 10dp);
|
||||
}
|
||||
|
||||
@@ -1970,7 +1970,7 @@ std::map<KeyBindings::Shortcut, std::string> App::getLocalKeybindings() {
|
||||
"reopen-closed-tab" },
|
||||
{ { KEY_1, KEYMOD_LALT }, "toggle-status-locate-bar" },
|
||||
{ { KEY_2, KEYMOD_LALT }, "toggle-status-global-search-bar" },
|
||||
{ { KEY_3, KEYMOD_LALT }, "toggle-status-terminal" },
|
||||
{ { KEY_3, KEYMOD_LALT }, "toggle-status-terminal-panel" },
|
||||
{ { KEY_4, KEYMOD_LALT }, "toggle-status-build-output" },
|
||||
{ { KEY_5, KEYMOD_LALT }, "toggle-status-app-output" },
|
||||
{ { KEY_B, KeyMod::getDefaultModifier() | KEYMOD_SHIFT }, "project-build-start-cancel" },
|
||||
@@ -1996,7 +1996,8 @@ std::map<std::string, std::string> App::getMigrateKeybindings() {
|
||||
{ "menu-toggle", "mod+shift+m" },
|
||||
#endif
|
||||
{ "lock-toggle", "mod+shift+l" }, { "debug-widget-tree-view", "f11" },
|
||||
{ "project-build-and-run", "f5" }, { "project-build-start", "mod+shift+b" } };
|
||||
{ "project-build-and-run", "f5" }, { "project-build-start", "mod+shift+b" },
|
||||
{ "toggle-status-terminal", "alt+3" } };
|
||||
}
|
||||
|
||||
std::vector<std::string> App::getUnlockedCommands() {
|
||||
@@ -2022,7 +2023,7 @@ std::vector<std::string> App::getUnlockedCommands() {
|
||||
"toggle-status-locate-bar",
|
||||
"toggle-status-global-search-bar",
|
||||
"toggle-status-build-output",
|
||||
"toggle-status-terminal",
|
||||
"toggle-status-terminal-panel",
|
||||
"toggle-status-app-output",
|
||||
"menu-toggle",
|
||||
"switch-side-panel",
|
||||
@@ -2678,8 +2679,9 @@ void App::onCodeEditorCreated( UICodeEditor* editor, TextDocument& doc ) {
|
||||
if ( mSplitter->curEditorExistsAndFocused() && mSplitter->getCurEditor() ) {
|
||||
UICodeEditor* editor = mSplitter->getCurEditor();
|
||||
auto d = mSplitter->createCodeEditorInTabWidget(
|
||||
mConfig.editor.openDocumentsInMainSplit ? mSplitter->getPreferredTabWidget()
|
||||
: mSplitter->tabWidgetFromWidget( editor ) );
|
||||
mConfig.editor.openDocumentsInMainSplit
|
||||
? mSplitter->getPreferredTabWidget()
|
||||
: mSplitter->tabWidgetFromWidget( editor ) );
|
||||
if ( d.first == nullptr && d.second == nullptr && !mSplitter->getTabWidgets().empty() )
|
||||
d = mSplitter->createCodeEditorInTabWidget( mSplitter->getTabWidgets()[0] );
|
||||
if ( d.first != nullptr || d.second != nullptr ) {
|
||||
|
||||
@@ -268,7 +268,8 @@ class App : public UICodeEditorSplitter::Client, public PluginContextProvider {
|
||||
[this] { mStatusBuildOutputController->toggle(); } );
|
||||
t.setCommand( "toggle-status-app-output",
|
||||
[this] { mStatusAppOutputController->toggle(); } );
|
||||
t.setCommand( "toggle-status-terminal", [this] { mStatusTerminalController->toggle(); } );
|
||||
t.setCommand( "toggle-status-terminal-panel",
|
||||
[this] { mStatusTerminalController->toggle(); } );
|
||||
t.setCommand( "open-locatebar", [this] { mUniversalLocator->showLocateBar(); } );
|
||||
t.setCommand( "open-locatebar-glob-search",
|
||||
[this] { mUniversalLocator->showLocateBar( true ); } );
|
||||
|
||||
@@ -229,6 +229,8 @@ void StatusDebuggerController::createContainer() {
|
||||
<PushButton id="app_debugger_step_over" class="debugger_step_over" lw="mp" icon="icon(debug-step-over, 12dp)" tooltip="@string(step_over, Step Over)" />
|
||||
<PushButton id="app_debugger_step_into" class="debugger_step_into" lw="mp" icon="icon(debug-step-into, 12dp)" tooltip="@string(step_into, Step Into)" />
|
||||
<PushButton id="app_debugger_step_out" class="debugger_step_out" lw="mp" icon="icon(debug-step-out, 12dp)" tooltip="@string(step_out, Step Out)" />
|
||||
<Widget lw="mp" lh="0" lw8="1" />
|
||||
<PushButton class="status_bar_panel_hide" lw="mp" tooltip="@string(hide_panel, Hide Panel)" />
|
||||
</vbox>
|
||||
</hboxce>
|
||||
)xml";
|
||||
|
||||
@@ -166,6 +166,8 @@ void StatusAppOutputController::createContainer() {
|
||||
<PushButton id="app_output_stop" lw="mp" icon="icon(stop, 12dp)" enabled="false" />
|
||||
<PushButton id="app_output_find" lw="mp" icon="icon(search, 12dp)" tooltip="@string(find, Find)" />
|
||||
<PushButton id="app_output_configure" lw="mp" icon="icon(settings, 12dp)" tooltip="@string(configure_ellipsis, Configure...)" />
|
||||
<Widget lw="mp" lh="0" lw8="1" />
|
||||
<PushButton class="status_bar_panel_hide" lw="mp" tooltip="@string(hide_panel, Hide Panel)" />
|
||||
</vbox>
|
||||
</hboxce>
|
||||
)xml";
|
||||
|
||||
@@ -443,6 +443,8 @@ void StatusBuildOutputController::createContainer() {
|
||||
<PushButton id="build_output_stop" lw="mp" icon="icon(stop, 12dp)" enabled="false" />
|
||||
<PushButton id="build_output_find" lw="mp" icon="icon(search, 12dp)" tooltip="@string(find, Find)" />
|
||||
<PushButton id="build_output_configure" lw="mp" icon="icon(settings, 12dp)" tooltip="@string(configure_ellipsis, Configure...)" />
|
||||
<Widget lw="mp" lh="0" lw8="1" />
|
||||
<PushButton class="status_bar_panel_hide" lw="mp" tooltip="@string(hide_panel, Hide Panel)" />
|
||||
</vbox>
|
||||
</hboxce>
|
||||
)xml";
|
||||
|
||||
@@ -62,6 +62,8 @@ UIHLinearLayoutCommandExecuter* StatusTerminalController::createContainer() {
|
||||
<vbox lw="16dp" lh="mp" class="vertical_bar">
|
||||
<PushButton class="expand_status_bar_panel" lw="mp" tooltip="@string(expand_panel, Expand Panel)" />
|
||||
<PushButton id="terminal_panel_add" lw="mp" icon="icon(add, 12dp)" tooltip="@string(add_terminal, Add Terminal)" />
|
||||
<Widget lw="mp" lh="0" lw8="1" />
|
||||
<PushButton class="status_bar_panel_hide" lw="mp" tooltip="@string(hide_panel, Hide Panel)" />
|
||||
</vbox>
|
||||
</hboxce>
|
||||
)xml";
|
||||
|
||||
@@ -265,6 +265,20 @@ void UIStatusBar::registerStatusBarPanel( WidgetCommandExecuter* container, UIWi
|
||||
|
||||
container->setCommand( "statusbar-panel-expand-contract-toggle",
|
||||
[this] { togglePanelExpansion(); } );
|
||||
|
||||
container->setCommand( "statusbar-panel-hide", [this] {
|
||||
if ( mContext->getMainSplitter()->isFull() ) {
|
||||
auto widget = mContext->getMainSplitter()->getLastWidget();
|
||||
if ( widget && widget->isVisible() ) {
|
||||
widget->setParent( mUISceneNode );
|
||||
widget->setVisible( false );
|
||||
mContext->getStatusBar()->updateState();
|
||||
if ( mContext->getSplitter()->getCurWidget() )
|
||||
mContext->getSplitter()->getCurWidget()->setFocus();
|
||||
}
|
||||
}
|
||||
} );
|
||||
|
||||
container->getKeyBindings().addKeybindsStringUnordered( mContext->getStatusBarKeybindings() );
|
||||
|
||||
if ( widget ) {
|
||||
@@ -279,6 +293,13 @@ void UIStatusBar::registerStatusBarPanel( WidgetCommandExecuter* container, UIWi
|
||||
container->execute( "statusbar-panel-expand-contract-toggle" );
|
||||
} );
|
||||
}
|
||||
|
||||
auto contractPanelBtn =
|
||||
widget->findByClass( "status_bar_panel_hide" )->asType<UIPushButton>();
|
||||
if ( contractPanelBtn ) {
|
||||
contractPanelBtn->onClick(
|
||||
[container]( auto event ) { container->execute( "statusbar-panel-hide" ); } );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user