summaryrefslogtreecommitdiff
path: root/src/plugins/debugger/pdb/pdbengine.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2011-02-17 10:08:57 +0100
committerFriedemann Kleint <Friedemann.Kleint@nokia.com>2011-02-17 10:11:23 +0100
commitc74da9b7c58e2e427a369a10b27986c4dc61fb64 (patch)
tree073dce22bfec98415d8843026a363aa2214a5bd2 /src/plugins/debugger/pdb/pdbengine.cpp
parentb83667058c33e633e44965b24d4f2fb1a0bad7de (diff)
downloadqt-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.cpp17
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;
}