Adapt to changes in c++utilities

This commit is contained in:
Martchus 2019-06-10 22:48:26 +02:00
parent 4896fc0342
commit 64473df5ba
62 changed files with 266 additions and 285 deletions

View File

@ -13,11 +13,11 @@
#include "resources/config.h" #include "resources/config.h"
#include <c++utilities/application/failure.h>
#include <c++utilities/chrono/timespan.h> #include <c++utilities/chrono/timespan.h>
#include <c++utilities/conversion/stringbuilder.h> #include <c++utilities/conversion/stringbuilder.h>
#include <c++utilities/conversion/stringconversion.h> #include <c++utilities/conversion/stringconversion.h>
#include <c++utilities/io/ansiescapecodes.h> #include <c++utilities/io/ansiescapecodes.h>
#include <c++utilities/misc/parseerror.h>
#include <qtutilities/misc/conversion.h> #include <qtutilities/misc/conversion.h>
@ -35,10 +35,9 @@
using namespace std; using namespace std;
using namespace std::placeholders; using namespace std::placeholders;
using namespace ApplicationUtilities; using namespace CppUtilities;
using namespace EscapeCodes; using namespace CppUtilities::EscapeCodes;
using namespace ChronoUtilities; using namespace QtUtilities;
using namespace ConversionUtilities;
using namespace Data; using namespace Data;
namespace Cli { namespace Cli {
@ -118,7 +117,7 @@ int Application::exec(int argc, const char *const *argv)
m_args.parser.checkConstraints(); m_args.parser.checkConstraints();
m_argsRead = true; m_argsRead = true;
} catch (const Failure &failure) { } catch (const ParseError &failure) {
cerr << failure; cerr << failure;
return 1; return 1;
} }
@ -237,7 +236,6 @@ int Application::loadConfig()
bool Application::waitForConnected(int timeout) bool Application::waitForConnected(int timeout)
{ {
using namespace TestUtilities;
bool isConnected = m_connection.isConnected(); bool isConnected = m_connection.isConnected();
const function<void(SyncthingStatus)> checkStatus([this, &isConnected](SyncthingStatus) { isConnected = m_connection.isConnected(); }); const function<void(SyncthingStatus)> checkStatus([this, &isConnected](SyncthingStatus) { isConnected = m_connection.isConnected(); });
return waitForSignalsOrFail(bind(static_cast<void (SyncthingConnection::*)(SyncthingConnectionSettings &)>(&SyncthingConnection::reconnect), return waitForSignalsOrFail(bind(static_cast<void (SyncthingConnection::*)(SyncthingConnectionSettings &)>(&SyncthingConnection::reconnect),
@ -248,7 +246,6 @@ bool Application::waitForConnected(int timeout)
bool Application::waitForConfig(int timeout) bool Application::waitForConfig(int timeout)
{ {
using namespace TestUtilities;
m_connection.applySettings(m_settings); m_connection.applySettings(m_settings);
return waitForSignalsOrFail(bind(&SyncthingConnection::requestConfig, ref(m_connection)), timeout, return waitForSignalsOrFail(bind(&SyncthingConnection::requestConfig, ref(m_connection)), timeout,
signalInfo(&m_connection, &SyncthingConnection::error), signalInfo(&m_connection, &SyncthingConnection::newConfig), signalInfo(&m_connection, &SyncthingConnection::error), signalInfo(&m_connection, &SyncthingConnection::newConfig),
@ -257,7 +254,6 @@ bool Application::waitForConfig(int timeout)
bool Application::waitForConfigAndStatus(int timeout) bool Application::waitForConfigAndStatus(int timeout)
{ {
using namespace TestUtilities;
m_connection.applySettings(m_settings); m_connection.applySettings(m_settings);
return waitForSignalsOrFail(bind(&SyncthingConnection::requestConfigAndStatus, ref(m_connection)), timeout, return waitForSignalsOrFail(bind(&SyncthingConnection::requestConfigAndStatus, ref(m_connection)), timeout,
signalInfo(&m_connection, &SyncthingConnection::error), signalInfo(&m_connection, &SyncthingConnection::newConfig), signalInfo(&m_connection, &SyncthingConnection::error), signalInfo(&m_connection, &SyncthingConnection::newConfig),
@ -692,7 +688,6 @@ void Application::editConfig(const ArgumentOccurrence &)
} }
// post new config // post new config
using namespace TestUtilities;
cerr << Phrases::Info << "Posting new configuration ..." << TextAttribute::Reset << flush; cerr << Phrases::Info << "Posting new configuration ..." << TextAttribute::Reset << flush;
if (!waitForSignalsOrFail(bind(&SyncthingConnection::postConfigFromByteArray, ref(m_connection), ref(newConfig)), 0, if (!waitForSignalsOrFail(bind(&SyncthingConnection::postConfigFromByteArray, ref(m_connection), ref(newConfig)), 0,
signalInfo(&m_connection, &SyncthingConnection::error), signalInfo(&m_connection, &SyncthingConnection::newConfigTriggered))) { signalInfo(&m_connection, &SyncthingConnection::error), signalInfo(&m_connection, &SyncthingConnection::newConfigTriggered))) {
@ -958,7 +953,6 @@ void Application::waitForIdle(const ArgumentOccurrence &)
// invoke handler manually because Syncthing could already be idling // invoke handler manually because Syncthing could already be idling
handleNewDirsOrDevs(); handleNewDirsOrDevs();
using namespace TestUtilities;
waitForSignals(&noop, m_idleTimeout, signalInfo(&m_connection, &SyncthingConnection::dirStatusChanged, handleStatusChange, &isLongEnoughIdle), waitForSignals(&noop, m_idleTimeout, signalInfo(&m_connection, &SyncthingConnection::dirStatusChanged, handleStatusChange, &isLongEnoughIdle),
signalInfo(&m_connection, &SyncthingConnection::devStatusChanged, handleStatusChange, &isLongEnoughIdle), signalInfo(&m_connection, &SyncthingConnection::devStatusChanged, handleStatusChange, &isLongEnoughIdle),
signalInfo(&m_connection, &SyncthingConnection::newDirs, handleNewDirsOrDevs, &isLongEnoughIdle), signalInfo(&m_connection, &SyncthingConnection::newDirs, handleNewDirsOrDevs, &isLongEnoughIdle),

View File

@ -5,7 +5,7 @@
namespace Cli { namespace Cli {
using namespace ApplicationUtilities; using namespace CppUtilities;
struct Args { struct Args {
Args(); Args();

View File

@ -15,10 +15,10 @@
namespace Cli { namespace Cli {
inline void printProperty(const char *propName, const char *value, const char *suffix = nullptr, ApplicationUtilities::Indentation indentation = 3) inline void printProperty(const char *propName, const char *value, const char *suffix = nullptr, CppUtilities::Indentation indentation = 3)
{ {
if (*value) { if (*value) {
std::cout << indentation << propName << ApplicationUtilities::Indentation(30 - strlen(propName)) << value; std::cout << indentation << propName << CppUtilities::Indentation(30 - strlen(propName)) << value;
if (suffix) { if (suffix) {
std::cout << ' ' << suffix; std::cout << ' ' << suffix;
} }
@ -26,19 +26,17 @@ inline void printProperty(const char *propName, const char *value, const char *s
} }
} }
inline void printProperty(const char *propName, const QString &value, const char *suffix = nullptr, ApplicationUtilities::Indentation indentation = 3) inline void printProperty(const char *propName, const QString &value, const char *suffix = nullptr, CppUtilities::Indentation indentation = 3)
{ {
printProperty(propName, value.toLocal8Bit().data(), suffix, indentation); printProperty(propName, value.toLocal8Bit().data(), suffix, indentation);
} }
inline void printProperty( inline void printProperty(const char *propName, const std::string &value, const char *suffix = nullptr, CppUtilities::Indentation indentation = 3)
const char *propName, const std::string &value, const char *suffix = nullptr, ApplicationUtilities::Indentation indentation = 3)
{ {
printProperty(propName, value.data(), suffix, indentation); printProperty(propName, value.data(), suffix, indentation);
} }
inline void printProperty( inline void printProperty(const char *propName, const QStringList &value, const char *suffix = nullptr, CppUtilities::Indentation indentation = 3)
const char *propName, const QStringList &value, const char *suffix = nullptr, ApplicationUtilities::Indentation indentation = 3)
{ {
for (const QString &str : value) { for (const QString &str : value) {
printProperty(propName, str, suffix, indentation); printProperty(propName, str, suffix, indentation);
@ -47,32 +45,32 @@ inline void printProperty(
} }
inline void printProperty( inline void printProperty(
const char *propName, ChronoUtilities::TimeSpan timeSpan, const char *suffix = nullptr, ApplicationUtilities::Indentation indentation = 3) const char *propName, CppUtilities::TimeSpan timeSpan, const char *suffix = nullptr, CppUtilities::Indentation indentation = 3)
{ {
if (!timeSpan.isNull()) { if (!timeSpan.isNull()) {
printProperty(propName, timeSpan.toString(ChronoUtilities::TimeSpanOutputFormat::WithMeasures).data(), suffix, indentation); printProperty(propName, timeSpan.toString(CppUtilities::TimeSpanOutputFormat::WithMeasures).data(), suffix, indentation);
} }
} }
inline void printProperty( inline void printProperty(
const char *propName, ChronoUtilities::DateTime dateTime, const char *suffix = nullptr, ApplicationUtilities::Indentation indentation = 3) const char *propName, CppUtilities::DateTime dateTime, const char *suffix = nullptr, CppUtilities::Indentation indentation = 3)
{ {
if (!dateTime.isNull()) { if (!dateTime.isNull()) {
printProperty(propName, dateTime.toString().data(), suffix, indentation); printProperty(propName, dateTime.toString().data(), suffix, indentation);
} }
} }
inline void printProperty(const char *propName, bool value, const char *suffix = nullptr, ApplicationUtilities::Indentation indentation = 3) inline void printProperty(const char *propName, bool value, const char *suffix = nullptr, CppUtilities::Indentation indentation = 3)
{ {
printProperty(propName, value ? "yes" : "no", suffix, indentation); printProperty(propName, value ? "yes" : "no", suffix, indentation);
} }
template <typename NumberType, Traits::EnableIfAny<std::is_floating_point<NumberType>, std::is_integral<NumberType>> * = nullptr> template <typename NumberType, CppUtilities::Traits::EnableIfAny<std::is_floating_point<NumberType>, std::is_integral<NumberType>> * = nullptr>
inline void printProperty( inline void printProperty(
const char *propName, const NumberType value, const char *suffix = nullptr, bool force = false, ApplicationUtilities::Indentation indentation = 3) const char *propName, const NumberType value, const char *suffix = nullptr, bool force = false, CppUtilities::Indentation indentation = 3)
{ {
if (value >= 0 || force) { if (value >= 0 || force) {
printProperty(propName, ConversionUtilities::numberToString<NumberType>(value).data(), suffix, indentation); printProperty(propName, CppUtilities::numberToString<NumberType>(value).data(), suffix, indentation);
} }
} }
} // namespace Cli } // namespace Cli

View File

@ -16,10 +16,8 @@
using namespace std; using namespace std;
using namespace Data; using namespace Data;
using namespace ChronoUtilities; using namespace CppUtilities;
using namespace IoUtilities; using namespace CppUtilities::Literals;
using namespace TestUtilities;
using namespace TestUtilities::Literals;
using namespace CPPUNIT_NS; using namespace CPPUNIT_NS;

View File

@ -23,8 +23,7 @@
#include <utility> #include <utility>
using namespace std; using namespace std;
using namespace ChronoUtilities; using namespace CppUtilities;
using namespace ConversionUtilities;
namespace Data { namespace Data {

View File

@ -84,7 +84,7 @@ class LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingConnection : public QObject {
Q_PROPERTY(double totalOutgoingRate READ totalOutgoingRate NOTIFY trafficChanged) Q_PROPERTY(double totalOutgoingRate READ totalOutgoingRate NOTIFY trafficChanged)
Q_PROPERTY(QString lastSyncedFile READ lastSyncedFile) Q_PROPERTY(QString lastSyncedFile READ lastSyncedFile)
Q_PROPERTY(QString syncthingVersion READ syncthingVersion) Q_PROPERTY(QString syncthingVersion READ syncthingVersion)
Q_PROPERTY(ChronoUtilities::DateTime lastSyncTime READ lastSyncTime) Q_PROPERTY(CppUtilities::DateTime lastSyncTime READ lastSyncTime)
Q_PROPERTY(QList<QSslError> expectedSslErrors READ expectedSslErrors) Q_PROPERTY(QList<QSslError> expectedSslErrors READ expectedSslErrors)
Q_PROPERTY(std::vector<const SyncthingDev *> connectedDevices READ connectedDevices) Q_PROPERTY(std::vector<const SyncthingDev *> connectedDevices READ connectedDevices)
Q_PROPERTY(QStringList directoryIds READ directoryIds) Q_PROPERTY(QStringList directoryIds READ directoryIds)
@ -142,9 +142,9 @@ public:
const std::vector<SyncthingDev> &devInfo() const; const std::vector<SyncthingDev> &devInfo() const;
SyncthingOverallDirStatistics computeOverallDirStatistics() const; SyncthingOverallDirStatistics computeOverallDirStatistics() const;
const QString &lastSyncedFile() const; const QString &lastSyncedFile() const;
ChronoUtilities::DateTime lastSyncTime() const; CppUtilities::DateTime lastSyncTime() const;
ChronoUtilities::DateTime startTime() const; CppUtilities::DateTime startTime() const;
ChronoUtilities::TimeSpan uptime() const; CppUtilities::TimeSpan uptime() const;
const QString &syncthingVersion() const; const QString &syncthingVersion() const;
QStringList directoryIds() const; QStringList directoryIds() const;
QStringList deviceIds() const; QStringList deviceIds() const;
@ -220,11 +220,10 @@ Q_SIGNALS:
void devStatusChanged(const SyncthingDev &dev, int index); void devStatusChanged(const SyncthingDev &dev, int index);
void downloadProgressChanged(); void downloadProgressChanged();
void dirStatisticsChanged(); void dirStatisticsChanged();
void dirCompleted(ChronoUtilities::DateTime when, const SyncthingDir &dir, int index, const SyncthingDev *remoteDev = nullptr); void dirCompleted(CppUtilities::DateTime when, const SyncthingDir &dir, int index, const SyncthingDev *remoteDev = nullptr);
void newNotification(ChronoUtilities::DateTime when, const QString &message); void newNotification(CppUtilities::DateTime when, const QString &message);
void newDevAvailable(ChronoUtilities::DateTime when, const QString &devId, const QString &address); void newDevAvailable(CppUtilities::DateTime when, const QString &devId, const QString &address);
void newDirAvailable( void newDirAvailable(CppUtilities::DateTime when, const QString &devId, const SyncthingDev *dev, const QString &dirId, const QString &dirLabel);
ChronoUtilities::DateTime when, const QString &devId, const SyncthingDev *dev, const QString &dirId, const QString &dirLabel);
void error(const QString &errorMessage, SyncthingErrorCategory category, int networkError, const QNetworkRequest &request = QNetworkRequest(), void error(const QString &errorMessage, SyncthingErrorCategory category, int networkError, const QNetworkRequest &request = QNetworkRequest(),
const QByteArray &response = QByteArray()); const QByteArray &response = QByteArray());
void statusChanged(SyncthingStatus newStatus); void statusChanged(SyncthingStatus newStatus);
@ -258,20 +257,19 @@ private Q_SLOTS:
void readEvents(); void readEvents();
void readEventsFromJsonArray(const QJsonArray &events, int &idVariable); void readEventsFromJsonArray(const QJsonArray &events, int &idVariable);
void readStartingEvent(const QJsonObject &eventData); void readStartingEvent(const QJsonObject &eventData);
void readStatusChangedEvent(ChronoUtilities::DateTime eventTime, const QJsonObject &eventData); void readStatusChangedEvent(CppUtilities::DateTime eventTime, const QJsonObject &eventData);
void readDownloadProgressEvent(ChronoUtilities::DateTime eventTime, const QJsonObject &eventData); void readDownloadProgressEvent(CppUtilities::DateTime eventTime, const QJsonObject &eventData);
void readDirEvent(ChronoUtilities::DateTime eventTime, const QString &eventType, const QJsonObject &eventData); void readDirEvent(CppUtilities::DateTime eventTime, const QString &eventType, const QJsonObject &eventData);
void readDeviceEvent(ChronoUtilities::DateTime eventTime, const QString &eventType, const QJsonObject &eventData); void readDeviceEvent(CppUtilities::DateTime eventTime, const QString &eventType, const QJsonObject &eventData);
void readItemStarted(ChronoUtilities::DateTime eventTime, const QJsonObject &eventData); void readItemStarted(CppUtilities::DateTime eventTime, const QJsonObject &eventData);
void readItemFinished(ChronoUtilities::DateTime eventTime, const QJsonObject &eventData); void readItemFinished(CppUtilities::DateTime eventTime, const QJsonObject &eventData);
void readFolderErrors(ChronoUtilities::DateTime eventTime, const QJsonObject &eventData, SyncthingDir &dirInfo, int index); void readFolderErrors(CppUtilities::DateTime eventTime, const QJsonObject &eventData, SyncthingDir &dirInfo, int index);
void readFolderCompletion(ChronoUtilities::DateTime eventTime, const QJsonObject &eventData, SyncthingDir &dirInfo, int index); void readFolderCompletion(CppUtilities::DateTime eventTime, const QJsonObject &eventData, SyncthingDir &dirInfo, int index);
void readFolderCompletion( void readFolderCompletion(CppUtilities::DateTime eventTime, const QJsonObject &eventData, SyncthingDir &dirInfo, int index, const QString &devId);
ChronoUtilities::DateTime eventTime, const QJsonObject &eventData, SyncthingDir &dirInfo, int index, const QString &devId); void readLocalFolderCompletion(CppUtilities::DateTime eventTime, const QJsonObject &eventData, SyncthingDir &dirInfo, int index);
void readLocalFolderCompletion(ChronoUtilities::DateTime eventTime, const QJsonObject &eventData, SyncthingDir &dirInfo, int index);
void readRemoteFolderCompletion( void readRemoteFolderCompletion(
ChronoUtilities::DateTime eventTime, const QJsonObject &eventData, SyncthingDir &dirInfo, int index, const QString &devId); CppUtilities::DateTime eventTime, const QJsonObject &eventData, SyncthingDir &dirInfo, int index, const QString &devId);
void readRemoteIndexUpdated(ChronoUtilities::DateTime eventTime, const QJsonObject &eventData); void readRemoteIndexUpdated(CppUtilities::DateTime eventTime, const QJsonObject &eventData);
void readPostConfig(); void readPostConfig();
void readRescan(); void readRescan();
void readDevPauseResume(); void readDevPauseResume();
@ -280,13 +278,13 @@ private Q_SLOTS:
void readShutdown(); void readShutdown();
void readDirStatus(); void readDirStatus();
void readDirPullErrors(); void readDirPullErrors();
void readDirSummary(ChronoUtilities::DateTime eventTime, const QJsonObject &summary, SyncthingDir &dirInfo, int index); void readDirSummary(CppUtilities::DateTime eventTime, const QJsonObject &summary, SyncthingDir &dirInfo, int index);
void readDirRejected(ChronoUtilities::DateTime eventTime, const QString &dirId, const QJsonObject &eventData); void readDirRejected(CppUtilities::DateTime eventTime, const QString &dirId, const QJsonObject &eventData);
void readDevRejected(ChronoUtilities::DateTime eventTime, const QString &devId, const QJsonObject &eventData); void readDevRejected(CppUtilities::DateTime eventTime, const QString &devId, const QJsonObject &eventData);
void readCompletion(); void readCompletion();
void readVersion(); void readVersion();
void readDiskEvents(); void readDiskEvents();
void readChangeEvent(ChronoUtilities::DateTime eventTime, const QString &eventType, const QJsonObject &eventData); void readChangeEvent(CppUtilities::DateTime eventTime, const QString &eventType, const QJsonObject &eventData);
void readLog(); void readLog();
void readQrCode(); void readQrCode();
@ -295,7 +293,7 @@ private Q_SLOTS:
void continueReconnecting(); void continueReconnecting();
void autoReconnect(); void autoReconnect();
void setStatus(SyncthingStatus status); void setStatus(SyncthingStatus status);
void emitNotification(ChronoUtilities::DateTime when, const QString &message); void emitNotification(CppUtilities::DateTime when, const QString &message);
void emitError(const QString &message, const QJsonParseError &jsonError, QNetworkReply *reply, const QByteArray &response = QByteArray()); void emitError(const QString &message, const QJsonParseError &jsonError, QNetworkReply *reply, const QByteArray &response = QByteArray());
void emitError(const QString &message, SyncthingErrorCategory category, QNetworkReply *reply); void emitError(const QString &message, SyncthingErrorCategory category, QNetworkReply *reply);
void emitMyIdChanged(const QString &newId); void emitMyIdChanged(const QString &newId);
@ -357,10 +355,10 @@ private:
bool m_hasDiskEvents; bool m_hasDiskEvents;
std::vector<SyncthingDir> m_dirs; std::vector<SyncthingDir> m_dirs;
std::vector<SyncthingDev> m_devs; std::vector<SyncthingDev> m_devs;
ChronoUtilities::DateTime m_lastConnectionsUpdate; CppUtilities::DateTime m_lastConnectionsUpdate;
ChronoUtilities::DateTime m_lastFileTime; CppUtilities::DateTime m_lastFileTime;
ChronoUtilities::DateTime m_lastErrorTime; CppUtilities::DateTime m_lastErrorTime;
ChronoUtilities::DateTime m_startTime; CppUtilities::DateTime m_startTime;
QString m_lastFileName; QString m_lastFileName;
QString m_syncthingVersion; QString m_syncthingVersion;
bool m_lastFileDeleted; bool m_lastFileDeleted;
@ -684,7 +682,7 @@ inline const QString &SyncthingConnection::lastSyncedFile() const
/*! /*!
* \brief Returns the time of the most recent sync. * \brief Returns the time of the most recent sync.
*/ */
inline ChronoUtilities::DateTime SyncthingConnection::lastSyncTime() const inline CppUtilities::DateTime SyncthingConnection::lastSyncTime() const
{ {
return m_lastFileTime; return m_lastFileTime;
} }
@ -692,7 +690,7 @@ inline ChronoUtilities::DateTime SyncthingConnection::lastSyncTime() const
/*! /*!
* \brief Returns when Syncthing has been started. * \brief Returns when Syncthing has been started.
*/ */
inline ChronoUtilities::DateTime SyncthingConnection::startTime() const inline CppUtilities::DateTime SyncthingConnection::startTime() const
{ {
return m_startTime; return m_startTime;
} }
@ -700,9 +698,9 @@ inline ChronoUtilities::DateTime SyncthingConnection::startTime() const
/*! /*!
* \brief Returns how long Syncthing has been running. * \brief Returns how long Syncthing has been running.
*/ */
inline ChronoUtilities::TimeSpan SyncthingConnection::uptime() const inline CppUtilities::TimeSpan SyncthingConnection::uptime() const
{ {
return ChronoUtilities::DateTime::gmtNow() - m_startTime; return CppUtilities::DateTime::gmtNow() - m_startTime;
} }
/*! /*!

View File

@ -25,10 +25,9 @@
#include <utility> #include <utility>
using namespace std; using namespace std;
using namespace ChronoUtilities; using namespace CppUtilities;
using namespace ConversionUtilities;
#if defined(LIB_SYNCTHING_CONNECTOR_LOG_SYNCTHING_EVENTS) || defined(LIB_SYNCTHING_CONNECTOR_LOG_API_CALLS) #if defined(LIB_SYNCTHING_CONNECTOR_LOG_SYNCTHING_EVENTS) || defined(LIB_SYNCTHING_CONNECTOR_LOG_API_CALLS)
using namespace EscapeCodes; using namespace CppUtilities::EscapeCodes;
#endif #endif
namespace Data { namespace Data {

View File

@ -14,10 +14,8 @@
#include <string> #include <string>
using namespace std; using namespace std;
using namespace IoUtilities; using namespace CppUtilities;
using namespace EscapeCodes; using namespace CppUtilities::EscapeCodes;
using namespace ConversionUtilities;
using namespace TestUtilities;
namespace Data { namespace Data {

View File

@ -36,7 +36,7 @@ struct LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingDev {
QString connectionAddress; QString connectionAddress;
QString connectionType; QString connectionType;
QString clientVersion; QString clientVersion;
ChronoUtilities::DateTime lastSeen; CppUtilities::DateTime lastSeen;
}; };
inline SyncthingDev::SyncthingDev(const QString &id, const QString &name) inline SyncthingDev::SyncthingDev(const QString &id, const QString &name)

View File

@ -6,8 +6,7 @@
#include <QJsonObject> #include <QJsonObject>
#include <QStringBuilder> #include <QStringBuilder>
using namespace ChronoUtilities; using namespace CppUtilities;
using namespace ConversionUtilities;
namespace Data { namespace Data {
@ -89,7 +88,7 @@ bool SyncthingDir::finalizeStatusUpdate(SyncthingDirStatus newStatus, DateTime t
* \brief Assigns the status from the specified status string. * \brief Assigns the status from the specified status string.
* \returns Returns whether the status has actually changed. * \returns Returns whether the status has actually changed.
*/ */
bool SyncthingDir::assignStatus(const QString &statusStr, ChronoUtilities::DateTime time) bool SyncthingDir::assignStatus(const QString &statusStr, CppUtilities::DateTime time)
{ {
if (!checkWhetherStatusUpdateRelevant(time)) { if (!checkWhetherStatusUpdateRelevant(time)) {
return false; return false;

View File

@ -41,7 +41,7 @@ struct LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingFileChange {
QString type; QString type;
QString modifiedBy; QString modifiedBy;
QString path; QString path;
ChronoUtilities::DateTime eventTime; CppUtilities::DateTime eventTime;
bool local = false; bool local = false;
}; };
@ -60,12 +60,12 @@ struct LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingItemDownloadProgress {
int bytesAlreadyHandled; int bytesAlreadyHandled;
int totalNumberOfBytes = 0; int totalNumberOfBytes = 0;
QString label; QString label;
ChronoUtilities::DateTime lastUpdate; CppUtilities::DateTime lastUpdate;
static constexpr unsigned int syncthingBlockSize = 128 * 1024; static constexpr unsigned int syncthingBlockSize = 128 * 1024;
}; };
struct LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingCompletion { struct LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingCompletion {
ChronoUtilities::DateTime lastUpdate; CppUtilities::DateTime lastUpdate;
double percentage = 0; double percentage = 0;
quint64 globalBytes = 0; quint64 globalBytes = 0;
struct Needed { struct Needed {
@ -131,8 +131,8 @@ constexpr bool SyncthingStatistics::operator!=(const SyncthingStatistics &other)
struct LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingDir { struct LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingDir {
SyncthingDir(const QString &id = QString(), const QString &label = QString(), const QString &path = QString()); SyncthingDir(const QString &id = QString(), const QString &label = QString(), const QString &path = QString());
bool assignStatus(const QString &statusStr, ChronoUtilities::DateTime time); bool assignStatus(const QString &statusStr, CppUtilities::DateTime time);
bool assignStatus(SyncthingDirStatus newStatus, ChronoUtilities::DateTime time); bool assignStatus(SyncthingDirStatus newStatus, CppUtilities::DateTime time);
bool assignDirType(const QString &dirType); bool assignDirType(const QString &dirType);
const QString &displayName() const; const QString &displayName() const;
QString statusString() const; QString statusString() const;
@ -151,8 +151,8 @@ struct LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingDir {
int rescanInterval = 0; int rescanInterval = 0;
int minDiskFreePercentage = 0; int minDiskFreePercentage = 0;
SyncthingDirStatus status = SyncthingDirStatus::Unknown; SyncthingDirStatus status = SyncthingDirStatus::Unknown;
ChronoUtilities::DateTime lastStatusUpdate; CppUtilities::DateTime lastStatusUpdate;
ChronoUtilities::DateTime lastSyncStarted; CppUtilities::DateTime lastSyncStarted;
int completionPercentage = 0; int completionPercentage = 0;
int scanningPercentage = 0; int scanningPercentage = 0;
double scanningRate = 0; double scanningRate = 0;
@ -163,9 +163,9 @@ struct LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingDir {
std::vector<SyncthingItemError> itemErrors; std::vector<SyncthingItemError> itemErrors;
std::vector<SyncthingFileChange> recentChanges; std::vector<SyncthingFileChange> recentChanges;
SyncthingStatistics globalStats, localStats, neededStats; SyncthingStatistics globalStats, localStats, neededStats;
ChronoUtilities::DateTime lastStatisticsUpdate; CppUtilities::DateTime lastStatisticsUpdate;
ChronoUtilities::DateTime lastScanTime; CppUtilities::DateTime lastScanTime;
ChronoUtilities::DateTime lastFileTime; CppUtilities::DateTime lastFileTime;
QString lastFileName; QString lastFileName;
std::vector<SyncthingItemDownloadProgress> downloadingItems; std::vector<SyncthingItemDownloadProgress> downloadingItems;
int blocksAlreadyDownloaded = 0; int blocksAlreadyDownloaded = 0;
@ -181,8 +181,8 @@ struct LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingDir {
bool paused = false; bool paused = false;
private: private:
bool checkWhetherStatusUpdateRelevant(ChronoUtilities::DateTime time); bool checkWhetherStatusUpdateRelevant(CppUtilities::DateTime time);
bool finalizeStatusUpdate(SyncthingDirStatus newStatus, ChronoUtilities::DateTime time); bool finalizeStatusUpdate(SyncthingDirStatus newStatus, CppUtilities::DateTime time);
}; };
inline SyncthingDir::SyncthingDir(const QString &id, const QString &label, const QString &path) inline SyncthingDir::SyncthingDir(const QString &id, const QString &label, const QString &path)
@ -212,7 +212,7 @@ inline bool SyncthingDir::isUnshared() const
return deviceIds.empty() && (status == SyncthingDirStatus::Idle || status == SyncthingDirStatus::Unknown); return deviceIds.empty() && (status == SyncthingDirStatus::Idle || status == SyncthingDirStatus::Unknown);
} }
inline bool SyncthingDir::assignStatus(SyncthingDirStatus newStatus, ChronoUtilities::DateTime time) inline bool SyncthingDir::assignStatus(SyncthingDirStatus newStatus, CppUtilities::DateTime time)
{ {
return checkWhetherStatusUpdateRelevant(time) && finalizeStatusUpdate(newStatus, time); return checkWhetherStatusUpdateRelevant(time) && finalizeStatusUpdate(newStatus, time);
} }

View File

@ -9,7 +9,7 @@
#include <c++utilities/chrono/datetime.h> #include <c++utilities/chrono/datetime.h>
using namespace ChronoUtilities; using namespace CppUtilities;
namespace Data { namespace Data {
@ -171,7 +171,7 @@ void SyncthingNotifier::emitConnectedAndDisconnected(SyncthingStatus newStatus)
/*! /*!
* \brief Emits the syncComplete() signal. * \brief Emits the syncComplete() signal.
*/ */
void SyncthingNotifier::emitSyncComplete(ChronoUtilities::DateTime when, const SyncthingDir &dir, int index, const SyncthingDev *remoteDev) void SyncthingNotifier::emitSyncComplete(CppUtilities::DateTime when, const SyncthingDir &dir, int index, const SyncthingDev *remoteDev)
{ {
VAR_UNUSED(when) VAR_UNUSED(when)
VAR_UNUSED(index) VAR_UNUSED(index)

View File

@ -5,7 +5,7 @@
#include <QObject> #include <QObject>
namespace ChronoUtilities { namespace CppUtilities {
class DateTime; class DateTime;
} }
@ -93,14 +93,13 @@ Q_SIGNALS:
private Q_SLOTS: private Q_SLOTS:
void handleStatusChangedEvent(SyncthingStatus newStatus); void handleStatusChangedEvent(SyncthingStatus newStatus);
void handleNewDevEvent(ChronoUtilities::DateTime when, const QString &devId, const QString &address); void handleNewDevEvent(CppUtilities::DateTime when, const QString &devId, const QString &address);
void handleNewDirEvent( void handleNewDirEvent(CppUtilities::DateTime when, const QString &devId, const SyncthingDev *dev, const QString &dirId, const QString &dirLabel);
ChronoUtilities::DateTime when, const QString &devId, const SyncthingDev *dev, const QString &dirId, const QString &dirLabel);
private: private:
bool isDisconnectRelevant() const; bool isDisconnectRelevant() const;
void emitConnectedAndDisconnected(SyncthingStatus newStatus); void emitConnectedAndDisconnected(SyncthingStatus newStatus);
void emitSyncComplete(ChronoUtilities::DateTime when, const SyncthingDir &dir, int index, const SyncthingDev *remoteDev); void emitSyncComplete(CppUtilities::DateTime when, const SyncthingDir &dir, int index, const SyncthingDev *remoteDev);
const SyncthingConnection &m_connection; const SyncthingConnection &m_connection;
#ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD #ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD

View File

@ -2,7 +2,7 @@
#include <QTimer> #include <QTimer>
using namespace ChronoUtilities; using namespace CppUtilities;
namespace Data { namespace Data {

View File

@ -13,13 +13,13 @@ namespace Data {
class LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingProcess : public QProcess { class LIB_SYNCTHING_CONNECTOR_EXPORT SyncthingProcess : public QProcess {
Q_OBJECT Q_OBJECT
Q_PROPERTY(bool running READ isRunning) Q_PROPERTY(bool running READ isRunning)
Q_PROPERTY(ChronoUtilities::DateTime activeSince READ activeSince) Q_PROPERTY(CppUtilities::DateTime activeSince READ activeSince)
Q_PROPERTY(bool manuallyStopped READ isManuallyStopped) Q_PROPERTY(bool manuallyStopped READ isManuallyStopped)
public: public:
explicit SyncthingProcess(QObject *parent = nullptr); explicit SyncthingProcess(QObject *parent = nullptr);
bool isRunning() const; bool isRunning() const;
ChronoUtilities::DateTime activeSince() const; CppUtilities::DateTime activeSince() const;
bool isActiveFor(unsigned int atLeastSeconds) const; bool isActiveFor(unsigned int atLeastSeconds) const;
bool isManuallyStopped() const; bool isManuallyStopped() const;
static SyncthingProcess *mainInstance(); static SyncthingProcess *mainInstance();
@ -43,7 +43,7 @@ private Q_SLOTS:
private: private:
QString m_program; QString m_program;
QStringList m_arguments; QStringList m_arguments;
ChronoUtilities::DateTime m_activeSince; CppUtilities::DateTime m_activeSince;
QTimer m_killTimer; QTimer m_killTimer;
bool m_manuallyStopped; bool m_manuallyStopped;
static SyncthingProcess *s_mainInstance; static SyncthingProcess *s_mainInstance;
@ -54,14 +54,14 @@ inline bool SyncthingProcess::isRunning() const
return state() != QProcess::NotRunning; return state() != QProcess::NotRunning;
} }
inline ChronoUtilities::DateTime SyncthingProcess::activeSince() const inline CppUtilities::DateTime SyncthingProcess::activeSince() const
{ {
return m_activeSince; return m_activeSince;
} }
inline bool SyncthingProcess::isActiveFor(unsigned int atLeastSeconds) const inline bool SyncthingProcess::isActiveFor(unsigned int atLeastSeconds) const
{ {
return !m_activeSince.isNull() && (ChronoUtilities::DateTime::gmtNow() - m_activeSince).totalSeconds() > atLeastSeconds; return !m_activeSince.isNull() && (CppUtilities::DateTime::gmtNow() - m_activeSince).totalSeconds() > atLeastSeconds;
} }
inline bool SyncthingProcess::isManuallyStopped() const inline bool SyncthingProcess::isManuallyStopped() const

View File

@ -20,7 +20,7 @@
using namespace std; using namespace std;
using namespace std::placeholders; using namespace std::placeholders;
using namespace ChronoUtilities; using namespace CppUtilities;
namespace Data { namespace Data {

View File

@ -38,7 +38,7 @@ class SyncthingService : public QObject {
Q_PROPERTY(bool unitAvailable READ isUnitAvailable NOTIFY unitAvailableChanged) Q_PROPERTY(bool unitAvailable READ isUnitAvailable NOTIFY unitAvailableChanged)
Q_PROPERTY(QString activeState READ activeState NOTIFY activeStateChanged) Q_PROPERTY(QString activeState READ activeState NOTIFY activeStateChanged)
Q_PROPERTY(QString subState READ subState NOTIFY subStateChanged) Q_PROPERTY(QString subState READ subState NOTIFY subStateChanged)
Q_PROPERTY(ChronoUtilities::DateTime activeSince READ activeSince NOTIFY activeStateChanged) Q_PROPERTY(CppUtilities::DateTime activeSince READ activeSince NOTIFY activeStateChanged)
Q_PROPERTY(QString unitFileState READ unitFileState NOTIFY unitFileStateChanged) Q_PROPERTY(QString unitFileState READ unitFileState NOTIFY unitFileStateChanged)
Q_PROPERTY(QString description READ description NOTIFY descriptionChanged) Q_PROPERTY(QString description READ description NOTIFY descriptionChanged)
Q_PROPERTY(bool running READ isRunning WRITE setRunning NOTIFY runningChanged) Q_PROPERTY(bool running READ isRunning WRITE setRunning NOTIFY runningChanged)
@ -53,11 +53,11 @@ public:
bool isUnitAvailable() const; bool isUnitAvailable() const;
const QString &activeState() const; const QString &activeState() const;
const QString &subState() const; const QString &subState() const;
ChronoUtilities::DateTime activeSince() const; CppUtilities::DateTime activeSince() const;
bool isActiveFor(unsigned int atLeastSeconds) const; bool isActiveFor(unsigned int atLeastSeconds) const;
bool isActiveWithoutSleepFor(unsigned int atLeastSeconds) const; bool isActiveWithoutSleepFor(unsigned int atLeastSeconds) const;
static bool isActiveWithoutSleepFor(ChronoUtilities::DateTime activeSince, unsigned int atLeastSeconds); static bool isActiveWithoutSleepFor(CppUtilities::DateTime activeSince, unsigned int atLeastSeconds);
static ChronoUtilities::DateTime lastWakeUp(); static CppUtilities::DateTime lastWakeUp();
const QString &unitFileState() const; const QString &unitFileState() const;
const QString &description() const; const QString &description() const;
bool isRunning() const; bool isRunning() const;
@ -80,7 +80,7 @@ Q_SIGNALS:
void unitNameChanged(const QString &unitName); void unitNameChanged(const QString &unitName);
void systemdAvailableChanged(bool available); void systemdAvailableChanged(bool available);
void unitAvailableChanged(bool available); void unitAvailableChanged(bool available);
void stateChanged(const QString &activeState, const QString &subState, ChronoUtilities::DateTime activeSince); void stateChanged(const QString &activeState, const QString &subState, CppUtilities::DateTime activeSince);
void activeStateChanged(const QString &activeState); void activeStateChanged(const QString &activeState);
void subStateChanged(const QString &subState); void subStateChanged(const QString &subState);
void unitFileStateChanged(const QString &unitFileState); void unitFileStateChanged(const QString &unitFileState);
@ -104,14 +104,14 @@ private Q_SLOTS:
private: private:
bool handlePropertyChanged(QString &variable, void (SyncthingService::*signal)(const QString &), const QString &propertyName, bool handlePropertyChanged(QString &variable, void (SyncthingService::*signal)(const QString &), const QString &propertyName,
const QVariantMap &changedProperties, const QStringList &invalidatedProperties); const QVariantMap &changedProperties, const QStringList &invalidatedProperties);
bool handlePropertyChanged(ChronoUtilities::DateTime &variable, const QString &propertyName, const QVariantMap &changedProperties, bool handlePropertyChanged(CppUtilities::DateTime &variable, const QString &propertyName, const QVariantMap &changedProperties,
const QStringList &invalidatedProperties); const QStringList &invalidatedProperties);
void registerErrorHandler(const QDBusPendingCall &call, const char *context); void registerErrorHandler(const QDBusPendingCall &call, const char *context);
static OrgFreedesktopSystemd1ManagerInterface *s_manager; static OrgFreedesktopSystemd1ManagerInterface *s_manager;
static OrgFreedesktopLogin1ManagerInterface *s_loginManager; static OrgFreedesktopLogin1ManagerInterface *s_loginManager;
static bool s_fallingAsleep; static bool s_fallingAsleep;
static ChronoUtilities::DateTime s_lastWakeUp; static CppUtilities::DateTime s_lastWakeUp;
static SyncthingService *s_mainInstance; static SyncthingService *s_mainInstance;
QString m_unitName; QString m_unitName;
QDBusServiceWatcher *m_serviceWatcher; QDBusServiceWatcher *m_serviceWatcher;
@ -122,7 +122,7 @@ private:
QString m_activeState; QString m_activeState;
QString m_subState; QString m_subState;
QString m_unitFileState; QString m_unitFileState;
ChronoUtilities::DateTime m_activeSince; CppUtilities::DateTime m_activeSince;
bool m_manuallyStopped; bool m_manuallyStopped;
bool m_unitAvailable; bool m_unitAvailable;
}; };
@ -182,14 +182,14 @@ inline bool SyncthingService::isManuallyStopped() const
return m_manuallyStopped; return m_manuallyStopped;
} }
inline ChronoUtilities::DateTime SyncthingService::activeSince() const inline CppUtilities::DateTime SyncthingService::activeSince() const
{ {
return m_activeSince; return m_activeSince;
} }
inline bool SyncthingService::isActiveFor(unsigned int atLeastSeconds) const inline bool SyncthingService::isActiveFor(unsigned int atLeastSeconds) const
{ {
return !m_activeSince.isNull() && (ChronoUtilities::DateTime::gmtNow() - m_activeSince).totalSeconds() > atLeastSeconds; return !m_activeSince.isNull() && (CppUtilities::DateTime::gmtNow() - m_activeSince).totalSeconds() > atLeastSeconds;
} }
inline bool SyncthingService::isActiveWithoutSleepFor(unsigned int atLeastSeconds) const inline bool SyncthingService::isActiveWithoutSleepFor(unsigned int atLeastSeconds) const
@ -197,7 +197,7 @@ inline bool SyncthingService::isActiveWithoutSleepFor(unsigned int atLeastSecond
return isActiveWithoutSleepFor(m_activeSince, atLeastSeconds); return isActiveWithoutSleepFor(m_activeSince, atLeastSeconds);
} }
inline ChronoUtilities::DateTime SyncthingService::lastWakeUp() inline CppUtilities::DateTime SyncthingService::lastWakeUp()
{ {
return s_lastWakeUp; return s_lastWakeUp;
} }

View File

@ -15,9 +15,8 @@
using namespace std; using namespace std;
using namespace Data; using namespace Data;
using namespace ChronoUtilities; using namespace CppUtilities;
using namespace TestUtilities; using namespace CppUtilities::Literals;
using namespace TestUtilities::Literals;
using namespace CPPUNIT_NS; using namespace CPPUNIT_NS;
@ -415,10 +414,10 @@ void ConnectionTests::testInitialConnection()
void ConnectionTests::testSendingError() void ConnectionTests::testSendingError()
{ {
bool newNotificationEmitted = false; auto newNotificationEmitted = false;
const DateTime sentTime(DateTime::now()); const auto sentTime(DateTime::now());
const QString sentMessage(QStringLiteral("test notification")); const auto sentMessage(QStringLiteral("test notification"));
const auto newNotificationHandler = [&](ChronoUtilities::DateTime receivedTime, const QString &receivedMessage) { const auto newNotificationHandler = [&](DateTime receivedTime, const QString &receivedMessage) {
newNotificationEmitted |= receivedTime == sentTime && receivedMessage == sentMessage; newNotificationEmitted |= receivedTime == sentTime && receivedMessage == sentMessage;
}; };
waitForSignals([this, sentTime, &sentMessage] { m_connection.emitNotification(sentTime, sentMessage); }, 500, waitForSignals([this, sentTime, &sentMessage] { m_connection.emitNotification(sentTime, sentMessage); }, 500,

View File

@ -19,9 +19,8 @@
using namespace std; using namespace std;
using namespace Data; using namespace Data;
using namespace ChronoUtilities; using namespace CppUtilities;
using namespace TestUtilities; using namespace CppUtilities::Literals;
using namespace TestUtilities::Literals;
using namespace CPPUNIT_NS; using namespace CPPUNIT_NS;

View File

@ -14,8 +14,7 @@
#include <QStringBuilder> #include <QStringBuilder>
#include <QUrl> #include <QUrl>
using namespace ChronoUtilities; using namespace CppUtilities;
using namespace ConversionUtilities;
namespace Data { namespace Data {

View File

@ -15,17 +15,19 @@
QT_FORWARD_DECLARE_CLASS(QJsonObject) QT_FORWARD_DECLARE_CLASS(QJsonObject)
QT_FORWARD_DECLARE_CLASS(QHostAddress) QT_FORWARD_DECLARE_CLASS(QHostAddress)
namespace ChronoUtilities { namespace CppUtilities {
class DateTime; class DateTime;
} }
namespace Data { namespace Data {
namespace Traits = CppUtilities::Traits;
struct SyncthingStatistics; struct SyncthingStatistics;
struct SyncthingDir; struct SyncthingDir;
struct SyncthingDev; struct SyncthingDev;
QString LIB_SYNCTHING_CONNECTOR_EXPORT agoString(ChronoUtilities::DateTime dateTime); QString LIB_SYNCTHING_CONNECTOR_EXPORT agoString(CppUtilities::DateTime dateTime);
QString LIB_SYNCTHING_CONNECTOR_EXPORT trafficString(std::uint64_t total, double rate); QString LIB_SYNCTHING_CONNECTOR_EXPORT trafficString(std::uint64_t total, double rate);
QString LIB_SYNCTHING_CONNECTOR_EXPORT directoryStatusString(const Data::SyncthingStatistics &stats); QString LIB_SYNCTHING_CONNECTOR_EXPORT directoryStatusString(const Data::SyncthingStatistics &stats);
QString LIB_SYNCTHING_CONNECTOR_EXPORT syncCompleteString( QString LIB_SYNCTHING_CONNECTOR_EXPORT syncCompleteString(

View File

@ -23,9 +23,9 @@
#include "resources/qtconfig.h" #include "resources/qtconfig.h"
using namespace std; using namespace std;
using namespace Dialogs; using namespace CppUtilities::EscapeCodes;
using namespace QtUtilities;
using namespace Data; using namespace Data;
using namespace EscapeCodes;
SyncthingFileItemActionStaticData::SyncthingFileItemActionStaticData() SyncthingFileItemActionStaticData::SyncthingFileItemActionStaticData()
: m_initialized(false) : m_initialized(false)
@ -98,8 +98,8 @@ void SyncthingFileItemActionStaticData::showAboutDialog()
{ {
auto *const aboutDialog auto *const aboutDialog
= new AboutDialog(nullptr, QStringLiteral(APP_NAME), QStringLiteral(APP_AUTHOR "\nSyncthing icons from Syncthing project"), = new AboutDialog(nullptr, QStringLiteral(APP_NAME), QStringLiteral(APP_AUTHOR "\nSyncthing icons from Syncthing project"),
QStringLiteral(APP_VERSION), ApplicationUtilities::applicationInfo.dependencyVersions, QStringLiteral(APP_URL), QStringLiteral(APP_VERSION), CppUtilities::applicationInfo.dependencyVersions, QStringLiteral(APP_URL), QStringLiteral(APP_DESCRIPTION),
QStringLiteral(APP_DESCRIPTION), renderSvgImage(makeSyncthingIcon()).toImage()); renderSvgImage(makeSyncthingIcon()).toImage());
aboutDialog->setWindowTitle(tr("About") + QStringLiteral(" - " APP_NAME)); aboutDialog->setWindowTitle(tr("About") + QStringLiteral(" - " APP_NAME));
aboutDialog->setWindowIcon(QIcon::fromTheme(QStringLiteral("syncthingtray"))); aboutDialog->setWindowIcon(QIcon::fromTheme(QStringLiteral("syncthingtray")));
aboutDialog->setAttribute(Qt::WA_DeleteOnClose); aboutDialog->setAttribute(Qt::WA_DeleteOnClose);

View File

@ -16,6 +16,7 @@
#include <iostream> #include <iostream>
#endif #endif
using namespace CppUtilities;
using namespace Data; using namespace Data;
SyncthingMenuAction::SyncthingMenuAction(const KFileItemListProperties &properties, const QList<QAction *> &actions, QObject *parent) SyncthingMenuAction::SyncthingMenuAction(const KFileItemListProperties &properties, const QList<QAction *> &actions, QObject *parent)

View File

@ -122,6 +122,9 @@ list(APPEND CMAKE_MODULE_PATH ${CPP_UTILITIES_MODULE_DIRS})
list(APPEND PRIVATE_SHARED_INCLUDE_DIRS ${CPP_UTILITIES_INCLUDE_DIRS}) list(APPEND PRIVATE_SHARED_INCLUDE_DIRS ${CPP_UTILITIES_INCLUDE_DIRS})
list(APPEND PRIVATE_STATIC_INCLUDE_DIRS ${CPP_UTILITIES_INCLUDE_DIRS}) list(APPEND PRIVATE_STATIC_INCLUDE_DIRS ${CPP_UTILITIES_INCLUDE_DIRS})
# use std::filesystem
use_standard_filesystem()
# include modules to apply configuration # include modules to apply configuration
include(BasicConfig) include(BasicConfig)
include(WindowsResources) include(WindowsResources)

View File

@ -11,15 +11,13 @@
#include <cppunit/extensions/HelperMacros.h> #include <cppunit/extensions/HelperMacros.h>
#include <cstdlib> #include <cstdlib>
#include <filesystem>
#include <functional> #include <functional>
#include <unistd.h> #include <unistd.h>
using namespace std; using namespace std;
using namespace ChronoUtilities; using namespace CppUtilities;
using namespace ConversionUtilities;
using namespace IoUtilities;
using namespace TestUtilities;
using namespace LibSyncthing; using namespace LibSyncthing;
using namespace CPPUNIT_NS; using namespace CPPUNIT_NS;
@ -76,16 +74,28 @@ string InterfaceTests::setupConfigDir()
if (configFilePath.empty()) { if (configFilePath.empty()) {
throw runtime_error("Unable to setup Syncthing config directory."); throw runtime_error("Unable to setup Syncthing config directory.");
} }
// clean database // clean database
const auto configDir(directory(configFilePath)); const auto configDir(directory(configFilePath));
for (const auto &dir : directoryEntries(configDir.data(), DirectoryEntryType::Directory)) { try {
if (dir == "." || dir == "..") { const auto dirIterator = filesystem::directory_iterator(configDir);
continue; for (const auto &dir : dirIterator) {
} if (!dir.is_directory() || dir == "." || dir == "..") {
for (const auto &file : directoryEntries((configDir % '/' + dir).data(), DirectoryEntryType::File)) { continue;
const auto toRemove(configDir % '/' % dir % '/' + file); }
CPPUNIT_ASSERT_EQUAL_MESSAGE("removing " + toRemove, 0, remove(toRemove.data())); const auto dirPath = dir.path();
const auto subdirIterator = filesystem::directory_iterator(configDir % '/' + dirPath);
for (const auto &file : subdirIterator) {
if (file.is_directory()) {
continue;
}
const auto toRemove = configDir % '/' % dirPath % '/' + file.path();
CPPUNIT_ASSERT_EQUAL_MESSAGE("removing " + toRemove, 0, remove(toRemove.data()));
}
} }
} catch (const filesystem::filesystem_error &error) {
CPPUNIT_FAIL(argsToString("Unable to clean config dir ", configDir, ": ", error.what()));
} }
return configDir; return configDir;
} }

View File

@ -10,8 +10,7 @@
#include <QStringBuilder> #include <QStringBuilder>
using namespace std; using namespace std;
using namespace ChronoUtilities; using namespace CppUtilities;
using namespace ConversionUtilities;
namespace Data { namespace Data {

View File

@ -10,8 +10,7 @@
#include <QStringBuilder> #include <QStringBuilder>
using namespace std; using namespace std;
using namespace ChronoUtilities; using namespace CppUtilities;
using namespace ConversionUtilities;
namespace Data { namespace Data {

View File

@ -6,7 +6,7 @@
#include <QStringBuilder> #include <QStringBuilder>
using namespace std; using namespace std;
using namespace ChronoUtilities; using namespace CppUtilities;
namespace Data { namespace Data {

View File

@ -2,7 +2,7 @@
#include "../connector/syncthingconnection.h" #include "../connector/syncthingconnection.h"
using namespace Models; using namespace QtUtilities;
namespace Data { namespace Data {

View File

@ -7,14 +7,12 @@
namespace Data { namespace Data {
class LIB_SYNCTHING_MODEL_EXPORT SyncthingStatusSelectionModel : public Models::ChecklistModel { class LIB_SYNCTHING_MODEL_EXPORT SyncthingStatusSelectionModel : public QtUtilities::ChecklistModel {
Q_OBJECT Q_OBJECT
public: public:
explicit SyncthingStatusSelectionModel(QObject *parent = nullptr); explicit SyncthingStatusSelectionModel(QObject *parent = nullptr);
QString labelForId(const QVariant &id) const override; QString labelForId(const QVariant &id) const override;
protected:
}; };
} // namespace Data } // namespace Data

View File

@ -17,9 +17,9 @@
#include <QKeySequenceEdit> #include <QKeySequenceEdit>
#include <QVBoxLayout> #include <QVBoxLayout>
using namespace Dialogs;
using namespace Data; using namespace Data;
using namespace QtGui; using namespace QtGui;
using namespace QtUtilities;
namespace Plasmoid { namespace Plasmoid {
@ -118,15 +118,14 @@ QWidget *AppearanceOptionPage::setupWidget()
SettingsDialog::SettingsDialog(Plasmoid::SyncthingApplet &applet) SettingsDialog::SettingsDialog(Plasmoid::SyncthingApplet &applet)
{ {
// setup categories // setup categories
QList<Dialogs::OptionCategory *> categories; QList<OptionCategory *> categories;
Dialogs::OptionCategory *category; OptionCategory *category;
category = new OptionCategory; category = new OptionCategory;
m_appearanceOptionPage = new AppearanceOptionPage(applet); m_appearanceOptionPage = new AppearanceOptionPage(applet);
category->setDisplayName(QCoreApplication::translate("Plasmoid::SettingsDialog", "Plasmoid")); category->setDisplayName(QCoreApplication::translate("Plasmoid::SettingsDialog", "Plasmoid"));
category->assignPages(QList<Dialogs::OptionPage *>() category->assignPages(QList<OptionPage *>() << new ConnectionOptionPage(applet.connection()) << new NotificationsOptionPage(GuiType::Plasmoid)
<< new ConnectionOptionPage(applet.connection()) << new NotificationsOptionPage(GuiType::Plasmoid) << m_appearanceOptionPage << m_appearanceOptionPage << new IconsOptionPage << new ShortcutOptionPage(applet));
<< new IconsOptionPage << new ShortcutOptionPage(applet));
category->setIcon(QIcon::fromTheme(QStringLiteral("plasma"))); category->setIcon(QIcon::fromTheme(QStringLiteral("plasma")));
categories << category; categories << category;
@ -143,9 +142,9 @@ SettingsDialog::SettingsDialog(Plasmoid::SyncthingApplet &applet)
category = new OptionCategory; category = new OptionCategory;
category->setDisplayName(QCoreApplication::translate("Plasmoid::SettingsDialog", "Extras")); category->setDisplayName(QCoreApplication::translate("Plasmoid::SettingsDialog", "Extras"));
category->assignPages(QList<Dialogs::OptionPage *>() << webViewPage category->assignPages(QList<OptionPage *>() << webViewPage
#ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD #ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD
<< systemdPage << systemdPage
#endif #endif
); );
category->setIcon( category->setIcon(

View File

@ -41,10 +41,9 @@
using namespace std; using namespace std;
using namespace Data; using namespace Data;
using namespace Plasma; using namespace Plasma;
using namespace Dialogs; using namespace CppUtilities;
using namespace QtUtilities;
using namespace QtGui; using namespace QtGui;
using namespace ConversionUtilities;
using namespace ChronoUtilities;
namespace Plasmoid { namespace Plasmoid {
@ -229,7 +228,7 @@ bool SyncthingApplet::areNotificationsAvailable() const
return !m_notifications.empty(); return !m_notifications.empty();
} }
void SyncthingApplet::setPassiveStates(const QList<Models::ChecklistItem> &passiveStates) void SyncthingApplet::setPassiveStates(const QList<QtUtilities::ChecklistItem> &passiveStates)
{ {
m_passiveSelectionModel.setItems(passiveStates); m_passiveSelectionModel.setItems(passiveStates);
const auto currentState = static_cast<int>(m_connection.status()); const auto currentState = static_cast<int>(m_connection.status());
@ -258,13 +257,13 @@ void SyncthingApplet::showSettingsDlg()
if (!m_settingsDlg) { if (!m_settingsDlg) {
m_settingsDlg = new SettingsDialog(*this); m_settingsDlg = new SettingsDialog(*this);
// ensure settings take effect when applied // ensure settings take effect when applied
connect(m_settingsDlg, &Dialogs::SettingsDialog::applied, this, &SyncthingApplet::handleSettingsChanged); connect(m_settingsDlg, &SettingsDialog::applied, this, &SyncthingApplet::handleSettingsChanged);
// save plasmoid specific settings to disk when applied // save plasmoid specific settings to disk when applied
connect(m_settingsDlg, &Dialogs::SettingsDialog::applied, this, &SyncthingApplet::configChanged); connect(m_settingsDlg, &SettingsDialog::applied, this, &SyncthingApplet::configChanged);
// save global/general settings to disk when applied // save global/general settings to disk when applied
connect(m_settingsDlg, &Dialogs::SettingsDialog::applied, &Settings::save); connect(m_settingsDlg, &SettingsDialog::applied, &Settings::save);
} }
Dialogs::centerWidget(m_settingsDlg); centerWidget(m_settingsDlg);
m_settingsDlg->show(); m_settingsDlg->show();
m_settingsDlg->activateWindow(); m_settingsDlg->activateWindow();
} }
@ -313,8 +312,8 @@ void SyncthingApplet::showAboutDialog()
QStringLiteral("<p>Developed by " APP_AUTHOR "<br>Syncthing icons from <a href=\"https://syncthing.net\">Syncthing project</a><br>Using " QStringLiteral("<p>Developed by " APP_AUTHOR "<br>Syncthing icons from <a href=\"https://syncthing.net\">Syncthing project</a><br>Using "
"icons from <a href=\"https://fontawesome.com\">Font " "icons from <a href=\"https://fontawesome.com\">Font "
"Awesome</a> (see <a href=\"https://fontawesome.com/license\">their license</a>)</p>"), "Awesome</a> (see <a href=\"https://fontawesome.com/license\">their license</a>)</p>"),
QStringLiteral(APP_VERSION), ApplicationUtilities::applicationInfo.dependencyVersions, QStringLiteral(APP_URL), QStringLiteral(APP_VERSION), CppUtilities::applicationInfo.dependencyVersions, QStringLiteral(APP_URL), QStringLiteral(APP_DESCRIPTION),
QStringLiteral(APP_DESCRIPTION), renderSvgImage(makeSyncthingIcon()).toImage()); renderSvgImage(makeSyncthingIcon()).toImage());
m_aboutDlg->setWindowTitle(tr("About") + QStringLiteral(" - " APP_NAME)); m_aboutDlg->setWindowTitle(tr("About") + QStringLiteral(" - " APP_NAME));
m_aboutDlg->setWindowIcon(QIcon::fromTheme(QStringLiteral("syncthingtray"))); m_aboutDlg->setWindowIcon(QIcon::fromTheme(QStringLiteral("syncthingtray")));
m_aboutDlg->setAttribute(Qt::WA_DeleteOnClose); m_aboutDlg->setAttribute(Qt::WA_DeleteOnClose);

View File

@ -65,7 +65,7 @@ class SyncthingApplet : public Plasma::Applet {
Q_PROPERTY(QSize size READ size WRITE setSize NOTIFY sizeChanged) Q_PROPERTY(QSize size READ size WRITE setSize NOTIFY sizeChanged)
Q_PROPERTY(bool notificationsAvailable READ areNotificationsAvailable NOTIFY notificationsAvailableChanged) Q_PROPERTY(bool notificationsAvailable READ areNotificationsAvailable NOTIFY notificationsAvailableChanged)
Q_PROPERTY(bool passive READ isPassive NOTIFY passiveChanged) Q_PROPERTY(bool passive READ isPassive NOTIFY passiveChanged)
Q_PROPERTY(QList<Models::ChecklistItem> passiveStates READ passiveStates WRITE setPassiveStates) Q_PROPERTY(QList<QtUtilities::ChecklistItem> passiveStates READ passiveStates WRITE setPassiveStates)
public: public:
SyncthingApplet(QObject *parent, const QVariantList &data); SyncthingApplet(QObject *parent, const QVariantList &data);
@ -99,8 +99,8 @@ public:
void setSize(const QSize &size); void setSize(const QSize &size);
bool areNotificationsAvailable() const; bool areNotificationsAvailable() const;
bool isPassive() const; bool isPassive() const;
const QList<Models::ChecklistItem> &passiveStates() const; const QList<QtUtilities::ChecklistItem> &passiveStates() const;
void setPassiveStates(const QList<Models::ChecklistItem> &passiveStates); void setPassiveStates(const QList<QtUtilities::ChecklistItem> &passiveStates);
public Q_SLOTS: public Q_SLOTS:
void init() override; void init() override;
@ -153,7 +153,7 @@ private Q_SLOTS:
#ifndef SYNCTHINGWIDGETS_NO_WEBVIEW #ifndef SYNCTHINGWIDGETS_NO_WEBVIEW
void handleWebViewDeleted(); void handleWebViewDeleted();
#endif #endif
void handleNewNotification(ChronoUtilities::DateTime when, const QString &msg); void handleNewNotification(CppUtilities::DateTime when, const QString &msg);
void handleSystemdServiceError(const QString &context, const QString &name, const QString &message); void handleSystemdServiceError(const QString &context, const QString &name, const QString &message);
#ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD #ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD
void handleSystemdStatusChanged(); void handleSystemdStatusChanged();
@ -161,7 +161,7 @@ private Q_SLOTS:
void setPassive(bool passive); void setPassive(bool passive);
private: private:
Dialogs::AboutDialog *m_aboutDlg; QtUtilities::AboutDialog *m_aboutDlg;
Data::SyncthingConnection m_connection; Data::SyncthingConnection m_connection;
Data::SyncthingOverallDirStatistics m_overallStats; Data::SyncthingOverallDirStatistics m_overallStats;
Data::SyncthingNotifier m_notifier; Data::SyncthingNotifier m_notifier;
@ -260,7 +260,7 @@ inline bool SyncthingApplet::isPassive() const
return status() == Plasma::Types::PassiveStatus; return status() == Plasma::Types::PassiveStatus;
} }
inline const QList<Models::ChecklistItem> &SyncthingApplet::passiveStates() const inline const QList<QtUtilities::ChecklistItem> &SyncthingApplet::passiveStates() const
{ {
return m_passiveSelectionModel.items(); return m_passiveSelectionModel.items();
} }

View File

@ -1,6 +1,6 @@
#include "./helper.h" #include "./helper.h"
namespace TestUtilities { namespace CppUtilities {
/*! /*!
* \brief Specifies the factor for multiplying all timeouts passed to functions declared in helper.h. * \brief Specifies the factor for multiplying all timeouts passed to functions declared in helper.h.
@ -8,4 +8,4 @@ namespace TestUtilities {
* The default factor is 1.0. * The default factor is 1.0.
*/ */
double timeoutFactor = 1.0; double timeoutFactor = 1.0;
} // namespace TestUtilities } // namespace CppUtilities

View File

@ -17,12 +17,12 @@
#include <ostream> #include <ostream>
#ifndef SYNCTHINGTESTHELPER_FOR_CLI #ifndef SYNCTHINGTESTHELPER_FOR_CLI
#define SYNCTHINGTESTHELPER_TIMEOUT(timeout) static_cast<int>(timeout * ::TestUtilities::timeoutFactor) #define SYNCTHINGTESTHELPER_TIMEOUT(timeout) static_cast<int>(timeout * ::CppUtilities::timeoutFactor)
#else #else
#define SYNCTHINGTESTHELPER_TIMEOUT(timeout) timeout #define SYNCTHINGTESTHELPER_TIMEOUT(timeout) timeout
#endif #endif
using namespace ConversionUtilities; using namespace CppUtilities;
/*! /*!
* \brief Prints a QString; required to use QString with CPPUNIT_ASSERT_EQUAL_MESSAGE. * \brief Prints a QString; required to use QString with CPPUNIT_ASSERT_EQUAL_MESSAGE.
@ -48,7 +48,7 @@ inline std::ostream &operator<<(std::ostream &o, const QSet<QString> &qstringset
return o << qstringset.toList().join(QStringLiteral(", ")).toLocal8Bit().data(); return o << qstringset.toList().join(QStringLiteral(", ")).toLocal8Bit().data();
} }
namespace TestUtilities { namespace CppUtilities {
extern double timeoutFactor; extern double timeoutFactor;
@ -397,6 +397,6 @@ bool waitForSignalsOrFail(Action action, int timeout, const SignalInfo &failure,
return !failureEmitted && !timeoutFailed; return !failureEmitted && !timeoutFailed;
} }
} // namespace TestUtilities } // namespace CppUtilities
#endif // SYNCTHINGTESTHELPER_H #endif // SYNCTHINGTESTHELPER_H

View File

@ -9,9 +9,8 @@
#include <QFileInfo> #include <QFileInfo>
using namespace std; using namespace std;
using namespace ConversionUtilities;
namespace TestUtilities { namespace CppUtilities {
static int dummy1 = 0; static int dummy1 = 0;
static char *dummy2; static char *dummy2;
@ -139,4 +138,4 @@ void SyncthingTestInstance::setInterleavedOutputEnabledFromEnv()
setInterleavedOutputEnabled(true); setInterleavedOutputEnabled(true);
} }
} }
} // namespace TestUtilities } // namespace CppUtilities

View File

@ -11,7 +11,7 @@
using namespace std; using namespace std;
namespace TestUtilities { namespace CppUtilities {
/*! /*!
* \brief The SyncthingTestInstance class provides running a test instance of Syncthing. * \brief The SyncthingTestInstance class provides running a test instance of Syncthing.
@ -69,6 +69,6 @@ inline bool SyncthingTestInstance::isInterleavedOutputEnabled() const
{ {
return m_interleavedOutput; return m_interleavedOutput;
} }
} // namespace TestUtilities } // namespace CppUtilities
#endif // SYNCTHINGTESTHELPER_SYNCTHINGTESTINSTANCE_H #endif // SYNCTHINGTESTHELPER_SYNCTHINGTESTINSTANCE_H

View File

@ -5,7 +5,7 @@
#include <iostream> #include <iostream>
using namespace std; using namespace std;
using namespace TestUtilities; using namespace CppUtilities;
/*! /*!
* \brief Launches a Syncthing test instance for manual testing. * \brief Launches a Syncthing test instance for manual testing.

View File

@ -15,7 +15,7 @@
#include <c++utilities/application/argumentparser.h> #include <c++utilities/application/argumentparser.h>
#include <c++utilities/application/commandlineutils.h> #include <c++utilities/application/commandlineutils.h>
#include <c++utilities/application/failure.h> #include <c++utilities/misc/parseerror.h>
#include <qtutilities/resources/importplugin.h> #include <qtutilities/resources/importplugin.h>
#include <qtutilities/resources/qtconfigarguments.h> #include <qtutilities/resources/qtconfigarguments.h>
@ -30,7 +30,7 @@
#include <iostream> #include <iostream>
using namespace std; using namespace std;
using namespace ApplicationUtilities; using namespace CppUtilities;
using namespace QtGui; using namespace QtGui;
using namespace Data; using namespace Data;
@ -140,7 +140,7 @@ int runApplication(int argc, const char *const *argv)
widgetsGuiArg.addSubArgument(&connectionArg); widgetsGuiArg.addSubArgument(&connectionArg);
parser.setMainArguments({ &qtConfigArgs.qtWidgetsGuiArg(), &parser.noColorArg(), &parser.helpArg() }); parser.setMainArguments({ &qtConfigArgs.qtWidgetsGuiArg(), &parser.noColorArg(), &parser.helpArg() });
parser.parseArgsOrExit(argc, argv); parser.parseArgs(argc, argv);
if (!qtConfigArgs.qtWidgetsGuiArg().isPresent()) { if (!qtConfigArgs.qtWidgetsGuiArg().isPresent()) {
return 0; return 0;
} }

View File

@ -12,8 +12,8 @@
#include <memory> #include <memory>
using namespace std; using namespace std;
using namespace ConversionUtilities; using namespace CppUtilities;
using namespace EscapeCodes; using namespace CppUtilities::EscapeCodes;
namespace QtGui { namespace QtGui {

View File

@ -25,11 +25,8 @@
#endif #endif
using namespace std; using namespace std;
using namespace Dialogs; using namespace QtUtilities;
using namespace Data; using namespace Data;
#ifdef QT_UTILITIES_SUPPORT_DBUS_NOTIFICATIONS
using namespace MiscUtils;
#endif
namespace QtGui { namespace QtGui {
@ -214,7 +211,7 @@ void TrayIcon::showInternalError(
m_errorsAction->setVisible(true); m_errorsAction->setVisible(true);
} }
void TrayIcon::showSyncthingNotification(ChronoUtilities::DateTime when, const QString &message) void TrayIcon::showSyncthingNotification(CppUtilities::DateTime when, const QString &message)
{ {
if (m_notifyOnSyncthingErrors) { if (m_notifyOnSyncthingErrors) {
#ifdef QT_UTILITIES_SUPPORT_DBUS_NOTIFICATIONS #ifdef QT_UTILITIES_SUPPORT_DBUS_NOTIFICATIONS

View File

@ -34,7 +34,7 @@ public:
public slots: public slots:
void showInternalError( void showInternalError(
const QString &errorMsg, Data::SyncthingErrorCategory category, int networkError, const QNetworkRequest &request, const QByteArray &response); const QString &errorMsg, Data::SyncthingErrorCategory category, int networkError, const QNetworkRequest &request, const QByteArray &response);
void showSyncthingNotification(ChronoUtilities::DateTime when, const QString &message); void showSyncthingNotification(CppUtilities::DateTime when, const QString &message);
void showInternalErrorsDialog(); void showInternalErrorsDialog();
void updateStatusIconAndText(); void updateStatusIconAndText();
void showNewDev(const QString &devId, const QString &message); void showNewDev(const QString &devId, const QString &message);

View File

@ -11,6 +11,8 @@
#include <QDesktopWidget> #include <QDesktopWidget>
#include <QHBoxLayout> #include <QHBoxLayout>
using namespace QtUtilities;
namespace QtGui { namespace QtGui {
TrayMenu::TrayMenu(TrayIcon *trayIcon, QWidget *parent) TrayMenu::TrayMenu(TrayIcon *trayIcon, QWidget *parent)
@ -52,7 +54,7 @@ void TrayMenu::showAtCursor()
{ {
resize(sizeHint()); resize(sizeHint());
QPoint pos(QCursor::pos()); QPoint pos(QCursor::pos());
moveInside(pos, size(), Dialogs::availableScreenGeometryAtPoint(pos)); moveInside(pos, size(), availableScreenGeometryAtPoint(pos));
popup(pos); popup(pos);
} }
} // namespace QtGui } // namespace QtGui

View File

@ -44,17 +44,15 @@
#include <algorithm> #include <algorithm>
#include <functional> #include <functional>
using namespace ApplicationUtilities; using namespace CppUtilities;
using namespace ConversionUtilities; using namespace QtUtilities;
using namespace ChronoUtilities;
using namespace Dialogs;
using namespace Data; using namespace Data;
using namespace std; using namespace std;
namespace QtGui { namespace QtGui {
SettingsDialog *TrayWidget::m_settingsDlg = nullptr; SettingsDialog *TrayWidget::m_settingsDlg = nullptr;
Dialogs::AboutDialog *TrayWidget::m_aboutDlg = nullptr; QtUtilities::AboutDialog *TrayWidget::m_aboutDlg = nullptr;
vector<TrayWidget *> TrayWidget::m_instances; vector<TrayWidget *> TrayWidget::m_instances;
/*! /*!
@ -437,7 +435,7 @@ void TrayWidget::applySettingsOnAllInstances()
void TrayWidget::openDir(const SyncthingDir &dir) void TrayWidget::openDir(const SyncthingDir &dir)
{ {
if (QDir(dir.path).exists()) { if (QDir(dir.path).exists()) {
DesktopUtils::openLocalFileOrDir(dir.path); openLocalFileOrDir(dir.path);
} else { } else {
QMessageBox::warning( QMessageBox::warning(
this, QCoreApplication::applicationName(), tr("The directory <i>%1</i> does not exist on the local machine.").arg(dir.path)); this, QCoreApplication::applicationName(), tr("The directory <i>%1</i> does not exist on the local machine.").arg(dir.path));
@ -448,7 +446,7 @@ void TrayWidget::openItemDir(const SyncthingItemDownloadProgress &item)
{ {
const QDir containingDir(item.fileInfo.absoluteDir()); const QDir containingDir(item.fileInfo.absoluteDir());
if (containingDir.exists()) { if (containingDir.exists()) {
DesktopUtils::openLocalFileOrDir(containingDir.path()); openLocalFileOrDir(containingDir.path());
} else { } else {
QMessageBox::warning(this, QCoreApplication::applicationName(), QMessageBox::warning(this, QCoreApplication::applicationName(),
tr("The containing directory <i>%1</i> does not exist on the local machine.").arg(item.fileInfo.filePath())); tr("The containing directory <i>%1</i> does not exist on the local machine.").arg(item.fileInfo.filePath()));

View File

@ -20,11 +20,11 @@ QT_FORWARD_DECLARE_CLASS(QFrame)
QT_FORWARD_DECLARE_CLASS(QMenu) QT_FORWARD_DECLARE_CLASS(QMenu)
QT_FORWARD_DECLARE_CLASS(QActionGroup) QT_FORWARD_DECLARE_CLASS(QActionGroup)
namespace ApplicationUtilities { namespace CppUtilities {
class QtConfigArguments; class QtConfigArguments;
} }
namespace Dialogs { namespace QtUtilities {
class AboutDialog; class AboutDialog;
} }
@ -83,7 +83,7 @@ private slots:
#ifndef SYNCTHINGWIDGETS_NO_WEBVIEW #ifndef SYNCTHINGWIDGETS_NO_WEBVIEW
void handleWebViewDeleted(); void handleWebViewDeleted();
#endif #endif
void handleNewNotification(ChronoUtilities::DateTime when, const QString &msg); void handleNewNotification(CppUtilities::DateTime when, const QString &msg);
void handleConnectionSelected(QAction *connectionAction); void handleConnectionSelected(QAction *connectionAction);
void showDialog(QWidget *dlg); void showDialog(QWidget *dlg);
@ -91,7 +91,7 @@ private:
TrayMenu *m_menu; TrayMenu *m_menu;
std::unique_ptr<Ui::TrayWidget> m_ui; std::unique_ptr<Ui::TrayWidget> m_ui;
static SettingsDialog *m_settingsDlg; static SettingsDialog *m_settingsDlg;
static Dialogs::AboutDialog *m_aboutDlg; static QtUtilities::AboutDialog *m_aboutDlg;
#ifndef SYNCTHINGWIDGETS_NO_WEBVIEW #ifndef SYNCTHINGWIDGETS_NO_WEBVIEW
WebViewDialog *m_webViewDlg; WebViewDialog *m_webViewDlg;
#endif #endif

View File

@ -10,7 +10,7 @@
#include <QPixmap> #include <QPixmap>
using namespace Data; using namespace Data;
using namespace MiscUtils; using namespace QtUtilities;
namespace QtGui { namespace QtGui {

View File

@ -26,7 +26,7 @@ public Q_SLOTS:
void showDisconnect(); void showDisconnect();
void hideDisconnect(); void hideDisconnect();
void showInternalError(const InternalError &error); void showInternalError(const InternalError &error);
void showSyncthingNotification(ChronoUtilities::DateTime when, const QString &message); void showSyncthingNotification(CppUtilities::DateTime when, const QString &message);
void showSyncComplete(const QString &message); void showSyncComplete(const QString &message);
void showNewDev(const QString &devId, const QString &message); void showNewDev(const QString &devId, const QString &message);
void showNewDir(const QString &devId, const QString &dirId, const QString &message); void showNewDir(const QString &devId, const QString &dirId, const QString &message);
@ -43,12 +43,12 @@ private Q_SLOTS:
void handleSyncthingNotificationAction(const QString &action); void handleSyncthingNotificationAction(const QString &action);
private: private:
MiscUtils::DBusNotification m_disconnectedNotification; QtUtilities::DBusNotification m_disconnectedNotification;
MiscUtils::DBusNotification m_internalErrorNotification; QtUtilities::DBusNotification m_internalErrorNotification;
MiscUtils::DBusNotification m_syncthingNotification; QtUtilities::DBusNotification m_syncthingNotification;
MiscUtils::DBusNotification m_syncCompleteNotification; QtUtilities::DBusNotification m_syncCompleteNotification;
MiscUtils::DBusNotification m_newDevNotification; QtUtilities::DBusNotification m_newDevNotification;
MiscUtils::DBusNotification m_newDirNotification; QtUtilities::DBusNotification m_newDirNotification;
}; };
inline void DBusStatusNotifier::showDisconnect() inline void DBusStatusNotifier::showDisconnect()
@ -66,7 +66,7 @@ inline void DBusStatusNotifier::showInternalError(const InternalError &error)
m_internalErrorNotification.update(error.message); m_internalErrorNotification.update(error.message);
} }
inline void DBusStatusNotifier::showSyncthingNotification(ChronoUtilities::DateTime when, const QString &message) inline void DBusStatusNotifier::showSyncthingNotification(CppUtilities::DateTime when, const QString &message)
{ {
Q_UNUSED(when) Q_UNUSED(when)
m_syncthingNotification.update(message); m_syncthingNotification.update(message);

View File

@ -19,7 +19,7 @@
#include <limits> #include <limits>
using namespace std; using namespace std;
using namespace ChronoUtilities; using namespace CppUtilities;
using namespace Data; using namespace Data;
namespace QtGui { namespace QtGui {

View File

@ -24,14 +24,14 @@ struct SYNCTHINGWIDGETS_EXPORT InternalError {
QString message; QString message;
QUrl url; QUrl url;
QByteArray response; QByteArray response;
ChronoUtilities::DateTime when; CppUtilities::DateTime when;
}; };
inline InternalError::InternalError(const QString &message, const QUrl &url, const QByteArray &response) inline InternalError::InternalError(const QString &message, const QUrl &url, const QByteArray &response)
: message(message) : message(message)
, url(url) , url(url)
, response(response) , response(response)
, when(ChronoUtilities::DateTime::now()) , when(CppUtilities::DateTime::now())
{ {
} }
} // namespace QtGui } // namespace QtGui

View File

@ -13,7 +13,7 @@
#include <limits> #include <limits>
using namespace std; using namespace std;
using namespace ChronoUtilities; using namespace CppUtilities;
using namespace Data; using namespace Data;
namespace QtGui { namespace QtGui {

View File

@ -9,7 +9,7 @@
using namespace std; using namespace std;
using namespace Data; using namespace Data;
using namespace TestUtilities; using namespace CppUtilities;
namespace QtGui { namespace QtGui {

View File

@ -7,7 +7,7 @@
using namespace std; using namespace std;
using namespace std::placeholders; using namespace std::placeholders;
using namespace ChronoUtilities; using namespace CppUtilities;
namespace Data { namespace Data {

View File

@ -17,7 +17,7 @@ namespace Data {
class SYNCTHINGWIDGETS_EXPORT SyncthingLauncher : public QObject { class SYNCTHINGWIDGETS_EXPORT SyncthingLauncher : public QObject {
Q_OBJECT Q_OBJECT
Q_PROPERTY(bool running READ isRunning NOTIFY runningChanged) Q_PROPERTY(bool running READ isRunning NOTIFY runningChanged)
Q_PROPERTY(ChronoUtilities::DateTime activeSince READ activeSince) Q_PROPERTY(CppUtilities::DateTime activeSince READ activeSince)
Q_PROPERTY(bool manuallyStopped READ isManuallyStopped) Q_PROPERTY(bool manuallyStopped READ isManuallyStopped)
Q_PROPERTY(bool useLibSyncthing READ isUseLibSyncthing WRITE setUseLibSyncthing) Q_PROPERTY(bool useLibSyncthing READ isUseLibSyncthing WRITE setUseLibSyncthing)
@ -25,7 +25,7 @@ public:
explicit SyncthingLauncher(QObject *parent = nullptr); explicit SyncthingLauncher(QObject *parent = nullptr);
bool isRunning() const; bool isRunning() const;
ChronoUtilities::DateTime activeSince() const; CppUtilities::DateTime activeSince() const;
bool isActiveFor(unsigned int atLeastSeconds) const; bool isActiveFor(unsigned int atLeastSeconds) const;
bool isManuallyStopped() const; bool isManuallyStopped() const;
bool isUseLibSyncthing() const; bool isUseLibSyncthing() const;
@ -56,7 +56,7 @@ private Q_SLOTS:
private: private:
SyncthingProcess m_process; SyncthingProcess m_process;
QFuture<void> m_future; QFuture<void> m_future;
ChronoUtilities::DateTime m_futureStarted; CppUtilities::DateTime m_futureStarted;
bool m_manuallyStopped; bool m_manuallyStopped;
bool m_useLibSyncthing; bool m_useLibSyncthing;
static SyncthingLauncher *s_mainInstance; static SyncthingLauncher *s_mainInstance;
@ -67,20 +67,20 @@ inline bool SyncthingLauncher::isRunning() const
return m_process.isRunning() || m_future.isRunning(); return m_process.isRunning() || m_future.isRunning();
} }
inline ChronoUtilities::DateTime SyncthingLauncher::activeSince() const inline CppUtilities::DateTime SyncthingLauncher::activeSince() const
{ {
if (m_process.isRunning()) { if (m_process.isRunning()) {
return m_process.activeSince(); return m_process.activeSince();
} else if (m_future.isRunning()) { } else if (m_future.isRunning()) {
return m_futureStarted; return m_futureStarted;
} }
return ChronoUtilities::DateTime(); return CppUtilities::DateTime();
} }
inline bool SyncthingLauncher::isActiveFor(unsigned int atLeastSeconds) const inline bool SyncthingLauncher::isActiveFor(unsigned int atLeastSeconds) const
{ {
const auto activeSince(this->activeSince()); const auto activeSince(this->activeSince());
return !activeSince.isNull() && (ChronoUtilities::DateTime::gmtNow() - activeSince).totalSeconds() > atLeastSeconds; return !activeSince.isNull() && (CppUtilities::DateTime::gmtNow() - activeSince).totalSeconds() > atLeastSeconds;
} }
inline bool SyncthingLauncher::isManuallyStopped() const inline bool SyncthingLauncher::isManuallyStopped() const

View File

@ -21,7 +21,7 @@
using namespace std; using namespace std;
using namespace std::placeholders; using namespace std::placeholders;
using namespace Dialogs; using namespace QtUtilities;
using namespace Data; using namespace Data;
namespace QtGui { namespace QtGui {

View File

@ -179,7 +179,7 @@
</widget> </widget>
</item> </item>
<item row="3" column="1"> <item row="3" column="1">
<widget class="Widgets::ClearLineEdit" name="urlLineEdit"/> <widget class="QtUtilities::ClearLineEdit" name="urlLineEdit"/>
</item> </item>
<item row="4" column="0"> <item row="4" column="0">
<widget class="QLabel" name="authLabel"> <widget class="QLabel" name="authLabel">
@ -202,7 +202,7 @@
</widget> </widget>
</item> </item>
<item row="5" column="1"> <item row="5" column="1">
<widget class="Widgets::ClearLineEdit" name="userNameLineEdit"> <widget class="QtUtilities::ClearLineEdit" name="userNameLineEdit">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
@ -219,7 +219,7 @@
</widget> </widget>
</item> </item>
<item row="6" column="1"> <item row="6" column="1">
<widget class="Widgets::ClearLineEdit" name="passwordLineEdit"> <widget class="QtUtilities::ClearLineEdit" name="passwordLineEdit">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
@ -236,7 +236,7 @@
</widget> </widget>
</item> </item>
<item row="8" column="1"> <item row="8" column="1">
<widget class="Widgets::ClearLineEdit" name="apiKeyLineEdit"/> <widget class="QtUtilities::ClearLineEdit" name="apiKeyLineEdit"/>
</item> </item>
<item row="9" column="0"> <item row="9" column="0">
<widget class="QLabel" name="certificateLabel"> <widget class="QLabel" name="certificateLabel">
@ -246,7 +246,7 @@
</widget> </widget>
</item> </item>
<item row="9" column="1"> <item row="9" column="1">
<widget class="Widgets::PathSelection" name="certPathSelection" native="true"> <widget class="QtUtilities::PathSelection" name="certPathSelection" native="true">
<property name="sizePolicy"> <property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Preferred"> <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
<horstretch>0</horstretch> <horstretch>0</horstretch>
@ -449,13 +449,13 @@
</widget> </widget>
<customwidgets> <customwidgets>
<customwidget> <customwidget>
<class>Widgets::PathSelection</class> <class>QtUtilities::PathSelection</class>
<extends>QWidget</extends> <extends>QWidget</extends>
<header location="global">qtutilities/widgets/pathselection.h</header> <header location="global">qtutilities/widgets/pathselection.h</header>
<container>1</container> <container>1</container>
</customwidget> </customwidget>
<customwidget> <customwidget>
<class>Widgets::ClearLineEdit</class> <class>QtUtilities::ClearLineEdit</class>
<extends>QLineEdit</extends> <extends>QLineEdit</extends>
<header location="global">qtutilities/widgets/clearlineedit.h</header> <header location="global">qtutilities/widgets/clearlineedit.h</header>
</customwidget> </customwidget>

View File

@ -53,7 +53,7 @@
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="0" column="1">
<widget class="Widgets::PathSelection" name="syncthingPathSelection" native="true"/> <widget class="QtUtilities::PathSelection" name="syncthingPathSelection" native="true"/>
</item> </item>
<item row="2" column="0"> <item row="2" column="0">
<widget class="QLabel" name="argumentsLabel"> <widget class="QLabel" name="argumentsLabel">
@ -63,7 +63,7 @@
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="2" column="1">
<widget class="Widgets::ClearLineEdit" name="argumentsLineEdit"/> <widget class="QtUtilities::ClearLineEdit" name="argumentsLineEdit"/>
</item> </item>
<item row="1" column="1"> <item row="1" column="1">
<widget class="QCheckBox" name="useBuiltInVersionCheckBox"> <widget class="QCheckBox" name="useBuiltInVersionCheckBox">
@ -152,7 +152,7 @@
</layout> </layout>
</item> </item>
<item> <item>
<widget class="Widgets::ClearPlainTextEdit" name="logTextEdit"> <widget class="QtUtilities::ClearPlainTextEdit" name="logTextEdit">
<property name="undoRedoEnabled"> <property name="undoRedoEnabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
@ -178,18 +178,18 @@
</widget> </widget>
<customwidgets> <customwidgets>
<customwidget> <customwidget>
<class>Widgets::PathSelection</class> <class>QtUtilities::PathSelection</class>
<extends>QWidget</extends> <extends>QWidget</extends>
<header location="global">qtutilities/widgets/pathselection.h</header> <header location="global">qtutilities/widgets/pathselection.h</header>
<container>1</container> <container>1</container>
</customwidget> </customwidget>
<customwidget> <customwidget>
<class>Widgets::ClearLineEdit</class> <class>QtUtilities::ClearLineEdit</class>
<extends>QLineEdit</extends> <extends>QLineEdit</extends>
<header location="global">qtutilities/widgets/clearlineedit.h</header> <header location="global">qtutilities/widgets/clearlineedit.h</header>
</customwidget> </customwidget>
<customwidget> <customwidget>
<class>Widgets::ClearPlainTextEdit</class> <class>QtUtilities::ClearPlainTextEdit</class>
<extends>QPlainTextEdit</extends> <extends>QPlainTextEdit</extends>
<header location="global">qtutilities/widgets/clearplaintextedit.h</header> <header location="global">qtutilities/widgets/clearplaintextedit.h</header>
</customwidget> </customwidget>

View File

@ -30,9 +30,7 @@
using namespace std; using namespace std;
using namespace Data; using namespace Data;
#ifdef QT_UTILITIES_SUPPORT_DBUS_NOTIFICATIONS using namespace QtUtilities;
using namespace MiscUtils;
#endif
namespace std { namespace std {

View File

@ -17,7 +17,7 @@
#include <tuple> #include <tuple>
#include <vector> #include <vector>
namespace Dialogs { namespace QtUtilities {
class QtSettings; class QtSettings;
} }
@ -115,7 +115,7 @@ struct SYNCTHINGWIDGETS_EXPORT Settings {
#if defined(SYNCTHINGWIDGETS_USE_WEBENGINE) || defined(SYNCTHINGWIDGETS_USE_WEBKIT) #if defined(SYNCTHINGWIDGETS_USE_WEBENGINE) || defined(SYNCTHINGWIDGETS_USE_WEBKIT)
WebView webView; WebView webView;
#endif #endif
Dialogs::QtSettings qt; QtUtilities::QtSettings qt;
void apply(Data::SyncthingNotifier &notifier) const; void apply(Data::SyncthingNotifier &notifier) const;
}; };

View File

@ -57,11 +57,9 @@
using namespace std; using namespace std;
using namespace std::placeholders; using namespace std::placeholders;
using namespace Settings; using namespace Settings;
using namespace Dialogs;
using namespace Data; using namespace Data;
#ifdef QT_UTILITIES_SUPPORT_DBUS_NOTIFICATIONS using namespace CppUtilities;
using namespace MiscUtils; using namespace QtUtilities;
#endif
namespace QtGui { namespace QtGui {
@ -514,9 +512,9 @@ QWidget *IconsOptionPage::setupWidget()
// populate widgets array // populate widgets array
auto &widgetsForColor = m_widgets[index++] = { auto &widgetsForColor = m_widgets[index++] = {
{ {
new Widgets::ColorButton(statusIconsGroupBox), new ColorButton(statusIconsGroupBox),
new Widgets::ColorButton(statusIconsGroupBox), new ColorButton(statusIconsGroupBox),
new Widgets::ColorButton(statusIconsGroupBox), new ColorButton(statusIconsGroupBox),
}, },
new QLabel(statusIconsGroupBox), new QLabel(statusIconsGroupBox),
&colorMapping.setting, &colorMapping.setting,
@ -539,7 +537,7 @@ QWidget *IconsOptionPage::setupWidget()
QSize(32, 32))); QSize(32, 32)));
}; };
for (const auto &colorButton : widgetsForColor.colorButtons) { for (const auto &colorButton : widgetsForColor.colorButtons) {
QObject::connect(colorButton, &Widgets::ColorButton::colorChanged, updatePreview); QObject::connect(colorButton, &ColorButton::colorChanged, updatePreview);
} }
// setup color buttons // setup color buttons
@ -980,7 +978,7 @@ void setIndicatorColor(QWidget *indicator, const QColor &color)
indicator->setStyleSheet(QStringLiteral("border-radius:8px;background-color:") + color.name()); indicator->setStyleSheet(QStringLiteral("border-radius:8px;background-color:") + color.name());
} }
void SystemdOptionPage::handleStatusChanged(const QString &activeState, const QString &subState, ChronoUtilities::DateTime activeSince) void SystemdOptionPage::handleStatusChanged(const QString &activeState, const QString &subState, DateTime activeSince)
{ {
QStringList status; QStringList status;
if (!activeState.isEmpty()) { if (!activeState.isEmpty()) {
@ -994,7 +992,7 @@ void SystemdOptionPage::handleStatusChanged(const QString &activeState, const QS
QString timeStamp; QString timeStamp;
if (isRunning && !activeSince.isNull()) { if (isRunning && !activeSince.isNull()) {
timeStamp = QLatin1Char('\n') % QCoreApplication::translate("QtGui::SystemdOptionPage", "since ") timeStamp = QLatin1Char('\n') % QCoreApplication::translate("QtGui::SystemdOptionPage", "since ")
% QString::fromUtf8(activeSince.toString(ChronoUtilities::DateTimeOutputFormat::DateAndTime).data()); % QString::fromUtf8(activeSince.toString(DateTimeOutputFormat::DateAndTime).data());
} }
ui()->statusValueLabel->setText( ui()->statusValueLabel->setText(
@ -1063,35 +1061,35 @@ void WebViewOptionPage::reset()
} }
SettingsDialog::SettingsDialog(const QList<OptionCategory *> &categories, QWidget *parent) SettingsDialog::SettingsDialog(const QList<OptionCategory *> &categories, QWidget *parent)
: Dialogs::SettingsDialog(parent) : QtUtilities::SettingsDialog(parent)
{ {
categoryModel()->setCategories(categories); categoryModel()->setCategories(categories);
init(); init();
} }
SettingsDialog::SettingsDialog(QWidget *parent) SettingsDialog::SettingsDialog(QWidget *parent)
: Dialogs::SettingsDialog(parent) : QtUtilities::SettingsDialog(parent)
{ {
init(); init();
} }
SettingsDialog::SettingsDialog(Data::SyncthingConnection *connection, QWidget *parent) SettingsDialog::SettingsDialog(Data::SyncthingConnection *connection, QWidget *parent)
: Dialogs::SettingsDialog(parent) : QtUtilities::SettingsDialog(parent)
{ {
// setup categories // setup categories
QList<Dialogs::OptionCategory *> categories; QList<OptionCategory *> categories;
Dialogs::OptionCategory *category; OptionCategory *category;
category = new OptionCategory(this); category = new OptionCategory(this);
category->setDisplayName(tr("Tray")); category->setDisplayName(tr("Tray"));
category->assignPages(QList<Dialogs::OptionPage *>() category->assignPages(QList<OptionPage *>() << new ConnectionOptionPage(connection) << new NotificationsOptionPage << new AppearanceOptionPage
<< new ConnectionOptionPage(connection) << new NotificationsOptionPage << new AppearanceOptionPage << new IconsOptionPage); << new IconsOptionPage);
category->setIcon(QIcon(QStringLiteral(":/icons/hicolor/scalable/app/syncthingtray.svg"))); category->setIcon(QIcon(QStringLiteral(":/icons/hicolor/scalable/app/syncthingtray.svg")));
categories << category; categories << category;
category = new OptionCategory(this); category = new OptionCategory(this);
category->setDisplayName(tr("Web view")); category->setDisplayName(tr("Web view"));
category->assignPages(QList<Dialogs::OptionPage *>() << new WebViewOptionPage); category->assignPages(QList<OptionPage *>() << new WebViewOptionPage);
category->setIcon( category->setIcon(
QIcon::fromTheme(QStringLiteral("internet-web-browser"), QIcon(QStringLiteral(":/icons/hicolor/scalable/apps/internet-web-browser.svg")))); QIcon::fromTheme(QStringLiteral("internet-web-browser"), QIcon(QStringLiteral(":/icons/hicolor/scalable/apps/internet-web-browser.svg"))));
categories << category; categories << category;
@ -1099,9 +1097,9 @@ SettingsDialog::SettingsDialog(Data::SyncthingConnection *connection, QWidget *p
category = new OptionCategory(this); category = new OptionCategory(this);
category->setDisplayName(tr("Startup")); category->setDisplayName(tr("Startup"));
category->assignPages( category->assignPages(
QList<Dialogs::OptionPage *>() << new AutostartOptionPage << new LauncherOptionPage << new LauncherOptionPage(QStringLiteral("Inotify")) QList<OptionPage *>() << new AutostartOptionPage << new LauncherOptionPage << new LauncherOptionPage(QStringLiteral("Inotify"))
#ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD #ifdef LIB_SYNCTHING_CONNECTOR_SUPPORT_SYSTEMD
<< new SystemdOptionPage << new SystemdOptionPage
#endif #endif
); );
category->setIcon(QIcon::fromTheme(QStringLiteral("system-run"), QIcon(QStringLiteral(":/icons/hicolor/scalable/apps/system-run.svg")))); category->setIcon(QIcon::fromTheme(QStringLiteral("system-run"), QIcon(QStringLiteral(":/icons/hicolor/scalable/apps/system-run.svg"))));

View File

@ -16,10 +16,14 @@
QT_FORWARD_DECLARE_CLASS(QLabel) QT_FORWARD_DECLARE_CLASS(QLabel)
namespace ChronoUtilities { namespace CppUtilities {
class DateTime; class DateTime;
} }
namespace QtUtilities {
class ColorButton;
}
namespace Data { namespace Data {
class SyncthingConnection; class SyncthingConnection;
class SyncthingService; class SyncthingService;
@ -27,10 +31,6 @@ class SyncthingProcess;
class SyncthingLauncher; class SyncthingLauncher;
} // namespace Data } // namespace Data
namespace Widgets {
class ColorButton;
}
namespace QtGui { namespace QtGui {
/*! /*!
@ -84,7 +84,7 @@ private:
void update(); void update();
Data::StatusIconSettings m_settings; Data::StatusIconSettings m_settings;
struct { struct {
Widgets::ColorButton *colorButtons[3] = {}; QtUtilities::ColorButton *colorButtons[3] = {};
QLabel *previewLabel = nullptr; QLabel *previewLabel = nullptr;
Data::StatusIconColorSet *setting = nullptr; Data::StatusIconColorSet *setting = nullptr;
Data::StatusEmblem statusEmblem = Data::StatusEmblem::None; Data::StatusEmblem statusEmblem = Data::StatusEmblem::None;
@ -118,7 +118,7 @@ BEGIN_DECLARE_UI_FILE_BASED_OPTION_PAGE(SystemdOptionPage)
private: private:
DECLARE_SETUP_WIDGETS DECLARE_SETUP_WIDGETS
void handleDescriptionChanged(const QString &description); void handleDescriptionChanged(const QString &description);
void handleStatusChanged(const QString &activeState, const QString &subState, ChronoUtilities::DateTime activeSince); void handleStatusChanged(const QString &activeState, const QString &subState, CppUtilities::DateTime activeSince);
void handleEnabledChanged(const QString &unitFileState); void handleEnabledChanged(const QString &unitFileState);
Data::SyncthingService *const m_service; Data::SyncthingService *const m_service;
END_DECLARE_OPTION_PAGE END_DECLARE_OPTION_PAGE
@ -130,11 +130,11 @@ DECLARE_UI_FILE_BASED_OPTION_PAGE(WebViewOptionPage)
DECLARE_OPTION_PAGE(WebViewOptionPage) DECLARE_OPTION_PAGE(WebViewOptionPage)
#endif #endif
class SYNCTHINGWIDGETS_EXPORT SettingsDialog : public Dialogs::SettingsDialog { class SYNCTHINGWIDGETS_EXPORT SettingsDialog : public QtUtilities::SettingsDialog {
Q_OBJECT Q_OBJECT
public: public:
explicit SettingsDialog(Data::SyncthingConnection *connection, QWidget *parent = nullptr); explicit SettingsDialog(Data::SyncthingConnection *connection, QWidget *parent = nullptr);
explicit SettingsDialog(const QList<Dialogs::OptionCategory *> &categories, QWidget *parent = nullptr); explicit SettingsDialog(const QList<QtUtilities::OptionCategory *> &categories, QWidget *parent = nullptr);
explicit SettingsDialog(QWidget *parent = nullptr); explicit SettingsDialog(QWidget *parent = nullptr);
~SettingsDialog() override; ~SettingsDialog() override;

View File

@ -64,7 +64,7 @@
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="0" column="1">
<widget class="Widgets::ClearLineEdit" name="syncthingUnitLineEdit"/> <widget class="QtUtilities::ClearLineEdit" name="syncthingUnitLineEdit"/>
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="descriptionLabel"> <widget class="QLabel" name="descriptionLabel">
@ -263,7 +263,7 @@
</widget> </widget>
<customwidgets> <customwidgets>
<customwidget> <customwidget>
<class>Widgets::ClearLineEdit</class> <class>QtUtilities::ClearLineEdit</class>
<extends>QLineEdit</extends> <extends>QLineEdit</extends>
<header location="global">qtutilities/widgets/clearlineedit.h</header> <header location="global">qtutilities/widgets/clearlineedit.h</header>
</customwidget> </customwidget>

View File

@ -14,7 +14,7 @@
#include <QWebEngineProfile> #include <QWebEngineProfile>
#endif #endif
using namespace Dialogs; using namespace QtUtilities;
namespace QtGui { namespace QtGui {