From 5f1cf5b7926c568998f213beba9d7932ef7742ef Mon Sep 17 00:00:00 2001 From: Christian Mollekopf Date: Mon, 27 Mar 2017 09:43:37 +0200 Subject: Use states for the account status icon --- framework/accounts/accountsmodel.cpp | 20 ++++++++------------ framework/accounts/accountsmodel.h | 12 +++++++++--- 2 files changed, 17 insertions(+), 15 deletions(-) (limited to 'framework') diff --git a/framework/accounts/accountsmodel.cpp b/framework/accounts/accountsmodel.cpp index f0487f4f..d999bdbd 100644 --- a/framework/accounts/accountsmodel.cpp +++ b/framework/accounts/accountsmodel.cpp @@ -45,8 +45,6 @@ QHash< int, QByteArray > AccountsModel::roleNames() const roles[Icon] = "icon"; roles[AccountId] = "accountId"; roles[Status] = "status"; - roles[StatusIcon] = "statusIcon"; - roles[ShowStatus] = "showStatus"; return roles; } @@ -63,17 +61,15 @@ QVariant AccountsModel::data(const QModelIndex &idx, int role) const case AccountId: return account->identifier(); case Status: - return account->getStatus(); - case StatusIcon: - if (account->getStatus() == Sink::ApplicationDomain::ErrorStatus) { - return "emblem-error"; - } else if (account->getStatus() == Sink::ApplicationDomain::BusyStatus) { - return "view-refresh"; - } else if (account->getStatus() == Sink::ApplicationDomain::ConnectedStatus) { - return "checkmark"; + switch (account->getStatus()) { + case Sink::ApplicationDomain::ErrorStatus: + return ErrorStatus; + case Sink::ApplicationDomain::BusyStatus: + return BusyStatus; + case Sink::ApplicationDomain::ConnectedStatus: + return ConnectedStatus; } - case ShowStatus: - return (account->getStatus() != Sink::ApplicationDomain::OfflineStatus); + return OfflineStatus; } return QIdentityProxyModel::data(idx, role); } diff --git a/framework/accounts/accountsmodel.h b/framework/accounts/accountsmodel.h index 3a2dd712..a32e2c79 100644 --- a/framework/accounts/accountsmodel.h +++ b/framework/accounts/accountsmodel.h @@ -34,6 +34,14 @@ class AccountsModel : public QIdentityProxyModel Q_PROPERTY (QByteArray accountId READ accountId WRITE setAccountId) public: + enum Status { + OfflineStatus, + ConnectedStatus, + BusyStatus, + ErrorStatus + }; + Q_ENUMS(Status) + AccountsModel(QObject *parent = Q_NULLPTR); ~AccountsModel(); @@ -43,9 +51,7 @@ public: Name = Qt::UserRole + 1, Icon, AccountId, - Status, - StatusIcon, - ShowStatus + Status }; Q_ENUMS(Roles) -- cgit v1.2.3