forked from qt-creator/qt-creator
Analyzer: Store FancyMainWindow defaults without QSettings.
Store hash directly, do not keep QSettings objects around.
This commit is contained in:
@@ -172,6 +172,8 @@ public:
|
|||||||
class AnalyzerManager::AnalyzerManagerPrivate
|
class AnalyzerManager::AnalyzerManagerPrivate
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
typedef QHash<QString, QVariant> FancyMainWindowSettings;
|
||||||
|
|
||||||
AnalyzerManagerPrivate(AnalyzerManager *qq);
|
AnalyzerManagerPrivate(AnalyzerManager *qq);
|
||||||
~AnalyzerManagerPrivate();
|
~AnalyzerManagerPrivate();
|
||||||
|
|
||||||
@@ -214,7 +216,8 @@ public:
|
|||||||
typedef QList<ToolWidgetPair> ToolWidgetPairList;
|
typedef QList<ToolWidgetPair> ToolWidgetPairList;
|
||||||
QMap<IAnalyzerTool *, ToolWidgetPairList> m_toolWidgets;
|
QMap<IAnalyzerTool *, ToolWidgetPairList> m_toolWidgets;
|
||||||
DockWidgetEventFilter *m_resizeEventFilter;
|
DockWidgetEventFilter *m_resizeEventFilter;
|
||||||
QMap<IAnalyzerTool *, QSettings *> m_defaultSettings;
|
|
||||||
|
QMap<IAnalyzerTool *, FancyMainWindowSettings> m_defaultSettings;
|
||||||
|
|
||||||
// list of dock widgets to prevent memory leak
|
// list of dock widgets to prevent memory leak
|
||||||
typedef QWeakPointer<QDockWidget> DockPtr;
|
typedef QWeakPointer<QDockWidget> DockPtr;
|
||||||
@@ -712,9 +715,7 @@ void AnalyzerManager::addTool(IAnalyzerTool *tool)
|
|||||||
|
|
||||||
tool->initialize(plugin);
|
tool->initialize(plugin);
|
||||||
|
|
||||||
QSettings *defaultSettings = new QSettings(this);
|
d->m_defaultSettings.insert(tool, d->m_mainWindow->saveSettings());
|
||||||
d->m_defaultSettings[tool] = defaultSettings;
|
|
||||||
d->m_mainWindow->saveSettings(defaultSettings);
|
|
||||||
loadToolSettings(tool);
|
loadToolSettings(tool);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -737,11 +738,9 @@ QDockWidget *AnalyzerManager::createDockWidget(IAnalyzerTool *tool, const QStrin
|
|||||||
|
|
||||||
IAnalyzerTool *AnalyzerManager::currentTool() const
|
IAnalyzerTool *AnalyzerManager::currentTool() const
|
||||||
{
|
{
|
||||||
if (!d->m_toolGroup->checkedAction()) {
|
if (const QAction *ca = d->m_toolGroup->checkedAction())
|
||||||
|
return d->m_tools.value(ca->data().toInt());
|
||||||
return 0;
|
return 0;
|
||||||
}
|
|
||||||
|
|
||||||
return d->m_tools.value(d->m_toolGroup->checkedAction()->data().toInt());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<IAnalyzerTool *> AnalyzerManager::tools() const
|
QList<IAnalyzerTool *> AnalyzerManager::tools() const
|
||||||
|
Reference in New Issue
Block a user