Browse Source

OutlineViewer: do not register Navigation Mode by default

Le Tan 5 năm trước cách đây
mục cha
commit
99207f570e

+ 1 - 0
src/core/configmgr.cpp

@@ -128,6 +128,7 @@ void ConfigMgr::checkAppConfig()
             auto defaultVersion = MainConfig::getVersion(defaultSettings->getJson());
             auto appVersion = MainConfig::getVersion(appSettings->getJson());
             if (defaultVersion != appVersion) {
+                qInfo() << "new version" << appVersion << defaultVersion;
                 needUpdate = true;
             }
         }

+ 2 - 0
src/widgets/mainwindow.cpp

@@ -413,6 +413,8 @@ void MainWindow::setupOutlineViewer()
     m_outlineViewer = new OutlineViewer(QString(), this);
     m_outlineViewer->setObjectName("OutlineViewer.vnotex");
 
+    NavigationModeMgr::getInst().registerNavigationTarget(m_outlineViewer->getNavigationModeWrapper());
+
     connect(m_viewArea, &ViewArea::currentViewWindowChanged,
             this, [this]() {
                 auto win = m_viewArea->getCurrentViewWindow();

+ 8 - 2
src/widgets/outlineviewer.cpp

@@ -61,8 +61,6 @@ void OutlineViewer::setupUI(const QString &p_title)
     TreeWidget::setupSingleColumnHeaderlessTree(m_tree, false, false);
     m_tree->setSelectionMode(QAbstractItemView::SingleSelection);
     TreeWidget::showHorizontalScrollbar(m_tree);
-    m_navigationWrapper.reset(new NavigationModeWrapper<QTreeWidget, QTreeWidgetItem>(m_tree));
-    NavigationModeMgr::getInst().registerNavigationTarget(m_navigationWrapper.data());
     mainLayout->addWidget(m_tree);
     connect(m_tree, &QTreeWidget::currentItemChanged,
             this, [this](QTreeWidgetItem *p_cur, QTreeWidgetItem *p_pre) {
@@ -79,6 +77,14 @@ void OutlineViewer::setupUI(const QString &p_title)
     setFocusProxy(m_tree);
 }
 
+NavigationModeWrapper<QTreeWidget, QTreeWidgetItem> *OutlineViewer::getNavigationModeWrapper()
+{
+    if (!m_navigationWrapper) {
+        m_navigationWrapper.reset(new NavigationModeWrapper<QTreeWidget, QTreeWidgetItem>(m_tree));
+    }
+    return m_navigationWrapper.data();
+}
+
 TitleBar *OutlineViewer::setupTitleBar(const QString &p_title, QWidget *p_parent)
 {
     auto titleBar = new TitleBar(p_title, TitleBar::Action::None, p_parent);

+ 2 - 0
src/widgets/outlineviewer.h

@@ -26,6 +26,8 @@ namespace vnotex
 
         void setOutlineProvider(const QSharedPointer<OutlineProvider> &p_provider);
 
+        NavigationModeWrapper<QTreeWidget, QTreeWidgetItem> *getNavigationModeWrapper();
+
         static void updateTreeToOutline(QTreeWidget *p_tree, const Outline &p_outline);
 
     signals: