Add SyncthingStatus::Reconnecting, prevent some warnings
This commit is contained in:
parent
688bf43216
commit
3d44174992
|
@ -51,7 +51,7 @@ I will provide packages for Arch Linux and Windows when releasing. For more info
|
|||
## Build instructions
|
||||
The application depends on [c++utilities](https://github.com/Martchus/cpp-utilities) and [qtutilities](https://github.com/Martchus/qtutilities) and is built the same way as these libaries. For basic instructions checkout the README file of [c++utilities](https://github.com/Martchus/cpp-utilities).
|
||||
|
||||
The following Qt 5 modules are requried: core network gui widgets webenginewidgets/webkitwidgets
|
||||
The following Qt 5 modules are requried: core network gui widgets svg webenginewidgets/webkitwidgets
|
||||
|
||||
#### Select Qt modules for WebView
|
||||
* If Qt WebKitWidgets is installed on the system, the tray will link against it. Otherwise it will link against Qt WebEngineWidgets.
|
||||
|
|
|
@ -145,6 +145,8 @@ QString SyncthingConnection::statusText() const
|
|||
switch(m_status) {
|
||||
case SyncthingStatus::Disconnected:
|
||||
return tr("disconnected");
|
||||
case SyncthingStatus::Reconnecting:
|
||||
return tr("reconnecting");
|
||||
case SyncthingStatus::Idle:
|
||||
return tr("connected");
|
||||
case SyncthingStatus::NotificationsAvailable:
|
||||
|
@ -225,7 +227,7 @@ void SyncthingConnection::reconnect(Settings::ConnectionSettings &connectionSett
|
|||
void SyncthingConnection::continueReconnect()
|
||||
{
|
||||
emit newConfig(QJsonObject()); // configuration will be invalidated
|
||||
m_status = SyncthingStatus::Disconnected;
|
||||
setStatus(SyncthingStatus::Reconnecting);
|
||||
m_keepPolling = true;
|
||||
m_reconnecting = false;
|
||||
m_lastEventId = 0;
|
||||
|
@ -581,10 +583,12 @@ void SyncthingConnection::readConfig()
|
|||
} else {
|
||||
emit error(tr("Unable to parse Syncthing config: ") + jsonError.errorString());
|
||||
}
|
||||
break;
|
||||
} case QNetworkReply::OperationCanceledError:
|
||||
return; // intended, not an error
|
||||
default:
|
||||
emit error(tr("Unable to request Syncthing config: ") + reply->errorString());
|
||||
setStatus(SyncthingStatus::Disconnected);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -681,6 +685,7 @@ void SyncthingConnection::readStatus()
|
|||
} else {
|
||||
emit error(tr("Unable to parse Syncthing config: ") + jsonError.errorString());
|
||||
}
|
||||
break;
|
||||
} case QNetworkReply::OperationCanceledError:
|
||||
return; // intended, not an error
|
||||
default:
|
||||
|
@ -761,6 +766,7 @@ void SyncthingConnection::readConnections()
|
|||
} else {
|
||||
emit error(tr("Unable to parse connections: ") + jsonError.errorString());
|
||||
}
|
||||
break;
|
||||
} case QNetworkReply::OperationCanceledError:
|
||||
return; // intended, not an error
|
||||
default:
|
||||
|
@ -821,6 +827,7 @@ void SyncthingConnection::readDirStatistics()
|
|||
} else {
|
||||
emit error(tr("Unable to parse directory statistics: ") + jsonError.errorString());
|
||||
}
|
||||
break;
|
||||
} case QNetworkReply::OperationCanceledError:
|
||||
return; // intended, not an error
|
||||
default:
|
||||
|
@ -863,6 +870,7 @@ void SyncthingConnection::readDeviceStatistics()
|
|||
} else {
|
||||
emit error(tr("Unable to parse device statistics: ") + jsonError.errorString());
|
||||
}
|
||||
break;
|
||||
} case QNetworkReply::OperationCanceledError:
|
||||
return; // intended, not an error
|
||||
default:
|
||||
|
@ -921,6 +929,7 @@ void SyncthingConnection::readEvents()
|
|||
setStatus(SyncthingStatus::Disconnected);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
} case QNetworkReply::TimeoutError:
|
||||
// no new events available, keep polling
|
||||
break;
|
||||
|
@ -1190,6 +1199,7 @@ void SyncthingConnection::setStatus(SyncthingStatus status)
|
|||
{
|
||||
switch(status) {
|
||||
case SyncthingStatus::Disconnected:
|
||||
case SyncthingStatus::Reconnecting:
|
||||
break;
|
||||
default:
|
||||
if(m_unreadNotifications) {
|
||||
|
|
|
@ -28,6 +28,7 @@ QNetworkAccessManager &networkAccessManager();
|
|||
enum class SyncthingStatus
|
||||
{
|
||||
Disconnected,
|
||||
Reconnecting,
|
||||
Idle,
|
||||
Scanning,
|
||||
NotificationsAvailable,
|
||||
|
@ -378,7 +379,7 @@ inline SyncthingStatus SyncthingConnection::status() const
|
|||
*/
|
||||
inline bool SyncthingConnection::isConnected() const
|
||||
{
|
||||
return m_status != SyncthingStatus::Disconnected;
|
||||
return m_status != SyncthingStatus::Disconnected && m_status != SyncthingStatus::Reconnecting;
|
||||
}
|
||||
|
||||
/*!
|
||||
|
|
|
@ -27,7 +27,7 @@ SyncthingDeviceModel::SyncthingDeviceModel(SyncthingConnection &connection, QObj
|
|||
*/
|
||||
const SyncthingDev *SyncthingDeviceModel::devInfo(const QModelIndex &index) const
|
||||
{
|
||||
return (index.parent().isValid() ? devInfo(index.parent()) : (index.row() < m_devs.size() ? &m_devs[index.row()] : nullptr));
|
||||
return (index.parent().isValid() ? devInfo(index.parent()) : (static_cast<size_t>(index.row()) < m_devs.size() ? &m_devs[static_cast<size_t>(index.row())] : nullptr));
|
||||
}
|
||||
|
||||
QModelIndex SyncthingDeviceModel::index(int row, int column, const QModelIndex &parent) const
|
||||
|
@ -35,12 +35,12 @@ QModelIndex SyncthingDeviceModel::index(int row, int column, const QModelIndex &
|
|||
if(!parent.isValid()) {
|
||||
// top-level: all dev IDs
|
||||
if(row < rowCount(parent)) {
|
||||
return createIndex(row, column, -1);
|
||||
return createIndex(row, column, static_cast<quintptr>(-1));
|
||||
}
|
||||
} else if(!parent.parent().isValid()) {
|
||||
// dev-level: dev attributes
|
||||
if(row < rowCount(parent)) {
|
||||
return createIndex(row, column, parent.row());
|
||||
return createIndex(row, column, static_cast<quintptr>(parent.row()));
|
||||
}
|
||||
}
|
||||
return QModelIndex();
|
||||
|
@ -48,7 +48,7 @@ QModelIndex SyncthingDeviceModel::index(int row, int column, const QModelIndex &
|
|||
|
||||
QModelIndex SyncthingDeviceModel::parent(const QModelIndex &child) const
|
||||
{
|
||||
return child.internalId() != static_cast<quintptr>(-1) ? index(child.internalId(), 0, QModelIndex()) : QModelIndex();
|
||||
return child.internalId() != static_cast<quintptr>(-1) ? index(static_cast<int>(child.internalId()), 0, QModelIndex()) : QModelIndex();
|
||||
}
|
||||
|
||||
QVariant SyncthingDeviceModel::headerData(int section, Qt::Orientation orientation, int role) const
|
||||
|
@ -77,7 +77,7 @@ QVariant SyncthingDeviceModel::data(const QModelIndex &index, int role) const
|
|||
if(index.isValid()) {
|
||||
if(index.parent().isValid()) {
|
||||
// dir attributes
|
||||
if(index.parent().row() < m_devs.size()) {
|
||||
if(static_cast<size_t>(index.parent().row()) < m_devs.size()) {
|
||||
switch(role) {
|
||||
case Qt::DisplayRole:
|
||||
case Qt::EditRole:
|
||||
|
@ -93,7 +93,7 @@ QVariant SyncthingDeviceModel::data(const QModelIndex &index, int role) const
|
|||
}
|
||||
break;
|
||||
case 1: // attribute values
|
||||
const SyncthingDev &dev = m_devs[index.parent().row()];
|
||||
const SyncthingDev &dev = m_devs[static_cast<size_t>(index.parent().row())];
|
||||
switch(index.row()) {
|
||||
case 0: return dev.id;
|
||||
case 1: return dev.addresses.join(QStringLiteral(", "));
|
||||
|
@ -139,9 +139,9 @@ QVariant SyncthingDeviceModel::data(const QModelIndex &index, int role) const
|
|||
;
|
||||
}
|
||||
}
|
||||
} else if(index.row() < m_devs.size()) {
|
||||
} else if(static_cast<size_t>(index.row()) < m_devs.size()) {
|
||||
// dir IDs and status
|
||||
const SyncthingDev &dev = m_devs[index.row()];
|
||||
const SyncthingDev &dev = m_devs[static_cast<size_t>(index.row())];
|
||||
switch(role) {
|
||||
case Qt::DisplayRole:
|
||||
case Qt::EditRole:
|
||||
|
@ -223,13 +223,14 @@ QVariant SyncthingDeviceModel::data(const QModelIndex &index, int role) const
|
|||
|
||||
bool SyncthingDeviceModel::setData(const QModelIndex &index, const QVariant &value, int role)
|
||||
{
|
||||
Q_UNUSED(index) Q_UNUSED(value) Q_UNUSED(role)
|
||||
return false;
|
||||
}
|
||||
|
||||
int SyncthingDeviceModel::rowCount(const QModelIndex &parent) const
|
||||
{
|
||||
if(!parent.isValid()) {
|
||||
return m_devs.size();
|
||||
return static_cast<int>(m_devs.size());
|
||||
} else if(!parent.parent().isValid()) {
|
||||
return 6;
|
||||
} else {
|
||||
|
|
|
@ -27,7 +27,7 @@ SyncthingDirectoryModel::SyncthingDirectoryModel(SyncthingConnection &connection
|
|||
*/
|
||||
const SyncthingDir *SyncthingDirectoryModel::dirInfo(const QModelIndex &index) const
|
||||
{
|
||||
return (index.parent().isValid() ? dirInfo(index.parent()) : (index.row() < m_dirs.size() ? &m_dirs[index.row()] : nullptr));
|
||||
return (index.parent().isValid() ? dirInfo(index.parent()) : (static_cast<size_t>(index.row()) < m_dirs.size() ? &m_dirs[static_cast<size_t>(index.row())] : nullptr));
|
||||
}
|
||||
|
||||
QModelIndex SyncthingDirectoryModel::index(int row, int column, const QModelIndex &parent) const
|
||||
|
@ -77,7 +77,7 @@ QVariant SyncthingDirectoryModel::data(const QModelIndex &index, int role) const
|
|||
if(index.isValid()) {
|
||||
if(index.parent().isValid()) {
|
||||
// dir attributes
|
||||
if(index.parent().row() < m_dirs.size()) {
|
||||
if(static_cast<size_t>(index.parent().row()) < m_dirs.size()) {
|
||||
switch(role) {
|
||||
case Qt::DisplayRole:
|
||||
case Qt::EditRole:
|
||||
|
@ -152,9 +152,9 @@ QVariant SyncthingDirectoryModel::data(const QModelIndex &index, int role) const
|
|||
;
|
||||
}
|
||||
}
|
||||
} else if(index.row() < m_dirs.size()) {
|
||||
} else if(static_cast<size_t>(index.row()) < m_dirs.size()) {
|
||||
// dir IDs and status
|
||||
const SyncthingDir &dir = m_dirs[index.row()];
|
||||
const SyncthingDir &dir = m_dirs[static_cast<size_t>(index.row())];
|
||||
switch(role) {
|
||||
case Qt::DisplayRole:
|
||||
case Qt::EditRole:
|
||||
|
@ -217,13 +217,14 @@ QVariant SyncthingDirectoryModel::data(const QModelIndex &index, int role) const
|
|||
|
||||
bool SyncthingDirectoryModel::setData(const QModelIndex &index, const QVariant &value, int role)
|
||||
{
|
||||
Q_UNUSED(index) Q_UNUSED(value) Q_UNUSED(role)
|
||||
return false;
|
||||
}
|
||||
|
||||
int SyncthingDirectoryModel::rowCount(const QModelIndex &parent) const
|
||||
{
|
||||
if(!parent.isValid()) {
|
||||
return m_dirs.size();
|
||||
return static_cast<int>(m_dirs.size());
|
||||
} else if(!parent.parent().isValid()) {
|
||||
return 7;
|
||||
} else {
|
||||
|
|
|
@ -96,6 +96,10 @@ void TrayIcon::updateStatusIconAndText(SyncthingStatus status)
|
|||
showMessage(QCoreApplication::applicationName(), tr("Disconnected from Syncthing"), QSystemTrayIcon::Warning);
|
||||
}
|
||||
break;
|
||||
case SyncthingStatus::Reconnecting:
|
||||
setIcon(m_statusIconDisconnected);
|
||||
setToolTip(tr("Reconnecting ..."));
|
||||
break;
|
||||
case SyncthingStatus::Idle:
|
||||
setIcon(m_statusIconIdling);
|
||||
setToolTip(tr("Syncthing is idling"));
|
||||
|
@ -119,6 +123,7 @@ void TrayIcon::updateStatusIconAndText(SyncthingStatus status)
|
|||
}
|
||||
switch(status) {
|
||||
case SyncthingStatus::Disconnected:
|
||||
case SyncthingStatus::Reconnecting:
|
||||
case SyncthingStatus::Synchronizing:
|
||||
break;
|
||||
default:
|
||||
|
|
|
@ -104,7 +104,7 @@ TrayWidget::TrayWidget(TrayMenu *parent) :
|
|||
connect(m_ui->aboutPushButton, &QPushButton::clicked, this, &TrayWidget::showAboutDialog);
|
||||
connect(m_ui->webUiPushButton, &QPushButton::clicked, this, &TrayWidget::showWebUi);
|
||||
connect(m_ui->settingsPushButton, &QPushButton::clicked, this, &TrayWidget::showSettingsDialog);
|
||||
connect(&m_connection, &SyncthingConnection::statusChanged, this, &TrayWidget::updateStatusButton);
|
||||
connect(&m_connection, &SyncthingConnection::statusChanged, this, &TrayWidget::handleStatusChanged);
|
||||
connect(&m_connection, &SyncthingConnection::trafficChanged, this, &TrayWidget::updateTraffic);
|
||||
connect(&m_connection, &SyncthingConnection::newNotification, this, &TrayWidget::handleNewNotification);
|
||||
connect(m_ui->dirsTreeView, &DirView::openDir, this, &TrayWidget::openDir);
|
||||
|
@ -238,13 +238,18 @@ void TrayWidget::showLog()
|
|||
dlg->activateWindow();
|
||||
}
|
||||
|
||||
void TrayWidget::updateStatusButton(SyncthingStatus status)
|
||||
void TrayWidget::handleStatusChanged(SyncthingStatus status)
|
||||
{
|
||||
switch(status) {
|
||||
case SyncthingStatus::Disconnected:
|
||||
m_ui->statusPushButton->setText(tr("Connect"));
|
||||
m_ui->statusPushButton->setToolTip(tr("Not connected to Syncthing, click to connect"));
|
||||
m_ui->statusPushButton->setIcon(QIcon::fromTheme(QStringLiteral("view-refresh"), QIcon(QStringLiteral(":/icons/hicolor/scalable/actions/view-refresh.svg"))));
|
||||
m_ui->statusPushButton->setHidden(false);
|
||||
updateTraffic(); // ensure previous traffic statistics are no longer shown
|
||||
break;
|
||||
case SyncthingStatus::Reconnecting:
|
||||
m_ui->statusPushButton->setHidden(true);
|
||||
break;
|
||||
case SyncthingStatus::Idle:
|
||||
case SyncthingStatus::Scanning:
|
||||
|
@ -253,11 +258,13 @@ void TrayWidget::updateStatusButton(SyncthingStatus status)
|
|||
m_ui->statusPushButton->setText(tr("Pause"));
|
||||
m_ui->statusPushButton->setToolTip(tr("Syncthing is running, click to pause all devices"));
|
||||
m_ui->statusPushButton->setIcon(QIcon::fromTheme(QStringLiteral("media-playback-pause"), QIcon(QStringLiteral(":/icons/hicolor/scalable/actions/media-playback-pause.svg"))));
|
||||
m_ui->statusPushButton->setHidden(false);
|
||||
break;
|
||||
case SyncthingStatus::Paused:
|
||||
m_ui->statusPushButton->setText(tr("Continue"));
|
||||
m_ui->statusPushButton->setToolTip(tr("At least one device is paused, click to resume"));
|
||||
m_ui->statusPushButton->setIcon(QIcon::fromTheme(QStringLiteral("media-playback-start"), QIcon(QStringLiteral(":/icons/hicolor/scalable/actions/media-playback-resume.svg"))));
|
||||
m_ui->statusPushButton->setHidden(false);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -349,6 +356,8 @@ void TrayWidget::changeStatus()
|
|||
case SyncthingStatus::Disconnected:
|
||||
m_connection.connect();
|
||||
break;
|
||||
case SyncthingStatus::Reconnecting:
|
||||
break;
|
||||
case SyncthingStatus::Idle:
|
||||
case SyncthingStatus::Scanning:
|
||||
case SyncthingStatus::NotificationsAvailable:
|
||||
|
@ -366,19 +375,25 @@ void TrayWidget::updateTraffic()
|
|||
if(m_ui->trafficFrame->isHidden()) {
|
||||
return;
|
||||
}
|
||||
if(m_connection.totalIncomingRate() != 0.0) {
|
||||
m_ui->inTrafficLabel->setText(m_connection.totalIncomingTraffic() >= 0
|
||||
? 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()));
|
||||
static const QString unknownStr(tr("unknown"));
|
||||
if(m_connection.isConnected()) {
|
||||
if(m_connection.totalIncomingRate() != 0.0) {
|
||||
m_ui->inTrafficLabel->setText(m_connection.totalIncomingTraffic() >= 0
|
||||
? 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() >= 0 ? QString::fromUtf8(dataSizeToString(m_connection.totalIncomingTraffic()).data()) : unknownStr);
|
||||
}
|
||||
if(m_connection.totalOutgoingRate() != 0.0) {
|
||||
m_ui->outTrafficLabel->setText(m_connection.totalIncomingTraffic() >= 0
|
||||
? 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() >= 0 ? QString::fromUtf8(dataSizeToString(m_connection.totalOutgoingTraffic()).data()) : unknownStr);
|
||||
}
|
||||
} else {
|
||||
m_ui->inTrafficLabel->setText(m_connection.totalIncomingTraffic() >= 0 ? QString::fromUtf8(dataSizeToString(m_connection.totalIncomingTraffic()).data()) : tr("unknown"));
|
||||
}
|
||||
if(m_connection.totalOutgoingRate() != 0.0) {
|
||||
m_ui->outTrafficLabel->setText(m_connection.totalIncomingTraffic() >= 0
|
||||
? 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() >= 0 ? QString::fromUtf8(dataSizeToString(m_connection.totalOutgoingTraffic()).data()) : tr("unknown"));
|
||||
m_ui->inTrafficLabel->setText(unknownStr);
|
||||
m_ui->outTrafficLabel->setText(unknownStr);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -54,7 +54,7 @@ public slots:
|
|||
void showLog();
|
||||
|
||||
private slots:
|
||||
void updateStatusButton(Data::SyncthingStatus status);
|
||||
void handleStatusChanged(Data::SyncthingStatus status);
|
||||
void applySettings();
|
||||
void openDir(const QModelIndex &dirIndex);
|
||||
void scanDir(const QModelIndex &dirIndex);
|
||||
|
|
|
@ -10,124 +10,129 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="149"/>
|
||||
<source>connected</source>
|
||||
<source>reconnecting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="151"/>
|
||||
<source>connected, notifications available</source>
|
||||
<source>connected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="153"/>
|
||||
<source>connected, paused</source>
|
||||
<source>connected, notifications available</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="155"/>
|
||||
<source>connected, synchronizing</source>
|
||||
<source>connected, paused</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="157"/>
|
||||
<source>connected, synchronizing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="159"/>
|
||||
<source>unknown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="169"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="248"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="171"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="250"/>
|
||||
<source>Connection configuration is insufficient.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="517"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="519"/>
|
||||
<source>Unable to parse Syncthing log: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="521"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="523"/>
|
||||
<source>Unable to request system log: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="543"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="545"/>
|
||||
<source>Unable to locate certificate used by Syncthing GUI.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="549"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="551"/>
|
||||
<source>Unable to load certificate used by Syncthing GUI.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="582"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="682"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="584"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="686"/>
|
||||
<source>Unable to parse Syncthing config: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="587"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="687"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="590"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="692"/>
|
||||
<source>Unable to request Syncthing config: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="762"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="767"/>
|
||||
<source>Unable to parse connections: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="767"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="773"/>
|
||||
<source>Unable to request connections: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="822"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="828"/>
|
||||
<source>Unable to parse directory statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="827"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="834"/>
|
||||
<source>Unable to request directory statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="864"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="871"/>
|
||||
<source>Unable to parse device statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="869"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="877"/>
|
||||
<source>Unable to request device statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="920"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="928"/>
|
||||
<source>Unable to parse Syncthing events: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="938"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="947"/>
|
||||
<source>Unable to request Syncthing events: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1150"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1159"/>
|
||||
<source>Unable to request rescan: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1165"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1174"/>
|
||||
<source>Unable to request pause/resume: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1180"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1189"/>
|
||||
<source>Unable to request restart: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="485"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="487"/>
|
||||
<source>Unable to request QR-Code: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -769,31 +774,36 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="101"/>
|
||||
<source>Syncthing is idling</source>
|
||||
<source>Reconnecting ...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="105"/>
|
||||
<source>Syncthing is scanning</source>
|
||||
<source>Syncthing is idling</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="109"/>
|
||||
<source>Notifications available</source>
|
||||
<source>Syncthing is scanning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="113"/>
|
||||
<source>At least one device is paused</source>
|
||||
<source>Notifications available</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="117"/>
|
||||
<source>At least one device is paused</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="121"/>
|
||||
<source>Synchronization is ongoing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="126"/>
|
||||
<location filename="../gui/trayicon.cpp" line="131"/>
|
||||
<source>Synchronization complete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -834,8 +844,7 @@
|
|||
<message>
|
||||
<location filename="../gui/traywidget.ui" line="230"/>
|
||||
<location filename="../gui/traywidget.ui" line="250"/>
|
||||
<location filename="../gui/traywidget.cpp" line="374"/>
|
||||
<location filename="../gui/traywidget.cpp" line="381"/>
|
||||
<location filename="../gui/traywidget.cpp" line="378"/>
|
||||
<source>unknown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -916,27 +925,27 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="253"/>
|
||||
<location filename="../gui/traywidget.cpp" line="258"/>
|
||||
<source>Pause</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="254"/>
|
||||
<location filename="../gui/traywidget.cpp" line="259"/>
|
||||
<source>Syncthing is running, click to pause all devices</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="259"/>
|
||||
<location filename="../gui/traywidget.cpp" line="265"/>
|
||||
<source>At least one device is paused, click to resume</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="323"/>
|
||||
<location filename="../gui/traywidget.cpp" line="330"/>
|
||||
<source>The directory <i>%1</i> does not exist on the local machine.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="258"/>
|
||||
<location filename="../gui/traywidget.cpp" line="264"/>
|
||||
<source>Continue</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -10,124 +10,129 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="149"/>
|
||||
<source>connected</source>
|
||||
<source>reconnecting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="151"/>
|
||||
<source>connected, notifications available</source>
|
||||
<source>connected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="153"/>
|
||||
<source>connected, paused</source>
|
||||
<source>connected, notifications available</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="155"/>
|
||||
<source>connected, synchronizing</source>
|
||||
<source>connected, paused</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="157"/>
|
||||
<source>connected, synchronizing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="159"/>
|
||||
<source>unknown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="169"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="248"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="171"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="250"/>
|
||||
<source>Connection configuration is insufficient.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="517"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="519"/>
|
||||
<source>Unable to parse Syncthing log: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="521"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="523"/>
|
||||
<source>Unable to request system log: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="543"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="545"/>
|
||||
<source>Unable to locate certificate used by Syncthing GUI.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="549"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="551"/>
|
||||
<source>Unable to load certificate used by Syncthing GUI.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="582"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="682"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="584"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="686"/>
|
||||
<source>Unable to parse Syncthing config: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="587"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="687"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="590"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="692"/>
|
||||
<source>Unable to request Syncthing config: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="762"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="767"/>
|
||||
<source>Unable to parse connections: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="767"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="773"/>
|
||||
<source>Unable to request connections: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="822"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="828"/>
|
||||
<source>Unable to parse directory statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="827"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="834"/>
|
||||
<source>Unable to request directory statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="864"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="871"/>
|
||||
<source>Unable to parse device statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="869"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="877"/>
|
||||
<source>Unable to request device statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="920"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="928"/>
|
||||
<source>Unable to parse Syncthing events: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="938"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="947"/>
|
||||
<source>Unable to request Syncthing events: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1150"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1159"/>
|
||||
<source>Unable to request rescan: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1165"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1174"/>
|
||||
<source>Unable to request pause/resume: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1180"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1189"/>
|
||||
<source>Unable to request restart: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="485"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="487"/>
|
||||
<source>Unable to request QR-Code: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -769,31 +774,36 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="101"/>
|
||||
<source>Syncthing is idling</source>
|
||||
<source>Reconnecting ...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="105"/>
|
||||
<source>Syncthing is scanning</source>
|
||||
<source>Syncthing is idling</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="109"/>
|
||||
<source>Notifications available</source>
|
||||
<source>Syncthing is scanning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="113"/>
|
||||
<source>At least one device is paused</source>
|
||||
<source>Notifications available</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="117"/>
|
||||
<source>At least one device is paused</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="121"/>
|
||||
<source>Synchronization is ongoing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="126"/>
|
||||
<location filename="../gui/trayicon.cpp" line="131"/>
|
||||
<source>Synchronization complete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -834,8 +844,7 @@
|
|||
<message>
|
||||
<location filename="../gui/traywidget.ui" line="230"/>
|
||||
<location filename="../gui/traywidget.ui" line="250"/>
|
||||
<location filename="../gui/traywidget.cpp" line="374"/>
|
||||
<location filename="../gui/traywidget.cpp" line="381"/>
|
||||
<location filename="../gui/traywidget.cpp" line="378"/>
|
||||
<source>unknown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -916,27 +925,27 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="253"/>
|
||||
<location filename="../gui/traywidget.cpp" line="258"/>
|
||||
<source>Pause</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="254"/>
|
||||
<location filename="../gui/traywidget.cpp" line="259"/>
|
||||
<source>Syncthing is running, click to pause all devices</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="259"/>
|
||||
<location filename="../gui/traywidget.cpp" line="265"/>
|
||||
<source>At least one device is paused, click to resume</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="323"/>
|
||||
<location filename="../gui/traywidget.cpp" line="330"/>
|
||||
<source>The directory <i>%1</i> does not exist on the local machine.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="258"/>
|
||||
<location filename="../gui/traywidget.cpp" line="264"/>
|
||||
<source>Continue</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
Loading…
Reference in New Issue