diff --git a/src/plugins/coreplugin/coreplugin.cpp b/src/plugins/coreplugin/coreplugin.cpp index c3724bad17a..b479964a7ad 100644 --- a/src/plugins/coreplugin/coreplugin.cpp +++ b/src/plugins/coreplugin/coreplugin.cpp @@ -144,6 +144,7 @@ void CorePlugin::fileOpenRequest(const QString &f) ExtensionSystem::IPlugin::ShutdownFlag CorePlugin::aboutToShutdown() { + m_findPlugin->aboutToShutdown(); m_mainWindow->aboutToShutdown(); return SynchronousShutdown; } diff --git a/src/plugins/coreplugin/find/findplugin.cpp b/src/plugins/coreplugin/find/findplugin.cpp index ebb9f4b1835..46979aac1a7 100644 --- a/src/plugins/coreplugin/find/findplugin.cpp +++ b/src/plugins/coreplugin/find/findplugin.cpp @@ -132,6 +132,7 @@ void FindPlugin::initialize(const QStringList &, QString *) d->m_findDialog = new Internal::FindToolWindow(this); d->m_searchResultWindow = new SearchResultWindow(d->m_findDialog); ExtensionSystem::PluginManager::addObject(d->m_searchResultWindow); + connect(ICore::instance(), SIGNAL(saveSettingsRequested()), this, SLOT(writeSettings())); } void FindPlugin::extensionsInitialized() @@ -145,7 +146,6 @@ void FindPlugin::aboutToShutdown() d->m_findToolBar->setVisible(false); d->m_findToolBar->setParent(0); d->m_currentDocumentFind->removeConnections(); - writeSettings(); } void FindPlugin::filterChanged() diff --git a/src/plugins/coreplugin/find/findplugin.h b/src/plugins/coreplugin/find/findplugin.h index 0c8298052fc..2f9930e4acf 100644 --- a/src/plugins/coreplugin/find/findplugin.h +++ b/src/plugins/coreplugin/find/findplugin.h @@ -90,13 +90,13 @@ signals: private slots: void filterChanged(); void openFindFilter(); + void writeSettings(); private: void setFindFlag(Core::FindFlag flag, bool enabled); void updateCompletion(const QString &text, QStringList &completions, QStringListModel *model); void setupMenu(); void setupFilterMenuItems(); - void writeSettings(); void readSettings(); //variables diff --git a/src/plugins/coreplugin/locator/locator.cpp b/src/plugins/coreplugin/locator/locator.cpp index b11bad59cdb..4b644e94942 100644 --- a/src/plugins/coreplugin/locator/locator.cpp +++ b/src/plugins/coreplugin/locator/locator.cpp @@ -127,6 +127,8 @@ void Locator::initialize(CorePlugin *corePlugin, const QStringList &, QString *) m_corePlugin->addObject(m_executeFilter); m_corePlugin->addAutoReleasedObject(new LocatorFiltersFilter(this, m_locatorWidget)); + + connect(ICore::instance(), SIGNAL(saveSettingsRequested()), this, SLOT(saveSettings())); } void Locator::updatePlaceholderText(Command *command)