feat(tray): Migrate TrayWindow to the new tray user menu - #10164
Conversation
f7197f9 to
69ccecf
Compare
64ebf23 to
44b1c7c
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 44b1c7c332
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| #if defined(Q_OS_LINUX) | ||
| setupQtTrayContextMenu(_contextMenu, this); | ||
| #else |
There was a problem hiding this comment.
Preserve Linux tray pause/resume actions
On Linux, this branch now routes the context menu entirely through setupQtTrayContextMenu; I checked populateTrayMenu, and it only creates account submenus/Add account/Settings/Quit, so the pause/resume actions in the else branch are no longer reachable. For users who pause all folders from the tray context menu, this removes the existing "Pause sync"/"Resume sync" workflow; please add equivalent actions to the new menu or keep the old actions on Linux.
Useful? React with 👍 / 👎.
Consolidates the tray account status menu work and related follow-up fixes into one reviewable commit. Assisted-by: Codex:gpt-5 Signed-off-by: Rello <[email protected]>
Signed-off-by: Rello <[email protected]>
Signed-off-by: Rello <[email protected]>
will make maintenance easier Signed-off-by: Matthieu Gallien <[email protected]>
Signed-off-by: Matthieu Gallien <[email protected]>
69e122a to
bbbf364
Compare
Signed-off-by: Matthieu Gallien <[email protected]>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a7dc826d6d
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| setUserStatusMessage(userStatus); | ||
| return true; |
There was a problem hiding this comment.
Return false when no status request is started
On servers that support user status but not custom status emojis, setUserStatusMessageCustom() emits EmojisNotSupported and returns without creating a set-message job, but this method still reports success. UserStatusSelectorModel::setUserStatus() then keeps a queued Message operation that will never receive a matching completion; a later successful status change can be matched to that stale operation and emit finished/close the new status window even though the current operation was only an online-status update. Please return false when the message request was not accepted, or clear the queued operation for this error.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 694e990da2
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| case OCC::SyncResult::Undefined: | ||
| return SyncIssueKind::Warning; |
There was a problem hiding this comment.
Keep undefined folder status neutral
Fresh evidence beyond the earlier file-provider path is that syncIssueKindForAccount() now feeds local folder syncResult() values through this helper; SyncResult defaults to Undefined until a folder has reported a real state (src/libsync/syncresult.h), so a newly added or just-started connected account can surface the new account alert as “Some files could not be synced!” even though nothing failed. Please bucket Undefined with None, matching syncStatusForAccount() and SyncStatusSummary, until a concrete result arrives.
Useful? React with 👍 / 👎.
Signed-off-by: Rello <[email protected]>
Remove hardcoded sizes, radius and margins, use Style properties instead. Extract the shared window flags, palette and background of the wizard window into a new WizardStyledWindow base component. Assisted-by: Claude:claude-opus-4-8 Signed-off-by: Camila Ayres <[email protected]>
The role enumerators were declared as a scoped enum (enum class) while the tray popup call sites used the unscoped form and relied on implicit int conversion, which broke the macOS build. Switch to an unscoped enum so the enumerators live in class scope and convert to int, matching the call sites and the sibling role enums, and drop the now-redundant casts. Assisted-by: Claude:claude-opus-4-8 Signed-off-by: Camila Ayres <[email protected]>
The role range guard used role < IconUrlRole, which excluded IconUrlRole itself, so case IconUrlRole was unreachable and data() returned an empty QVariant for it. As a result the account apps popup never received app icon URLs. Use <= so the icon role is served. Assisted-by: Claude:claude-opus-4-8 Signed-off-by: Camila Ayres <[email protected]>
3a4a53d to
7bbcf31
Compare
Signed-off-by: Rello <[email protected]>
…code files and added documentation Signed-off-by: Iva Horn <[email protected]>
|
Artifact containing the AppImage: nextcloud-appimage-pr-10164.zip Digest: To test this change/fix you can download the above artifact file, unzip it, and run it. Please make sure to quit your existing Nextcloud app and backup your data. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 5071857929
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| [_appsPopup orderOut:nil]; | ||
| [self clearActiveSubmenuRow]; |
There was a problem hiding this comment.
Hide stale notification action popups on rebuild
When this account-actions popup is rebuilt from the dataChanged connection while a notification-actions subpopup is open, only _appsPopup is ordered out. The separate _notificationActionsPopup window remains visible with action blocks that captured the old activityIndex; after the parent stack is rebuilt or a notification is removed, clicking that stale subpopup can trigger or dismiss the wrong notification. Hide _notificationActionsPopup here as orderOut/hideAppsPopup already do before clearing and rebuilding the stack.
Useful? React with 👍 / 👎.
|
|
/backport to stable-34.0 |




Tray Menu: