syncthingtray/model/syncthingmodel.h

62 lines
1.6 KiB
C
Raw Normal View History

#ifndef DATA_SYNCTHINGMODEL_H
#define DATA_SYNCTHINGMODEL_H
#include "./global.h"
#include <QAbstractItemModel>
2020-09-04 01:09:18 +02:00
#if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
Q_MOC_INCLUDE("../connector/syncthingconnection.h")
#endif
namespace Data {
class SyncthingConnection;
2017-05-01 03:34:43 +02:00
class LIB_SYNCTHING_MODEL_EXPORT SyncthingModel : public QAbstractItemModel {
Q_OBJECT
Q_PROPERTY(SyncthingConnection *connection READ connection)
Q_PROPERTY(bool brightColors READ brightColors WRITE setBrightColors)
public:
explicit SyncthingModel(SyncthingConnection &connection, QObject *parent = nullptr);
Data::SyncthingConnection *connection();
const Data::SyncthingConnection *connection() const;
bool brightColors() const;
void setBrightColors(bool brightColors);
protected:
2017-09-11 23:44:19 +02:00
virtual const QVector<int> &colorRoles() const;
void invalidateTopLevelIndicies(const QVector<int> &affectedRoles);
void invalidateNestedIndicies(const QVector<int> &affectedRoles);
2017-09-11 23:44:19 +02:00
private Q_SLOTS:
virtual void handleConfigInvalidated();
virtual void handleNewConfigAvailable();
virtual void handleStatusIconsChanged();
virtual void handleForkAwesomeIconsChanged();
protected:
Data::SyncthingConnection &m_connection;
bool m_brightColors;
};
inline SyncthingConnection *SyncthingModel::connection()
{
return &m_connection;
}
inline const SyncthingConnection *SyncthingModel::connection() const
{
return &m_connection;
}
inline bool SyncthingModel::brightColors() const
{
return m_brightColors;
}
} // namespace Data
#endif // DATA_SYNCTHINGMODEL_H