aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/watchhandler.cpp
diff options
context:
space:
mode:
authorhjk <[email protected]>2012-10-04 13:03:01 +0200
committerhjk <[email protected]>2012-10-04 15:16:58 +0200
commitb3c6f7be3fcb4c14d20ff88e3a5eee385556ec9c (patch)
tree9192a42a3c98ec020ee1d8136967327d09153f11 /src/plugins/debugger/watchhandler.cpp
parentf02c0f64e2acf42e84eb5335dc23adec5410aca2 (diff)
debugger: make QByteArray displayable in separate window
Change-Id: I6ec1e880e1c82415361545f57115353d843ee7f3 (cherry picked from commit ce381a81cf03bb122a9ce4102fbbb56825ce05e3) Reviewed-by: hjk <[email protected]>
Diffstat (limited to 'src/plugins/debugger/watchhandler.cpp')
-rw-r--r--src/plugins/debugger/watchhandler.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp
index 23452eba379..38ec4f69564 100644
--- a/src/plugins/debugger/watchhandler.cpp
+++ b/src/plugins/debugger/watchhandler.cpp
@@ -1649,7 +1649,9 @@ void WatchHandler::showEditValue(const WatchData &data)
l->setPixmap(QPixmap::fromImage(im));
l->resize(width, height);
l->show();
- } else if (data.editformat == 2) {
+ } else if (data.editformat == 2
+ || data.editformat == 5
+ || data.editformat == 6) {
// Display QString in a separate widget.
QTextEdit *t = qobject_cast<QTextEdit *>(w);
if (!t) {
@@ -1658,7 +1660,13 @@ void WatchHandler::showEditValue(const WatchData &data)
m_model->m_editHandlers[key] = t;
}
QByteArray ba = QByteArray::fromHex(data.editvalue);
- QString str = QString::fromUtf16((ushort *)ba.constData(), ba.size()/2);
+ QString str;
+ if (data.editformat == 2) // UTF-16
+ str = QString::fromUtf16((ushort *)ba.constData(), ba.size()/2);
+ else if (data.editformat == 5) // Latin1
+ str = QString::fromLatin1(ba.constData(), ba.size());
+ else if (data.editformat == 6) // UTF-8
+ str = QString::fromUtf8(ba.constData(), ba.size());
t->setText(str);
t->resize(400, 200);
t->show();