eepp: Added ScopedOp and BoolScopedOp. General optimization of lambda captures. Added support in UICodeEditorSplitter for navigation history.

ecode: Implemented navigation history over the editor, with Alt + Left | Right you can navigate over the relevant code navigation history.
This commit is contained in:
Martín Lucas Golini
2023-06-25 21:14:36 -03:00
parent 7e1e715dfd
commit f58866dd66
85 changed files with 958 additions and 631 deletions

View File

@@ -207,7 +207,7 @@ void StatusBuildOutputController::runBuild( const std::string& buildName,
[this]( auto, std::string buffer, const ProjectBuildCommand* cmd ) {
mBuildOutput->runOnMainThread( [this, buffer]() {
bool scrollToBottom = mBuildOutput->getVScrollBar()->getValue() == 1.f;
mBuildOutput->getDocument().textInput( buffer );
mBuildOutput->getDocument().textInput( buffer, false );
if ( scrollToBottom )
mBuildOutput->setScrollY( mBuildOutput->getMaxScroll().y );
} );
@@ -243,7 +243,7 @@ void StatusBuildOutputController::runBuild( const std::string& buildName,
mBuildOutput->runOnMainThread( [this, buffer]() {
bool scrollToBottom = mBuildOutput->getVScrollBar()->getValue() == 1.f;
mBuildOutput->getDocument().textInput( buffer );
mBuildOutput->getDocument().textInput( buffer, false );
if ( scrollToBottom )
mBuildOutput->setScrollY( mBuildOutput->getMaxScroll().y );
} );
@@ -315,7 +315,7 @@ void StatusBuildOutputController::runClean( const std::string& buildName,
[this]( auto, auto buffer, auto ) {
mBuildOutput->runOnMainThread( [this, buffer]() {
bool scrollToBottom = mBuildOutput->getVScrollBar()->getValue() == 1.f;
mBuildOutput->getDocument().textInput( buffer );
mBuildOutput->getDocument().textInput( buffer, false );
if ( scrollToBottom )
mBuildOutput->setScrollY( mBuildOutput->getMaxScroll().y );
} );
@@ -333,7 +333,7 @@ void StatusBuildOutputController::runClean( const std::string& buildName,
mBuildOutput->runOnMainThread( [this, buffer]() {
bool scrollToBottom = mBuildOutput->getVScrollBar()->getValue() == 1.f;
mBuildOutput->getDocument().textInput( buffer );
mBuildOutput->getDocument().textInput( buffer, false );
if ( scrollToBottom )
mBuildOutput->setScrollY( mBuildOutput->getMaxScroll().y );
} );
@@ -452,6 +452,7 @@ void StatusBuildOutputController::onLoadDone( const Variant& lineNum, const Vari
TextPosition pos{ lineNum.asInt64() > 0 ? lineNum.asInt64() - 1 : 0, colNum.asInt64() };
mSplitter->getCurEditor()->getDocument().setSelection( pos );
mSplitter->getCurEditor()->goToLine( pos );
mSplitter->addCurrentPositionToNavigationHistory();
}
}
@@ -491,7 +492,7 @@ void StatusBuildOutputController::createContainer() {
editor->setShowLineNumber( false );
editor->getDocument().reset();
editor->getDocument().textInput(
mApp->i18n( "no_build_has_been_run", "No build has been run" ) );
mApp->i18n( "no_build_has_been_run", "No build has been run" ), false );
editor->setScrollY( editor->getMaxScroll().y );
mButOutput = mContainer->find<UISelectButton>( "but_build_output_output" );
mButIssues = mContainer->find<UISelectButton>( "but_build_output_issues" );