From 7667d58076d438ea6839aa9b56cfb9a60e759f0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Lucas=20Golini?= Date: Sun, 16 Jan 2022 17:42:19 -0300 Subject: [PATCH] UITreeView minor fix. ecode: Remember last opened folder file. --- src/eepp/ui/uitreeview.cpp | 2 ++ src/tools/codeeditor/codeeditor.cpp | 7 +++++-- src/tools/codeeditor/codeeditor.hpp | 1 + 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/eepp/ui/uitreeview.cpp b/src/eepp/ui/uitreeview.cpp index c1e65e861..d0d86642c 100644 --- a/src/eepp/ui/uitreeview.cpp +++ b/src/eepp/ui/uitreeview.cpp @@ -139,6 +139,8 @@ UIWidget* UITreeView::setupCell( UITableCell* widget, UIWidget* rowWidget, if ( index.column() == (Int64)getModel()->treeColumn() ) { bindNavigationClick( widget ); widget->addEventListener( Event::MouseClick, [&]( const Event* event ) { + if ( mSingleClickNavigation ) + return; auto mouseEvent = static_cast( event ); UIWidget* icon = mouseEvent->getNode()->asType()->getExtraInnerWidget(); if ( icon ) { diff --git a/src/tools/codeeditor/codeeditor.cpp b/src/tools/codeeditor/codeeditor.cpp index f8732b161..8eacae94e 100644 --- a/src/tools/codeeditor/codeeditor.cpp +++ b/src/tools/codeeditor/codeeditor.cpp @@ -134,12 +134,15 @@ void App::onDocumentModified( UICodeEditor* editor, TextDocument& ) { } void App::openFileDialog() { - UIFileDialog* dialog = UIFileDialog::New( UIFileDialog::DefaultFlags, "*", "." ); + UIFileDialog* dialog = UIFileDialog::New( UIFileDialog::DefaultFlags, "*", + mLastFileFolder.empty() ? "." : mLastFileFolder ); dialog->setWinFlags( UI_WIN_DEFAULT_FLAGS | UI_WIN_MAXIMIZE_BUTTON | UI_WIN_MODAL ); dialog->setTitle( "Open File" ); dialog->setCloseShortcut( KEY_ESCAPE ); dialog->addEventListener( Event::OpenFile, [&]( const Event* event ) { - loadFileFromPath( event->getNode()->asType()->getFullPath() ); + auto file = event->getNode()->asType()->getFullPath(); + mLastFileFolder = FileSystem::fileRemoveFileName( file ); + loadFileFromPath( file ); } ); dialog->addEventListener( Event::OnWindowClose, [&]( const Event* ) { if ( mEditorSplitter && mEditorSplitter->getCurEditor() && diff --git a/src/tools/codeeditor/codeeditor.hpp b/src/tools/codeeditor/codeeditor.hpp index e5f103458..9aa1682f9 100644 --- a/src/tools/codeeditor/codeeditor.hpp +++ b/src/tools/codeeditor/codeeditor.hpp @@ -121,6 +121,7 @@ class App : public UICodeEditorSplitter::Client { std::unique_ptr mDocSearchController; std::unique_ptr mFileLocator; std::unique_ptr mNotificationCenter; + std::string mLastFileFolder; void saveAllProcess();