Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Native buttons #6980

Merged
merged 41 commits into from
Sep 6, 2024
Merged

Native buttons #6980

merged 41 commits into from
Sep 6, 2024

Conversation

camilasan
Copy link
Member

@camilasan camilasan commented Aug 7, 2024

Implements part of #6944
What we have atm is a definition of style by platform, Windows is uses Windows and mac OS uses macOS, the default will be then Material.

📝 to do

  • the icons for the apps menu are inverted (white instead of black)
  • test on Windows 11
  • align icons in buttons
  • make sure we are using native icons

What has been discussed previously

  • Introduce transparency
  • Adjust button style to be native (basic button look, only slight rounded corners, not pill-style, no color)
    Image
    Image
    additional ideas:
  • adjust Font to use native font
  • also use default font sizes
  • add backdrop shadow
  • use monochrome icons instead of colorful ones?
  • use native icons if there are some
  • make search bar more round, e.g. like this: Image
  • make the dropdowns more rounded, look more native, e.g. like this: Image Image (also all items usually have icons)
  • the dropdown is usually rather 3 dots: Image Image

What we actually agreed later

  • does native UI include the font colors and hover colors? for instance, right now we try to use the server's theme and that would interfere with making it looking native and dealing with light/dark themes.
    Yes.
  • You wrote "make search bar more round" but using native now without customization looks like the image above. It is round but not that round as in the screenshot uploaded in 💻 🐧🪟 🍏 Make desktop clients look more native #6639.
    We said back then that for Linux we would use material UI, which is available as a library. That should come with it's own rounded components.
    We can also set different styles depending on GNOME or KDE
    there is a standardized way to reliably detect that
    https://www.freedesktop.org/software/systemd/man/latest/pam_systemd.html#%24XDG_SESSION_DESKTOP

Copy link
Collaborator

@claucambra claucambra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤩

I am not sure, is this PR meant to be a draft? I would remove the commented properties

@mgallien mgallien force-pushed the feature/native/custombutton branch from 98329be to e9b95a7 Compare August 12, 2024 15:58
@mgallien mgallien force-pushed the feature/native/custombutton branch from e9b95a7 to 14d7d83 Compare August 21, 2024 15:44
@mgallien mgallien force-pushed the feature/native/custombutton branch 2 times, most recently from ed1c134 to b845f7e Compare August 28, 2024 13:22
@camilasan camilasan force-pushed the feature/native/custombutton branch 3 times, most recently from e5c6b3b to d71558e Compare September 3, 2024 13:22
@tobiasKaminsky
Copy link
Member

/backport to stable-3.14

camilasan and others added 19 commits September 6, 2024 10:42
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
should get us native colors as much as possible

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
will fix white corners appearing below the main dialog content

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>
remove custom binding between c++ native Qt API for system palette and
our QML styling code for colors detection

fixes many issues with dark mode using Windows native style

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
… component.

Signed-off-by: Camila Ayres <hello@camilasan.com>
…CButtonContents components.

Signed-off-by: Camila Ayres <hello@camilasan.com>
… control (property: "background").

Signed-off-by: Camila Ayres <hello@camilasan.com>
… control (property: "contentItem").

Signed-off-by: Camila Ayres <hello@camilasan.com>
… control (property: "background").

Signed-off-by: Camila Ayres <hello@camilasan.com>
… control (property: "indicator").

Signed-off-by: Camila Ayres <hello@camilasan.com>
… control (property: "background").

Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
…tContainer.

Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
Signed-off-by: Camila Ayres <hello@camilasan.com>
@mgallien mgallien force-pushed the feature/native/custombutton branch from 5aabc42 to 20ef57c Compare September 6, 2024 08:42
@nextcloud-desktop-bot
Copy link

AppImage file: nextcloud-PR-6980-20ef57c682fe2a2d04075f0661009f026fcfaf89-x86_64.AppImage

To test this change/fix you can simply download above AppImage file and test it.

Please make sure to quit your existing Nextcloud app and backup your data.

@mgallien mgallien merged commit a377c1d into master Sep 6, 2024
10 of 14 checks passed
@mgallien mgallien deleted the feature/native/custombutton branch September 6, 2024 08:49
@backportbot backportbot bot mentioned this pull request Sep 6, 2024
1 task
Copy link

sonarcloud bot commented Sep 6, 2024

Quality Gate Failed Quality Gate failed

Failed conditions
33.3% Coverage on New Code (required ≥ 80%)
C Maintainability Rating on New Code (required ≥ A)
17 New Code Smells (required ≤ 0)

See analysis details on SonarCloud

Catch issues before they fail your Quality Gate with our IDE extension SonarLint

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants