QtMessageLogHandler: Insert child items in alphabetical order

Change-Id: I644207f5e8b149364e73abf7512240e918260072
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
This commit is contained in:
Aurindam Jana
2012-03-21 16:19:02 +01:00
parent 3d1f5bd85c
commit 10478246a9
4 changed files with 15 additions and 3 deletions

View File

@@ -1309,7 +1309,7 @@ QtMessageLogItem *QmlEngine::constructLogItemTree(
QtMessageLogItem *child = constructLogItemTree(item,
i.value(), i.key());
if (child)
item->insertChild(item->childCount(), child);
item->insertChildSorted(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->insertChild(item->childCount(), child);
item->insertChildSorted(child);
}
} else if (result.canConvert(QVariant::String)) {
item->text = result.toString();

View File

@@ -995,7 +995,7 @@ QtMessageLogItem *QmlV8DebuggerClientPrivate::constructLogItemTree(
QtMessageLogItem *child = constructLogItemTree(
item, extractData(property, refsVal), refsVal);
if (child)
item->insertChild(item->childCount(), child);
item->insertChildSorted(child);
}
return item;

View File

@@ -94,6 +94,17 @@ bool QtMessageLogItem::insertChildren(int position, int count)
return true;
}
void QtMessageLogItem::insertChildSorted(QtMessageLogItem *item)
{
int i = 0;
for (; i < m_childItems.count(); i++) {
if (item->text < m_childItems[i]->text) {
break;
}
}
m_childItems.insert(i, item);
}
bool QtMessageLogItem::insertChild(int position, QtMessageLogItem *item)
{
if (position < 0 || position > m_childItems.size())

View File

@@ -126,6 +126,7 @@ public:
QtMessageLogItem *child(int number);
int childCount() const;
bool insertChildren(int position, int count);
void insertChildSorted(QtMessageLogItem *item);
bool insertChild(int position, QtMessageLogItem *item);
QtMessageLogItem *parent();
bool removeChildren(int position, int count);