]> dgit.raspbian.org Git - nextcloud-desktop.git/commitdiff
Place all sorts of sync file item status errors near the top
authorClaudio Cambra <claudio.cambra@nextcloud.com>
Mon, 6 Feb 2023 15:45:48 +0000 (16:45 +0100)
committerClaudio Cambra <claudio.cambra@nextcloud.com>
Tue, 25 Jul 2023 00:40:26 +0000 (08:40 +0800)
Signed-off-by: Claudio Cambra <claudio.cambra@nextcloud.com>
src/gui/tray/sortedactivitylistmodel.cpp

index 8a5bf54406ab7c179454c25745f588471bf2d507..d62ad4985bfaef1b2a5da2664ae88db18c758047 100644 (file)
@@ -64,29 +64,26 @@ bool SortedActivityListModel::lessThan(const QModelIndex &sourceLeft, const QMod
     // Then sync file item status errors
     const auto leftSyncFileItemStatus = leftActivity._syncFileItemStatus;
     const auto rightSyncFileItemStatus = rightActivity._syncFileItemStatus;
-    const bool leftIsErrorFileItemStatus = leftSyncFileItemStatus == SyncFileItem::FatalError ||
-                                           leftSyncFileItemStatus == SyncFileItem::SoftError ||
-                                           leftSyncFileItemStatus == SyncFileItem::NormalError;
+    const bool leftIsErrorFileItemStatus = leftSyncFileItemStatus != SyncFileItem::NoStatus &&
+                                           leftSyncFileItemStatus != SyncFileItem::Success;
 
-    const bool rightIsErrorFileItemStatus = rightSyncFileItemStatus == SyncFileItem::FatalError ||
-                                            rightSyncFileItemStatus == SyncFileItem::SoftError ||
-                                            rightSyncFileItemStatus == SyncFileItem::NormalError;
+    const bool rightIsErrorFileItemStatus = rightSyncFileItemStatus != SyncFileItem::NoStatus &&
+                                            rightSyncFileItemStatus != SyncFileItem::Success;
 
     if (leftIsErrorFileItemStatus != rightIsErrorFileItemStatus) {
         return leftIsErrorFileItemStatus;
     }
 
+    // Let's go back to more broadly comparing by type
     if (const auto rightType = rightActivity._type; leftType != rightType) {
         return leftType < rightType;
     }
 
     if (leftSyncResultStatus != rightSyncResultStatus) {
-        return leftSyncResultStatus != SyncResult::Undefined &&
-                leftSyncResultStatus != SyncResult::Success;
+        return leftSyncResultStatus < rightSyncResultStatus;
     }
 
     if (leftSyncFileItemStatus != rightSyncFileItemStatus) {
-        // We want to shove erors towards the top.
         return leftSyncFileItemStatus < rightSyncFileItemStatus;
     }