change panel view when locating to a folder or notebook

This commit is contained in:
Le Tan 2018-04-28 21:36:58 +08:00
parent bc85c0d199
commit 9b114832f1
4 changed files with 45 additions and 12 deletions

View File

@ -2376,11 +2376,13 @@ bool VMainWindow::locateFile(VFile *p_file)
}
// Open the directory and file panels after location.
if (ret) {
if (m_panelViewState == PanelViewState::CompactMode) {
compactModeView();
} else {
twoPanelView();
}
}
return ret;
}
@ -2398,15 +2400,44 @@ bool VMainWindow::locateDirectory(VDirectory *p_directory)
QCoreApplication::sendPostedEvents();
}
ret = directoryTree->locateDirectory(p_directory);
if (directoryTree->locateDirectory(p_directory)) {
ret = true;
directoryTree->setFocus();
}
}
// Open the directory and file panels after location.
if (ret) {
if (m_panelViewState == PanelViewState::CompactMode) {
compactModeView();
} else {
twoPanelView();
}
}
return ret;
}
bool VMainWindow::locateNotebook(VNotebook *p_notebook)
{
bool ret = false;
if (!p_notebook) {
return ret;
}
if (m_notebookSelector->locateNotebook(p_notebook)) {
ret = true;
directoryTree->setFocus();
}
// Open the directory and file panels after location.
if (ret) {
if (m_panelViewState == PanelViewState::CompactMode) {
compactModeView();
} else {
twoPanelView();
}
}
return ret;
}

View File

@ -65,6 +65,9 @@ public:
// Returns true if the location succeeds.
bool locateDirectory(VDirectory *p_directory);
// Returns true if the location succeeds.
bool locateNotebook(VNotebook *p_notebook);
VFileList *getFileList() const;
VEditArea *getEditArea() const;

View File

@ -7,7 +7,6 @@
#include "utils/viconutils.h"
#include "vnote.h"
#include "vmainwindow.h"
#include "vnotebookselector.h"
#include "vnotefile.h"
#include "vcart.h"
@ -252,7 +251,7 @@ void VSearchResultTree::activateItem(const QTreeWidgetItem *p_item) const
{
VNotebook *nb = g_vnote->getNotebook(resItem->m_path);
if (nb) {
g_mainWin->getNotebookSelector()->locateNotebook(nb);
g_mainWin->locateNotebook(nb);
}
break;

View File

@ -794,7 +794,7 @@ void VSearchUE::activateItem(const QSharedPointer<VSearchResultItem> &p_item)
{
VNotebook *nb = g_vnote->getNotebook(p_item->m_path);
if (nb) {
g_mainWin->getNotebookSelector()->locateNotebook(nb);
g_mainWin->locateNotebook(nb);
}
break;