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.openFiles(filePaths);
w.openStartupPages();
w.openFiles(filePaths);
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);
obj->removeCurrentWindow();
}

View File

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

View File

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

View File

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