aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/watchhandler.cpp
diff options
context:
space:
mode:
authorhjk <[email protected]>2012-01-12 16:03:42 +0100
committerhjk <[email protected]>2012-01-12 16:05:36 +0100
commite29a3254092b2872cc843101c86d3e11daba48dd (patch)
tree1937efdffadef28015f590f59d587c34a05a9aec /src/plugins/debugger/watchhandler.cpp
parentf09e849c960d9b9b2f22f141c98f1cf75f537b19 (diff)
debugger: also translate special strings when editing values in L&E
Diffstat (limited to 'src/plugins/debugger/watchhandler.cpp')
-rw-r--r--src/plugins/debugger/watchhandler.cpp61
1 files changed, 32 insertions, 29 deletions
diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp
index 03e4bd27240..366877071c4 100644
--- a/src/plugins/debugger/watchhandler.cpp
+++ b/src/plugins/debugger/watchhandler.cpp
@@ -431,6 +431,36 @@ static QString quoteUnprintable(const QString &str)
return encoded;
}
+static QString translate(const QString &str)
+{
+ if (str.startsWith(QLatin1Char('<'))) {
+ if (str == QLatin1String("<Edit>"))
+ return WatchHandler::tr("<Edit>");
+ if (str == QLatin1String("<empty>"))
+ return WatchHandler::tr("<empty>");
+ if (str == QLatin1String("<uninitialized>"))
+ return WatchHandler::tr("<uninitialized>");
+ if (str == QLatin1String("<invalid>"))
+ return WatchHandler::tr("<invalid>");
+ if (str == QLatin1String("<not accessible>"))
+ return WatchHandler::tr("<not accessible>");
+ if (str.endsWith(QLatin1String(" items>"))) {
+ // '<10 items>' or '<>10 items>' (more than)
+ bool ok;
+ const bool moreThan = str.at(1) == QLatin1Char('>');
+ const int numberPos = moreThan ? 2 : 1;
+ const int len = str.indexOf(QLatin1Char(' ')) - numberPos;
+ const int size = str.mid(numberPos, len).toInt(&ok);
+ QTC_ASSERT(ok, qWarning("WatchHandler: Invalid item count '%s'",
+ qPrintable(str)))
+ return moreThan ?
+ WatchHandler::tr("<more than %n items>", 0, size) :
+ WatchHandler::tr("<%n items>", 0, size);
+ }
+ }
+ return quoteUnprintable(str);
+}
+
QString WatchModel::formattedValue(const WatchData &data) const
{
const QByteArray qtNamespace = engine()->qtNamespace();
@@ -469,34 +499,7 @@ QString WatchModel::formattedValue(const WatchData &data) const
return reformatInteger(integer, format);
}
- QString result = value;
- if (result.startsWith(QLatin1Char('<'))) {
- if (result == QLatin1String("<Edit>"))
- return WatchHandler::tr("<Edit>");
- if (result == QLatin1String("<empty>"))
- return WatchHandler::tr("<empty>");
- if (result == QLatin1String("<uninitialized>"))
- return WatchHandler::tr("<uninitialized>");
- if (result == QLatin1String("<invalid>"))
- return WatchHandler::tr("<invalid>");
- if (result == QLatin1String("<not accessible>"))
- return WatchHandler::tr("<not accessible>");
- if (result.endsWith(QLatin1String(" items>"))) {
- // '<10 items>' or '<>10 items>' (more than)
- bool ok;
- const bool moreThan = result.at(1) == QLatin1Char('>');
- const int numberPos = moreThan ? 2 : 1;
- const int len = result.indexOf(QLatin1Char(' ')) - numberPos;
- const int size = result.mid(numberPos, len).toInt(&ok);
- QTC_ASSERT(ok, qWarning("WatchHandler: Invalid item count '%s'",
- qPrintable(result)))
- return moreThan ?
- WatchHandler::tr("<more than %n items>", 0, size) :
- WatchHandler::tr("<%n items>", 0, size);
- }
- }
-
- return quoteUnprintable(result);
+ return translate(value);
}
// Get a pointer address from pointer values reported by the debugger.
@@ -554,7 +557,7 @@ static inline QVariant editValue(const WatchData &d)
stringValue.replace(QLatin1String("\n"), QLatin1String("\\n"));
}
}
- return QVariant(stringValue);
+ return QVariant(translate(stringValue));
}
bool WatchModel::canFetchMore(const QModelIndex &index) const