From 793ca9701649cb599729353f71a62546c416a770 Mon Sep 17 00:00:00 2001 From: Alexey Semenko <igogo.dev@gmail.com> Date: Thu, 1 Apr 2010 04:26:24 +0400 Subject: [PATCH] Add "insert space after function name" option for GNU indenting Reviewed-by: mae Merge-request: 133 --- src/plugins/cpptools/completionsettingspage.cpp | 5 ++++- src/plugins/cpptools/completionsettingspage.ui | 10 ++++++++++ src/plugins/cpptools/cppcodecompletion.cpp | 13 +++++++++++++ src/plugins/cpptools/cppcodecompletion.h | 4 ++++ src/plugins/cpptools/cpptoolsplugin.cpp | 2 ++ 5 files changed, 33 insertions(+), 1 deletion(-) diff --git a/src/plugins/cpptools/completionsettingspage.cpp b/src/plugins/cpptools/completionsettingspage.cpp index 79729b7215b..8a3b93a0613 100644 --- a/src/plugins/cpptools/completionsettingspage.cpp +++ b/src/plugins/cpptools/completionsettingspage.cpp @@ -96,10 +96,12 @@ QWidget *CompletionSettingsPage::createPage(QWidget *parent) m_page->caseSensitivity->setCurrentIndex(caseSensitivityIndex); m_page->autoInsertBrackets->setChecked(m_completion->autoInsertBrackets()); m_page->partiallyComplete->setChecked(m_completion->isPartialCompletionEnabled()); + m_page->spaceAfterFunctionName->setChecked(m_completion->isSpaceAfterFunctionName()); if (m_searchKeywords.isEmpty()) { QTextStream(&m_searchKeywords) << m_page->caseSensitivityLabel->text() << ' ' << m_page->autoInsertBrackets->text() - << ' ' << m_page->partiallyComplete->text(); + << ' ' << m_page->partiallyComplete->text() + << ' ' << m_page->spaceAfterFunctionName->text(); m_searchKeywords.remove(QLatin1Char('&')); } return w; @@ -110,6 +112,7 @@ void CompletionSettingsPage::apply() m_completion->setCaseSensitivity(caseSensitivity()); m_completion->setAutoInsertBrackets(m_page->autoInsertBrackets->isChecked()); m_completion->setPartialCompletionEnabled(m_page->partiallyComplete->isChecked()); + m_completion->setSpaceAfterFunctionName(m_page->spaceAfterFunctionName->isChecked()); } bool CompletionSettingsPage::matches(const QString &s) const diff --git a/src/plugins/cpptools/completionsettingspage.ui b/src/plugins/cpptools/completionsettingspage.ui index a884752910a..4167db7c3d5 100644 --- a/src/plugins/cpptools/completionsettingspage.ui +++ b/src/plugins/cpptools/completionsettingspage.ui @@ -111,6 +111,16 @@ </property> </widget> </item> + <item> + <widget class="QCheckBox" name="spaceAfterFunctionName"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="text"> + <string>Insert &space after function name</string> + </property> + </widget> + </item> </layout> </widget> </item> diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp index bbc63d9ee09..2e72ef55004 100644 --- a/src/plugins/cpptools/cppcodecompletion.cpp +++ b/src/plugins/cpptools/cppcodecompletion.cpp @@ -479,6 +479,7 @@ CppCodeCompletion::CppCodeCompletion(CppModelManager *manager) m_caseSensitivity(FirstLetterCaseSensitive), m_autoInsertBrackets(true), m_partialCompletionEnabled(true), + m_spaceAfterFunctionName(false), m_forcedCompletion(false), m_completionOperator(T_EOF_SYMBOL), m_objcEnabled(true) @@ -520,6 +521,16 @@ void CppCodeCompletion::setPartialCompletionEnabled(bool partialCompletionEnable m_partialCompletionEnabled = partialCompletionEnabled; } +bool CppCodeCompletion::isSpaceAfterFunctionName() const +{ + return m_spaceAfterFunctionName; +} + +void CppCodeCompletion::setSpaceAfterFunctionName(bool spaceAfterFunctionName) +{ + m_spaceAfterFunctionName = spaceAfterFunctionName; +} + /* Searches backwards for an access operator. */ @@ -1580,6 +1591,8 @@ void CppCodeCompletion::complete(const TextEditor::CompletionItem &item) extraChars += QLatin1Char('<'); } } else if (! function->isAmbiguous()) { + if (m_spaceAfterFunctionName) + extraChars += QLatin1Char(' '); extraChars += QLatin1Char('('); // If the function doesn't return anything, automatically place the semicolon, diff --git a/src/plugins/cpptools/cppcodecompletion.h b/src/plugins/cpptools/cppcodecompletion.h index 6648c162ac3..b3c8402ee27 100644 --- a/src/plugins/cpptools/cppcodecompletion.h +++ b/src/plugins/cpptools/cppcodecompletion.h @@ -88,6 +88,9 @@ public: bool isPartialCompletionEnabled() const; void setPartialCompletionEnabled(bool partialCompletionEnabled); + bool isSpaceAfterFunctionName() const; + void setSpaceAfterFunctionName(bool spaceAfterFunctionName); + private: void addKeywords(); void addMacros(const QString &fileName, const CPlusPlus::Snapshot &snapshot); @@ -152,6 +155,7 @@ private: CaseSensitivity m_caseSensitivity; bool m_autoInsertBrackets; bool m_partialCompletionEnabled; + bool m_spaceAfterFunctionName; bool m_forcedCompletion; unsigned m_completionOperator; bool m_objcEnabled; diff --git a/src/plugins/cpptools/cpptoolsplugin.cpp b/src/plugins/cpptools/cpptoolsplugin.cpp index 6af7f926cfd..fd6b4cd1d2d 100644 --- a/src/plugins/cpptools/cpptoolsplugin.cpp +++ b/src/plugins/cpptools/cpptoolsplugin.cpp @@ -147,6 +147,7 @@ bool CppToolsPlugin::initialize(const QStringList &arguments, QString *error) m_completion->setCaseSensitivity((CppCodeCompletion::CaseSensitivity) caseSensitivity); m_completion->setAutoInsertBrackets(settings->value(QLatin1String("AutoInsertBraces"), true).toBool()); m_completion->setPartialCompletionEnabled(settings->value(QLatin1String("PartiallyComplete"), true).toBool()); + m_completion->setSpaceAfterFunctionName(settings->value(QLatin1String("SpaceAfterFunctionName"), false).toBool()); settings->endGroup(); settings->endGroup(); @@ -176,6 +177,7 @@ void CppToolsPlugin::shutdown() settings->setValue(QLatin1String("CaseSensitivity"), (int) m_completion->caseSensitivity()); settings->setValue(QLatin1String("AutoInsertBraces"), m_completion->autoInsertBrackets()); settings->setValue(QLatin1String("PartiallyComplete"), m_completion->isPartialCompletionEnabled()); + settings->setValue(QLatin1String("SpaceAfterFunctionName"), m_completion->isSpaceAfterFunctionName()); settings->endGroup(); settings->endGroup(); } -- GitLab