restore tab order after toggling Compact mode

This commit is contained in:
Le Tan 2017-10-18 19:55:03 +08:00
parent 5aa5864ced
commit ad082d3ba0
5 changed files with 17 additions and 4 deletions

View File

@ -164,9 +164,9 @@ int main(int argc, char *argv[])
w.show(); w.show();
w.openFiles(filePaths);
w.openStartupPages(); w.openStartupPages();
w.openFiles(filePaths);
return app.exec(); return app.exec();
} }

View File

@ -932,4 +932,3 @@ void VEditArea::removeSplitByCaptain(void *p_target, void *p_data)
VEditArea *obj = static_cast<VEditArea *>(p_target); VEditArea *obj = static_cast<VEditArea *>(p_target);
obj->removeCurrentWindow(); obj->removeCurrentWindow();
} }

View File

@ -478,6 +478,8 @@ void VEditWindow::updateTabStatus(int p_index)
emit tabStatusUpdated(tab->fetchTabInfo()); emit tabStatusUpdated(tab->fetchTabInfo());
emit outlineChanged(tab->getOutline()); emit outlineChanged(tab->getOutline());
emit currentHeaderChanged(tab->getCurrentHeader()); emit currentHeaderChanged(tab->getCurrentHeader());
updateTabInfo(p_index);
} }
void VEditWindow::updateTabInfo(int p_index) void VEditWindow::updateTabInfo(int p_index)

View File

@ -44,7 +44,9 @@ public:
// Locate @p_file in the list widget. // Locate @p_file in the list widget.
bool locateFile(const VNoteFile *p_file); bool locateFile(const VNoteFile *p_file);
inline const VDirectory *currentDirectory() const; const VDirectory *currentDirectory() const;
QWidget *getContentWidget() const;
// Implementations for VNavigationMode. // Implementations for VNavigationMode.
void registerNavigation(QChar p_majorKey) Q_DECL_OVERRIDE; void registerNavigation(QChar p_majorKey) Q_DECL_OVERRIDE;
@ -199,4 +201,9 @@ inline const VDirectory *VFileList::currentDirectory() const
return m_directory; return m_directory;
} }
inline QWidget *VFileList::getContentWidget() const
{
return fileList;
}
#endif // VFILELIST_H #endif // VFILELIST_H

View File

@ -169,6 +169,7 @@ void VMainWindow::setupUI()
m_mainSplitter->setObjectName("MainSplitter"); m_mainSplitter->setObjectName("MainSplitter");
m_mainSplitter->addWidget(directoryPanel); m_mainSplitter->addWidget(directoryPanel);
m_mainSplitter->addWidget(m_fileList); m_mainSplitter->addWidget(m_fileList);
setTabOrder(directoryTree, m_fileList->getContentWidget());
m_mainSplitter->addWidget(editArea); m_mainSplitter->addWidget(editArea);
m_mainSplitter->setStretchFactor(0, 0); m_mainSplitter->setStretchFactor(0, 0);
m_mainSplitter->setStretchFactor(1, 0); m_mainSplitter->setStretchFactor(1, 0);
@ -283,6 +284,7 @@ QWidget *VMainWindow::setupDirectoryPanel()
connect(directoryTree, &VDirectoryTree::currentDirectoryChanged, connect(directoryTree, &VDirectoryTree::currentDirectoryChanged,
this, &VMainWindow::handleCurrentDirectoryChanged); this, &VMainWindow::handleCurrentDirectoryChanged);
return nbContainer; return nbContainer;
} }
@ -1895,6 +1897,9 @@ void VMainWindow::enableCompactMode(bool p_enabled)
m_fileList->show(); m_fileList->show();
} }
// Set Tab order.
setTabOrder(directoryTree, m_fileList->getContentWidget());
} }
void VMainWindow::changePanelView(PanelViewState p_state) void VMainWindow::changePanelView(PanelViewState p_state)