<qresource prefix="/client">
<file>resources/settings.png</file>
<file>resources/settings@2x.png</file>
+ <file>resources/activity.svg</file>
<file>resources/activity.png</file>
<file>resources/activity@2x.png</file>
<file>resources/network.png</file>
#include <QtCore>
#include <QAbstractListModel>
#include <QWidget>
-#include <QIcon>
#include <QJsonObject>
#include <QJsonDocument>
{
Activity a;
- // filter the get action here
- // send only the text of the get action
- // if there is more than one send the icon? the ...
-
if (!index.isValid())
return QVariant();
return customList;
}
case ActionIconRole:{
- ActionIcon actionIcon;
if(a._type == Activity::NotificationType){
- QIcon cachedIcon;
- if(!cachedIcon.isNull()) {
- actionIcon.iconType = ActivityIconType::iconUseCached;
- actionIcon.cachedIcon = cachedIcon;
- } else {
- actionIcon.iconType = ActivityIconType::iconBell;
- }
+ return "qrc:///client/resources/bell.svg";
} else if(a._type == Activity::SyncResultType){
- actionIcon.iconType = ActivityIconType::iconStateError;
+ return "qrc:///client/resources/state-error.svg";
} else if(a._type == Activity::SyncFileItemType){
if(a._status == SyncFileItem::NormalError
|| a._status == SyncFileItem::FatalError
|| a._status == SyncFileItem::DetailError
|| a._status == SyncFileItem::BlacklistedError) {
- actionIcon.iconType = ActivityIconType::iconStateError;
+ return "qrc:///client/resources/state-error.svg";
} else if(a._status == SyncFileItem::SoftError
|| a._status == SyncFileItem::Conflict
|| a._status == SyncFileItem::Restoration
|| a._status == SyncFileItem::FileLocked){
- actionIcon.iconType = ActivityIconType::iconStateWarning;
+ return "qrc:///client/resources/state-warning.svg";
} else if(a._status == SyncFileItem::FileIgnored){
- actionIcon.iconType = ActivityIconType::iconStateInfo;
+ return "qrc:///client/resources/state-info.svg";
} else {
- actionIcon.iconType = ActivityIconType::iconStateSync;
+ return "qrc:///client/resources/state-sync.svg";
}
} else {
- actionIcon.iconType = ActivityIconType::iconActivity;
+ return "qrc:///client/resources/activity.svg";
}
- QVariant icn;
- icn.setValue(actionIcon);
- return icn;
}
case ObjectTypeRole:
return a._objectType;
{
Q_OBJECT
public:
- enum ActivityIconType {
- iconUseCached = 0,
- iconActivity,
- iconBell,
- iconStateError,
- iconStateWarning,
- iconStateInfo,
- iconStateSync
- };
-
- enum datarole {
+ enum DataRole {
ActionIconRole = Qt::UserRole + 1,
UserIconRole,
AccountRole,
AccountConnectedRole,
SyncFileStatusRole };
- struct ActionIcon {
- ActivityIconType iconType;
- QIcon cachedIcon;
- };
-
explicit ActivityListModel(AccountState *accountState, QObject* parent = 0);
QVariant data(const QModelIndex &index, int role) const override;
};
}
-Q_DECLARE_METATYPE(OCC::ActivityListModel::ActionIcon)
-
#endif // ACTIVITYLISTMODEL_H
width: trayWindowBackground.width\r
height: trayWindowBackground.height - trayWindowHeaderBackground.height\r
clip: true\r
+ ScrollBar.vertical: ScrollBar {\r
+ id: listViewScrollbar\r
+ }\r
\r
model: activityModel\r
\r
Layout.preferredWidth: 48\r
Layout.preferredHeight: 48\r
verticalAlignment: Qt.AlignCenter\r
- source: "qrc:///client/theme/black/state-sync.svg"\r
+ cache: true\r
+ source: icon\r
sourceSize.height: 48\r
sourceSize.width: 48\r
}\r
displaced: Transition {\r
NumberAnimation { properties: "y"; duration: 100; easing.type: Easing.Linear }\r
}\r
-\r
- focus: true\r
}\r
\r
} // Rectangle trayWindowBackground\r