diff options
Diffstat (limited to 'src/plugins/cpptools/cpptoolsplugin.cpp')
-rw-r--r-- | src/plugins/cpptools/cpptoolsplugin.cpp | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/src/plugins/cpptools/cpptoolsplugin.cpp b/src/plugins/cpptools/cpptoolsplugin.cpp index 1aefe3d49e..d1b9e34216 100644 --- a/src/plugins/cpptools/cpptoolsplugin.cpp +++ b/src/plugins/cpptools/cpptoolsplugin.cpp @@ -32,6 +32,8 @@ ***************************************************************************/ #include "cpptoolsplugin.h" + +#include "completionsettingspage.h" #include "cppclassesfilter.h" #include "cppcodecompletion.h" #include "cppfunctionsfilter.h" @@ -52,6 +54,7 @@ #include <QtCore/QFileInfo> #include <QtCore/QDir> #include <QtCore/QDebug> +#include <QtCore/QSettings> #include <QtGui/QMenu> #include <QtGui/QAction> @@ -84,13 +87,14 @@ bool CppToolsPlugin::initialize(const QStringList & /*arguments*/, QString *) // Objects m_modelManager = new CppModelManager(this); addAutoReleasedObject(m_modelManager); - CppCodeCompletion *cppcodecompletion = new CppCodeCompletion(m_modelManager, m_core); - addAutoReleasedObject(cppcodecompletion); + CppCodeCompletion *m_completion = new CppCodeCompletion(m_modelManager, m_core); + addAutoReleasedObject(m_completion); CppQuickOpenFilter *quickOpenFilter = new CppQuickOpenFilter(m_modelManager, m_core->editorManager()); addAutoReleasedObject(quickOpenFilter); addAutoReleasedObject(new CppClassesFilter(m_modelManager, m_core->editorManager())); addAutoReleasedObject(new CppFunctionsFilter(m_modelManager, m_core->editorManager())); + addAutoReleasedObject(new CompletionSettingsPage(m_completion)); // Menus Core::IActionContainer *mtools = am->actionContainer(Core::Constants::M_TOOLS); @@ -110,6 +114,16 @@ bool CppToolsPlugin::initialize(const QStringList & /*arguments*/, QString *) mcpptools->addAction(command); connect(switchAction, SIGNAL(triggered()), this, SLOT(switchHeaderSource())); + // Restore settings + QSettings *settings = m_core->settings(); + settings->beginGroup(QLatin1String("CppTools")); + settings->beginGroup(QLatin1String("Completion")); + const bool caseSensitive = settings->value(QLatin1String("CaseSensitive"), true).toBool(); + m_completion->setCaseSensitivity(caseSensitive ? Qt::CaseSensitive : Qt::CaseInsensitive); + m_completion->setAutoInsertBraces(settings->value(QLatin1String("AutoInsertBraces"), true).toBool()); + settings->endGroup(); + settings->endGroup(); + return true; } @@ -117,6 +131,18 @@ void CppToolsPlugin::extensionsInitialized() { } +void CppToolsPlugin::shutdown() +{ + // Save settings + QSettings *settings = m_core->settings(); + settings->beginGroup(QLatin1String("CppTools")); + settings->beginGroup(QLatin1String("Completion")); + settings->setValue(QLatin1String("CaseSensitive"), m_completion->caseSensitivity() == Qt::CaseSensitive); + settings->setValue(QLatin1String("AutoInsertBraces"), m_completion->autoInsertBraces()); + settings->endGroup(); + settings->endGroup(); +} + void CppToolsPlugin::switchHeaderSource() { if (!m_core) @@ -150,7 +176,12 @@ QFileInfo CppToolsPlugin::findFile(const QDir &dir, const QString &name, } // Figure out file type -enum FileType { HeaderFile, C_SourceFile, CPP_SourceFile, UnknownType }; +enum FileType { + HeaderFile, + C_SourceFile, + CPP_SourceFile, + UnknownType +}; static inline FileType fileType(const Core::MimeDatabase *mimeDatase, const QFileInfo & fi) { |