aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cppeditor
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2024-03-12 09:27:39 +0100
committerEike Ziller <eike.ziller@qt.io>2024-03-12 09:27:39 +0100
commit1b97fdc100b267faf5a02629197f24c3ae3ac2b0 (patch)
treedd4a574ff256a050de3e50d8015e8b9261a011f2 /src/plugins/cppeditor
parent8c5c849b71dd2175acfdf70d761966c39bbad67d (diff)
parent9934a9cafafea4276ba7a325e3c899ba9ba2cd46 (diff)
Merge remote-tracking branch 'origin/13.0'
Conflicts: src/plugins/debugger/gdb/gdbsettings.cpp src/plugins/perfprofiler/perfprofilerruncontrol.cpp Change-Id: I0d5b914f9d9b5499920a5db484ef77af6ae748d5
Diffstat (limited to 'src/plugins/cppeditor')
-rw-r--r--src/plugins/cppeditor/cppcodestylesettingspage.cpp8
-rw-r--r--src/plugins/cppeditor/cppcompletionassist.cpp24
-rw-r--r--src/plugins/cppeditor/cpptoolsreuse.cpp24
-rw-r--r--src/plugins/cppeditor/cpptoolsreuse.h2
4 files changed, 34 insertions, 24 deletions
diff --git a/src/plugins/cppeditor/cppcodestylesettingspage.cpp b/src/plugins/cppeditor/cppcodestylesettingspage.cpp
index c1dfcebb3b..8f2e5a944e 100644
--- a/src/plugins/cppeditor/cppcodestylesettingspage.cpp
+++ b/src/plugins/cppeditor/cppcodestylesettingspage.cpp
@@ -452,9 +452,11 @@ void CppCodeStylePreferencesWidget::slotCurrentPreferencesChanged(ICodeStylePref
const bool enable = !preferences->isReadOnly() && (!preferences->isTemporarilyReadOnly()
|| !preferences->isAdditionalTabVisible());
- d->m_categoryTab->setTabVisible(0, preferences->isAdditionalTabVisible());
- for (int i = 1; i < d->m_categoryTab->count(); ++i)
- d->m_categoryTab->setTabVisible(i, !preferences->isAdditionalTabVisible());
+ if (preferences->additionalTabExist()) {
+ d->m_categoryTab->setTabVisible(0, preferences->isAdditionalTabVisible());
+ for (int i = 1; i < d->m_categoryTab->count(); ++i)
+ d->m_categoryTab->setTabVisible(i, !preferences->isAdditionalTabVisible());
+ }
for (QWidget *widget : d->m_controllers)
widget->setEnabled(enable);
diff --git a/src/plugins/cppeditor/cppcompletionassist.cpp b/src/plugins/cppeditor/cppcompletionassist.cpp
index 8168d72ba1..03c04765d4 100644
--- a/src/plugins/cppeditor/cppcompletionassist.cpp
+++ b/src/plugins/cppeditor/cppcompletionassist.cpp
@@ -372,27 +372,11 @@ QString CppFunctionHintModel::text(int index) const
int CppFunctionHintModel::activeArgument(const QString &prefix) const
{
- int argnr = 0;
- int parcount = 0;
- SimpleLexer tokenize;
- Tokens tokens = tokenize(prefix);
- for (int i = 0; i < tokens.count(); ++i) {
- const Token &tk = tokens.at(i);
- if (tk.is(T_LPAREN))
- ++parcount;
- else if (tk.is(T_RPAREN))
- --parcount;
- else if (!parcount && tk.is(T_COMMA))
- ++argnr;
- }
-
- if (parcount < 0)
+ const int arg = activeArgumenForPrefix(prefix);
+ if (arg < 0)
return -1;
-
- if (argnr != m_currentArg)
- m_currentArg = argnr;
-
- return argnr;
+ m_currentArg = arg;
+ return arg;
}
// ---------------------------
diff --git a/src/plugins/cppeditor/cpptoolsreuse.cpp b/src/plugins/cppeditor/cpptoolsreuse.cpp
index 48fe23244b..6555010c8f 100644
--- a/src/plugins/cppeditor/cpptoolsreuse.cpp
+++ b/src/plugins/cppeditor/cpptoolsreuse.cpp
@@ -219,6 +219,28 @@ bool isValidIdentifier(const QString &s)
return true;
}
+int activeArgumenForPrefix(const QString &prefix)
+{
+ int argnr = 0;
+ int parcount = 0;
+ SimpleLexer tokenize;
+ Tokens tokens = tokenize(prefix);
+ for (int i = 0; i < tokens.count(); ++i) {
+ const Token &tk = tokens.at(i);
+ if (tk.is(T_LPAREN))
+ ++parcount;
+ else if (tk.is(T_RPAREN))
+ --parcount;
+ else if (!parcount && tk.is(T_COMMA))
+ ++argnr;
+ }
+
+ if (parcount < 0)
+ return -1;
+
+ return argnr;
+}
+
bool isQtKeyword(QStringView text)
{
switch (text.length()) {
@@ -859,5 +881,5 @@ void decorateCppEditor(TextEditor::TextEditorWidget *editor)
editor->setAutoCompleter(new CppAutoCompleter);
}
-} // namespace Internal
+} // Internal
} // CppEditor
diff --git a/src/plugins/cppeditor/cpptoolsreuse.h b/src/plugins/cppeditor/cpptoolsreuse.h
index 50078bdd79..89bf896197 100644
--- a/src/plugins/cppeditor/cpptoolsreuse.h
+++ b/src/plugins/cppeditor/cpptoolsreuse.h
@@ -45,6 +45,8 @@ bool CPPEDITOR_EXPORT isValidFirstIdentifierChar(const QChar &ch);
bool CPPEDITOR_EXPORT isValidIdentifierChar(const QChar &ch);
bool CPPEDITOR_EXPORT isValidIdentifier(const QString &s);
+int CPPEDITOR_EXPORT activeArgumenForPrefix(const QString &prefix);
+
QStringList CPPEDITOR_EXPORT identifierWordsUnderCursor(const QTextCursor &tc);
QString CPPEDITOR_EXPORT identifierUnderCursor(QTextCursor *cursor);