ecode: Added a new configuration to control the behavior of new open terminals.

Closes SpartanJ/ecode#68.
This commit is contained in:
Martín Lucas Golini
2023-03-06 01:41:26 -03:00
parent 05117d8024
commit 7c92cf60b9
8 changed files with 155 additions and 27 deletions

View File

@@ -2118,6 +2118,40 @@ void App::toggleSettingsMenu() {
mSettings->toggleSettingsMenu();
}
void App::createNewTerminal() {
if ( mSplitter->hasSplit() ) {
if ( mSplitter->getTabWidgets().size() == 2 ) {
UIOrientation orientation = mSplitter->getMainSplitOrientation();
if ( mConfig.term.newTerminalOrientation == NewTerminalOrientation::Vertical &&
orientation == UIOrientation::Horizontal ) {
mTerminalManager->createNewTerminal( "", mSplitter->getTabWidgets()[1] );
return;
}
if ( mConfig.term.newTerminalOrientation == NewTerminalOrientation::Horizontal &&
orientation == UIOrientation::Vertical ) {
mTerminalManager->createNewTerminal( "", mSplitter->getTabWidgets()[1] );
return;
}
}
mTerminalManager->createNewTerminal();
} else {
switch ( mConfig.term.newTerminalOrientation ) {
case NewTerminalOrientation::Vertical: {
runCommand( "terminal-split-right" );
break;
}
case NewTerminalOrientation::Horizontal: {
runCommand( "terminal-split-bottom" );
break;
}
case NewTerminalOrientation::Same: {
mTerminalManager->createNewTerminal();
break;
}
}
}
}
std::string App::getNewFilePath( const FileInfo& file, UIMessageBox* msgBox, bool keepDir ) {
auto fileName( msgBox->getTextInput()->getText().toUtf8() );
auto folderPath( file.getDirectoryPath() );