diff --git a/ktorrent/statusbar.cpp b/ktorrent/statusbar.cpp --- a/ktorrent/statusbar.cpp +++ b/ktorrent/statusbar.cpp @@ -29,6 +29,8 @@ #include #include "statusbarofflineindicator.h" +#include "settings.h" + using namespace bt; namespace kt @@ -69,10 +71,20 @@ if (up == up_speed && down == down_speed) return; - up_speed = up; down_speed = down; - QString s = i18n("Speed down: %1 / up: %2", BytesPerSecToString((double)down_speed), BytesPerSecToString((double)up_speed)); - speed->setText(s); + up_speed = up; + QString down_rate; + QString up_rate; + + if (Settings::maxDownloadRate() > 0) + down_rate = QStringLiteral("(%1 %2)").arg(Settings::maxDownloadRate()).arg(i18n("KiB/s")); + if (Settings::maxUploadRate() > 0) + up_rate = QStringLiteral("(%1 %2)").arg(Settings::maxUploadRate()).arg(i18n("KiB/s")); + + down_rate = QStringLiteral("%1 %2").arg(BytesPerSecToString((double)down_speed)).arg(down_rate); + up_rate = QStringLiteral("%1 %2").arg(BytesPerSecToString((double)up_speed)).arg(up_rate); + + speed->setText(i18n("Speed down: %1 / up: %2", down_rate, up_rate)); } void StatusBar::updateTransfer(bt::Uint64 up, bt::Uint64 down) @@ -82,8 +94,7 @@ up_transfer = up; down_transfer = down; - QString t = i18n("Transferred down: %1 / up: %2", BytesToString(down_transfer), BytesToString(up_transfer)); - transfer->setText(t); + transfer->setText(i18n("Transferred down: %1 / up: %2", BytesToString(down_transfer), BytesToString(up_transfer))); } void StatusBar::updateDHTStatus(bool on, const dht::Stats& s)