Browse Source

Merge pull request #14351 from Chocobo1/avail

Show proper string when torrent availability is not available
adaptive-webui-19844
Mike Tzou 4 years ago committed by GitHub
parent
commit
e6033c952e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 8
      src/base/bittorrent/torrent.cpp
  2. 36
      src/gui/transferlistmodel.cpp

8
src/base/bittorrent/torrent.cpp

@ -29,8 +29,6 @@ @@ -29,8 +29,6 @@
#include "torrent.h"
#include <type_traits>
#include <QHash>
namespace BitTorrent
@ -42,13 +40,13 @@ namespace BitTorrent @@ -42,13 +40,13 @@ namespace BitTorrent
// Torrent
const qreal Torrent::USE_GLOBAL_RATIO = -2.;
const qreal Torrent::NO_RATIO_LIMIT = -1.;
const qreal Torrent::USE_GLOBAL_RATIO = -2;
const qreal Torrent::NO_RATIO_LIMIT = -1;
const int Torrent::USE_GLOBAL_SEEDING_TIME = -2;
const int Torrent::NO_SEEDING_TIME_LIMIT = -1;
const qreal Torrent::MAX_RATIO = 9999.;
const qreal Torrent::MAX_RATIO = 9999;
const int Torrent::MAX_SEEDING_TIME = 525600;
bool Torrent::isResumed() const

36
src/gui/transferlistmodel.cpp

@ -239,13 +239,16 @@ QString TransferListModel::displayValue(const BitTorrent::Torrent *torrent, cons @@ -239,13 +239,16 @@ QString TransferListModel::displayValue(const BitTorrent::Torrent *torrent, cons
bool hideValues = false;
if (m_hideZeroValuesMode == HideZeroValuesMode::Always)
hideValues = true;
else if (m_hideZeroValuesMode != HideZeroValuesMode::Never)
else if (m_hideZeroValuesMode == HideZeroValuesMode::Paused)
hideValues = (torrent->state() == BitTorrent::TorrentState::PausedDownloading);
const auto availabilityString = [hideValues](const qreal value) -> QString
{
return (hideValues && (value <= 0))
? QString {} : Utils::String::fromDouble(value, 3);
if (hideValues && (value == 0))
return {};
return (value >= 0)
? Utils::String::fromDouble(value, 3)
: tr("N/A");
};
const auto unitString = [hideValues](const qint64 value, const bool isSpeedUnit = false) -> QString
@ -256,7 +259,7 @@ QString TransferListModel::displayValue(const BitTorrent::Torrent *torrent, cons @@ -256,7 +259,7 @@ QString TransferListModel::displayValue(const BitTorrent::Torrent *torrent, cons
const auto limitString = [hideValues](const qint64 value) -> QString
{
if (hideValues && (value == 0))
if (hideValues && (value <= 0))
return {};
return (value > 0)
@ -266,9 +269,16 @@ QString TransferListModel::displayValue(const BitTorrent::Torrent *torrent, cons @@ -266,9 +269,16 @@ QString TransferListModel::displayValue(const BitTorrent::Torrent *torrent, cons
const auto amountString = [hideValues](const qint64 value, const qint64 total) -> QString
{
return (hideValues && (value == 0) && (total == 0))
? QString {}
: QString::number(value) + " (" + QString::number(total) + ')';
if (hideValues && (value == 0) && (total == 0))
return {};
return QString::fromLatin1("%1 (%2)").arg(QString::number(value), QString::number(total));
};
const auto etaString = [hideValues](const qlonglong value) -> QString
{
if (hideValues && (value >= MAX_ETA))
return {};
return Utils::Misc::userFriendlyDuration(value, MAX_ETA);
};
const auto ratioString = [hideValues](const qreal value) -> QString
@ -282,13 +292,13 @@ QString TransferListModel::displayValue(const BitTorrent::Torrent *torrent, cons @@ -282,13 +292,13 @@ QString TransferListModel::displayValue(const BitTorrent::Torrent *torrent, cons
const auto queuePositionString = [](const qint64 value) -> QString
{
return (value > 0) ? QString::number(value) : "*";
return (value > 0) ? QString::number(value) : QLatin1String("*");
};
const auto lastActivityString = [hideValues](qint64 value) -> QString
{
if (hideValues && ((value < 0) || (value >= MAX_ETA)))
return QString {};
return {};
// Show '< 1m ago' when elapsed time is 0
if (value == 0)
@ -299,10 +309,14 @@ QString TransferListModel::displayValue(const BitTorrent::Torrent *torrent, cons @@ -299,10 +309,14 @@ QString TransferListModel::displayValue(const BitTorrent::Torrent *torrent, cons
: Utils::Misc::userFriendlyDuration(value);
};
const auto timeElapsedString = [](const qint64 elapsedTime, const qint64 seedingTime) -> QString
const auto timeElapsedString = [hideValues](const qint64 elapsedTime, const qint64 seedingTime) -> QString
{
if (seedingTime <= 0)
{
if (hideValues && (elapsedTime == 0))
return {};
return Utils::Misc::userFriendlyDuration(elapsedTime);
}
return tr("%1 (seeded for %2)", "e.g. 4m39s (seeded for 3m10s)")
.arg(Utils::Misc::userFriendlyDuration(elapsedTime)
@ -351,7 +365,7 @@ QString TransferListModel::displayValue(const BitTorrent::Torrent *torrent, cons @@ -351,7 +365,7 @@ QString TransferListModel::displayValue(const BitTorrent::Torrent *torrent, cons
case TR_UPSPEED:
return unitString(torrent->uploadPayloadRate(), true);
case TR_ETA:
return Utils::Misc::userFriendlyDuration(torrent->eta(), MAX_ETA);
return etaString(torrent->eta());
case TR_RATIO:
return ratioString(torrent->realRatio());
case TR_RATIO_LIMIT:

Loading…
Cancel
Save