OutlineViewer: do not register Navigation Mode by default

This commit is contained in:
Le Tan 2020-12-22 19:57:57 +08:00
parent 334a3ae0a5
commit 99207f570e
4 changed files with 13 additions and 2 deletions

View File

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

View File

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

View File

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

View File

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