Browse Source

restore tab order after toggling Compact mode

Le Tan 8 years ago
parent
commit
ad082d3ba0
5 changed files with 17 additions and 4 deletions
  1. 2 2
      src/main.cpp
  2. 0 1
      src/veditarea.cpp
  3. 2 0
      src/veditwindow.cpp
  4. 8 1
      src/vfilelist.h
  5. 5 0
      src/vmainwindow.cpp

+ 2 - 2
src/main.cpp

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

+ 0 - 1
src/veditarea.cpp

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

+ 2 - 0
src/veditwindow.cpp

@@ -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)

+ 8 - 1
src/vfilelist.h

@@ -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

+ 5 - 0
src/vmainwindow.cpp

@@ -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)