浏览代码

OutlineViewer: do not register Navigation Mode by default

Le Tan 5 年之前
父节点
当前提交
99207f570e
共有 4 个文件被更改,包括 13 次插入2 次删除
  1. 1 0
      src/core/configmgr.cpp
  2. 2 0
      src/widgets/mainwindow.cpp
  3. 8 2
      src/widgets/outlineviewer.cpp
  4. 2 0
      src/widgets/outlineviewer.h

+ 1 - 0
src/core/configmgr.cpp

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

+ 2 - 0
src/widgets/mainwindow.cpp

@@ -413,6 +413,8 @@ void MainWindow::setupOutlineViewer()
     m_outlineViewer = new OutlineViewer(QString(), this);
     m_outlineViewer = new OutlineViewer(QString(), this);
     m_outlineViewer->setObjectName("OutlineViewer.vnotex");
     m_outlineViewer->setObjectName("OutlineViewer.vnotex");
 
 
+    NavigationModeMgr::getInst().registerNavigationTarget(m_outlineViewer->getNavigationModeWrapper());
+
     connect(m_viewArea, &ViewArea::currentViewWindowChanged,
     connect(m_viewArea, &ViewArea::currentViewWindowChanged,
             this, [this]() {
             this, [this]() {
                 auto win = m_viewArea->getCurrentViewWindow();
                 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);
     TreeWidget::setupSingleColumnHeaderlessTree(m_tree, false, false);
     m_tree->setSelectionMode(QAbstractItemView::SingleSelection);
     m_tree->setSelectionMode(QAbstractItemView::SingleSelection);
     TreeWidget::showHorizontalScrollbar(m_tree);
     TreeWidget::showHorizontalScrollbar(m_tree);
-    m_navigationWrapper.reset(new NavigationModeWrapper<QTreeWidget, QTreeWidgetItem>(m_tree));
-    NavigationModeMgr::getInst().registerNavigationTarget(m_navigationWrapper.data());
     mainLayout->addWidget(m_tree);
     mainLayout->addWidget(m_tree);
     connect(m_tree, &QTreeWidget::currentItemChanged,
     connect(m_tree, &QTreeWidget::currentItemChanged,
             this, [this](QTreeWidgetItem *p_cur, QTreeWidgetItem *p_pre) {
             this, [this](QTreeWidgetItem *p_cur, QTreeWidgetItem *p_pre) {
@@ -79,6 +77,14 @@ void OutlineViewer::setupUI(const QString &p_title)
     setFocusProxy(m_tree);
     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)
 TitleBar *OutlineViewer::setupTitleBar(const QString &p_title, QWidget *p_parent)
 {
 {
     auto titleBar = new TitleBar(p_title, TitleBar::Action::None, 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);
         void setOutlineProvider(const QSharedPointer<OutlineProvider> &p_provider);
 
 
+        NavigationModeWrapper<QTreeWidget, QTreeWidgetItem> *getNavigationModeWrapper();
+
         static void updateTreeToOutline(QTreeWidget *p_tree, const Outline &p_outline);
         static void updateTreeToOutline(QTreeWidget *p_tree, const Outline &p_outline);
 
 
     signals:
     signals: