diff options
author | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2011-02-17 10:08:57 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@nokia.com> | 2011-02-17 10:11:23 +0100 |
commit | c74da9b7c58e2e427a369a10b27986c4dc61fb64 (patch) | |
tree | 073dce22bfec98415d8843026a363aa2214a5bd2 /src/plugins/debugger/pdb/pdbengine.cpp | |
parent | b83667058c33e633e44965b24d4f2fb1a0bad7de (diff) | |
download | qt-creator-c74da9b7c58e2e427a369a10b27986c4dc61fb64.tar.gz |
Debugger: Reduce tooltip flicker.
Move tooltip-request handling from DebuggerPlugin into
DebuggerToolTipManager.
Request tooltip only if position changed and close
standard tooltip on success.
Diffstat (limited to 'src/plugins/debugger/pdb/pdbengine.cpp')
-rw-r--r-- | src/plugins/debugger/pdb/pdbengine.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/plugins/debugger/pdb/pdbengine.cpp b/src/plugins/debugger/pdb/pdbengine.cpp index a0547b7383..46c8a5eed7 100644 --- a/src/plugins/debugger/pdb/pdbengine.cpp +++ b/src/plugins/debugger/pdb/pdbengine.cpp @@ -456,7 +456,7 @@ static WatchData m_toolTip; static QPoint m_toolTipPos; static QHash<QString, WatchData> m_toolTipCache; -void PdbEngine::setToolTipExpression(const QPoint &mousePos, +bool PdbEngine::setToolTipExpression(const QPoint &mousePos, TextEditor::ITextEditor *editor, const DebuggerToolTipContext &ctx) { Q_UNUSED(mousePos) @@ -464,13 +464,13 @@ void PdbEngine::setToolTipExpression(const QPoint &mousePos, if (state() != InferiorStopOk) { //SDEBUG("SUPPRESSING DEBUGGER TOOLTIP, INFERIOR NOT STOPPED"); - return; + return false; } // Check mime type and get expression (borrowing some C++ - functions) const QString javaPythonMimeType = QLatin1String("application/javascript"); if (!editor->file() || editor->file()->mimeType() != javaPythonMimeType) - return; + return false; int line; int column; @@ -488,17 +488,17 @@ void PdbEngine::setToolTipExpression(const QPoint &mousePos, QToolTip::hideText(); if (exp.isEmpty() || exp.startsWith(QLatin1Char('#'))) { QToolTip::hideText(); - return; + return false; } if (!hasLetterOrNumber(exp)) { QToolTip::showText(m_toolTipPos, tr("'%1' contains no identifier").arg(exp)); - return; + return true; } if (exp.startsWith(QLatin1Char('"')) && exp.endsWith(QLatin1Char('"'))) { QToolTip::showText(m_toolTipPos, tr("String literal %1").arg(exp)); - return; + return true; } if (exp.startsWith(QLatin1String("++")) || exp.startsWith(QLatin1String("--"))) @@ -508,13 +508,13 @@ void PdbEngine::setToolTipExpression(const QPoint &mousePos, exp.remove(0, 2); if (exp.startsWith(QLatin1Char('<')) || exp.startsWith(QLatin1Char('['))) - return; + return false; if (hasSideEffects(exp)) { QToolTip::showText(m_toolTipPos, tr("Cowardly refusing to evaluate expression '%1' " "with potential side effects").arg(exp)); - return; + return true; } #if 0 @@ -528,6 +528,7 @@ void PdbEngine::setToolTipExpression(const QPoint &mousePos, m_toolTip.iname = tooltipIName; insertData(m_toolTip); #endif + return false; } |