From b9dfbd8ec309dc0417c23ad8e118fd835d74c7ec Mon Sep 17 00:00:00 2001 From: Aurindam Jana <aurindam.jana@nokia.com> Date: Thu, 22 Mar 2012 12:00:47 +0100 Subject: [PATCH] QtMessageLogHandler: Sorting child items Insert child items in sorted order if the "Sort Members and Classes Alphabetically" is set in Locals And Expressions. Change-Id: Ib21803326ec3f35c9541c08d876c4a38c0202a9f Reviewed-by: hjk <qthjk@ovi.com> --- src/plugins/debugger/qml/qmlengine.cpp | 4 ++-- src/plugins/debugger/qml/qmlv8debuggerclient.cpp | 2 +- src/plugins/debugger/qtmessageloghandler.cpp | 9 ++++++++- src/plugins/debugger/qtmessageloghandler.h | 2 +- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp index e9d5c42a902..abc050cf4c9 100644 --- a/src/plugins/debugger/qml/qmlengine.cpp +++ b/src/plugins/debugger/qml/qmlengine.cpp @@ -1309,7 +1309,7 @@ QtMessageLogItem *QmlEngine::constructLogItemTree( QtMessageLogItem *child = constructLogItemTree(item, i.value(), i.key()); if (child) - item->insertChildSorted(child); + item->insertChild(child); } } else if (result.type() == QVariant::List) { if (key.isEmpty()) @@ -1321,7 +1321,7 @@ QtMessageLogItem *QmlEngine::constructLogItemTree( QtMessageLogItem *child = constructLogItemTree(item, resultList.at(i), QString::number(i)); if (child) - item->insertChildSorted(child); + item->insertChild(child); } } else if (result.canConvert(QVariant::String)) { item->text = result.toString(); diff --git a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp index 58121ddc072..01910e1bd5c 100644 --- a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp +++ b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp @@ -995,7 +995,7 @@ QtMessageLogItem *QmlV8DebuggerClientPrivate::constructLogItemTree( QtMessageLogItem *child = constructLogItemTree( item, extractData(property, refsVal), refsVal); if (child) - item->insertChildSorted(child); + item->insertChild(child); } return item; diff --git a/src/plugins/debugger/qtmessageloghandler.cpp b/src/plugins/debugger/qtmessageloghandler.cpp index 5080d8efc95..3ca2d33bfa0 100644 --- a/src/plugins/debugger/qtmessageloghandler.cpp +++ b/src/plugins/debugger/qtmessageloghandler.cpp @@ -31,6 +31,8 @@ **************************************************************************/ #include "qtmessageloghandler.h" +#include "debuggercore.h" +#include "debuggeractions.h" #include <utils/qtcassert.h> @@ -94,8 +96,13 @@ bool QtMessageLogItem::insertChildren(int position, int count) return true; } -void QtMessageLogItem::insertChildSorted(QtMessageLogItem *item) +void QtMessageLogItem::insertChild(QtMessageLogItem *item) { + if (!debuggerCore()->boolSetting(SortStructMembers)) { + m_childItems.insert(m_childItems.count(), item); + return; + } + int i = 0; for (; i < m_childItems.count(); i++) { if (item->text < m_childItems[i]->text) { diff --git a/src/plugins/debugger/qtmessageloghandler.h b/src/plugins/debugger/qtmessageloghandler.h index b76d85d043b..6e84f67a189 100644 --- a/src/plugins/debugger/qtmessageloghandler.h +++ b/src/plugins/debugger/qtmessageloghandler.h @@ -126,7 +126,7 @@ public: QtMessageLogItem *child(int number); int childCount() const; bool insertChildren(int position, int count); - void insertChildSorted(QtMessageLogItem *item); + void insertChild(QtMessageLogItem *item); bool insertChild(int position, QtMessageLogItem *item); QtMessageLogItem *parent(); bool removeChildren(int position, int count); -- GitLab