Skip to content

[stable-34.0] feat(tray): Migrate TrayWindow to the new tray user menu - #10321

Merged
Rello merged 19 commits into
stable-34.0from
backport/10164/stable-34.0
Jul 8, 2026
Merged

[stable-34.0] feat(tray): Migrate TrayWindow to the new tray user menu#10321
Rello merged 19 commits into
stable-34.0from
backport/10164/stable-34.0

Conversation

@backportbot

@backportbot backportbot Bot commented Jul 8, 2026

Copy link
Copy Markdown

Backport of PR #10164

Rello and others added 19 commits July 8, 2026 12:05
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 <github@scherello.de>
Signed-off-by: Rello <github@scherello.de>
Signed-off-by: Rello <github@scherello.de>
will make maintenance easier

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Co-authored-by: Iva Horn <iva.horn@nextcloud.com>
Signed-off-by: Rello <Rello@users.noreply.github.com>
almost always use enum class to get more strict checks by compiler

use missing Qt macro definitions for better bindings

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
return values of Qt slots are ignored

it was never checked by callers

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
rowCount in a flat mdoel shoudl return 0 for every parent that is valid
otherwise, views may think that the menu has child items for every
existing items

also do not add not needed count method (reuse existing rowCount)

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Rello <github@scherello.de>
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 <hello@camilasan.com>
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 <hello@camilasan.com>
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 <hello@camilasan.com>
Signed-off-by: Rello <github@scherello.de>
…code files and added documentation

Signed-off-by: Iva Horn <iva.horn@nextcloud.com>
@backportbot
backportbot Bot requested a review from Rello July 8, 2026 12:05
@backportbot backportbot Bot added os: 🍎 macOS Apple macOS, formerly also known as OS X os: 🚪 Windows os: 🐧 Linux feature: ☁️ GUI System tray icon and menu. 3. to review design Design, UI, UX, etc. labels Jul 8, 2026
@backportbot backportbot Bot added this to the 34.0.0 milestone Jul 8, 2026
@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Artifact containing the AppImage: nextcloud-appimage-pr-10321.zip

Digest: sha256:fd337ab647bf88abab836c85feadcd55bf30d19e1def095d3a9384844f356ac0

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.

@sonarqubecloud

sonarqubecloud Bot commented Jul 8, 2026

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
Image 28.4% Coverage on New Code (required ≥ 80%)
Image 91 New Code Smells (required ≤ 0)

See analysis details on SonarQube Cloud

Image Catch issues before they fail your Quality Gate with our IDE extension Image SonarQube for IDE

@Rello
Rello merged commit 495100f into stable-34.0 Jul 8, 2026
20 of 22 checks passed
@Rello
Rello deleted the backport/10164/stable-34.0 branch July 8, 2026 13:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3. to review design Design, UI, UX, etc. feature: ☁️ GUI System tray icon and menu. os: 🍎 macOS Apple macOS, formerly also known as OS X os: 🚪 Windows os: 🐧 Linux

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants