From f845acb207895775ed1846d6c277e6c72460090e Mon Sep 17 00:00:00 2001 From: Christophe Dumez Date: Sun, 24 Jan 2010 18:11:56 +0000 Subject: [PATCH] Optimized transfer list repainting Improved user friendliness of data units --- Changelog | 2 ++ src/misc.h | 2 +- src/transferlistwidget.cpp | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Changelog b/Changelog index 95e2bdcf2..566b6e8c1 100644 --- a/Changelog +++ b/Changelog @@ -6,6 +6,8 @@ - BUGFIX: Force a recheck after renaming files to avoid overwriting - BUGFIX: Improve "Open destination folder" behavior - BUGFIX: Fix race condition in RSS that could cause a crash on startup + - BUGFIX: Improved user friendlyness of size units + - BUGFIX: Optimized transfer list repainting - COSMETIC: Improved transfer speed display in peers list * Wed Jan 20 2010 - Christophe Dumez - v2.1.1 diff --git a/src/misc.h b/src/misc.h index 5e998918d..56264dbf5 100644 --- a/src/misc.h +++ b/src/misc.h @@ -364,7 +364,7 @@ public: return tr("Unknown", "Unknown (size)"); const QString units[5] = {tr("B", "bytes"), tr("KiB", "kibibytes (1024 bytes)"), tr("MiB", "mebibytes (1024 kibibytes)"), tr("GiB", "gibibytes (1024 mibibytes)"), tr("TiB", "tebibytes (1024 gibibytes)")}; char i = 0; - while(val > 1024. && i++<6) + while(val >= 1024. && i++<6) val /= 1024.; return QString(QByteArray::number(val, 'f', 1)) + " " + units[(int)i]; } diff --git a/src/transferlistwidget.cpp b/src/transferlistwidget.cpp index e82926b6b..1afffa979 100644 --- a/src/transferlistwidget.cpp +++ b/src/transferlistwidget.cpp @@ -443,6 +443,8 @@ void TransferListWidget::setRefreshInterval(int t) { } void TransferListWidget::refreshList() { + // Stop updating the display + setUpdatesEnabled(false); // Refresh only if displayed if(main_window->getCurrentTabIndex() != TAB_TRANSFER) return; unsigned int nb_downloading = 0, nb_seeding=0, nb_active=0, nb_inactive = 0; @@ -498,6 +500,8 @@ void TransferListWidget::refreshList() { } // Update status filters counters emit torrentStatusUpdate(nb_downloading, nb_seeding, nb_active, nb_inactive); + // Start updating the display + setUpdatesEnabled(true); } int TransferListWidget::getRowFromHash(QString hash) const{