Show names for the devs a dir is shared with
(previously only the IDs were shown)
This commit is contained in:
parent
3ff4f69180
commit
9b45c49b97
|
@ -442,7 +442,7 @@ void Application::printDir(const SyncthingDir *dir)
|
|||
printProperty("Last file time", dir->lastFileTime);
|
||||
printProperty("Last file name", dir->lastFileName);
|
||||
printProperty("Download progress", dir->downloadLabel);
|
||||
printProperty("Devices", dir->devices);
|
||||
printProperty("Shared with", dir->deviceNames.isEmpty() ? dir->deviceIds : dir->deviceNames);
|
||||
printProperty("Read-only", dir->readOnly);
|
||||
printProperty("Ignore permissions", dir->ignorePermissions);
|
||||
printProperty("Auto-normalize", dir->autoNormalize);
|
||||
|
|
|
@ -500,7 +500,7 @@ SyncthingDir *SyncthingConnection::findDirInfo(const QString &dirId, int &row)
|
|||
/*!
|
||||
* \brief Appends a directory info object with the specified \a dirId to \a dirs.
|
||||
*
|
||||
* If such an object already exists, it is recycled by moving it do \a dirs.
|
||||
* If such an object already exists, it is recycled by moving it to \a dirs.
|
||||
* Otherwise a new, empty object is created.
|
||||
*
|
||||
* \returns Returns the directory info object or nullptr if \a dirId is invalid.
|
||||
|
@ -566,7 +566,7 @@ QStringList SyncthingConnection::deviceIds() const
|
|||
/*!
|
||||
* \brief Appends a device info object with the specified \a devId to \a devs.
|
||||
*
|
||||
* If such an object already exists, it is recycled by moving it do \a dirs.
|
||||
* If such an object already exists, it is recycled by moving it to \a devs.
|
||||
* Otherwise a new, empty object is created.
|
||||
*
|
||||
* \returns Returns the device info object or nullptr if \a devId is invalid.
|
||||
|
@ -878,8 +878,8 @@ void SyncthingConnection::readConfig()
|
|||
if (jsonError.error == QJsonParseError::NoError) {
|
||||
m_rawConfig = replyDoc.object();
|
||||
emit newConfig(m_rawConfig);
|
||||
readDirs(m_rawConfig.value(QStringLiteral("folders")).toArray());
|
||||
readDevs(m_rawConfig.value(QStringLiteral("devices")).toArray());
|
||||
readDirs(m_rawConfig.value(QStringLiteral("folders")).toArray());
|
||||
m_hasConfig = true;
|
||||
if (!isConnected()) {
|
||||
continueConnecting();
|
||||
|
@ -902,21 +902,28 @@ void SyncthingConnection::readConfig()
|
|||
|
||||
/*!
|
||||
* \brief Reads directory results of requestConfig(); called by readConfig().
|
||||
* \remarks The devs are required to resolve the names of the devices a directory is shared with.
|
||||
* So when parsing the config, readDevs() should be called first.
|
||||
*/
|
||||
void SyncthingConnection::readDirs(const QJsonArray &dirs)
|
||||
{
|
||||
std::vector<SyncthingDir> newDirs;
|
||||
newDirs.reserve(static_cast<size_t>(dirs.size()));
|
||||
int dummy;
|
||||
for (const QJsonValue &dirVal : dirs) {
|
||||
const QJsonObject dirObj(dirVal.toObject());
|
||||
if (SyncthingDir *dirItem = addDirInfo(newDirs, dirObj.value(QStringLiteral("id")).toString())) {
|
||||
dirItem->label = dirObj.value(QStringLiteral("label")).toString();
|
||||
dirItem->path = dirObj.value(QStringLiteral("path")).toString();
|
||||
dirItem->devices.clear();
|
||||
dirItem->deviceIds.clear();
|
||||
dirItem->deviceNames.clear();
|
||||
for (const QJsonValue &dev : dirObj.value(QStringLiteral("devices")).toArray()) {
|
||||
const QString devId = dev.toObject().value(QStringLiteral("deviceID")).toString();
|
||||
if (!devId.isEmpty()) {
|
||||
dirItem->devices << devId;
|
||||
dirItem->deviceIds << devId;
|
||||
if (const SyncthingDev *const dev = findDevInfo(devId, dummy)) {
|
||||
dirItem->deviceNames << dev->name;
|
||||
}
|
||||
}
|
||||
}
|
||||
dirItem->readOnly = dirObj.value(QStringLiteral("readOnly")).toBool(false);
|
||||
|
|
|
@ -50,7 +50,7 @@ bool SyncthingDir::finalizeStatusUpdate(SyncthingDirStatus newStatus)
|
|||
case SyncthingDirStatus::Unshared:
|
||||
if (!itemErrors.empty()) {
|
||||
newStatus = SyncthingDirStatus::OutOfSync;
|
||||
} else if (devices.size() < 2) {
|
||||
} else if (deviceIds.size() < 2) {
|
||||
// FIXME: we can assume only own device is assigned, correct?
|
||||
newStatus = SyncthingDirStatus::Unshared;
|
||||
}
|
||||
|
|
|
@ -70,7 +70,8 @@ struct LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingDir {
|
|||
QString id;
|
||||
QString label;
|
||||
QString path;
|
||||
QStringList devices;
|
||||
QStringList deviceIds;
|
||||
QStringList deviceNames;
|
||||
bool readOnly = false;
|
||||
bool ignorePermissions = false;
|
||||
bool autoNormalize = false;
|
||||
|
|
|
@ -96,6 +96,7 @@ private:
|
|||
|
||||
SyncthingConnection m_connection;
|
||||
QString m_ownDevId;
|
||||
QString m_ownDevName;
|
||||
};
|
||||
|
||||
CPPUNIT_TEST_SUITE_REGISTRATION(ConnectionTests);
|
||||
|
@ -342,6 +343,7 @@ void ConnectionTests::checkDevices()
|
|||
&& dev.id != QStringLiteral("6EIS2PN-J2IHWGS-AXS3YUL-HC5FT3K-77ZXTLL-AKQLJ4C-7SWVPUS-AZW4RQ4")) {
|
||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("own device", QStringLiteral("own device"), dev.statusString());
|
||||
m_ownDevId = dev.id;
|
||||
m_ownDevName = dev.name;
|
||||
}
|
||||
}
|
||||
const SyncthingDev *dev1 = nullptr, *dev2 = nullptr;
|
||||
|
@ -388,8 +390,10 @@ void ConnectionTests::checkDirectories() const
|
|||
CPPUNIT_ASSERT_EQUAL(QStringLiteral("idle"), dir1.statusString());
|
||||
CPPUNIT_ASSERT(!dir1.readOnly);
|
||||
CPPUNIT_ASSERT(!dir1.paused);
|
||||
CPPUNIT_ASSERT_EQUAL(dir1.devices.toSet(), QSet<QString>({ QStringLiteral("MMGUI6U-WUEZQCP-XZZ6VYB-LCT4TVC-ER2HAVX-QYT6X7D-S6ZSG2B-323KLQ7"),
|
||||
QStringLiteral("6EIS2PN-J2IHWGS-AXS3YUL-HC5FT3K-77ZXTLL-AKQLJ4C-7SWVPUS-AZW4RQ4"), m_ownDevId }));
|
||||
CPPUNIT_ASSERT_EQUAL(QSet<QString>({ QStringLiteral("MMGUI6U-WUEZQCP-XZZ6VYB-LCT4TVC-ER2HAVX-QYT6X7D-S6ZSG2B-323KLQ7"),
|
||||
QStringLiteral("6EIS2PN-J2IHWGS-AXS3YUL-HC5FT3K-77ZXTLL-AKQLJ4C-7SWVPUS-AZW4RQ4"), m_ownDevId }),
|
||||
dir1.deviceIds.toSet());
|
||||
CPPUNIT_ASSERT_EQUAL(QSet<QString>({ QStringLiteral("Test dev 2"), QStringLiteral("Test dev 1"), m_ownDevName }), dir1.deviceNames.toSet());
|
||||
const SyncthingDir &dir2 = dirInfo.back();
|
||||
CPPUNIT_ASSERT_EQUAL(QStringLiteral("test2"), dir2.id);
|
||||
CPPUNIT_ASSERT_EQUAL(QStringLiteral("Test dir 2"), dir2.label);
|
||||
|
@ -400,7 +404,8 @@ void ConnectionTests::checkDirectories() const
|
|||
CPPUNIT_ASSERT(!dir2.readOnly);
|
||||
CPPUNIT_ASSERT(dir2.paused);
|
||||
CPPUNIT_ASSERT_EQUAL(
|
||||
dir2.devices.toSet(), QSet<QString>({ QStringLiteral("MMGUI6U-WUEZQCP-XZZ6VYB-LCT4TVC-ER2HAVX-QYT6X7D-S6ZSG2B-323KLQ7"), m_ownDevId }));
|
||||
QSet<QString>({ QStringLiteral("MMGUI6U-WUEZQCP-XZZ6VYB-LCT4TVC-ER2HAVX-QYT6X7D-S6ZSG2B-323KLQ7"), m_ownDevId }), dir2.deviceIds.toSet());
|
||||
CPPUNIT_ASSERT_EQUAL(QSet<QString>({ QStringLiteral("Test dev 2"), m_ownDevName }), dir2.deviceNames.toSet());
|
||||
}
|
||||
|
||||
void ConnectionTests::testReconnecting()
|
||||
|
|
|
@ -152,7 +152,7 @@ void MiscTests::testConnectionSettingsAndLoadingSelfSignedCert()
|
|||
void MiscTests::testSyncthingDir()
|
||||
{
|
||||
SyncthingDir dir;
|
||||
dir.devices << QStringLiteral("dev1") << QStringLiteral("dev2");
|
||||
dir.deviceIds << QStringLiteral("dev1") << QStringLiteral("dev2");
|
||||
|
||||
DateTime updateTime(DateTime::fromDate(2005, 2, 3));
|
||||
CPPUNIT_ASSERT(dir.assignStatus(SyncthingDirStatus::Unshared, updateTime));
|
||||
|
@ -195,7 +195,7 @@ void MiscTests::testSyncthingDir()
|
|||
CPPUNIT_ASSERT_EQUAL(QStringLiteral("out of sync"), dir.statusString());
|
||||
|
||||
dir.itemErrors.clear();
|
||||
dir.devices.removeLast();
|
||||
dir.deviceIds.removeLast();
|
||||
CPPUNIT_ASSERT(dir.assignStatus(QStringLiteral("idle"), updateTime += TimeSpan::fromMinutes(1.5)));
|
||||
CPPUNIT_ASSERT_EQUAL_MESSAGE("dir considered unshared when only one dev present", QStringLiteral("unshared"), dir.statusString());
|
||||
CPPUNIT_ASSERT(!dir.assignStatus(SyncthingDirStatus::Idle, updateTime += TimeSpan::fromMinutes(1.5)));
|
||||
|
|
|
@ -95,92 +95,92 @@
|
|||
<translation>Fehler beim Abfragen der Syncthing-Konfiguration: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="998"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1005"/>
|
||||
<source>Unable to parse Syncthing status: </source>
|
||||
<translation>Fehler beim Auslesen des Syncthing-Status: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1005"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1012"/>
|
||||
<source>Unable to request Syncthing status: </source>
|
||||
<translation>Fehler beim Abfragen des Syncthing-Status: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1087"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1094"/>
|
||||
<source>Unable to parse connections: </source>
|
||||
<translation>Fehler beim Auslesen der Verbindungen: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1094"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1101"/>
|
||||
<source>Unable to request connections: </source>
|
||||
<translation>Fehler beim Abfragen der Verbindungen: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1153"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1156"/>
|
||||
<source>Unable to parse directory statistics: </source>
|
||||
<translation>Fehler beim Auslesen der Verzeichnisstatistiken: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1160"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1163"/>
|
||||
<source>Unable to request directory statistics: </source>
|
||||
<translation>Fehler beim Abfragen der Verzeichnisstatistiken: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1197"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1200"/>
|
||||
<source>Unable to parse device statistics: </source>
|
||||
<translation>Fehler beim Auslesen der Gerätestatistiken: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1204"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1207"/>
|
||||
<source>Unable to request device statistics: </source>
|
||||
<translation>Fehler beim Abfragen der Gerätestatistiken: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1243"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1246"/>
|
||||
<source>Unable to parse errors: </source>
|
||||
<translation>Fehler beim Auslesen der Syncthing-Fehlermeldungen: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1255"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1258"/>
|
||||
<source>Unable to request errors: </source>
|
||||
<translation>Fehler beim Abfragen der Syncthing-Fehlermeldungen: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1271"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1274"/>
|
||||
<source>Unable to request clearing errors: </source>
|
||||
<translation>Fehler beim Löschen der Fehlermeldungen: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1325"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1328"/>
|
||||
<source>Unable to parse Syncthing events: </source>
|
||||
<translation>Fehler beim Auslesen der Syncthing-Ereignisse: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1348"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1351"/>
|
||||
<source>Unable to request Syncthing events: </source>
|
||||
<translation>Fehler beim Abfragen der Syncthing-Ereignisse: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1633"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1636"/>
|
||||
<source>Unable to request rescan: </source>
|
||||
<translation>Fehler beim Anfordern eines Verzeichnis-Rescans: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1657"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1660"/>
|
||||
<source>Unable to request device pause/resume: </source>
|
||||
<translation>Fehler beim Anfordern Gerät zu Pausieren/Fortzusetzen: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1678"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1681"/>
|
||||
<source>Unable to request directory pause/resume: </source>
|
||||
<translation>Fehler beim Anfordern Verzeichnis zu Pausieren/Fortzusetzen: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1694"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1697"/>
|
||||
<source>Unable to request restart: </source>
|
||||
<translation>Fehler beim Anfordern eines Neustarts: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1710"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1713"/>
|
||||
<source>Unable to request shutdown: </source>
|
||||
<translation>Fehler beim Anfordern Syncthing zu beenden: </translation>
|
||||
</message>
|
||||
|
|
|
@ -95,92 +95,92 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="998"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1005"/>
|
||||
<source>Unable to parse Syncthing status: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1005"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1012"/>
|
||||
<source>Unable to request Syncthing status: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1087"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1094"/>
|
||||
<source>Unable to parse connections: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1094"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1101"/>
|
||||
<source>Unable to request connections: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1153"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1156"/>
|
||||
<source>Unable to parse directory statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1160"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1163"/>
|
||||
<source>Unable to request directory statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1197"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1200"/>
|
||||
<source>Unable to parse device statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1204"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1207"/>
|
||||
<source>Unable to request device statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1243"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1246"/>
|
||||
<source>Unable to parse errors: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1255"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1258"/>
|
||||
<source>Unable to request errors: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1271"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1274"/>
|
||||
<source>Unable to request clearing errors: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1325"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1328"/>
|
||||
<source>Unable to parse Syncthing events: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1348"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1351"/>
|
||||
<source>Unable to request Syncthing events: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1633"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1636"/>
|
||||
<source>Unable to request rescan: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1657"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1660"/>
|
||||
<source>Unable to request device pause/resume: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1678"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1681"/>
|
||||
<source>Unable to request directory pause/resume: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1694"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1697"/>
|
||||
<source>Unable to request restart: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingconnection.cpp" line="1710"/>
|
||||
<location filename="../syncthingconnection.cpp" line="1713"/>
|
||||
<source>Unable to request shutdown: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -88,7 +88,7 @@ QVariant SyncthingDirectoryModel::data(const QModelIndex &index, int role) const
|
|||
case 1:
|
||||
return tr("Path");
|
||||
case 2:
|
||||
return tr("Devices");
|
||||
return tr("Shared with");
|
||||
case 3:
|
||||
return tr("Read-only");
|
||||
case 4:
|
||||
|
@ -109,7 +109,7 @@ QVariant SyncthingDirectoryModel::data(const QModelIndex &index, int role) const
|
|||
case 1:
|
||||
return dir.path;
|
||||
case 2:
|
||||
return dir.devices.join(QStringLiteral(", "));
|
||||
return (dir.deviceNames.isEmpty() ? dir.deviceIds : dir.deviceNames).join(QStringLiteral(", "));
|
||||
case 3:
|
||||
return dir.readOnly ? tr("yes") : tr("no");
|
||||
case 4:
|
||||
|
@ -162,6 +162,13 @@ QVariant SyncthingDirectoryModel::data(const QModelIndex &index, int role) const
|
|||
case 1:
|
||||
const SyncthingDir &dir = m_dirs[static_cast<size_t>(index.parent().row())];
|
||||
switch (index.row()) {
|
||||
case 2:
|
||||
if (dir.deviceNames.isEmpty()) {
|
||||
return dir.deviceIds.join(QChar('\n'));
|
||||
} else {
|
||||
return QString(dir.deviceNames.join(QStringLiteral(", ")) % QChar('\n') % QChar('(') % dir.deviceIds.join(QChar('\n'))
|
||||
% QChar(')'));
|
||||
}
|
||||
case 5:
|
||||
if (!dir.lastScanTime.isNull()) {
|
||||
return agoString(dir.lastScanTime);
|
||||
|
|
|
@ -124,9 +124,8 @@
|
|||
<translation>Pfad</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="91"/>
|
||||
<source>Devices</source>
|
||||
<translation>Geräte</translation>
|
||||
<translation type="vanished">Geräte</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="93"/>
|
||||
|
@ -191,67 +190,72 @@
|
|||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="173"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="180"/>
|
||||
<source>Deleted at %1</source>
|
||||
<translation>Gelöscht am %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="176"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="183"/>
|
||||
<source>Updated at %1</source>
|
||||
<translation>Aktualisiert am %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="189"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="196"/>
|
||||
<source>Click for details</source>
|
||||
<translation>Für details klicken</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="188"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="195"/>
|
||||
<source>Failed items</source>
|
||||
<translation>Fehlgeschlagene Elemente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="211"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="218"/>
|
||||
<source>Unknown status</source>
|
||||
<translation>Unbekannter Status</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="215"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="222"/>
|
||||
<source>Idle</source>
|
||||
<translation>Leerlauf</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="213"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="220"/>
|
||||
<source>Unshared</source>
|
||||
<translation>Nicht geteilt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="217"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="91"/>
|
||||
<source>Shared with</source>
|
||||
<translation>Geteilt mit</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="224"/>
|
||||
<source>Scanning (%1 %)</source>
|
||||
<translation>Scannen (%1 %)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="217"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="224"/>
|
||||
<source>Scanning</source>
|
||||
<translation>Scannen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="219"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="226"/>
|
||||
<source>Synchronizing (%1 %)</source>
|
||||
<translation>Synchronisieren (%1 %)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="219"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="226"/>
|
||||
<source>Synchronizing</source>
|
||||
<translation>Synchronisieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="207"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="214"/>
|
||||
<source>Paused</source>
|
||||
<translation>Pausiert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="221"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="228"/>
|
||||
<source>Out of sync</source>
|
||||
<translation>Nicht synchronisiert</translation>
|
||||
</message>
|
||||
|
|
|
@ -123,11 +123,6 @@
|
|||
<source>Path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="91"/>
|
||||
<source>Devices</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="93"/>
|
||||
<source>Read-only</source>
|
||||
|
@ -182,6 +177,11 @@
|
|||
<numerusform>%1 items out of sync</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="91"/>
|
||||
<source>Shared with</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="132"/>
|
||||
<source>%1 and %2 item(s) out of sync</source>
|
||||
|
@ -191,67 +191,67 @@
|
|||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="173"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="180"/>
|
||||
<source>Deleted at %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="176"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="183"/>
|
||||
<source>Updated at %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="188"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="195"/>
|
||||
<source>Failed items</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="189"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="196"/>
|
||||
<source>Click for details</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="207"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="214"/>
|
||||
<source>Paused</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="211"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="218"/>
|
||||
<source>Unknown status</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="213"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="220"/>
|
||||
<source>Unshared</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="215"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="222"/>
|
||||
<source>Idle</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="217"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="224"/>
|
||||
<source>Scanning (%1 %)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="217"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="224"/>
|
||||
<source>Scanning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="219"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="226"/>
|
||||
<source>Synchronizing (%1 %)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="219"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="226"/>
|
||||
<source>Synchronizing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="221"/>
|
||||
<location filename="../syncthingdirectorymodel.cpp" line="228"/>
|
||||
<source>Out of sync</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
|
@ -329,22 +329,22 @@
|
|||
<context>
|
||||
<name>QtGui::ErrorViewDialog</name>
|
||||
<message>
|
||||
<location filename="../misc/errorviewdialog.cpp" line="24"/>
|
||||
<location filename="../misc/errorviewdialog.cpp" line="25"/>
|
||||
<source>Internal errors</source>
|
||||
<translation>Interne Fehler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../misc/errorviewdialog.cpp" line="25"/>
|
||||
<location filename="../misc/errorviewdialog.cpp" line="26"/>
|
||||
<source>Request URL:</source>
|
||||
<translation>URL der Anfrage:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../misc/errorviewdialog.cpp" line="26"/>
|
||||
<location filename="../misc/errorviewdialog.cpp" line="27"/>
|
||||
<source>Response:</source>
|
||||
<translation>Antwort:</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../misc/errorviewdialog.cpp" line="88"/>
|
||||
<location filename="../misc/errorviewdialog.cpp" line="100"/>
|
||||
<source>%1 error(s) occured</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform>%1 interner Fehler</numerusform>
|
||||
|
@ -352,7 +352,7 @@
|
|||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../misc/errorviewdialog.cpp" line="52"/>
|
||||
<location filename="../misc/errorviewdialog.cpp" line="53"/>
|
||||
<source>Clear errors</source>
|
||||
<translation>Liste der Fehler löschen</translation>
|
||||
</message>
|
||||
|
|
|
@ -329,22 +329,22 @@
|
|||
<context>
|
||||
<name>QtGui::ErrorViewDialog</name>
|
||||
<message>
|
||||
<location filename="../misc/errorviewdialog.cpp" line="24"/>
|
||||
<location filename="../misc/errorviewdialog.cpp" line="25"/>
|
||||
<source>Internal errors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../misc/errorviewdialog.cpp" line="25"/>
|
||||
<location filename="../misc/errorviewdialog.cpp" line="26"/>
|
||||
<source>Request URL:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../misc/errorviewdialog.cpp" line="26"/>
|
||||
<location filename="../misc/errorviewdialog.cpp" line="27"/>
|
||||
<source>Response:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../misc/errorviewdialog.cpp" line="88"/>
|
||||
<location filename="../misc/errorviewdialog.cpp" line="100"/>
|
||||
<source>%1 error(s) occured</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform>%1 error occured</numerusform>
|
||||
|
@ -352,7 +352,7 @@
|
|||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../misc/errorviewdialog.cpp" line="52"/>
|
||||
<location filename="../misc/errorviewdialog.cpp" line="53"/>
|
||||
<source>Clear errors</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
Loading…
Reference in New Issue