Fix memory usage model details

Use the same format for all memory size strings, don't pack numbers into
QString, and adapt the test.

Change-Id: I13de737992fb64fadc61c3e3243ff83c14446e99
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Ulf Hermann
2018-04-20 18:02:14 +02:00
parent 59e641f8e6
commit 3673ebe387
2 changed files with 29 additions and 11 deletions

View File

@@ -97,6 +97,15 @@ QVariantList MemoryUsageModel::labels() const
return result;
}
static int toSameSignedInt(qint64 number)
{
if (number > std::numeric_limits<int>::max())
return std::numeric_limits<int>::max();
if (number < std::numeric_limits<int>::min())
return std::numeric_limits<int>::min();
return static_cast<int>(number);
}
QVariantMap MemoryUsageModel::details(int index) const
{
QVariantMap result;
@@ -107,14 +116,17 @@ QVariantMap MemoryUsageModel::details(int index) const
else
result.insert(QLatin1String("displayName"), tr("Memory Freed"));
result.insert(tr("Total"), tr("%n byte(s)", nullptr, ev->size));
result.insert(tr("Total"), tr("%1 byte(s)", nullptr, toSameSignedInt(ev->size)).arg(ev->size));
if (ev->allocations > 0) {
result.insert(tr("Allocated"), tr("%1 bytes").arg(ev->allocated));
result.insert(tr("Allocations"), QString::number(ev->allocations));
result.insert(tr("Allocated"), tr("%1 byte(s)", nullptr, toSameSignedInt(ev->allocated))
.arg(ev->allocated));
result.insert(tr("Allocations"), ev->allocations);
}
if (ev->deallocations > 0) {
result.insert(tr("Deallocated"), tr("%1 bytes").arg(-ev->deallocated));
result.insert(tr("Deallocations"), QString::number(ev->deallocations));
result.insert(tr("Deallocated"),
tr("%1 byte(s)", nullptr, toSameSignedInt(-ev->deallocated))
.arg(-ev->deallocated));
result.insert(tr("Deallocations"), ev->deallocations);
}
QString memoryTypeName;
switch (selectionId(index)) {