diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2014-05-19 18:25:48 +0300 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2014-05-20 11:47:42 +0200 |
commit | ad13c91200333d7e7287a6137d041f174327e6fc (patch) | |
tree | 16f62465e38a3ac65b230e433424248bc6953613 /src/libs/utils/completingtextedit.cpp | |
parent | e665366a64ec54c2b842caddf60a9d51488d3092 (diff) |
Utils: Avoid repetitive calls
Change-Id: Ie0a28f41c8e4309c62d87c90c462846f1eb9a194
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Diffstat (limited to 'src/libs/utils/completingtextedit.cpp')
-rw-r--r-- | src/libs/utils/completingtextedit.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libs/utils/completingtextedit.cpp b/src/libs/utils/completingtextedit.cpp index 87b68cf99fe..72ee809b6f6 100644 --- a/src/libs/utils/completingtextedit.cpp +++ b/src/libs/utils/completingtextedit.cpp @@ -160,14 +160,15 @@ void CompletingTextEdit::keyPressEvent(QKeyEvent *e) QTextEdit::keyPressEvent(e); const bool ctrlOrShift = e->modifiers() & (Qt::ControlModifier | Qt::ShiftModifier); - if (completer() == 0 || (ctrlOrShift && e->text().isEmpty())) + const QString text = e->text(); + if (completer() == 0 || (ctrlOrShift && text.isEmpty())) return; const bool hasModifier = (e->modifiers() != Qt::NoModifier) && !ctrlOrShift; const QString newCompletionPrefix = d->textUnderCursor(); - const QChar lastChar = e->text().isEmpty() ? QChar() : e->text().right(1).at(0); + const QChar lastChar = text.isEmpty() ? QChar() : text.right(1).at(0); - if (!isShortcut && (hasModifier || e->text().isEmpty() || isEndOfWordChar(lastChar) + if (!isShortcut && (hasModifier || text.isEmpty() || isEndOfWordChar(lastChar) || !d->acceptsCompletionPrefix(newCompletionPrefix))) { completer()->popup()->hide(); return; |