diff options
author | Thorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com> | 2008-12-12 16:36:33 +0100 |
---|---|---|
committer | Thorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com> | 2008-12-15 11:42:43 +0100 |
commit | 78f1fca9aa55311a84b6a4cbd6507b70398fff39 (patch) | |
tree | 62329c67f42f472fbee8a9ecb2e1963a3d01cde1 /src/plugins/cpptools/cpptoolsplugin.cpp | |
parent | 5c5167717f479ee5cccab179e0793620dc11a229 (diff) | |
download | qt-creator-78f1fca9aa55311a84b6a4cbd6507b70398fff39.tar.gz |
Added configuration options for code completion
It is now possible to choose between case-sensitive or case-insensitive
completion. Also, you can now disable the automatic insertion of braces.
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) { |