Move icon rendering to model backend
This commit is contained in:
parent
eab769b654
commit
8c6b0fd3d4
|
@ -16,6 +16,7 @@ set(HEADER_FILES
|
||||||
syncthingdirectorymodel.h
|
syncthingdirectorymodel.h
|
||||||
syncthingdevicemodel.h
|
syncthingdevicemodel.h
|
||||||
syncthingdownloadmodel.h
|
syncthingdownloadmodel.h
|
||||||
|
syncthingicons.h
|
||||||
colors.h
|
colors.h
|
||||||
)
|
)
|
||||||
set(SRC_FILES
|
set(SRC_FILES
|
||||||
|
@ -23,6 +24,7 @@ set(SRC_FILES
|
||||||
syncthingdirectorymodel.cpp
|
syncthingdirectorymodel.cpp
|
||||||
syncthingdevicemodel.cpp
|
syncthingdevicemodel.cpp
|
||||||
syncthingdownloadmodel.cpp
|
syncthingdownloadmodel.cpp
|
||||||
|
syncthingicons.cpp
|
||||||
)
|
)
|
||||||
set(RES_FILES
|
set(RES_FILES
|
||||||
resources/${META_PROJECT_NAME}icons.qrc
|
resources/${META_PROJECT_NAME}icons.qrc
|
||||||
|
@ -46,7 +48,7 @@ find_package(syncthingconnector ${META_APP_VERSION} REQUIRED)
|
||||||
use_syncthingconnector()
|
use_syncthingconnector()
|
||||||
|
|
||||||
# link also explicitely against the following Qt 5 modules
|
# link also explicitely against the following Qt 5 modules
|
||||||
list(APPEND ADDITIONAL_QT_MODULES Network Gui Widgets)
|
list(APPEND ADDITIONAL_QT_MODULES Network Gui Widgets Svg)
|
||||||
|
|
||||||
# include modules to apply configuration
|
# include modules to apply configuration
|
||||||
include(BasicConfig)
|
include(BasicConfig)
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#include "./syncthingdevicemodel.h"
|
#include "./syncthingdevicemodel.h"
|
||||||
|
#include "./syncthingicons.h"
|
||||||
#include "./colors.h"
|
#include "./colors.h"
|
||||||
|
|
||||||
#include "../connector/syncthingconnection.h"
|
#include "../connector/syncthingconnection.h"
|
||||||
|
@ -10,13 +11,7 @@ namespace Data {
|
||||||
|
|
||||||
SyncthingDeviceModel::SyncthingDeviceModel(SyncthingConnection &connection, QObject *parent) :
|
SyncthingDeviceModel::SyncthingDeviceModel(SyncthingConnection &connection, QObject *parent) :
|
||||||
SyncthingModel(connection, parent),
|
SyncthingModel(connection, parent),
|
||||||
m_devs(connection.devInfo()),
|
m_devs(connection.devInfo())
|
||||||
m_unknownIcon(QIcon(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-disconnected.svg"))),
|
|
||||||
m_idleIcon(QIcon(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-ok.svg"))),
|
|
||||||
m_syncIcon(QIcon(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-sync.svg"))),
|
|
||||||
m_errorIcon(QIcon(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-error.svg"))),
|
|
||||||
m_pausedIcon(QIcon(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-pause.svg"))),
|
|
||||||
m_otherIcon(QIcon(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-default.svg")))
|
|
||||||
{
|
{
|
||||||
connect(&m_connection, &SyncthingConnection::newConfig, this, &SyncthingDeviceModel::newConfig);
|
connect(&m_connection, &SyncthingConnection::newConfig, this, &SyncthingDeviceModel::newConfig);
|
||||||
connect(&m_connection, &SyncthingConnection::newDevices, this, &SyncthingDeviceModel::newDevices);
|
connect(&m_connection, &SyncthingConnection::newDevices, this, &SyncthingDeviceModel::newDevices);
|
||||||
|
@ -169,16 +164,16 @@ QVariant SyncthingDeviceModel::data(const QModelIndex &index, int role) const
|
||||||
switch(index.column()) {
|
switch(index.column()) {
|
||||||
case 0:
|
case 0:
|
||||||
if(dev.paused) {
|
if(dev.paused) {
|
||||||
return m_pausedIcon;
|
return statusIcons().pause;
|
||||||
} else {
|
} else {
|
||||||
switch(dev.status) {
|
switch(dev.status) {
|
||||||
case SyncthingDevStatus::Unknown:
|
case SyncthingDevStatus::Unknown:
|
||||||
case SyncthingDevStatus::Disconnected: return m_unknownIcon;
|
case SyncthingDevStatus::Disconnected: return statusIcons().disconnected;
|
||||||
case SyncthingDevStatus::OwnDevice:
|
case SyncthingDevStatus::OwnDevice:
|
||||||
case SyncthingDevStatus::Idle: return m_idleIcon;
|
case SyncthingDevStatus::Idle: return statusIcons().idling;
|
||||||
case SyncthingDevStatus::Synchronizing: return m_syncIcon;
|
case SyncthingDevStatus::Synchronizing: return statusIcons().sync;
|
||||||
case SyncthingDevStatus::OutOfSync:
|
case SyncthingDevStatus::OutOfSync:
|
||||||
case SyncthingDevStatus::Rejected: return m_errorIcon;
|
case SyncthingDevStatus::Rejected: return statusIcons().error;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -41,12 +41,6 @@ private Q_SLOTS:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const std::vector<SyncthingDev> &m_devs;
|
const std::vector<SyncthingDev> &m_devs;
|
||||||
const QIcon m_unknownIcon;
|
|
||||||
const QIcon m_idleIcon;
|
|
||||||
const QIcon m_syncIcon;
|
|
||||||
const QIcon m_errorIcon;
|
|
||||||
const QIcon m_pausedIcon;
|
|
||||||
const QIcon m_otherIcon;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Data
|
} // namespace Data
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#include "./syncthingdirectorymodel.h"
|
#include "./syncthingdirectorymodel.h"
|
||||||
|
#include "./syncthingicons.h"
|
||||||
#include "./colors.h"
|
#include "./colors.h"
|
||||||
|
|
||||||
#include "../connector/syncthingconnection.h"
|
#include "../connector/syncthingconnection.h"
|
||||||
|
@ -12,13 +13,7 @@ namespace Data {
|
||||||
|
|
||||||
SyncthingDirectoryModel::SyncthingDirectoryModel(SyncthingConnection &connection, QObject *parent) :
|
SyncthingDirectoryModel::SyncthingDirectoryModel(SyncthingConnection &connection, QObject *parent) :
|
||||||
SyncthingModel(connection, parent),
|
SyncthingModel(connection, parent),
|
||||||
m_dirs(connection.dirInfo()),
|
m_dirs(connection.dirInfo())
|
||||||
m_unknownIcon(QIcon(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-disconnected.svg"))),
|
|
||||||
m_idleIcon(QIcon(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-ok.svg"))),
|
|
||||||
m_syncIcon(QIcon(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-sync.svg"))),
|
|
||||||
m_errorIcon(QIcon(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-error.svg"))),
|
|
||||||
m_pausedIcon(QIcon(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-pause.svg"))),
|
|
||||||
m_otherIcon(QIcon(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-default.svg")))
|
|
||||||
{
|
{
|
||||||
connect(&m_connection, &SyncthingConnection::newConfig, this, &SyncthingDirectoryModel::newConfig);
|
connect(&m_connection, &SyncthingConnection::newConfig, this, &SyncthingDirectoryModel::newConfig);
|
||||||
connect(&m_connection, &SyncthingConnection::newDirs, this, &SyncthingDirectoryModel::newDirs);
|
connect(&m_connection, &SyncthingConnection::newDirs, this, &SyncthingDirectoryModel::newDirs);
|
||||||
|
@ -188,13 +183,13 @@ QVariant SyncthingDirectoryModel::data(const QModelIndex &index, int role) const
|
||||||
switch(index.column()) {
|
switch(index.column()) {
|
||||||
case 0:
|
case 0:
|
||||||
switch(dir.status) {
|
switch(dir.status) {
|
||||||
case SyncthingDirStatus::Unknown: return m_unknownIcon;
|
case SyncthingDirStatus::Unknown:
|
||||||
case SyncthingDirStatus::Unshared: return m_unknownIcon;
|
case SyncthingDirStatus::Unshared: return statusIcons().disconnected;
|
||||||
case SyncthingDirStatus::Idle: return m_idleIcon;
|
case SyncthingDirStatus::Idle: return statusIcons().idling;
|
||||||
case SyncthingDirStatus::Scanning: return m_otherIcon;
|
case SyncthingDirStatus::Scanning: return statusIcons().scanninig;
|
||||||
case SyncthingDirStatus::Synchronizing: return m_syncIcon;
|
case SyncthingDirStatus::Synchronizing: return statusIcons().sync;
|
||||||
case SyncthingDirStatus::Paused: return m_pausedIcon;
|
case SyncthingDirStatus::Paused: return statusIcons().pause;
|
||||||
case SyncthingDirStatus::OutOfSync: return m_errorIcon;
|
case SyncthingDirStatus::OutOfSync: return statusIcons().error;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,12 +34,6 @@ private Q_SLOTS:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const std::vector<SyncthingDir> &m_dirs;
|
const std::vector<SyncthingDir> &m_dirs;
|
||||||
const QIcon m_unknownIcon;
|
|
||||||
const QIcon m_idleIcon;
|
|
||||||
const QIcon m_syncIcon;
|
|
||||||
const QIcon m_errorIcon;
|
|
||||||
const QIcon m_pausedIcon;
|
|
||||||
const QIcon m_otherIcon;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Data
|
} // namespace Data
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
#include "./syncthingicons.h"
|
||||||
|
|
||||||
|
#include <QSvgRenderer>
|
||||||
|
#include <QPainter>
|
||||||
|
|
||||||
|
namespace Data {
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Renders an SVG image to a QPixmap.
|
||||||
|
* \remarks If instantiating QIcon directly from SVG image the icon is not displayed in the tray under Plasma 5. It works
|
||||||
|
* with Tint2, however.
|
||||||
|
*/
|
||||||
|
QPixmap renderSvgImage(const QString &path, const QSize &size)
|
||||||
|
{
|
||||||
|
QSvgRenderer renderer(path);
|
||||||
|
QPixmap pm(size);
|
||||||
|
pm.fill(QColor(Qt::transparent));
|
||||||
|
QPainter painter(&pm);
|
||||||
|
renderer.render(&painter, pm.rect());
|
||||||
|
return pm;
|
||||||
|
}
|
||||||
|
|
||||||
|
StatusIcons::StatusIcons() :
|
||||||
|
disconnected(QIcon(renderSvgImage(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-disconnected.svg")))),
|
||||||
|
idling(QIcon(renderSvgImage(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-ok.svg")))),
|
||||||
|
scanninig(QIcon(renderSvgImage(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-default.svg")))),
|
||||||
|
notify(QIcon(renderSvgImage(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-notify.svg")))),
|
||||||
|
pause(QIcon(renderSvgImage(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-pause.svg")))),
|
||||||
|
sync(QIcon(renderSvgImage(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-sync.svg")))),
|
||||||
|
error(QIcon(renderSvgImage(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-error.svg")))),
|
||||||
|
errorSync(QIcon(renderSvgImage(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-error-sync.svg"))))
|
||||||
|
{}
|
||||||
|
|
||||||
|
const StatusIcons LIB_SYNCTHING_MODEL_EXPORT &statusIcons()
|
||||||
|
{
|
||||||
|
static const StatusIcons icons;
|
||||||
|
return icons;
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace Data
|
|
@ -0,0 +1,30 @@
|
||||||
|
#ifndef DATA_SYNCTHINGICONS_H
|
||||||
|
#define DATA_SYNCTHINGICONS_H
|
||||||
|
|
||||||
|
#include "./global.h"
|
||||||
|
|
||||||
|
#include <QSize>
|
||||||
|
#include <QIcon>
|
||||||
|
|
||||||
|
namespace Data {
|
||||||
|
|
||||||
|
QPixmap LIB_SYNCTHING_MODEL_EXPORT renderSvgImage(const QString &path, const QSize &size = QSize(128, 128));
|
||||||
|
|
||||||
|
struct StatusIcons
|
||||||
|
{
|
||||||
|
StatusIcons();
|
||||||
|
QIcon disconnected;
|
||||||
|
QIcon idling;
|
||||||
|
QIcon scanninig;
|
||||||
|
QIcon notify;
|
||||||
|
QIcon pause;
|
||||||
|
QIcon sync;
|
||||||
|
QIcon error;
|
||||||
|
QIcon errorSync;
|
||||||
|
};
|
||||||
|
|
||||||
|
const StatusIcons LIB_SYNCTHING_MODEL_EXPORT &statusIcons();
|
||||||
|
|
||||||
|
} // namespace Data
|
||||||
|
|
||||||
|
#endif // DATA_SYNCTHINGICONS_H
|
|
@ -125,7 +125,7 @@ find_package(syncthingmodel ${META_APP_VERSION} REQUIRED)
|
||||||
use_syncthingmodel()
|
use_syncthingmodel()
|
||||||
|
|
||||||
# link also explicitely against the following Qt 5 modules
|
# link also explicitely against the following Qt 5 modules
|
||||||
list(APPEND ADDITIONAL_QT_MODULES Network Svg)
|
list(APPEND ADDITIONAL_QT_MODULES Network)
|
||||||
|
|
||||||
# include modules to apply configuration
|
# include modules to apply configuration
|
||||||
include(BasicConfig)
|
include(BasicConfig)
|
||||||
|
|
|
@ -3,6 +3,8 @@
|
||||||
|
|
||||||
#include "../application/settings.h"
|
#include "../application/settings.h"
|
||||||
|
|
||||||
|
#include "../../model/syncthingicons.h"
|
||||||
|
|
||||||
#include "../../connector/syncthingconnection.h"
|
#include "../../connector/syncthingconnection.h"
|
||||||
#ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD
|
#ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD
|
||||||
# include "../../connector/syncthingservice.h"
|
# include "../../connector/syncthingservice.h"
|
||||||
|
@ -12,7 +14,6 @@
|
||||||
#include <qtutilities/misc/dialogutils.h>
|
#include <qtutilities/misc/dialogutils.h>
|
||||||
|
|
||||||
#include <QCoreApplication>
|
#include <QCoreApplication>
|
||||||
#include <QSvgRenderer>
|
|
||||||
#include <QPainter>
|
#include <QPainter>
|
||||||
#include <QPixmap>
|
#include <QPixmap>
|
||||||
#ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD
|
#ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD
|
||||||
|
@ -34,15 +35,6 @@ namespace QtGui {
|
||||||
TrayIcon::TrayIcon(QObject *parent) :
|
TrayIcon::TrayIcon(QObject *parent) :
|
||||||
QSystemTrayIcon(parent),
|
QSystemTrayIcon(parent),
|
||||||
m_initialized(false),
|
m_initialized(false),
|
||||||
m_size(QSize(128, 128)),
|
|
||||||
m_statusIconDisconnected(QIcon(renderSvgImage(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-disconnected.svg")))),
|
|
||||||
m_statusIconIdling(QIcon(renderSvgImage(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-ok.svg")))),
|
|
||||||
m_statusIconScanning(QIcon(renderSvgImage(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-default.svg")))),
|
|
||||||
m_statusIconNotify(QIcon(renderSvgImage(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-notify.svg")))),
|
|
||||||
m_statusIconPause(QIcon(renderSvgImage(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-pause.svg")))),
|
|
||||||
m_statusIconSync(QIcon(renderSvgImage(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-sync.svg")))),
|
|
||||||
m_statusIconError(QIcon(renderSvgImage(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-error.svg")))),
|
|
||||||
m_statusIconErrorSync(QIcon(renderSvgImage(QStringLiteral(":/icons/hicolor/scalable/status/syncthing-error-sync.svg")))),
|
|
||||||
m_trayMenu(this),
|
m_trayMenu(this),
|
||||||
m_status(SyncthingStatus::Disconnected)
|
m_status(SyncthingStatus::Disconnected)
|
||||||
#ifdef QT_UTILITIES_SUPPORT_DBUS_NOTIFICATIONS
|
#ifdef QT_UTILITIES_SUPPORT_DBUS_NOTIFICATIONS
|
||||||
|
@ -185,7 +177,7 @@ void TrayIcon::updateStatusIconAndText(SyncthingStatus status)
|
||||||
const auto &settings = Settings::values();
|
const auto &settings = Settings::values();
|
||||||
switch(status) {
|
switch(status) {
|
||||||
case SyncthingStatus::Disconnected:
|
case SyncthingStatus::Disconnected:
|
||||||
setIcon(m_statusIconDisconnected);
|
setIcon(statusIcons().disconnected);
|
||||||
if(connection.autoReconnectInterval() > 0) {
|
if(connection.autoReconnectInterval() > 0) {
|
||||||
setToolTip(tr("Not connected to Syncthing - trying to reconnect every %1 ms")
|
setToolTip(tr("Not connected to Syncthing - trying to reconnect every %1 ms")
|
||||||
.arg(connection.autoReconnectInterval()));
|
.arg(connection.autoReconnectInterval()));
|
||||||
|
@ -208,7 +200,7 @@ void TrayIcon::updateStatusIconAndText(SyncthingStatus status)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case SyncthingStatus::Reconnecting:
|
case SyncthingStatus::Reconnecting:
|
||||||
setIcon(m_statusIconDisconnected);
|
setIcon(statusIcons().disconnected);
|
||||||
setToolTip(tr("Reconnecting ..."));
|
setToolTip(tr("Reconnecting ..."));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -217,31 +209,31 @@ void TrayIcon::updateStatusIconAndText(SyncthingStatus status)
|
||||||
#endif
|
#endif
|
||||||
if(connection.hasOutOfSyncDirs()) {
|
if(connection.hasOutOfSyncDirs()) {
|
||||||
if(status == SyncthingStatus::Synchronizing) {
|
if(status == SyncthingStatus::Synchronizing) {
|
||||||
setIcon(m_statusIconErrorSync);
|
setIcon(statusIcons().errorSync);
|
||||||
setToolTip(tr("Synchronization is ongoing but at least one directory is out of sync"));
|
setToolTip(tr("Synchronization is ongoing but at least one directory is out of sync"));
|
||||||
} else {
|
} else {
|
||||||
setIcon(m_statusIconError);
|
setIcon(statusIcons().error);
|
||||||
setToolTip(tr("At least one directory is out of sync"));
|
setToolTip(tr("At least one directory is out of sync"));
|
||||||
}
|
}
|
||||||
} else if(connection.hasUnreadNotifications()) {
|
} else if(connection.hasUnreadNotifications()) {
|
||||||
setIcon(m_statusIconNotify);
|
setIcon(statusIcons().notify);
|
||||||
setToolTip(tr("Notifications available"));
|
setToolTip(tr("Notifications available"));
|
||||||
} else {
|
} else {
|
||||||
switch(status) {
|
switch(status) {
|
||||||
case SyncthingStatus::Idle:
|
case SyncthingStatus::Idle:
|
||||||
setIcon(m_statusIconIdling);
|
setIcon(statusIcons().idling);
|
||||||
setToolTip(tr("Syncthing is idling"));
|
setToolTip(tr("Syncthing is idling"));
|
||||||
break;
|
break;
|
||||||
case SyncthingStatus::Scanning:
|
case SyncthingStatus::Scanning:
|
||||||
setIcon(m_statusIconScanning);
|
setIcon(statusIcons().scanninig);
|
||||||
setToolTip(tr("Syncthing is scanning"));
|
setToolTip(tr("Syncthing is scanning"));
|
||||||
break;
|
break;
|
||||||
case SyncthingStatus::Paused:
|
case SyncthingStatus::Paused:
|
||||||
setIcon(m_statusIconPause);
|
setIcon(statusIcons().pause);
|
||||||
setToolTip(tr("At least one device is paused"));
|
setToolTip(tr("At least one device is paused"));
|
||||||
break;
|
break;
|
||||||
case SyncthingStatus::Synchronizing:
|
case SyncthingStatus::Synchronizing:
|
||||||
setIcon(m_statusIconSync);
|
setIcon(statusIcons().sync);
|
||||||
setToolTip(tr("Synchronization is ongoing"));
|
setToolTip(tr("Synchronization is ongoing"));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -283,19 +275,4 @@ void TrayIcon::updateStatusIconAndText(SyncthingStatus status)
|
||||||
m_status = status;
|
m_status = status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
|
||||||
* \brief Renders an SVG image to a QPixmap.
|
|
||||||
* \remarks If instantiating QIcon directly from SVG image the icon is not displayed under Plasma 5. It would work
|
|
||||||
* with Tint2, tough.
|
|
||||||
*/
|
|
||||||
QPixmap TrayIcon::renderSvgImage(const QString &path)
|
|
||||||
{
|
|
||||||
QSvgRenderer renderer(path);
|
|
||||||
QPixmap pm(m_size);
|
|
||||||
pm.fill(QColor(Qt::transparent));
|
|
||||||
QPainter painter(&pm);
|
|
||||||
renderer.render(&painter, pm.rect());
|
|
||||||
return pm;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,18 +39,7 @@ private slots:
|
||||||
void handleSyncthingNotificationAction(const QString &action);
|
void handleSyncthingNotificationAction(const QString &action);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QPixmap renderSvgImage(const QString &path);
|
|
||||||
|
|
||||||
bool m_initialized;
|
bool m_initialized;
|
||||||
const QSize m_size;
|
|
||||||
const QIcon m_statusIconDisconnected;
|
|
||||||
const QIcon m_statusIconIdling;
|
|
||||||
const QIcon m_statusIconScanning;
|
|
||||||
const QIcon m_statusIconNotify;
|
|
||||||
const QIcon m_statusIconPause;
|
|
||||||
const QIcon m_statusIconSync;
|
|
||||||
const QIcon m_statusIconError;
|
|
||||||
const QIcon m_statusIconErrorSync;
|
|
||||||
TrayMenu m_trayMenu;
|
TrayMenu m_trayMenu;
|
||||||
QMenu m_contextMenu;
|
QMenu m_contextMenu;
|
||||||
Data::SyncthingStatus m_status;
|
Data::SyncthingStatus m_status;
|
||||||
|
|
Loading…
Reference in New Issue