forked from qt-creator/qt-creator
Make it possible to Show/Hide the sidebar in help mode.
Task-number: QTCREATORBUG-1533 Change-Id: I0ac767db5bcbda12a9d8ba1572ee75881308d0d0 Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
This commit is contained in:
@@ -244,8 +244,10 @@ void SideBar::closeSubWidget()
|
|||||||
removeSideBarWidget(widget);
|
removeSideBarWidget(widget);
|
||||||
updateWidgets();
|
updateWidgets();
|
||||||
} else {
|
} else {
|
||||||
if (d->m_closeWhenEmpty)
|
if (d->m_closeWhenEmpty) {
|
||||||
setVisible(false);
|
setVisible(false);
|
||||||
|
emit sideBarClosed();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -119,6 +119,7 @@ public:
|
|||||||
QMap<QString, Core::Command *> shortcutMap() const;
|
QMap<QString, Core::Command *> shortcutMap() const;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
void sideBarClosed();
|
||||||
void availableItemsChanged();
|
void availableItemsChanged();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
|||||||
@@ -137,7 +137,8 @@ HelpPlugin::HelpPlugin()
|
|||||||
m_connectWindow(true),
|
m_connectWindow(true),
|
||||||
m_externalWindow(0),
|
m_externalWindow(0),
|
||||||
m_backMenu(0),
|
m_backMenu(0),
|
||||||
m_nextMenu(0)
|
m_nextMenu(0),
|
||||||
|
m_isSidebarVisible(true)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -407,8 +408,13 @@ void HelpPlugin::extensionsInitialized()
|
|||||||
|
|
||||||
ExtensionSystem::IPlugin::ShutdownFlag HelpPlugin::aboutToShutdown()
|
ExtensionSystem::IPlugin::ShutdownFlag HelpPlugin::aboutToShutdown()
|
||||||
{
|
{
|
||||||
if (m_sideBar)
|
if (m_sideBar) {
|
||||||
m_sideBar->saveSettings(Core::ICore::settings(), QLatin1String("HelpSideBar"));
|
QSettings *settings = Core::ICore::settings();
|
||||||
|
m_sideBar->saveSettings(settings, QLatin1String("HelpSideBar"));
|
||||||
|
// keep a boolean value to avoid to modify the sidebar class, at least some qml stuff
|
||||||
|
// depends on the always visible property of the sidebar...
|
||||||
|
settings->setValue(QLatin1String("HelpSideBar/") + QLatin1String("Visible"), m_isSidebarVisible);
|
||||||
|
}
|
||||||
delete m_externalWindow;
|
delete m_externalWindow;
|
||||||
|
|
||||||
return SynchronousShutdown;
|
return SynchronousShutdown;
|
||||||
@@ -500,7 +506,9 @@ void HelpPlugin::setupUi()
|
|||||||
<< m_openPagesItem;
|
<< m_openPagesItem;
|
||||||
m_sideBar = new Core::SideBar(itemList, QList<Core::SideBarItem*>()
|
m_sideBar = new Core::SideBar(itemList, QList<Core::SideBarItem*>()
|
||||||
<< m_contentItem << m_openPagesItem);
|
<< m_contentItem << m_openPagesItem);
|
||||||
|
m_sideBar->setCloseWhenEmpty(true);
|
||||||
m_sideBar->setShortcutMap(shortcutMap);
|
m_sideBar->setShortcutMap(shortcutMap);
|
||||||
|
connect(m_sideBar, SIGNAL(sideBarClosed()), this, SLOT(onSideBarVisibilityChanged()));
|
||||||
|
|
||||||
m_splitter->setOpaqueResize(false);
|
m_splitter->setOpaqueResize(false);
|
||||||
m_splitter->insertWidget(0, m_sideBar);
|
m_splitter->insertWidget(0, m_sideBar);
|
||||||
@@ -508,6 +516,12 @@ void HelpPlugin::setupUi()
|
|||||||
m_splitter->setStretchFactor(1, 1);
|
m_splitter->setStretchFactor(1, 1);
|
||||||
m_sideBar->readSettings(Core::ICore::settings(), QLatin1String("HelpSideBar"));
|
m_sideBar->readSettings(Core::ICore::settings(), QLatin1String("HelpSideBar"));
|
||||||
m_splitter->setSizes(QList<int>() << m_sideBar->size().width() << 300);
|
m_splitter->setSizes(QList<int>() << m_sideBar->size().width() << 300);
|
||||||
|
|
||||||
|
m_toggleSideBarAction = new QAction(QIcon(QLatin1String(Core::Constants::ICON_TOGGLE_SIDEBAR)),
|
||||||
|
tr("Show Sidebar"), this);
|
||||||
|
m_toggleSideBarAction->setCheckable(true);
|
||||||
|
connect(m_toggleSideBarAction, SIGNAL(triggered(bool)), this, SLOT(showHideSidebar()));
|
||||||
|
cmd = am->registerAction(m_toggleSideBarAction, Core::Constants::TOGGLE_SIDEBAR, modecontext);
|
||||||
}
|
}
|
||||||
|
|
||||||
void HelpPlugin::resetFilter()
|
void HelpPlugin::resetFilter()
|
||||||
@@ -690,6 +704,7 @@ void HelpPlugin::slotHideRightPane()
|
|||||||
void HelpPlugin::showHideSidebar()
|
void HelpPlugin::showHideSidebar()
|
||||||
{
|
{
|
||||||
m_sideBar->setVisible(!m_sideBar->isVisible());
|
m_sideBar->setVisible(!m_sideBar->isVisible());
|
||||||
|
onSideBarVisibilityChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void HelpPlugin::showExternalWindow()
|
void HelpPlugin::showExternalWindow()
|
||||||
@@ -1229,6 +1244,12 @@ void HelpPlugin::openFindToolBar()
|
|||||||
Find::FindPlugin::instance()->openFindToolBar(Find::FindPlugin::FindForward);
|
Find::FindPlugin::instance()->openFindToolBar(Find::FindPlugin::FindForward);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void HelpPlugin::onSideBarVisibilityChanged()
|
||||||
|
{
|
||||||
|
m_isSidebarVisible = m_sideBar->isVisible();
|
||||||
|
m_toggleSideBarAction->setToolTip(m_isSidebarVisible ? tr("Hide Sidebar") : tr("Show Sidebar"));
|
||||||
|
}
|
||||||
|
|
||||||
void HelpPlugin::doSetupIfNeeded()
|
void HelpPlugin::doSetupIfNeeded()
|
||||||
{
|
{
|
||||||
m_helpManager->setupGuiHelpEngine();
|
m_helpManager->setupGuiHelpEngine();
|
||||||
|
|||||||
@@ -119,6 +119,7 @@ private slots:
|
|||||||
void slotReportBug();
|
void slotReportBug();
|
||||||
|
|
||||||
void openFindToolBar();
|
void openFindToolBar();
|
||||||
|
void onSideBarVisibilityChanged();
|
||||||
|
|
||||||
void scaleRightPaneUp();
|
void scaleRightPaneUp();
|
||||||
void scaleRightPaneDown();
|
void scaleRightPaneDown();
|
||||||
@@ -176,6 +177,9 @@ private:
|
|||||||
QMenu *m_nextMenu;
|
QMenu *m_nextMenu;
|
||||||
Utils::StyledBar *m_internalHelpBar;
|
Utils::StyledBar *m_internalHelpBar;
|
||||||
Utils::StyledBar *m_externalHelpBar;
|
Utils::StyledBar *m_externalHelpBar;
|
||||||
|
|
||||||
|
bool m_isSidebarVisible;
|
||||||
|
QAction *m_toggleSideBarAction;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|||||||
Reference in New Issue
Block a user