id: root
required property string existingFileName
- required property string conflictFileName
required property string existingSize
required property string conflictSize
required property string existingDate
z: 2
EnforcedPlainTextLabel {
- text: qsTr("%1 files in conflict").arg(12)
+ text: qsTr("%1 files in conflict").arg(delegateModel.count)
font.bold: true
font.pixelSize: 20
Layout.fillWidth: true
id: conflictListView
model: DelegateModel {
+ id: delegateModel
+
model: realModel
delegate: ConflictDelegate {
NC.UserModel.currentUser.isConnected
enabled: visible
onClicked: {
- NC.Systray.createResolveConflictsDialog();
+ NC.Systray.createResolveConflictsDialog(activityModel.allConflicts);
}
}
}
void ActivityListModel::setFinalList(const ActivityList &finalList)
{
_finalList = finalList;
+
+ emit allConflictsChanged();
}
const ActivityList &ActivityListModel::finalList() const
return _hasManySyncConflicts;
}
+ActivityList ActivityListModel::allConflicts() const
+{
+ auto result = ActivityList{};
+
+ for(const auto &activity : _finalList) {
+ if (activity._syncFileItemStatus == SyncFileItem::Conflict) {
+ result.push_back(activity);
+ }
+ }
+
+ return result;
+}
+
}
Q_PROPERTY(quint32 maxActionButtons READ maxActionButtons CONSTANT)
Q_PROPERTY(AccountState *accountState READ accountState WRITE setAccountState NOTIFY accountStateChanged)
Q_PROPERTY(bool hasManySyncConflicts READ hasManySyncConflicts NOTIFY hasManySyncConflictsChanged)
+ Q_PROPERTY(OCC::ActivityList allConflicts READ allConflicts NOTIFY allConflictsChanged)
public:
enum DataRole {
[[nodiscard]] bool hasManySyncConflicts() const;
+ [[nodiscard]] OCC::ActivityList allConflicts() const;
+
public slots:
void slotRefreshActivity();
void slotRefreshActivityInitial();
signals:
void accountStateChanged();
void hasManySyncConflictsChanged();
+ void allConflictsChanged();
void activityJobStatusCode(int statusCode);
void sendNotificationRequest(const QString &accountName, const QString &link, const QByteArray &verb, int row);