contentsFont.bold: true
bgColor: Style.currentUserHeaderColor
- visible: !activityModel.hasManySyncConflicts &&
+ visible: !activityModel.hasSyncConflicts &&
!syncStatus.syncing &&
NC.UserModel.currentUser.hasLocalFolder &&
NC.UserModel.currentUser.isConnected
Style.standardSpacing * 2
Layout.rightMargin: Style.trayHorizontalMargin
- text: qsTr("Solve all conflicts")
+ text: qsTr("Resolve conflicts")
textColor: Style.adjustedCurrentUserHeaderColor
textColorHovered: Style.currentUserHeaderTextColor
contentsFont.bold: true
bgColor: Style.currentUserHeaderColor
- visible: activityModel.hasManySyncConflicts &&
+ visible: activityModel.hasSyncConflicts &&
!syncStatus.syncing &&
NC.UserModel.currentUser.hasLocalFolder &&
NC.UserModel.currentUser.isConnected
}
endInsertRows();
- auto conflictsCount = 0;
+ auto conflictsFound = false;
for(const auto &activity : _finalList) {
if (activity._syncFileItemStatus == SyncFileItem::Conflict) {
- ++conflictsCount;
+ conflictsFound = true;
+ break;
}
}
- if (!_hasManySyncConflicts && conflictsCount > 2) {
- _hasManySyncConflicts = true;
- emit hasManySyncConflictsChanged();
- } else if (_hasManySyncConflicts && conflictsCount <= 2) {
- _hasManySyncConflicts = false;
- emit hasManySyncConflictsChanged();
- }
+ setHasSyncConflicts(conflictsFound);
}
void ActivityListModel::addErrorToActivityList(const Activity &activity)
ownCloudGui::raiseDialog(_currentConflictDialog);
}
+void ActivityListModel::setHasSyncConflicts(bool conflictsFound)
+{
+ if (_hasSyncConflicts != conflictsFound) {
+ _hasSyncConflicts = conflictsFound;
+ emit hasSyncConflictsChanged();
+ }
+}
+
void ActivityListModel::slotTriggerAction(const int activityIndex, const int actionIndex)
{
if (activityIndex < 0 || activityIndex >= _finalList.size()) {
return activity._talkNotificationData.messageSent;
}
-bool ActivityListModel::hasManySyncConflicts() const
+bool ActivityListModel::hasSyncConflicts() const
{
- return _hasManySyncConflicts;
+ return _hasSyncConflicts;
}
ActivityList ActivityListModel::allConflicts() const
Q_OBJECT
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(bool hasSyncConflicts READ hasSyncConflicts NOTIFY hasSyncConflictsChanged)
Q_PROPERTY(OCC::ActivityList allConflicts READ allConflicts NOTIFY allConflictsChanged)
public:
[[nodiscard]] QString replyMessageSent(const Activity &activity) const;
- [[nodiscard]] bool hasManySyncConflicts() const;
+ [[nodiscard]] bool hasSyncConflicts() const;
[[nodiscard]] OCC::ActivityList allConflicts() const;
signals:
void accountStateChanged();
- void hasManySyncConflictsChanged();
+ void hasSyncConflictsChanged();
void allConflictsChanged();
void activityJobStatusCode(int statusCode);
void triggerCaseClashAction(Activity activity);
void displaySingleConflictDialog(const Activity &activity);
+ void setHasSyncConflicts(bool conflictsFound);
Activity _notificationIgnoredFiles;
Activity _dummyFetchingActivities;
bool _doneFetching = false;
bool _hideOldActivities = true;
- bool _hasManySyncConflicts = false;
+ bool _hasSyncConflicts = false;
static constexpr quint32 MaxActionButtons = 3;
};