forked from qt-creator/qt-creator
Added a name component to the SideBar's saveSettings/restoreSettings to allow for multiple instances in a plug-in.
This commit is contained in:
@@ -143,24 +143,28 @@ void SideBar::updateWidgets()
|
|||||||
i->updateAvailableItems();
|
i->updateAvailableItems();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SideBar::saveSettings(QSettings *settings)
|
void SideBar::saveSettings(QSettings *settings, const QString &name)
|
||||||
{
|
{
|
||||||
|
const QString prefix = name.isEmpty() ? name : (name + QLatin1Char('/'));
|
||||||
|
|
||||||
QStringList views;
|
QStringList views;
|
||||||
for (int i = 0; i < m_widgets.count(); ++i)
|
for (int i = 0; i < m_widgets.count(); ++i)
|
||||||
views.append(m_widgets.at(i)->currentItemTitle());
|
views.append(m_widgets.at(i)->currentItemTitle());
|
||||||
settings->setValue("HelpSideBar/Views", views);
|
settings->setValue(prefix + "Views", views);
|
||||||
settings->setValue("HelpSideBar/Visible", true);//isVisible());
|
settings->setValue(prefix + "Visible", true);//isVisible());
|
||||||
settings->setValue("HelpSideBar/VerticalPosition", saveState());
|
settings->setValue(prefix + "VerticalPosition", saveState());
|
||||||
settings->setValue("HelpSideBar/Width", width());
|
settings->setValue(prefix + "Width", width());
|
||||||
}
|
}
|
||||||
|
|
||||||
void SideBar::readSettings(QSettings *settings)
|
void SideBar::readSettings(QSettings *settings, const QString &name)
|
||||||
{
|
{
|
||||||
|
const QString prefix = name.isEmpty() ? name : (name + QLatin1Char('/'));
|
||||||
|
|
||||||
foreach (SideBarWidget *widget, m_widgets)
|
foreach (SideBarWidget *widget, m_widgets)
|
||||||
removeSideBarWidget(widget);
|
removeSideBarWidget(widget);
|
||||||
|
|
||||||
if (settings->contains("HelpSideBar/Views")) {
|
if (settings->contains(prefix + "Views")) {
|
||||||
QStringList views = settings->value("HelpSideBar/Views").toStringList();
|
QStringList views = settings->value(prefix + "Views").toStringList();
|
||||||
if (views.count()) {
|
if (views.count()) {
|
||||||
foreach (const QString &title, views)
|
foreach (const QString &title, views)
|
||||||
insertSideBarWidget(m_widgets.count(), title);
|
insertSideBarWidget(m_widgets.count(), title);
|
||||||
@@ -172,15 +176,15 @@ void SideBar::readSettings(QSettings *settings)
|
|||||||
insertSideBarWidget(m_widgets.count(), title);
|
insertSideBarWidget(m_widgets.count(), title);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (settings->contains("HelpSideBar/Visible"))
|
if (settings->contains(prefix + "Visible"))
|
||||||
setVisible(settings->value("HelpSideBar/Visible").toBool());
|
setVisible(settings->value(prefix + "Visible").toBool());
|
||||||
|
|
||||||
if (settings->contains("HelpSideBar/VerticalPosition"))
|
if (settings->contains(prefix + "VerticalPosition"))
|
||||||
restoreState(settings->value("HelpSideBar/VerticalPosition").toByteArray());
|
restoreState(settings->value(prefix + "VerticalPosition").toByteArray());
|
||||||
|
|
||||||
if (settings->contains("HelpSideBar/Width")) {
|
if (settings->contains(prefix + "Width")) {
|
||||||
QSize s = size();
|
QSize s = size();
|
||||||
s.setWidth(settings->value("HelpSideBar/Width").toInt());
|
s.setWidth(settings->value(prefix + "Width").toInt());
|
||||||
resize(s);
|
resize(s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -101,8 +101,8 @@ public:
|
|||||||
void makeItemAvailable(SideBarItem *item);
|
void makeItemAvailable(SideBarItem *item);
|
||||||
SideBarItem *item(const QString &title);
|
SideBarItem *item(const QString &title);
|
||||||
|
|
||||||
void saveSettings(QSettings *settings);
|
void saveSettings(QSettings *settings, const QString &name);
|
||||||
void readSettings(QSettings *settings);
|
void readSettings(QSettings *settings, const QString &name);
|
||||||
|
|
||||||
void activateItem(SideBarItem *item);
|
void activateItem(SideBarItem *item);
|
||||||
|
|
||||||
|
@@ -566,7 +566,7 @@ void HelpPlugin::slotHideRightPane()
|
|||||||
|
|
||||||
void HelpPlugin::extensionsInitialized()
|
void HelpPlugin::extensionsInitialized()
|
||||||
{
|
{
|
||||||
m_sideBar->readSettings(m_core->settings());
|
m_sideBar->readSettings(m_core->settings(), QLatin1String("HelpSideBar"));
|
||||||
if (!m_helpEngine->setupData()) {
|
if (!m_helpEngine->setupData()) {
|
||||||
qWarning() << "Could not initialize help engine: " << m_helpEngine->error();
|
qWarning() << "Could not initialize help engine: " << m_helpEngine->error();
|
||||||
return;
|
return;
|
||||||
@@ -683,7 +683,7 @@ void HelpPlugin::extensionsInitialized()
|
|||||||
|
|
||||||
void HelpPlugin::shutdown()
|
void HelpPlugin::shutdown()
|
||||||
{
|
{
|
||||||
m_sideBar->saveSettings(m_core->settings());
|
m_sideBar->saveSettings(m_core->settings(), QLatin1String("HelpSideBar"));
|
||||||
m_bookmarkManager->saveBookmarks();
|
m_bookmarkManager->saveBookmarks();
|
||||||
delete m_bookmarkManager;
|
delete m_bookmarkManager;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user