Fix display of bytes without decimals (#10595)

*Fixes #10594
This commit is contained in:
meigelb 2024-04-25 00:20:58 +02:00 committed by GitHub
parent 35af1c6695
commit 880621c1fb
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 5 additions and 3 deletions

View File

@ -138,7 +138,9 @@ namespace Tools
i++;
}
return QString("%1 %2").arg(QLocale().toString(size, 'f', precision), units.at(i));
// do not display decimals for smallest unit bytes identified by index i==0
const quint32 displayPrecision = (i == 0 ? 0 : precision);
return QString("%1 %2").arg(QLocale().toString(size, 'f', displayPrecision), units.at(i));
}
QString humanReadableTimeDifference(qint64 seconds)

View File

@ -2113,7 +2113,7 @@ void TestCli::testShow()
"Tags: \n"
"\n"
"Attachments:\n"
" Sample attachment.txt (15.0 B)\n"));
" Sample attachment.txt (15 B)\n"));
setInput("a");
execCmd(showCmd, {"show", m_dbFile->fileName(), "--show-attachments", "/Homebanking/Subgroup/Subgroup Entry"});

View File

@ -38,7 +38,7 @@ void TestTools::testHumanReadableFileSize()
constexpr auto kibibyte = 1024u;
using namespace Tools;
QCOMPARE(createDecimal("1", "00", "B"), humanReadableFileSize(1));
QCOMPARE(QString("1 B"), humanReadableFileSize(1));
QCOMPARE(createDecimal("1", "00", "KiB"), humanReadableFileSize(kibibyte));
QCOMPARE(createDecimal("1", "00", "MiB"), humanReadableFileSize(kibibyte * kibibyte));
QCOMPARE(createDecimal("1", "00", "GiB"), humanReadableFileSize(kibibyte * kibibyte * kibibyte));