Terminal status bar now is a Tab Widget and can create any number of terminals.

Fix a bug when initializing the LSP that provoked to not correctly send the initial commands.
Added `expand-text` to UIPushButton.
Added `setAcceptsDropOfWidgetFn` to externally control which widgets are accepted as droppable in UITabWidget.
Improved draw invalidation in UIStackWidget.
This commit is contained in:
Martín Lucas Golini
2025-12-27 17:22:12 -03:00
parent 5fc5fcccb2
commit 0ca36374c4
21 changed files with 371 additions and 75 deletions

View File

@@ -852,10 +852,17 @@ void ProjectBuildManager::runConfig( StatusAppOutputController* saoc ) {
auto cmd = finalBuild.cmd + ( !finalBuild.args.empty() ? ( " " + finalBuild.args ) : "" );
if ( finalBuild.runInTerminal ) {
if ( finalBuild.useStatusBarTerminal && mApp->getStatusTerminalController() ) {
mApp->getStatusTerminalController()->show();
auto term = mApp->getStatusTerminalController()->getUITerminal();
term->restart();
term->executeFile( cmd );
auto stc = mApp->getStatusTerminalController();
stc->show();
if ( finalBuild.reusePreviousTerminal ) {
stc->getTabWidget()->setTabSelected( (Uint32)0 );
auto term = stc->getUITerminal();
term->restart();
term->executeFile( cmd );
} else if ( stc->getTabWidget()->getTabCount() ) {
auto term = stc->createTerminal();
term->executeFile( cmd );
}
} else {
bool mustReuseLastUsedTerm =
finalBuild.reusePreviousTerminal && mLastUsedTerm &&