[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: kdevelop/languages/cpp
From: Adam Treat <manyoso () yahoo ! com>
Date: 2005-03-10 0:37:38
Message-ID: 20050310003738.25DB510B25 () office ! kde ! org
[Download RAW message or body]
CVS commit by treat:
* Revert to an opt-in procedure for determining whether to complete for
a textChanged signal with a given char. This preserves Matt's change (it'll
complete for all alphabetic chars still), but gets rid of silly completes for
random non-alphabetic chars. The code is more readable too ;)
M +15 -10 cppcodecompletion.cpp 1.156
--- kdevelop/languages/cpp/cppcodecompletion.cpp #1.155:1.156
@@ -7,4 +7,6 @@
copyright : (C) 2002,2003 by Roberto Raggi
email : roberto@kdevelop.org
+ copyright : (C) 2005 by Adam Treat
+ email : manyoso@yahoo.com
***************************************************************************/
@@ -441,16 +443,19 @@ void CppCodeCompletion::slotTextChanged(
m_ccColumn = 0;
- if ( ( m_pSupport->codeCompletionConfig() ->automaticCodeCompletion() &&
- ( !ch.isEmpty() && ch != "\n" && ch != " " && ch != "\t" &&
- ch != ";" && ch != "{" && ch != "}" ) //TODO optimize, maybe use a \
qregexp
- /*(ch == "." || ch2 == "->" || ch2 == "::") */ ) ||
+ bool argsHint = m_pSupport->codeCompletionConfig() \
->automaticArgumentsHint(); + bool codeComplete = \
m_pSupport->codeCompletionConfig() ->automaticCodeCompletion(); + bool \
headComplete = m_pSupport->codeCompletionConfig() ->automaticHeaderCompletion(); + \
+ QRegExp chRx("([A-Z])|([a-z])|(\\.)"); //completes on alpha chars \
and '.' + QRegExp ch2Rx("(->)|(\\:\\:)"); //completes \
on "->" and "::" +
+ if ( ( argsHint && ch == "(" ) ||
( strCurLine.simplifyWhiteSpace().contains("virtual") ) ||
- ( m_pSupport->codeCompletionConfig() ->automaticArgumentsHint() && \
ch == "(" ) ||
- ( m_pSupport->codeCompletionConfig() ->automaticHeaderCompletion() \
&& ( ch == "\"" || ch == "<" ) &&
- m_includeRx.search( strCurLine ) != -1 ) )
+ ( codeComplete && ( chRx.search( ch ) != -1 || ch2Rx.search( ch2 ) != \
-1 ) ) || + ( headComplete && ( ch == "\"" || ch == "<" ) && \
m_includeRx.search( strCurLine ) != -1 ) ) {
+ int time;
m_ccLine = nLine;
m_ccColumn = nCol;
- int time;
if ( ch == "(" )
time = m_pSupport->codeCompletionConfig() \
->argumentsHintDelay();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic