Refactor to allow sharing backend with other apps
Intended for creating command line tool and plasmoid
161
CMakeLists.txt
|
@ -8,158 +8,23 @@ set(META_APP_AUTHOR "Martchus")
|
|||
set(META_APP_URL "https://github.com/${META_APP_AUTHOR}/${META_PROJECT_NAME}")
|
||||
set(META_APP_DESCRIPTION "Tray application for Syncthing")
|
||||
set(META_APP_CATEGORIES "Utility;Network;")
|
||||
set(META_GUI_OPTIONAL false)
|
||||
set(META_VERSION_MAJOR 0)
|
||||
set(META_VERSION_MINOR 0)
|
||||
set(META_VERSION_PATCH 2)
|
||||
set(META_APP_VERSION ${META_VERSION_MAJOR}.${META_VERSION_MINOR}.${META_VERSION_PATCH})
|
||||
|
||||
# add project files
|
||||
set(HEADER_FILES
|
||||
data/syncthingconnection.h
|
||||
data/syncthingconnectionsettings.h
|
||||
data/syncthingdirectorymodel.h
|
||||
data/syncthingdevicemodel.h
|
||||
data/syncthingdownloadmodel.h
|
||||
data/syncthingconfig.h
|
||||
data/syncthingprocess.h
|
||||
data/utils.h
|
||||
)
|
||||
set(SRC_FILES
|
||||
data/syncthingconnection.cpp
|
||||
data/syncthingconnectionsettings.cpp
|
||||
data/syncthingdirectorymodel.cpp
|
||||
data/syncthingdevicemodel.cpp
|
||||
data/syncthingdownloadmodel.cpp
|
||||
data/syncthingconfig.cpp
|
||||
data/syncthingprocess.cpp
|
||||
data/utils.cpp
|
||||
)
|
||||
project(${META_PROJECT_NAME})
|
||||
|
||||
set(WIDGETS_HEADER_FILES
|
||||
application/settings.h
|
||||
application/singleinstance.h
|
||||
gui/trayicon.h
|
||||
gui/traywidget.h
|
||||
gui/traymenu.h
|
||||
gui/settingsdialog.h
|
||||
gui/webpage.h
|
||||
gui/webviewdialog.h
|
||||
gui/webviewprovider.h
|
||||
gui/dirbuttonsitemdelegate.h
|
||||
gui/devbuttonsitemdelegate.h
|
||||
gui/downloaditemdelegate.h
|
||||
gui/dirview.h
|
||||
gui/devview.h
|
||||
gui/downloadview.h
|
||||
gui/textviewdialog.h
|
||||
)
|
||||
set(WIDGETS_SRC_FILES
|
||||
application/main.cpp
|
||||
application/settings.cpp
|
||||
application/singleinstance.cpp
|
||||
gui/trayicon.cpp
|
||||
gui/traywidget.cpp
|
||||
gui/traymenu.cpp
|
||||
gui/settingsdialog.cpp
|
||||
gui/webpage.cpp
|
||||
gui/webviewdialog.cpp
|
||||
gui/dirbuttonsitemdelegate.cpp
|
||||
gui/devbuttonsitemdelegate.cpp
|
||||
gui/downloaditemdelegate.cpp
|
||||
gui/dirview.cpp
|
||||
gui/devview.cpp
|
||||
gui/downloadview.cpp
|
||||
gui/textviewdialog.cpp
|
||||
resources/icons.qrc
|
||||
)
|
||||
set(WIDGETS_UI_FILES
|
||||
gui/traywidget.ui
|
||||
gui/connectionoptionpage.ui
|
||||
gui/notificationsoptionpage.ui
|
||||
gui/appearanceoptionpage.ui
|
||||
gui/autostartoptionpage.ui
|
||||
gui/launcheroptionpage.ui
|
||||
gui/webviewoptionpage.ui
|
||||
)
|
||||
# options for partial build
|
||||
option(NO_TRAY "specifies whether building the tray should be skipped" OFF)
|
||||
option(NO_MODEL "specifies whether building models should be skipped, implies NO_TRAY" OFF)
|
||||
|
||||
#set(QUICK_HEADER_FILES
|
||||
#)
|
||||
#set(QUICK_SRC_FILES
|
||||
#)
|
||||
|
||||
set(TS_FILES
|
||||
translations/${META_PROJECT_NAME}_de_DE.ts
|
||||
translations/${META_PROJECT_NAME}_en_US.ts
|
||||
)
|
||||
|
||||
set(ICON_FILES
|
||||
resources/icons/hicolor/scalable/app/${META_PROJECT_NAME}.svg
|
||||
)
|
||||
set(PNG_ICON_PATH "${CMAKE_CURRENT_SOURCE_DIR}/resources/icons/hicolor/scalable/app/${META_PROJECT_NAME}.png")
|
||||
set(PNG_ICON_NO_CROP ON)
|
||||
|
||||
set(DOC_FILES
|
||||
README.md
|
||||
)
|
||||
|
||||
set(REQUIRED_ICONS
|
||||
dialog-cancel
|
||||
dialog-ok
|
||||
dialog-ok-apply
|
||||
edit-copy
|
||||
edit-paste
|
||||
folder
|
||||
folder-download
|
||||
folder-open
|
||||
folder-sync
|
||||
help-about
|
||||
internet-web-browser
|
||||
list-add
|
||||
list-remove
|
||||
media-playback-pause
|
||||
media-playback-start
|
||||
network-card
|
||||
network-connect
|
||||
network-server
|
||||
preferences-desktop
|
||||
preferences-desktop-icons
|
||||
preferences-desktop-locale
|
||||
preferences-desktop-notification
|
||||
preferences-other
|
||||
qtcreator
|
||||
system-run
|
||||
system-search
|
||||
system-file-manager
|
||||
text-plain
|
||||
view-barcode
|
||||
view-refresh
|
||||
window-close
|
||||
)
|
||||
|
||||
# find c++utilities
|
||||
find_package(c++utilities 4.0.0 REQUIRED)
|
||||
use_cpp_utilities()
|
||||
include(BasicConfig)
|
||||
|
||||
# find qtutilities
|
||||
if(WIDGETS_GUI OR QUICK_GUI)
|
||||
find_package(qtutilities 5.0.0 REQUIRED)
|
||||
use_qt_utilities()
|
||||
# add subdirectories
|
||||
add_subdirectory(connector)
|
||||
link_directories(${LIB_SYNCTHING_CONNECTOR_BINARY_DIR})
|
||||
if(NOT NO_MODEL)
|
||||
add_subdirectory(model)
|
||||
link_directories(${LIB_SYNCTHING_MODEL_BINARY_DIR})
|
||||
if(NOT NO_TRAY)
|
||||
add_subdirectory(tray)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
list(APPEND ADDITIONAL_QT_MODULES Network Svg)
|
||||
|
||||
# include modules to apply configuration
|
||||
include(BasicConfig)
|
||||
include(QtGuiConfig)
|
||||
include(QtConfig)
|
||||
include(WindowsResources)
|
||||
include(WebViewProviderConfig)
|
||||
include(AppTarget)
|
||||
include(ShellCompletion)
|
||||
include(Doxygen)
|
||||
include(ConfigHeader)
|
||||
|
||||
# create desktop file using previously defined meta data
|
||||
add_desktop_file()
|
||||
|
|
39
README.md
|
@ -36,23 +36,22 @@ support
|
|||
The tray is still under development; the following features are planned:
|
||||
* Show recently processed items
|
||||
* Improve notification handling
|
||||
* Create simple command line application
|
||||
* Create Plasmoid for Plasma 5 desktop
|
||||
* Outsource backend to extra library so it can be shared by regular tray menu
|
||||
and Plasmoid
|
||||
|
||||
## Screenshots
|
||||
|
||||
### Under Openbox/Tint2
|
||||
![Openbox/Tint2](/resources/screenshots/tint2.png?raw=true)
|
||||
![Openbox/Tint2](/tray/resources/screenshots/tint2.png?raw=true)
|
||||
|
||||
### Under Plasma 5 (dark color theme)
|
||||
![Plasma 5](/resources/screenshots/plasma.png?raw=true)
|
||||
![Plasma 5](/tray/resources/screenshots/plasma.png?raw=true)
|
||||
|
||||
### Settings dialog (dark color theme)
|
||||
![Settings dialog](/resources/screenshots/settings.png?raw=true)
|
||||
![Settings dialog](/tray/resources/screenshots/settings.png?raw=true)
|
||||
|
||||
### Web view (dark color theme)
|
||||
![Web view](/resources/screenshots/webview.png?raw=true)
|
||||
![Web view](/tray/resources/screenshots/webview.png?raw=true)
|
||||
|
||||
## Hotkey for Web UI
|
||||
To create a hotkey for the web UI, you can use the same approach as for any other
|
||||
|
@ -66,10 +65,30 @@ separate [repository](https://github.com/Martchus/PKGBUILDs). For binaries check
|
|||
[website](http://martchus.no-ip.biz/website/page.php?name=programming).
|
||||
|
||||
## 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 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). For building this straight, see the next section.
|
||||
|
||||
The following Qt 5 modules are requried: core network gui widgets svg webenginewidgets/webkitwidgets
|
||||
|
||||
#### Building this straight
|
||||
0. Install (preferably the latest version of) g++ or clang, the required Qt 5 modules and CMake.
|
||||
1. Get the sources. For the lastest version from Git clone the following repositories:
|
||||
```
|
||||
cd $SOURCES
|
||||
git clone https://github.com/Martchus/cpp-utilities.git
|
||||
git clone https://github.com/Martchus/qtutilities.git
|
||||
git glone https://github.com/Martchus/syncthingtray.git
|
||||
git clone https://github.com/Martchus/subdirs.git
|
||||
```
|
||||
2. Build and install everything in one step:
|
||||
```
|
||||
cd $BUILD_DIR
|
||||
cmake \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DCMAKE_INSTALL_PREFIX="/install/prefix" \
|
||||
$SOURCES/subdirs/syncthingtray
|
||||
make install -j$(nproc)
|
||||
```
|
||||
|
||||
#### Select Qt module for WebView
|
||||
* If Qt WebKitWidgets is installed on the system, the tray will link against it. Otherwise it will link against Qt WebEngineWidgets.
|
||||
* To force usage of Qt WebKit/Qt WebEngine or to disable both add `-DWEBVIEW_PROVIDER=webkit/webengine/none` to the CMake arguments.
|
||||
|
@ -77,7 +96,9 @@ The following Qt 5 modules are requried: core network gui widgets svg webenginew
|
|||
#### BTW: I still prefer the deprecated Qt WebKit because
|
||||
* Currently there is no way to allow a particular self-signed certificate in Qt
|
||||
WebEngine. Currently any self-signed certificate is accepted! See:
|
||||
https://bugreports.qt.io/browse/QTBUG-51176)
|
||||
https://bugreports.qt.io/browse/QTBUG-51176
|
||||
* Qt WebEngine can not be built with mingw-w64.
|
||||
* Qt WebEngine is more buggy in my experience.
|
||||
* Security issues are not a concern because no other website than the Syncthing web UI is shown.
|
||||
* Security issues are not a concern because no other website than the
|
||||
Syncthing web UI is shown. Any external links will be opened in the
|
||||
regular web browser anyways.
|
||||
|
|
|
@ -0,0 +1,42 @@
|
|||
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
|
||||
|
||||
# metadata
|
||||
set(META_PROJECT_NAME syncthingconnector)
|
||||
set(META_PROJECT_TYPE library)
|
||||
set(META_APP_DESCRIPTION "Connection backend of Syncthing Tray")
|
||||
set(META_PROJECT_VARNAME_UPPER LIB_SYNCTHING_CONNECTOR)
|
||||
|
||||
# add project files
|
||||
set(HEADER_FILES
|
||||
syncthingconnection.h
|
||||
syncthingconnectionsettings.h
|
||||
syncthingconfig.h
|
||||
syncthingprocess.h
|
||||
utils.h
|
||||
)
|
||||
set(SRC_FILES
|
||||
syncthingconnection.cpp
|
||||
syncthingconnectionsettings.cpp
|
||||
syncthingconfig.cpp
|
||||
syncthingprocess.cpp
|
||||
utils.cpp
|
||||
)
|
||||
|
||||
# find c++utilities
|
||||
find_package(c++utilities 4.0.0 REQUIRED)
|
||||
use_cpp_utilities()
|
||||
|
||||
# find qtutilities (only header used)
|
||||
find_package(qtutilities 5.0.0 REQUIRED)
|
||||
include_directories(BEFORE SYSTEM ${QT_UTILITIES_INCLUDE_DIRS})
|
||||
|
||||
# link also explicitely against the following Qt 5 modules
|
||||
list(APPEND ADDITIONAL_QT_MODULES Network)
|
||||
|
||||
# include modules to apply configuration
|
||||
include(BasicConfig)
|
||||
include(QtConfig)
|
||||
include(WindowsResources)
|
||||
include(LibraryTarget)
|
||||
include(Doxygen)
|
||||
include(ConfigHeader)
|
|
@ -0,0 +1,17 @@
|
|||
// Created via CMake from template global.h.in
|
||||
// WARNING! Any changes to this file will be overwritten by the next CMake run!
|
||||
|
||||
#ifndef LIB_SYNCTHING_CONNECTOR_GLOBAL
|
||||
#define LIB_SYNCTHING_CONNECTOR_GLOBAL
|
||||
|
||||
#include <c++utilities/application/global.h>
|
||||
|
||||
#ifdef LIB_SYNCTHING_CONNECTOR_STATIC
|
||||
# define LIB_SYNCTHING_CONNECTOR_EXPORT
|
||||
# define LIB_SYNCTHING_CONNECTOR_IMPORT
|
||||
#else
|
||||
# define LIB_SYNCTHING_CONNECTOR_EXPORT LIB_EXPORT
|
||||
# define LIB_SYNCTHING_CONNECTOR_IMPORT LIB_IMPORT
|
||||
#endif
|
||||
|
||||
#endif // LIB_SYNCTHING_CONNECTOR_GLOBAL
|
|
@ -1,11 +1,13 @@
|
|||
#ifndef DATA_SYNCTHINGCONFIG_H
|
||||
#define DATA_SYNCTHINGCONFIG_H
|
||||
|
||||
#include "./global.h"
|
||||
|
||||
#include <QString>
|
||||
|
||||
namespace Data {
|
||||
|
||||
struct SyncthingConfig
|
||||
struct LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingConfig
|
||||
{
|
||||
QString version;
|
||||
bool guiEnabled = false;
|
|
@ -12,7 +12,6 @@
|
|||
#include <QJsonObject>
|
||||
#include <QJsonArray>
|
||||
#include <QJsonValue>
|
||||
#include <QPixmap>
|
||||
#include <QAuthenticator>
|
||||
#include <QStringBuilder>
|
||||
#include <QTimer>
|
||||
|
@ -555,18 +554,16 @@ void SyncthingConnection::requestEvents()
|
|||
*
|
||||
* The specified \a callback is called on success; otherwise error() is emitted.
|
||||
*/
|
||||
QMetaObject::Connection SyncthingConnection::requestQrCode(const QString &text, std::function<void(const QPixmap &)> callback)
|
||||
QMetaObject::Connection SyncthingConnection::requestQrCode(const QString &text, std::function<void(const QByteArray &)> callback)
|
||||
{
|
||||
QUrlQuery query;
|
||||
query.addQueryItem(QStringLiteral("text"), text);
|
||||
QNetworkReply *reply = requestData(QStringLiteral("/qr/"), query, false);
|
||||
return QObject::connect(reply, &QNetworkReply::finished, [this, reply, callback] {
|
||||
reply->deleteLater();
|
||||
QPixmap pixmap;
|
||||
switch(reply->error()) {
|
||||
case QNetworkReply::NoError:
|
||||
pixmap.loadFromData(reply->readAll());
|
||||
callback(pixmap);
|
||||
callback(reply->readAll());
|
||||
break;
|
||||
default:
|
||||
emit error(tr("Unable to request QR-Code: ") + reply->errorString());
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef SYNCTHINGCONNECTION_H
|
||||
#define SYNCTHINGCONNECTION_H
|
||||
|
||||
#include "./global.h"
|
||||
|
||||
#include <c++utilities/chrono/datetime.h>
|
||||
|
||||
#include <QObject>
|
||||
|
@ -45,7 +47,7 @@ enum class DirStatus
|
|||
OutOfSync
|
||||
};
|
||||
|
||||
struct DirErrors
|
||||
struct LIB_SYNCTHING_CONNECTOR_EXPORT DirErrors
|
||||
{
|
||||
DirErrors(const QString &message, const QString &path) :
|
||||
message(message),
|
||||
|
@ -55,7 +57,7 @@ struct DirErrors
|
|||
QString path;
|
||||
};
|
||||
|
||||
struct SyncthingItemDownloadProgress
|
||||
struct LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingItemDownloadProgress
|
||||
{
|
||||
SyncthingItemDownloadProgress(const QString &containingDirPath, const QString &relativeItemPath, const QJsonObject &values);
|
||||
QString relativePath;
|
||||
|
@ -74,7 +76,7 @@ struct SyncthingItemDownloadProgress
|
|||
static constexpr unsigned int syncthingBlockSize = 128 * 1024;
|
||||
};
|
||||
|
||||
struct SyncthingDir
|
||||
struct LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingDir
|
||||
{
|
||||
QString id;
|
||||
QString label;
|
||||
|
@ -118,7 +120,7 @@ enum class DevStatus
|
|||
Rejected
|
||||
};
|
||||
|
||||
struct SyncthingDev
|
||||
struct LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingDev
|
||||
{
|
||||
QString id;
|
||||
QString name;
|
||||
|
@ -138,7 +140,7 @@ struct SyncthingDev
|
|||
ChronoUtilities::DateTime lastSeen;
|
||||
};
|
||||
|
||||
struct SyncthingLogEntry
|
||||
struct LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingLogEntry
|
||||
{
|
||||
SyncthingLogEntry(const QString &when, const QString &message) :
|
||||
when(when),
|
||||
|
@ -148,7 +150,7 @@ struct SyncthingLogEntry
|
|||
QString message;
|
||||
};
|
||||
|
||||
class SyncthingConnection : public QObject
|
||||
class LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingConnection : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(QString syncthingUrl READ syncthingUrl WRITE setSyncthingUrl)
|
||||
|
@ -189,7 +191,7 @@ public:
|
|||
double totalOutgoingRate() const;
|
||||
const std::vector<SyncthingDir> &dirInfo() const;
|
||||
const std::vector<SyncthingDev> &devInfo() const;
|
||||
QMetaObject::Connection requestQrCode(const QString &text, std::function<void (const QPixmap &)> callback);
|
||||
QMetaObject::Connection requestQrCode(const QString &text, std::function<void (const QByteArray &)> callback);
|
||||
QMetaObject::Connection requestLog(std::function<void (const std::vector<SyncthingLogEntry> &)> callback);
|
||||
const QList<QSslError> &expectedSslErrors();
|
||||
|
|
@ -1,13 +1,15 @@
|
|||
#ifndef SYNCTHINGCONNECTIONSETTINGS_H
|
||||
#define SYNCTHINGCONNECTIONSETTINGS_H
|
||||
|
||||
#include "./global.h"
|
||||
|
||||
#include <QString>
|
||||
#include <QByteArray>
|
||||
#include <QSslError>
|
||||
|
||||
namespace Data {
|
||||
|
||||
struct SyncthingConnectionSettings {
|
||||
struct LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingConnectionSettings {
|
||||
QString label;
|
||||
QString syncthingUrl;
|
||||
bool authEnabled = false;
|
|
@ -1,11 +1,13 @@
|
|||
#ifndef DATA_SYNCTHINGPROCESS_H
|
||||
#define DATA_SYNCTHINGPROCESS_H
|
||||
|
||||
#include "./global.h"
|
||||
|
||||
#include <QProcess>
|
||||
|
||||
namespace Data {
|
||||
|
||||
class SyncthingProcess : public QProcess
|
||||
class LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingProcess : public QProcess
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef DATA_UTILS_H
|
||||
#define DATA_UTILS_H
|
||||
|
||||
#include "./global.h"
|
||||
|
||||
#include <QtGlobal>
|
||||
|
||||
QT_FORWARD_DECLARE_CLASS(QString)
|
||||
|
@ -11,7 +13,7 @@ class DateTime;
|
|||
|
||||
namespace Data {
|
||||
|
||||
QString agoString(ChronoUtilities::DateTime dateTime);
|
||||
QString LIB_SYNCTHING_CONNECTOR_EXPORT agoString(ChronoUtilities::DateTime dateTime);
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
|
||||
|
||||
# metadata
|
||||
set(META_PROJECT_NAME syncthingmodel)
|
||||
set(META_PROJECT_TYPE library)
|
||||
set(META_APP_DESCRIPTION "Data models of Syncthing Tray")
|
||||
set(META_PROJECT_VARNAME_UPPER LIB_SYNCTHING_MODEL)
|
||||
|
||||
# add project files
|
||||
set(HEADER_FILES
|
||||
syncthingdirectorymodel.h
|
||||
syncthingdevicemodel.h
|
||||
syncthingdownloadmodel.h
|
||||
)
|
||||
set(SRC_FILES
|
||||
syncthingdirectorymodel.cpp
|
||||
syncthingdevicemodel.cpp
|
||||
syncthingdownloadmodel.cpp
|
||||
)
|
||||
|
||||
# find c++utilities
|
||||
find_package(c++utilities 4.0.0 REQUIRED)
|
||||
use_cpp_utilities()
|
||||
|
||||
# find backend libraries
|
||||
find_package(syncthingconnector ${META_APP_VERSION} REQUIRED)
|
||||
use_syncthingconnector()
|
||||
|
||||
# link also explicitely against the following Qt 5 modules
|
||||
list(APPEND ADDITIONAL_QT_MODULES Network Gui Widgets)
|
||||
|
||||
# include modules to apply configuration
|
||||
include(BasicConfig)
|
||||
include(QtConfig)
|
||||
include(WindowsResources)
|
||||
include(LibraryTarget)
|
||||
include(Doxygen)
|
||||
include(ConfigHeader)
|
|
@ -0,0 +1,17 @@
|
|||
// Created via CMake from template global.h.in
|
||||
// WARNING! Any changes to this file will be overwritten by the next CMake run!
|
||||
|
||||
#ifndef LIB_SYNCTHING_MODEL_GLOBAL
|
||||
#define LIB_SYNCTHING_MODEL_GLOBAL
|
||||
|
||||
#include <c++utilities/application/global.h>
|
||||
|
||||
#ifdef LIB_SYNCTHING_MODEL_STATIC
|
||||
# define LIB_SYNCTHING_MODEL_EXPORT
|
||||
# define LIB_SYNCTHING_MODEL_IMPORT
|
||||
#else
|
||||
# define LIB_SYNCTHING_MODEL_EXPORT LIB_EXPORT
|
||||
# define LIB_SYNCTHING_MODEL_IMPORT LIB_IMPORT
|
||||
#endif
|
||||
|
||||
#endif // LIB_SYNCTHING_MODEL_GLOBAL
|
|
@ -1,6 +1,7 @@
|
|||
#include "./syncthingdevicemodel.h"
|
||||
#include "./syncthingconnection.h"
|
||||
#include "./utils.h"
|
||||
|
||||
#include "../connector/syncthingconnection.h"
|
||||
#include "../connector/utils.h"
|
||||
|
||||
using namespace ChronoUtilities;
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef DATA_SYNCTHINGDEVICEMODEL_H
|
||||
#define DATA_SYNCTHINGDEVICEMODEL_H
|
||||
|
||||
#include "./global.h"
|
||||
|
||||
#include <QAbstractItemModel>
|
||||
#include <QIcon>
|
||||
|
||||
|
@ -11,7 +13,7 @@ namespace Data {
|
|||
class SyncthingConnection;
|
||||
struct SyncthingDev;
|
||||
|
||||
class SyncthingDeviceModel : public QAbstractItemModel
|
||||
class LIB_SYNCTHING_MODEL_EXPORT SyncthingDeviceModel : public QAbstractItemModel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
|
@ -1,6 +1,7 @@
|
|||
#include "./syncthingdirectorymodel.h"
|
||||
#include "./syncthingconnection.h"
|
||||
#include "./utils.h"
|
||||
|
||||
#include "../connector/syncthingconnection.h"
|
||||
#include "../connector/utils.h"
|
||||
|
||||
using namespace ChronoUtilities;
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef DATA_SYNCTHINGDIRECTORYMODEL_H
|
||||
#define DATA_SYNCTHINGDIRECTORYMODEL_H
|
||||
|
||||
#include "./global.h"
|
||||
|
||||
#include <QAbstractItemModel>
|
||||
#include <QIcon>
|
||||
|
||||
|
@ -11,7 +13,7 @@ namespace Data {
|
|||
class SyncthingConnection;
|
||||
struct SyncthingDir;
|
||||
|
||||
class SyncthingDirectoryModel : public QAbstractItemModel
|
||||
class LIB_SYNCTHING_MODEL_EXPORT SyncthingDirectoryModel : public QAbstractItemModel
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
|
@ -1,6 +1,7 @@
|
|||
#include "./syncthingdownloadmodel.h"
|
||||
#include "./syncthingconnection.h"
|
||||
#include "./utils.h"
|
||||
|
||||
#include "../connector/syncthingconnection.h"
|
||||
#include "../connector/utils.h"
|
||||
|
||||
#include <QStringBuilder>
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef DATA_SYNCTHINGDOWNLOADMODEL_H
|
||||
#define DATA_SYNCTHINGDOWNLOADMODEL_H
|
||||
|
||||
#include "./global.h"
|
||||
|
||||
#include <QAbstractItemModel>
|
||||
#include <QIcon>
|
||||
#include <QFileIconProvider>
|
||||
|
@ -13,7 +15,7 @@ class SyncthingConnection;
|
|||
struct SyncthingDir;
|
||||
struct SyncthingItemDownloadProgress;
|
||||
|
||||
class SyncthingDownloadModel : public QAbstractItemModel
|
||||
class LIB_SYNCTHING_MODEL_EXPORT SyncthingDownloadModel : public QAbstractItemModel
|
||||
{
|
||||
Q_OBJECT
|
||||
Q_PROPERTY(unsigned int pendingDownloads READ pendingDownloads NOTIFY pendingDownloadsChanged)
|
|
@ -0,0 +1,133 @@
|
|||
cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR)
|
||||
|
||||
# metadata
|
||||
set(META_PROJECT_TYPE application)
|
||||
set(META_GUI_OPTIONAL false)
|
||||
|
||||
# add project files
|
||||
set(WIDGETS_HEADER_FILES
|
||||
application/settings.h
|
||||
application/singleinstance.h
|
||||
gui/trayicon.h
|
||||
gui/traywidget.h
|
||||
gui/traymenu.h
|
||||
gui/settingsdialog.h
|
||||
gui/webpage.h
|
||||
gui/webviewdialog.h
|
||||
gui/webviewprovider.h
|
||||
gui/dirbuttonsitemdelegate.h
|
||||
gui/devbuttonsitemdelegate.h
|
||||
gui/downloaditemdelegate.h
|
||||
gui/dirview.h
|
||||
gui/devview.h
|
||||
gui/downloadview.h
|
||||
gui/textviewdialog.h
|
||||
)
|
||||
set(WIDGETS_SRC_FILES
|
||||
application/main.cpp
|
||||
application/settings.cpp
|
||||
application/singleinstance.cpp
|
||||
gui/trayicon.cpp
|
||||
gui/traywidget.cpp
|
||||
gui/traymenu.cpp
|
||||
gui/settingsdialog.cpp
|
||||
gui/webpage.cpp
|
||||
gui/webviewdialog.cpp
|
||||
gui/dirbuttonsitemdelegate.cpp
|
||||
gui/devbuttonsitemdelegate.cpp
|
||||
gui/downloaditemdelegate.cpp
|
||||
gui/dirview.cpp
|
||||
gui/devview.cpp
|
||||
gui/downloadview.cpp
|
||||
gui/textviewdialog.cpp
|
||||
resources/icons.qrc
|
||||
)
|
||||
set(WIDGETS_UI_FILES
|
||||
gui/traywidget.ui
|
||||
gui/connectionoptionpage.ui
|
||||
gui/notificationsoptionpage.ui
|
||||
gui/appearanceoptionpage.ui
|
||||
gui/autostartoptionpage.ui
|
||||
gui/launcheroptionpage.ui
|
||||
gui/webviewoptionpage.ui
|
||||
)
|
||||
|
||||
set(TS_FILES
|
||||
translations/${META_PROJECT_NAME}_de_DE.ts
|
||||
translations/${META_PROJECT_NAME}_en_US.ts
|
||||
)
|
||||
|
||||
set(ICON_FILES
|
||||
resources/icons/hicolor/scalable/app/${META_PROJECT_NAME}.svg
|
||||
)
|
||||
set(PNG_ICON_PATH "${CMAKE_CURRENT_SOURCE_DIR}/resources/icons/hicolor/scalable/app/${META_PROJECT_NAME}.png")
|
||||
set(PNG_ICON_NO_CROP ON)
|
||||
|
||||
set(DOC_FILES
|
||||
README.md
|
||||
)
|
||||
|
||||
set(REQUIRED_ICONS
|
||||
dialog-cancel
|
||||
dialog-ok
|
||||
dialog-ok-apply
|
||||
edit-copy
|
||||
edit-paste
|
||||
folder
|
||||
folder-download
|
||||
folder-open
|
||||
folder-sync
|
||||
help-about
|
||||
internet-web-browser
|
||||
list-add
|
||||
list-remove
|
||||
media-playback-pause
|
||||
media-playback-start
|
||||
network-card
|
||||
network-connect
|
||||
network-server
|
||||
preferences-desktop
|
||||
preferences-desktop-icons
|
||||
preferences-desktop-locale
|
||||
preferences-desktop-notification
|
||||
preferences-other
|
||||
qtcreator
|
||||
system-run
|
||||
system-search
|
||||
system-file-manager
|
||||
text-plain
|
||||
view-barcode
|
||||
view-refresh
|
||||
window-close
|
||||
)
|
||||
|
||||
# find c++utilities
|
||||
find_package(c++utilities 4.0.0 REQUIRED)
|
||||
use_cpp_utilities()
|
||||
|
||||
# find qtutilities
|
||||
find_package(qtutilities 5.0.0 REQUIRED)
|
||||
use_qt_utilities()
|
||||
|
||||
# find backend libraries
|
||||
find_package(syncthingconnector ${META_APP_VERSION} REQUIRED)
|
||||
use_syncthingconnector()
|
||||
find_package(syncthingmodel ${META_APP_VERSION} REQUIRED)
|
||||
use_syncthingmodel()
|
||||
|
||||
# link also explicitely against the following Qt 5 modules
|
||||
list(APPEND ADDITIONAL_QT_MODULES Network Svg)
|
||||
|
||||
# include modules to apply configuration
|
||||
include(BasicConfig)
|
||||
include(QtGuiConfig)
|
||||
include(QtConfig)
|
||||
include(WindowsResources)
|
||||
include(WebViewProviderConfig)
|
||||
include(AppTarget)
|
||||
include(ShellCompletion)
|
||||
include(Doxygen)
|
||||
include(ConfigHeader)
|
||||
|
||||
# create desktop file using previously defined meta data
|
||||
add_desktop_file()
|
|
@ -4,7 +4,7 @@
|
|||
#include "../gui/trayicon.h"
|
||||
#include "../gui/traywidget.h"
|
||||
|
||||
#include "../data/syncthingprocess.h"
|
||||
#include "../../connector/syncthingprocess.h"
|
||||
|
||||
#include "resources/config.h"
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
#ifndef SETTINGS_H
|
||||
#define SETTINGS_H
|
||||
|
||||
#include "../data/syncthingconnectionsettings.h"
|
||||
#include "../../connector/syncthingconnectionsettings.h"
|
||||
|
||||
#include <c++utilities/conversion/types.h>
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
#include "./devbuttonsitemdelegate.h"
|
||||
|
||||
#include "../data/syncthingdevicemodel.h"
|
||||
#include "../data/syncthingconnection.h"
|
||||
#include "../../connector/syncthingconnection.h"
|
||||
#include "../../model/syncthingdevicemodel.h"
|
||||
|
||||
#include <QPixmap>
|
||||
#include <QPainter>
|
|
@ -1,7 +1,7 @@
|
|||
#include "./devview.h"
|
||||
#include "./devbuttonsitemdelegate.h"
|
||||
|
||||
#include "../data/syncthingdevicemodel.h"
|
||||
#include "../../model/syncthingdevicemodel.h"
|
||||
|
||||
#include <QHeaderView>
|
||||
#include <QMouseEvent>
|
|
@ -1,7 +1,7 @@
|
|||
#include "./dirview.h"
|
||||
#include "./dirbuttonsitemdelegate.h"
|
||||
|
||||
#include "../data/syncthingdirectorymodel.h"
|
||||
#include "../../model/syncthingdirectorymodel.h"
|
||||
|
||||
#include <QHeaderView>
|
||||
#include <QMouseEvent>
|
|
@ -1,6 +1,6 @@
|
|||
#include "./downloaditemdelegate.h"
|
||||
|
||||
#include "../data/syncthingdownloadmodel.h"
|
||||
#include "../../model/syncthingdownloadmodel.h"
|
||||
|
||||
#include <QPixmap>
|
||||
#include <QPainter>
|
|
@ -1,7 +1,7 @@
|
|||
#include "./downloadview.h"
|
||||
#include "./downloaditemdelegate.h"
|
||||
|
||||
#include "../data/syncthingdownloadmodel.h"
|
||||
#include "../../model/syncthingdownloadmodel.h"
|
||||
|
||||
#include <QHeaderView>
|
||||
#include <QMouseEvent>
|
|
@ -1,8 +1,8 @@
|
|||
#include "./settingsdialog.h"
|
||||
|
||||
#include "../data/syncthingconnection.h"
|
||||
#include "../data/syncthingconfig.h"
|
||||
#include "../data/syncthingprocess.h"
|
||||
#include "../../connector/syncthingconnection.h"
|
||||
#include "../../connector/syncthingconfig.h"
|
||||
#include "../../connector/syncthingprocess.h"
|
||||
|
||||
#include "ui_connectionoptionpage.h"
|
||||
#include "ui_notificationsoptionpage.h"
|
|
@ -2,7 +2,8 @@
|
|||
#include "./traywidget.h"
|
||||
|
||||
#include "../application/settings.h"
|
||||
#include "../data/syncthingconnection.h"
|
||||
|
||||
#include "../../connector/syncthingconnection.h"
|
||||
|
||||
#include <qtutilities/misc/dialogutils.h>
|
||||
|
|
@ -3,17 +3,13 @@
|
|||
|
||||
#include "./traymenu.h"
|
||||
|
||||
#include <c++utilities/application/global.h>
|
||||
#include <c++utilities/chrono/datetime.h>
|
||||
|
||||
#include <QSystemTrayIcon>
|
||||
#include <QIcon>
|
||||
|
||||
QT_FORWARD_DECLARE_CLASS(QPixmap)
|
||||
|
||||
namespace ChronoUtilities {
|
||||
class DateTime;
|
||||
}
|
||||
|
||||
namespace Data {
|
||||
enum class SyncthingStatus;
|
||||
}
|
|
@ -209,8 +209,11 @@ void TrayWidget::showOwnDeviceId()
|
|||
layout->addWidget(copyPushButton);
|
||||
connect(dlg, &QWidget::destroyed,
|
||||
bind(static_cast<bool(*)(const QMetaObject::Connection &)>(&QObject::disconnect),
|
||||
m_connection.requestQrCode(m_connection.myId(), bind(&QLabel::setPixmap, pixmapLabel, placeholders::_1))
|
||||
));
|
||||
m_connection.requestQrCode(m_connection.myId(), [pixmapLabel](const QByteArray &data) {
|
||||
QPixmap pixmap;
|
||||
pixmap.loadFromData(data);
|
||||
pixmapLabel->setPixmap(pixmap);
|
||||
})));
|
||||
dlg->setLayout(layout);
|
||||
centerWidget(dlg);
|
||||
showDialog(dlg);
|
|
@ -3,13 +3,15 @@
|
|||
|
||||
#include "./webviewprovider.h"
|
||||
|
||||
#include "../data/syncthingconnection.h"
|
||||
#include "../data/syncthingdirectorymodel.h"
|
||||
#include "../data/syncthingdevicemodel.h"
|
||||
#include "../data/syncthingdownloadmodel.h"
|
||||
#include "../data/syncthingprocess.h"
|
||||
#include "../application/settings.h"
|
||||
|
||||
#include "../../connector/syncthingconnection.h"
|
||||
#include "../../connector/syncthingprocess.h"
|
||||
|
||||
#include "../../model/syncthingdirectorymodel.h"
|
||||
#include "../../model/syncthingdevicemodel.h"
|
||||
#include "../../model/syncthingdownloadmodel.h"
|
||||
|
||||
#include <QWidget>
|
||||
|
||||
#include <memory>
|
|
@ -3,7 +3,8 @@
|
|||
#include "./webviewdialog.h"
|
||||
|
||||
#include "../application/settings.h"
|
||||
#include "../data/syncthingconnection.h"
|
||||
|
||||
#include "../../connector/syncthingconnection.h"
|
||||
|
||||
#include "resources/config.h"
|
||||
|
Before Width: | Height: | Size: 443 B After Width: | Height: | Size: 443 B |
Before Width: | Height: | Size: 522 B After Width: | Height: | Size: 522 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 577 B After Width: | Height: | Size: 577 B |
Before Width: | Height: | Size: 480 B After Width: | Height: | Size: 480 B |
Before Width: | Height: | Size: 438 B After Width: | Height: | Size: 438 B |
Before Width: | Height: | Size: 586 B After Width: | Height: | Size: 586 B |
Before Width: | Height: | Size: 546 B After Width: | Height: | Size: 546 B |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 626 B After Width: | Height: | Size: 626 B |
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 635 B After Width: | Height: | Size: 635 B |
Before Width: | Height: | Size: 585 B After Width: | Height: | Size: 585 B |
Before Width: | Height: | Size: 654 B After Width: | Height: | Size: 654 B |
Before Width: | Height: | Size: 574 B After Width: | Height: | Size: 574 B |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 116 KiB After Width: | Height: | Size: 116 KiB |
Before Width: | Height: | Size: 99 KiB After Width: | Height: | Size: 99 KiB |
|
@ -1,392 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="de_DE">
|
||||
<context>
|
||||
<name>Data::SyncthingConnection</name>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="172"/>
|
||||
<source>disconnected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="174"/>
|
||||
<source>reconnecting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="176"/>
|
||||
<source>connected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="178"/>
|
||||
<source>connected, notifications available</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="180"/>
|
||||
<source>connected, paused</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="182"/>
|
||||
<source>connected, synchronizing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="184"/>
|
||||
<source>unknown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="196"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="278"/>
|
||||
<source>Connection configuration is insufficient.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="601"/>
|
||||
<source>Unable to parse Syncthing log: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="605"/>
|
||||
<source>Unable to request system log: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="627"/>
|
||||
<source>Unable to locate certificate used by Syncthing GUI.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="633"/>
|
||||
<source>Unable to load certificate used by Syncthing GUI.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="666"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="768"/>
|
||||
<source>Unable to parse Syncthing config: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="672"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="774"/>
|
||||
<source>Unable to request Syncthing config: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="849"/>
|
||||
<source>Unable to parse connections: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="855"/>
|
||||
<source>Unable to request connections: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="910"/>
|
||||
<source>Unable to parse directory statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="916"/>
|
||||
<source>Unable to request directory statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="953"/>
|
||||
<source>Unable to parse device statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="959"/>
|
||||
<source>Unable to request device statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="994"/>
|
||||
<source>Unable to parse errors: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1005"/>
|
||||
<source>Unable to request errors: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1056"/>
|
||||
<source>Unable to parse Syncthing events: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1075"/>
|
||||
<source>Unable to request Syncthing events: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1313"/>
|
||||
<source>Unable to request rescan: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1328"/>
|
||||
<source>Unable to request pause/resume: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1343"/>
|
||||
<source>Unable to request restart: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="572"/>
|
||||
<source>Unable to request QR-Code: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Data::SyncthingDeviceModel</name>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="61"/>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="87"/>
|
||||
<source>ID</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="62"/>
|
||||
<source>Status</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="88"/>
|
||||
<source>Addresses</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="89"/>
|
||||
<source>Last seen</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="90"/>
|
||||
<source>Compression</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="91"/>
|
||||
<source>Certificate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="92"/>
|
||||
<source>Introducer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="102"/>
|
||||
<source>none</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="103"/>
|
||||
<source>yes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="103"/>
|
||||
<source>no</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="155"/>
|
||||
<source>Unknown status</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="157"/>
|
||||
<source>Idle</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="158"/>
|
||||
<source>Disconnected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="159"/>
|
||||
<source>Synchronizing (%1 %)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="159"/>
|
||||
<source>Synchronizing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="156"/>
|
||||
<source>Own device</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="100"/>
|
||||
<source>unknown or own device</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="152"/>
|
||||
<source>Paused</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="160"/>
|
||||
<source>Out of sync</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="161"/>
|
||||
<source>Rejected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Data::SyncthingDirectoryModel</name>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="61"/>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="87"/>
|
||||
<source>ID</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="62"/>
|
||||
<source>Status</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="88"/>
|
||||
<source>Path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="89"/>
|
||||
<source>Devices</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="91"/>
|
||||
<source>Rescan interval</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="92"/>
|
||||
<source>Last scan</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="93"/>
|
||||
<source>Last file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="102"/>
|
||||
<source>yes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="102"/>
|
||||
<source>no</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="104"/>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="105"/>
|
||||
<source>unknown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="143"/>
|
||||
<source>Deleted at %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="145"/>
|
||||
<source>Updated at %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="166"/>
|
||||
<source>Idle</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="167"/>
|
||||
<source>Scanning (%1 %)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="168"/>
|
||||
<source>Synchronizing (%1 %)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="170"/>
|
||||
<source>Out of sync</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="167"/>
|
||||
<source>Scanning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="90"/>
|
||||
<source>Read-only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="165"/>
|
||||
<source>Unknown status</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="168"/>
|
||||
<source>Synchronizing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="169"/>
|
||||
<source>Paused</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Data::SyncthingDownloadModel</name>
|
||||
<message>
|
||||
<location filename="../data/syncthingdownloadmodel.cpp" line="71"/>
|
||||
<source>Dir/item</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdownloadmodel.cpp" line="72"/>
|
||||
<source>Progress</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Data::Utils</name>
|
||||
<message>
|
||||
<location filename="../data/utils.cpp" line="16"/>
|
||||
<source>%1 ago</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/utils.cpp" line="18"/>
|
||||
<source>right now</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtGui::AppearanceOptionPage</name>
|
||||
<message>
|
||||
|
@ -790,82 +404,82 @@
|
|||
<context>
|
||||
<name>QtGui::TrayIcon</name>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="35"/>
|
||||
<location filename="../gui/trayicon.cpp" line="36"/>
|
||||
<source>Web UI</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="36"/>
|
||||
<location filename="../gui/trayicon.cpp" line="37"/>
|
||||
<source>Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="37"/>
|
||||
<location filename="../gui/trayicon.cpp" line="38"/>
|
||||
<source>Rescan all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="39"/>
|
||||
<location filename="../gui/trayicon.cpp" line="40"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="41"/>
|
||||
<location filename="../gui/trayicon.cpp" line="42"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="86"/>
|
||||
<location filename="../gui/trayicon.cpp" line="87"/>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="93"/>
|
||||
<location filename="../gui/trayicon.cpp" line="94"/>
|
||||
<source>Syncthing notification - click to dismiss</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="102"/>
|
||||
<location filename="../gui/trayicon.cpp" line="103"/>
|
||||
<source>Not connected to Syncthing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="104"/>
|
||||
<location filename="../gui/trayicon.cpp" line="105"/>
|
||||
<source>Disconnected from Syncthing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="109"/>
|
||||
<location filename="../gui/trayicon.cpp" line="110"/>
|
||||
<source>Reconnecting ...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="113"/>
|
||||
<location filename="../gui/trayicon.cpp" line="114"/>
|
||||
<source>Syncthing is idling</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="117"/>
|
||||
<location filename="../gui/trayicon.cpp" line="118"/>
|
||||
<source>Syncthing is scanning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="121"/>
|
||||
<location filename="../gui/trayicon.cpp" line="122"/>
|
||||
<source>Notifications available</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="125"/>
|
||||
<location filename="../gui/trayicon.cpp" line="126"/>
|
||||
<source>At least one device is paused</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="129"/>
|
||||
<location filename="../gui/trayicon.cpp" line="130"/>
|
||||
<source>Synchronization is ongoing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="139"/>
|
||||
<location filename="../gui/trayicon.cpp" line="140"/>
|
||||
<source>Synchronization complete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -879,7 +493,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.ui" line="107"/>
|
||||
<location filename="../gui/traywidget.cpp" line="264"/>
|
||||
<location filename="../gui/traywidget.cpp" line="267"/>
|
||||
<source>Connect</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -917,7 +531,7 @@ For <i>all</i> notifications, checkout the log</source>
|
|||
<message>
|
||||
<location filename="../gui/traywidget.ui" line="230"/>
|
||||
<location filename="../gui/traywidget.ui" line="250"/>
|
||||
<location filename="../gui/traywidget.cpp" line="403"/>
|
||||
<location filename="../gui/traywidget.cpp" line="406"/>
|
||||
<source>unknown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -994,42 +608,42 @@ For <i>all</i> notifications, checkout the log</source>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.ui" line="276"/>
|
||||
<location filename="../gui/traywidget.cpp" line="235"/>
|
||||
<location filename="../gui/traywidget.cpp" line="238"/>
|
||||
<source>New notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="265"/>
|
||||
<location filename="../gui/traywidget.cpp" line="268"/>
|
||||
<source>Not connected to Syncthing, click to connect</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="277"/>
|
||||
<location filename="../gui/traywidget.cpp" line="280"/>
|
||||
<source>Pause</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="278"/>
|
||||
<location filename="../gui/traywidget.cpp" line="281"/>
|
||||
<source>Syncthing is running, click to pause all devices</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="284"/>
|
||||
<location filename="../gui/traywidget.cpp" line="287"/>
|
||||
<source>At least one device is paused, click to resume</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="351"/>
|
||||
<location filename="../gui/traywidget.cpp" line="354"/>
|
||||
<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="360"/>
|
||||
<location filename="../gui/traywidget.cpp" line="363"/>
|
||||
<source>The file <i>%1</i> does not exist on the local machine.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="283"/>
|
||||
<location filename="../gui/traywidget.cpp" line="286"/>
|
||||
<source>Continue</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1039,7 +653,7 @@ For <i>all</i> notifications, checkout the log</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="221"/>
|
||||
<location filename="../gui/traywidget.cpp" line="224"/>
|
||||
<source>Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
|
@ -1,392 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!DOCTYPE TS>
|
||||
<TS version="2.1" language="en_US">
|
||||
<context>
|
||||
<name>Data::SyncthingConnection</name>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="172"/>
|
||||
<source>disconnected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="174"/>
|
||||
<source>reconnecting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="176"/>
|
||||
<source>connected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="178"/>
|
||||
<source>connected, notifications available</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="180"/>
|
||||
<source>connected, paused</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="182"/>
|
||||
<source>connected, synchronizing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="184"/>
|
||||
<source>unknown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="196"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="278"/>
|
||||
<source>Connection configuration is insufficient.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="601"/>
|
||||
<source>Unable to parse Syncthing log: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="605"/>
|
||||
<source>Unable to request system log: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="627"/>
|
||||
<source>Unable to locate certificate used by Syncthing GUI.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="633"/>
|
||||
<source>Unable to load certificate used by Syncthing GUI.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="666"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="768"/>
|
||||
<source>Unable to parse Syncthing config: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="672"/>
|
||||
<location filename="../data/syncthingconnection.cpp" line="774"/>
|
||||
<source>Unable to request Syncthing config: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="849"/>
|
||||
<source>Unable to parse connections: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="855"/>
|
||||
<source>Unable to request connections: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="910"/>
|
||||
<source>Unable to parse directory statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="916"/>
|
||||
<source>Unable to request directory statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="953"/>
|
||||
<source>Unable to parse device statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="959"/>
|
||||
<source>Unable to request device statistics: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="994"/>
|
||||
<source>Unable to parse errors: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1005"/>
|
||||
<source>Unable to request errors: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1056"/>
|
||||
<source>Unable to parse Syncthing events: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1075"/>
|
||||
<source>Unable to request Syncthing events: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1313"/>
|
||||
<source>Unable to request rescan: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1328"/>
|
||||
<source>Unable to request pause/resume: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="1343"/>
|
||||
<source>Unable to request restart: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingconnection.cpp" line="572"/>
|
||||
<source>Unable to request QR-Code: </source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Data::SyncthingDeviceModel</name>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="61"/>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="87"/>
|
||||
<source>ID</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="62"/>
|
||||
<source>Status</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="88"/>
|
||||
<source>Addresses</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="89"/>
|
||||
<source>Last seen</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="90"/>
|
||||
<source>Compression</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="91"/>
|
||||
<source>Certificate</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="92"/>
|
||||
<source>Introducer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="102"/>
|
||||
<source>none</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="103"/>
|
||||
<source>yes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="103"/>
|
||||
<source>no</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="155"/>
|
||||
<source>Unknown status</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="157"/>
|
||||
<source>Idle</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="158"/>
|
||||
<source>Disconnected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="159"/>
|
||||
<source>Synchronizing (%1 %)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="159"/>
|
||||
<source>Synchronizing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="156"/>
|
||||
<source>Own device</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="100"/>
|
||||
<source>unknown or own device</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="152"/>
|
||||
<source>Paused</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="160"/>
|
||||
<source>Out of sync</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdevicemodel.cpp" line="161"/>
|
||||
<source>Rejected</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Data::SyncthingDirectoryModel</name>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="61"/>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="87"/>
|
||||
<source>ID</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="62"/>
|
||||
<source>Status</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="88"/>
|
||||
<source>Path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="89"/>
|
||||
<source>Devices</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="91"/>
|
||||
<source>Rescan interval</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="92"/>
|
||||
<source>Last scan</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="93"/>
|
||||
<source>Last file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="102"/>
|
||||
<source>yes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="102"/>
|
||||
<source>no</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="104"/>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="105"/>
|
||||
<source>unknown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="143"/>
|
||||
<source>Deleted at %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="145"/>
|
||||
<source>Updated at %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="166"/>
|
||||
<source>Idle</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="167"/>
|
||||
<source>Scanning (%1 %)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="168"/>
|
||||
<source>Synchronizing (%1 %)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="170"/>
|
||||
<source>Out of sync</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="167"/>
|
||||
<source>Scanning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="90"/>
|
||||
<source>Read-only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="165"/>
|
||||
<source>Unknown status</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="168"/>
|
||||
<source>Synchronizing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdirectorymodel.cpp" line="169"/>
|
||||
<source>Paused</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Data::SyncthingDownloadModel</name>
|
||||
<message>
|
||||
<location filename="../data/syncthingdownloadmodel.cpp" line="71"/>
|
||||
<source>Dir/item</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/syncthingdownloadmodel.cpp" line="72"/>
|
||||
<source>Progress</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Data::Utils</name>
|
||||
<message>
|
||||
<location filename="../data/utils.cpp" line="16"/>
|
||||
<source>%1 ago</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../data/utils.cpp" line="18"/>
|
||||
<source>right now</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>QtGui::AppearanceOptionPage</name>
|
||||
<message>
|
||||
|
@ -790,82 +404,82 @@
|
|||
<context>
|
||||
<name>QtGui::TrayIcon</name>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="35"/>
|
||||
<location filename="../gui/trayicon.cpp" line="36"/>
|
||||
<source>Web UI</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="36"/>
|
||||
<location filename="../gui/trayicon.cpp" line="37"/>
|
||||
<source>Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="37"/>
|
||||
<location filename="../gui/trayicon.cpp" line="38"/>
|
||||
<source>Rescan all</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="39"/>
|
||||
<location filename="../gui/trayicon.cpp" line="40"/>
|
||||
<source>About</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="41"/>
|
||||
<location filename="../gui/trayicon.cpp" line="42"/>
|
||||
<source>Close</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="86"/>
|
||||
<location filename="../gui/trayicon.cpp" line="87"/>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="93"/>
|
||||
<location filename="../gui/trayicon.cpp" line="94"/>
|
||||
<source>Syncthing notification - click to dismiss</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="102"/>
|
||||
<location filename="../gui/trayicon.cpp" line="103"/>
|
||||
<source>Not connected to Syncthing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="104"/>
|
||||
<location filename="../gui/trayicon.cpp" line="105"/>
|
||||
<source>Disconnected from Syncthing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="109"/>
|
||||
<location filename="../gui/trayicon.cpp" line="110"/>
|
||||
<source>Reconnecting ...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="113"/>
|
||||
<location filename="../gui/trayicon.cpp" line="114"/>
|
||||
<source>Syncthing is idling</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="117"/>
|
||||
<location filename="../gui/trayicon.cpp" line="118"/>
|
||||
<source>Syncthing is scanning</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="121"/>
|
||||
<location filename="../gui/trayicon.cpp" line="122"/>
|
||||
<source>Notifications available</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="125"/>
|
||||
<location filename="../gui/trayicon.cpp" line="126"/>
|
||||
<source>At least one device is paused</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="129"/>
|
||||
<location filename="../gui/trayicon.cpp" line="130"/>
|
||||
<source>Synchronization is ongoing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/trayicon.cpp" line="139"/>
|
||||
<location filename="../gui/trayicon.cpp" line="140"/>
|
||||
<source>Synchronization complete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -879,7 +493,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.ui" line="107"/>
|
||||
<location filename="../gui/traywidget.cpp" line="264"/>
|
||||
<location filename="../gui/traywidget.cpp" line="267"/>
|
||||
<source>Connect</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -917,7 +531,7 @@ For <i>all</i> notifications, checkout the log</source>
|
|||
<message>
|
||||
<location filename="../gui/traywidget.ui" line="230"/>
|
||||
<location filename="../gui/traywidget.ui" line="250"/>
|
||||
<location filename="../gui/traywidget.cpp" line="403"/>
|
||||
<location filename="../gui/traywidget.cpp" line="406"/>
|
||||
<source>unknown</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -994,42 +608,42 @@ For <i>all</i> notifications, checkout the log</source>
|
|||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.ui" line="276"/>
|
||||
<location filename="../gui/traywidget.cpp" line="235"/>
|
||||
<location filename="../gui/traywidget.cpp" line="238"/>
|
||||
<source>New notifications</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="265"/>
|
||||
<location filename="../gui/traywidget.cpp" line="268"/>
|
||||
<source>Not connected to Syncthing, click to connect</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="277"/>
|
||||
<location filename="../gui/traywidget.cpp" line="280"/>
|
||||
<source>Pause</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="278"/>
|
||||
<location filename="../gui/traywidget.cpp" line="281"/>
|
||||
<source>Syncthing is running, click to pause all devices</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="284"/>
|
||||
<location filename="../gui/traywidget.cpp" line="287"/>
|
||||
<source>At least one device is paused, click to resume</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="351"/>
|
||||
<location filename="../gui/traywidget.cpp" line="354"/>
|
||||
<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="360"/>
|
||||
<location filename="../gui/traywidget.cpp" line="363"/>
|
||||
<source>The file <i>%1</i> does not exist on the local machine.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="283"/>
|
||||
<location filename="../gui/traywidget.cpp" line="286"/>
|
||||
<source>Continue</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -1039,7 +653,7 @@ For <i>all</i> notifications, checkout the log</source>
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../gui/traywidget.cpp" line="221"/>
|
||||
<location filename="../gui/traywidget.cpp" line="224"/>
|
||||
<source>Log</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|