mirror of
https://github.com/SpartanJ/eepp.git
synced 2026-05-30 18:16:31 +03:00
TextDocument::save fix.
Function name typo fix. UICodeEditor focus fix.
This commit is contained in:
@@ -169,7 +169,7 @@ class EE_API UICodeEditorSplitter {
|
||||
|
||||
UIWidget* getCurWidget() const;
|
||||
|
||||
void setCurentWidget( UIWidget* curWidget );
|
||||
void setCurrentWidget( UIWidget* curWidget );
|
||||
|
||||
bool curWidgetExists() const;
|
||||
|
||||
|
||||
@@ -506,9 +506,11 @@ bool TextDocument::save( IOStream& stream, bool keepUndoRedoStatus ) {
|
||||
}
|
||||
}
|
||||
if ( mLineEnding == LineEnding::CRLF ) {
|
||||
text[text.size() - 1] = '\r';
|
||||
if ( text[text.size() - 1] == '\n' ) {
|
||||
text[text.size() - 1] = '\r';
|
||||
text += "\n";
|
||||
}
|
||||
stream.write( text.c_str(), text.size() );
|
||||
stream.write( &nl, 1 );
|
||||
} else {
|
||||
stream.write( text.c_str(), text.size() );
|
||||
}
|
||||
|
||||
@@ -284,7 +284,7 @@ UICodeEditor* UICodeEditorSplitter::createCodeEditor() {
|
||||
mCurEditor->copyFilePath();
|
||||
} );
|
||||
editor->addEventListener( Event::OnFocus, [&]( const Event* event ) {
|
||||
setCurrentEditor( event->getNode()->asType<UICodeEditor>() );
|
||||
setCurrentWidget( event->getNode()->asType<UICodeEditor>() );
|
||||
} );
|
||||
editor->addEventListener( Event::OnTextChanged, [&]( const Event* event ) {
|
||||
mClient->onDocumentModified( event->getNode()->asType<UICodeEditor>(),
|
||||
@@ -437,7 +437,7 @@ void UICodeEditorSplitter::setCurrentEditor( UICodeEditor* editor ) {
|
||||
mClient->onDocumentStateChanged( editor, editor->getDocument() );
|
||||
}
|
||||
|
||||
void UICodeEditorSplitter::setCurentWidget( UIWidget* curWidget ) {
|
||||
void UICodeEditorSplitter::setCurrentWidget( UIWidget* curWidget ) {
|
||||
if ( curWidget->isType( UI_TYPE_CODEEDITOR ) ) {
|
||||
setCurrentEditor( curWidget->asType<UICodeEditor>() );
|
||||
return;
|
||||
@@ -477,7 +477,7 @@ UICodeEditorSplitter::createWidgetInTabWidget( UITabWidget* tabWidget, UIWidget*
|
||||
UITab* tab = tabWidget->add( tabName, widget );
|
||||
widget->setData( (UintPtr)tab );
|
||||
widget->addEventListener( Event::OnFocus, [&]( const Event* event ) {
|
||||
setCurentWidget( event->getNode()->asType<UIWidget>() );
|
||||
setCurrentWidget( event->getNode()->asType<UIWidget>() );
|
||||
} );
|
||||
widget->addEventListener( Event::OnTitleChange, [&]( const Event* event ) {
|
||||
const TextEvent* tevent = static_cast<const TextEvent*>( event );
|
||||
@@ -524,7 +524,7 @@ UITabWidget* UICodeEditorSplitter::createEditorWithTabWidget( Node* parent, bool
|
||||
setCurrentEditor(
|
||||
tabWidget->getTabSelected()->getOwnedWidget()->asType<UICodeEditor>() );
|
||||
} else {
|
||||
setCurentWidget( tabWidget->getTabSelected()->getOwnedWidget()->asType<UIWidget>() );
|
||||
setCurrentWidget( tabWidget->getTabSelected()->getOwnedWidget()->asType<UIWidget>() );
|
||||
}
|
||||
} );
|
||||
tabWidget->setTabTryCloseCallback( [&]( UITab* tab ) -> bool {
|
||||
|
||||
@@ -1635,6 +1635,8 @@ const bool& UICodeEditor::isLocked() const {
|
||||
void UICodeEditor::setLocked( bool locked ) {
|
||||
if ( mLocked != locked ) {
|
||||
mLocked = locked;
|
||||
if ( !mLocked && hasFocus() )
|
||||
mDoc->setActiveClient( this );
|
||||
invalidateDraw();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2198,7 +2198,10 @@ UITerminal* App::createNewTerminal( const std::string& title, UITabWidget* inTab
|
||||
mSplitter->removeUnusedTab( tabWidget );
|
||||
ret.first->setIcon( findIcon( "filetype-bash" ) );
|
||||
term->setTitle( title );
|
||||
term->setColorScheme( mTerminalColorSchemes.at( mTerminalCurrentColorScheme ) );
|
||||
auto csIt = mTerminalColorSchemes.find( mTerminalCurrentColorScheme );
|
||||
term->setColorScheme( csIt != mTerminalColorSchemes.end()
|
||||
? mTerminalColorSchemes.at( mTerminalCurrentColorScheme )
|
||||
: TerminalColorScheme::getDefault() );
|
||||
term->addEventListener( Event::OnTitleChange, [&]( const Event* event ) {
|
||||
if ( event->getNode() != mSplitter->getCurWidget() )
|
||||
return;
|
||||
@@ -2368,7 +2371,10 @@ void App::setTerminalColorScheme( const std::string& name ) {
|
||||
if ( name != mTerminalCurrentColorScheme ) {
|
||||
mTerminalCurrentColorScheme = name;
|
||||
mConfig.term.colorScheme = name;
|
||||
applyTerminalColorScheme( mTerminalColorSchemes.at( mTerminalCurrentColorScheme ) );
|
||||
auto csIt = mTerminalColorSchemes.find( mTerminalCurrentColorScheme );
|
||||
applyTerminalColorScheme( csIt != mTerminalColorSchemes.end()
|
||||
? mTerminalColorSchemes.at( mTerminalCurrentColorScheme )
|
||||
: TerminalColorScheme::getDefault() );
|
||||
mNotificationCenter->addNotification( String::format(
|
||||
i18n( "terminal_color_scheme_set", "Terminal color scheme: %s" ).toUtf8().c_str(),
|
||||
mTerminalCurrentColorScheme.c_str() ) );
|
||||
|
||||
Reference in New Issue
Block a user