syncthingtray/model/syncthingmodel.cpp

44 lines
1.1 KiB
C++
Raw Normal View History

#include "./syncthingmodel.h"
#include "../connector/syncthingconnection.h"
namespace Data {
2017-05-01 03:34:43 +02:00
SyncthingModel::SyncthingModel(SyncthingConnection &connection, QObject *parent)
: QAbstractItemModel(parent)
, m_connection(connection)
2017-08-29 23:51:03 +02:00
, m_brightColors(false)
2017-05-01 03:34:43 +02:00
{
connect(&m_connection, &SyncthingConnection::newConfig, this, &SyncthingModel::handleConfigInvalidated);
connect(&m_connection, &SyncthingConnection::newConfigApplied, this, &SyncthingModel::handleNewConfigAvailable);
2017-05-01 03:34:43 +02:00
}
2017-09-11 23:44:19 +02:00
const QVector<int> &SyncthingModel::colorRoles() const
{
static const QVector<int> colorRoles;
return colorRoles;
}
void SyncthingModel::setBrightColors(bool brightColors)
{
2017-05-01 03:34:43 +02:00
if (m_brightColors != brightColors) {
m_brightColors = brightColors;
2017-09-11 23:44:19 +02:00
const QVector<int> &affectedRoles = colorRoles();
if (!affectedRoles.isEmpty()) {
emit dataChanged(index(0, 0), index(rowCount() - 1, columnCount() - 1), affectedRoles);
}
}
}
void SyncthingModel::handleConfigInvalidated()
{
beginResetModel();
}
void SyncthingModel::handleNewConfigAvailable()
{
endResetModel();
}
} // namespace Data