From 4f524f8ea73a64f50e278f89840369ade2376d3d Mon Sep 17 00:00:00 2001 From: Matthieu Gallien Date: Fri, 25 Oct 2024 12:29:57 +0200 Subject: [PATCH 1/4] use new in Qt6.8 windows fluent style Signed-off-by: Matthieu Gallien --- src/gui/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gui/main.cpp b/src/gui/main.cpp index b603a8a7c0b14..91ab3b08d11a5 100644 --- a/src/gui/main.cpp +++ b/src/gui/main.cpp @@ -83,7 +83,7 @@ int main(int argc, char **argv) #if defined Q_OS_MAC style = QStringLiteral("macOS"); #elif defined Q_OS_WIN - style = QStringLiteral("Fusion"); + style = QStringLiteral("FluentWinUI3"); #endif QQuickStyle::setStyle(style); From e188ce342d9768928c6bbd4d7abe0700ad1fd93a Mon Sep 17 00:00:00 2001 From: Matthieu Gallien Date: Tue, 3 Dec 2024 18:09:43 +0100 Subject: [PATCH 2/4] require Qt 6.8.0 Signed-off-by: Matthieu Gallien --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3c1d91f800855..54fdf0a3be059 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,7 +24,7 @@ set(BIN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin") include(${CMAKE_SOURCE_DIR}/NEXTCLOUD.cmake) set(QT_VERSION_MAJOR "6") -set(REQUIRED_QT_VERSION "6.7.0") +set(REQUIRED_QT_VERSION "6.8.0") # CfAPI Shell Extensions set( CFAPI_SHELL_EXTENSIONS_LIB_NAME CfApiShellExtensions ) From b9fdfa0d09ab48a2f6be26470769c8e4864cafcb Mon Sep 17 00:00:00 2001 From: Matthieu Gallien Date: Fri, 20 Dec 2024 17:02:07 +0100 Subject: [PATCH 3/4] switch drone ci to Qt 6.8.0 based images Signed-off-by: Matthieu Gallien --- .drone.yml | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/.drone.yml b/.drone.yml index d538bdc02845e..ed295475ac009 100644 --- a/.drone.yml +++ b/.drone.yml @@ -4,16 +4,16 @@ name: drone desktop client steps: - name: cmake - image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.7.3-1 + image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.8.0-1 volumes: - name: build path: /drone/build commands: - cd /drone/build - - cmake /drone/src -G Ninja -DCMAKE_PREFIX_PATH=/opt/qt6.7.3 -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_BUILD_TYPE=Debug -DQT_MAJOR_VERSION=6 -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 -DADD_E2E_TESTS=ON + - cmake /drone/src -G Ninja -DCMAKE_PREFIX_PATH=/opt/qt6.8.0 -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_BUILD_TYPE=Debug -DQT_MAJOR_VERSION=6 -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 -DADD_E2E_TESTS=ON - name: compile - image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.7.3-1 + image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.8.0-1 volumes: - name: build path: /drone/build @@ -22,7 +22,7 @@ steps: - ninja - name: test - image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.7.3-1 + image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.8.0-1 volumes: - name: build path: /drone/build @@ -38,7 +38,7 @@ services: image: ghcr.io/nextcloud/continuous-integration-shallow-server:latest # also change in updateScreenshots.sh environment: EVAL: true - SERVER_VERSION: 'stable28' + SERVER_VERSION: 'stable30' commands: - BRANCH="$SERVER_VERSION" /usr/local/bin/initnc.sh - echo 127.0.0.1 server >> /etc/hosts @@ -79,15 +79,15 @@ name: qt-5.15-clang steps: - name: cmake - image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.7.3-1 + image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.8.0-1 volumes: - name: build path: /drone/build commands: - cd /drone/build - - cmake /drone/src -G Ninja -DCMAKE_PREFIX_PATH=/opt/qt6.7.3 -DCMAKE_C_COMPILER=clang-14 -DCMAKE_CXX_COMPILER=clang++-14 -DCMAKE_BUILD_TYPE=Debug -DQT_MAJOR_VERSION=6 -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 -DADD_E2E_TESTS=ON + - cmake /drone/src -G Ninja -DCMAKE_PREFIX_PATH=/opt/qt6.8.0 -DCMAKE_C_COMPILER=clang-14 -DCMAKE_CXX_COMPILER=clang++-14 -DCMAKE_BUILD_TYPE=Debug -DQT_MAJOR_VERSION=6 -DQUICK_COMPILER=ON -DBUILD_UPDATER=ON -DBUILD_TESTING=1 -DCMAKE_CXX_FLAGS=-Werror -DOPENSSL_ROOT_DIR=/usr/local/lib64 -DADD_E2E_TESTS=ON - name: compile - image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.7.3-1 + image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.8.0-1 volumes: - name: build path: /drone/build @@ -95,7 +95,7 @@ steps: - cd /drone/build - ninja - name: test - image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.7.3-1 + image: ghcr.io/nextcloud/continuous-integration-client-qt6:client-6.8.0-1 volumes: - name: build path: /drone/build @@ -111,7 +111,7 @@ services: image: ghcr.io/nextcloud/continuous-integration-shallow-server:latest # also change in updateScreenshots.sh environment: EVAL: true - SERVER_VERSION: 'stable28' + SERVER_VERSION: 'stable30' commands: - BRANCH="$SERVER_VERSION" /usr/local/bin/initnc.sh - echo 127.0.0.1 server >> /etc/hosts @@ -152,14 +152,14 @@ name: AppImage steps: - name: build - image: ghcr.io/nextcloud/continuous-integration-client-appimage-qt6:client-appimage-6.7.3-1 + image: ghcr.io/nextcloud/continuous-integration-client-appimage-qt6:client-appimage-6.8.0-1 environment: CI_UPLOAD_GIT_TOKEN: from_secret: CI_UPLOAD_GIT_TOKEN CI_UPLOAD_GIT_USERNAME: from_secret: CI_UPLOAD_GIT_USERNAME commands: - - BUILDNR=$DRONE_BUILD_NUMBER VERSION_SUFFIX=$DRONE_PULL_REQUEST BUILD_UPDATER=ON DESKTOP_CLIENT_ROOT=$DRONE_WORKSPACE EXECUTABLE_NAME=nextcloud QT_BASE_DIR=/opt/qt6.7.3 OPENSSL_ROOT_DIR=/usr/local/lib64 /bin/bash -c "./admin/linux/build-appimage.sh" + - BUILDNR=$DRONE_BUILD_NUMBER VERSION_SUFFIX=$DRONE_PULL_REQUEST BUILD_UPDATER=ON DESKTOP_CLIENT_ROOT=$DRONE_WORKSPACE EXECUTABLE_NAME=nextcloud QT_BASE_DIR=/opt/qt6.8.0 OPENSSL_ROOT_DIR=/usr/local/lib64 /bin/bash -c "./admin/linux/build-appimage.sh" - BUILDNR=$DRONE_BUILD_NUMBER VERSION_SUFFIX=$DRONE_PULL_REQUEST DESKTOP_CLIENT_ROOT=$DRONE_WORKSPACE /bin/bash -c "./admin/linux/upload-appimage.sh" || echo "Upload failed, however this is an optional step." trigger: branch: @@ -190,6 +190,6 @@ trigger: - push --- kind: signature -hmac: 94f252484ad174569755f01f37a1776a74085e73b39e36defd4c9e5e13b48456 +hmac: a3e21446a001d2aadffa4b4f7c1fcc798817d2af582209095cd5bbb6829d55fc ... From a47f18f3fc60b6a6d79ee687b9cf4c21199c62af Mon Sep 17 00:00:00 2001 From: Jyrki Gadinger Date: Fri, 3 Jan 2025 11:14:48 +0100 Subject: [PATCH 4/4] Remove transparency value from system colours where needed For some reason Windows11 has some transparency in the system colours which makes reading drawers difficult Signed-off-by: Jyrki Gadinger --- src/gui/tray/MainWindow.qml | 6 +++--- theme/Style/Style.qml | 5 +++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/gui/tray/MainWindow.qml b/src/gui/tray/MainWindow.qml index 482f65ea88b39..69c99003f211f 100644 --- a/src/gui/tray/MainWindow.qml +++ b/src/gui/tray/MainWindow.qml @@ -143,7 +143,7 @@ ApplicationWindow { radius: Systray.useNormalWindow ? 0.0 : Style.trayWindowRadius border.width: Style.trayWindowBorderWidth border.color: palette.dark - color: palette.base + color: Style.colorWithoutTransparency(palette.base) } property int userIndex: 0 @@ -180,7 +180,7 @@ ApplicationWindow { radius: Systray.useNormalWindow ? 0.0 : Style.trayWindowRadius border.width: Style.trayWindowBorderWidth border.color: palette.dark - color: palette.base + color: Style.colorWithoutTransparency(palette.base) } property var folderAccountState: ({}) @@ -239,7 +239,7 @@ ApplicationWindow { clip: true radius: Systray.useNormalWindow ? 0.0 : Style.trayWindowRadius - color: palette.base + color: Style.colorWithoutTransparency(palette.base) Accessible.role: Accessible.Grouping Accessible.name: qsTr("Nextcloud desktop main dialog") diff --git a/theme/Style/Style.qml b/theme/Style/Style.qml index 014fa5a07690f..03c7bf932fcd7 100644 --- a/theme/Style/Style.qml +++ b/theme/Style/Style.qml @@ -200,4 +200,9 @@ QtObject { function variableSize(size) { return size * (1 + Math.min(pixelSize / 100, 1)); } + + // some platforms (e.g. Windows 11) have a transparency set on palette colours, this function removes that + function colorWithoutTransparency(color) { + return Qt.rgba(color.r, color.g, color.b, 1) + } }