From 5e9f5b43899818436846624c3359e3fb85be3765 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Lucas=20Golini?= Date: Wed, 1 Jun 2022 15:00:58 -0300 Subject: [PATCH] ecode: Improved tabs icons. Sanitize cursor position when reloading a file. --- include/eepp/scene/event.hpp | 1 + src/eepp/ui/doc/textdocument.cpp | 2 +- src/eepp/ui/tools/uicodeeditorsplitter.cpp | 2 ++ src/tools/ecode/ecode.cpp | 2 ++ 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/include/eepp/scene/event.hpp b/include/eepp/scene/event.hpp index 2d6320659..e63a2072a 100644 --- a/include/eepp/scene/event.hpp +++ b/include/eepp/scene/event.hpp @@ -84,6 +84,7 @@ class EE_API Event { UserEvent, OnMenuShow, OnMenuHide, + OnEditorTabReady, NoEvent = eeINDEX_NOT_FOUND }; diff --git a/src/eepp/ui/doc/textdocument.cpp b/src/eepp/ui/doc/textdocument.cpp index 4aef6f86d..bf4d12912 100644 --- a/src/eepp/ui/doc/textdocument.cpp +++ b/src/eepp/ui/doc/textdocument.cpp @@ -412,7 +412,7 @@ TextDocument::LoadStatus TextDocument::reload() { : FileInfo( mFilePath ); resetSyntax(); notifyTextChanged(); - setSelection( selection.start() ); + setSelection( sanitizePosition( selection.start() ) ); } return ret; } diff --git a/src/eepp/ui/tools/uicodeeditorsplitter.cpp b/src/eepp/ui/tools/uicodeeditorsplitter.cpp index bcc2e8c11..f297a6e0d 100644 --- a/src/eepp/ui/tools/uicodeeditorsplitter.cpp +++ b/src/eepp/ui/tools/uicodeeditorsplitter.cpp @@ -392,6 +392,8 @@ UICodeEditorSplitter::createCodeEditorInTabWidget( UITabWidget* tabWidget ) { } ); UITab* tab = tabWidget->add( editor->getDocument().getFilename(), editor ); editor->setData( (UintPtr)tab ); + DocEvent docEvent( editor, &editor->getDocument(), Event::OnEditorTabReady ); + editor->sendEvent( static_cast( &docEvent ) ); return std::make_pair( tab, editor ); } diff --git a/src/tools/ecode/ecode.cpp b/src/tools/ecode/ecode.cpp index 15708e664..74c9cc3d1 100644 --- a/src/tools/ecode/ecode.cpp +++ b/src/tools/ecode/ecode.cpp @@ -2054,6 +2054,8 @@ void App::onCodeEditorCreated( UICodeEditor* editor, TextDocument& doc ) { editor->addEventListener( Event::OnDocumentLoaded, docChanged ); editor->addEventListener( Event::OnDocumentChanged, docChanged ); + editor->addEventListener( Event::OnDocumentSave, docChanged ); + editor->addEventListener( Event::OnEditorTabReady, docChanged ); editor->showMinimap( config.minimap );