From 952c9ecfb8f8287d8ef0657210756fc5c3b61389 Mon Sep 17 00:00:00 2001 From: Rello Date: Thu, 25 Sep 2025 10:41:30 +0700 Subject: [PATCH] Neutral folder state icons Signed-off-by: Rello --- src/libsync/theme.cpp | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/src/libsync/theme.cpp b/src/libsync/theme.cpp index 13312ebab4..5aa60a294c 100644 --- a/src/libsync/theme.cpp +++ b/src/libsync/theme.cpp @@ -684,7 +684,6 @@ QIcon Theme::syncStateIcon(SyncResult::Status status, bool sysTray) const break; case SyncResult::Error: case SyncResult::SetupError: - // FIXME: Use state-problem once we have an icon. default: statusIcon = QLatin1String("state-error"); } @@ -692,6 +691,40 @@ QIcon Theme::syncStateIcon(SyncResult::Status status, bool sysTray) const return themeIcon(statusIcon, sysTray); } +QIcon Theme::folderStateIcon(SyncResult::Status status) const +{ + // FIXME: Mind the size! + QString statusIcon; + + switch (status) { + case SyncResult::Undefined: + // this can happen if no sync connections are configured. + statusIcon = QLatin1String("warning"); + break; + case SyncResult::NotYetStarted: + case SyncResult::SyncRunning: + statusIcon = QLatin1String("sync"); + break; + case SyncResult::SyncAbortRequested: + case SyncResult::Paused: + statusIcon = QLatin1String("pause"); + break; + case SyncResult::SyncPrepare: + case SyncResult::Success: + statusIcon = QLatin1String("ok"); + break; + case SyncResult::Problem: + statusIcon = QLatin1String("warning"); + break; + case SyncResult::Error: + case SyncResult::SetupError: + default: + statusIcon = QLatin1String("error"); + } + + return themeIcon(statusIcon, false); +} + QIcon Theme::folderDisabledIcon() const { return themeIcon(QLatin1String("state-pause"));