diff options
author | Eike Ziller <eike.ziller@qt.io> | 2024-03-12 09:27:39 +0100 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2024-03-12 09:27:39 +0100 |
commit | 1b97fdc100b267faf5a02629197f24c3ae3ac2b0 (patch) | |
tree | dd4a574ff256a050de3e50d8015e8b9261a011f2 /src/plugins/cppeditor | |
parent | 8c5c849b71dd2175acfdf70d761966c39bbad67d (diff) | |
parent | 9934a9cafafea4276ba7a325e3c899ba9ba2cd46 (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.cpp | 8 | ||||
-rw-r--r-- | src/plugins/cppeditor/cppcompletionassist.cpp | 24 | ||||
-rw-r--r-- | src/plugins/cppeditor/cpptoolsreuse.cpp | 24 | ||||
-rw-r--r-- | src/plugins/cppeditor/cpptoolsreuse.h | 2 |
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); |