Move helper for setting traffic labels to connector
* Reduce code duplication for in and out * Allow using the helper from Plasmoid
This commit is contained in:
parent
6b01e42fe4
commit
2c1768c219
|
@ -1,6 +1,8 @@
|
|||
#include "./utils.h"
|
||||
#include "./syncthingconnection.h"
|
||||
|
||||
#include <c++utilities/chrono/datetime.h>
|
||||
#include <c++utilities/conversion/stringconversion.h>
|
||||
|
||||
#include <QCoreApplication>
|
||||
#include <QHostAddress>
|
||||
|
@ -12,6 +14,7 @@
|
|||
#include <QUrl>
|
||||
|
||||
using namespace ChronoUtilities;
|
||||
using namespace ConversionUtilities;
|
||||
|
||||
namespace Data {
|
||||
|
||||
|
@ -29,6 +32,24 @@ QString agoString(DateTime dateTime)
|
|||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Returns the "traffic string" for the specified \a total bytes and the specified \a rate.
|
||||
*
|
||||
* Eg. "10.2 GiB (45 kib/s)" or only "10.2 GiB" if rate is unknown or "unknown" if both values are unknown.
|
||||
*/
|
||||
QString trafficString(uint64 total, double rate)
|
||||
{
|
||||
static const QString unknownStr(QCoreApplication::translate("Data::Utils", "unknown"));
|
||||
if (rate != 0.0) {
|
||||
return total != SyncthingConnection::unknownTraffic
|
||||
? QStringLiteral("%1 (%2)").arg(QString::fromUtf8(bitrateToString(rate, true).data()), QString::fromUtf8(dataSizeToString(total).data()))
|
||||
: QString::fromUtf8(bitrateToString(rate, true).data());
|
||||
} else if (total != SyncthingConnection::unknownTraffic) {
|
||||
return QString::fromUtf8(dataSizeToString(total).data());
|
||||
}
|
||||
return unknownStr;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Returns whether the host specified by the given \a url is the local machine.
|
||||
*/
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
|
||||
#include "./global.h"
|
||||
|
||||
#include <c++utilities/conversion/types.h>
|
||||
|
||||
#include <QJsonValue>
|
||||
#include <QStringList>
|
||||
|
||||
|
@ -18,6 +20,7 @@ class DateTime;
|
|||
namespace Data {
|
||||
|
||||
QString LIB_SYNCTHING_CONNECTOR_EXPORT agoString(ChronoUtilities::DateTime dateTime);
|
||||
QString LIB_SYNCTHING_CONNECTOR_EXPORT trafficString(uint64 total, double rate);
|
||||
bool LIB_SYNCTHING_CONNECTOR_EXPORT isLocal(const QUrl &url);
|
||||
bool LIB_SYNCTHING_CONNECTOR_EXPORT setDirectoriesPaused(QJsonObject &syncthingConfig, const QStringList &dirIds, bool paused);
|
||||
bool LIB_SYNCTHING_CONNECTOR_EXPORT setDevicesPaused(QJsonObject &syncthingConfig, const QStringList &dirs, bool paused);
|
||||
|
|
|
@ -525,32 +525,8 @@ void TrayWidget::updateTraffic()
|
|||
if (m_ui->trafficFormWidget->isHidden()) {
|
||||
return;
|
||||
}
|
||||
static const QString unknownStr(tr("unknown"));
|
||||
if (m_connection.isConnected()) {
|
||||
if (m_connection.totalIncomingRate() != 0.0) {
|
||||
m_ui->inTrafficLabel->setText(m_connection.totalIncomingTraffic() != SyncthingConnection::unknownTraffic
|
||||
? QStringLiteral("%1 (%2)").arg(QString::fromUtf8(bitrateToString(m_connection.totalIncomingRate(), true).data()),
|
||||
QString::fromUtf8(dataSizeToString(m_connection.totalIncomingTraffic()).data()))
|
||||
: QString::fromUtf8(bitrateToString(m_connection.totalIncomingRate(), true).data()));
|
||||
} else {
|
||||
m_ui->inTrafficLabel->setText(m_connection.totalIncomingTraffic() != SyncthingConnection::unknownTraffic
|
||||
? QString::fromUtf8(dataSizeToString(m_connection.totalIncomingTraffic()).data())
|
||||
: unknownStr);
|
||||
}
|
||||
if (m_connection.totalOutgoingRate() != 0.0) {
|
||||
m_ui->outTrafficLabel->setText(m_connection.totalIncomingTraffic() != SyncthingConnection::unknownTraffic
|
||||
? QStringLiteral("%1 (%2)").arg(QString::fromUtf8(bitrateToString(m_connection.totalOutgoingRate(), true).data()),
|
||||
QString::fromUtf8(dataSizeToString(m_connection.totalOutgoingTraffic()).data()))
|
||||
: QString::fromUtf8(bitrateToString(m_connection.totalOutgoingRate(), true).data()));
|
||||
} else {
|
||||
m_ui->outTrafficLabel->setText(m_connection.totalOutgoingTraffic() != SyncthingConnection::unknownTraffic
|
||||
? QString::fromUtf8(dataSizeToString(m_connection.totalOutgoingTraffic()).data())
|
||||
: unknownStr);
|
||||
}
|
||||
} else {
|
||||
m_ui->inTrafficLabel->setText(unknownStr);
|
||||
m_ui->outTrafficLabel->setText(unknownStr);
|
||||
}
|
||||
m_ui->inTrafficLabel->setText(trafficString(m_connection.totalIncomingTraffic(), m_connection.totalIncomingRate()));
|
||||
m_ui->outTrafficLabel->setText(trafficString(m_connection.totalOutgoingTraffic(), m_connection.totalOutgoingRate()));
|
||||
}
|
||||
|
||||
#ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD
|
||||
|
|
Loading…
Reference in New Issue