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

protonmail-bridge-gui: patch source to support Qt 6.8 #350283

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
From 5615176ca9eb172f223bec9f85f8ca1d090c2686 Mon Sep 17 00:00:00 2001
From: Cimbali <[email protected]>
Date: Wed, 23 Oct 2024 12:46:43 +0100
Subject: [PATCH 1/2] Fix ColorImage Qt crash

---
bridge-gui/qml/BugReport/QuestionItem.qml | 1 +
bridge-gui/qml/Proton/InfoTooltip.qml | 1 +
bridge-gui/qml/Proton/LinkLabel.qml | 1 +
bridge-gui/qml/SetupWizard/ClientConfigCertInstall.qml | 1 +
bridge-gui/qml/SetupWizard/ClientConfigParameters.qml | 1 +
bridge-gui/qml/SetupWizard/ClientListItem.qml | 1 +
bridge-gui/qml/SetupWizard/Login.qml | 1 +
7 files changed, 7 insertions(+)

diff --git a/bridge-gui/qml/BugReport/QuestionItem.qml b/bridge-gui/qml/BugReport/QuestionItem.qml
index 9cf37cc1972d80fbd47ca353ea5d2420b2e05cdf..2e0ca39c63874fe8ede3b9c1eea9ab1ef2800d95 100644
--- a/bridge-gui/qml/BugReport/QuestionItem.qml
+++ b/bridge-gui/qml/BugReport/QuestionItem.qml
@@ -13,6 +13,7 @@
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
+import QtQuick.Controls.impl
import Proton

Item {
diff --git a/bridge-gui/qml/Proton/InfoTooltip.qml b/bridge-gui/qml/Proton/InfoTooltip.qml
index 281e93e8fb21f179179211d6d750e4c12b685de1..0ec6bf2629f56f26aa92bba209b6eb679bf25d58 100644
--- a/bridge-gui/qml/Proton/InfoTooltip.qml
+++ b/bridge-gui/qml/Proton/InfoTooltip.qml
@@ -16,6 +16,7 @@
// along with Proton Mail Bridge. If not, see <https://www.gnu.org/licenses/>.
import QtQuick
import QtQuick.Controls
+import QtQuick.Controls.impl
import QtQuick.Layouts

ColorImage {
diff --git a/bridge-gui/qml/Proton/LinkLabel.qml b/bridge-gui/qml/Proton/LinkLabel.qml
index 30871f21fa7932c062a0a9d37f9413beaf2277d6..af9b40d2e1afa1d5bc564f3dc96ad811221121bd 100644
--- a/bridge-gui/qml/Proton/LinkLabel.qml
+++ b/bridge-gui/qml/Proton/LinkLabel.qml
@@ -12,6 +12,7 @@
// along with Proton Mail Bridge. If not, see <https://www.gnu.org/licenses/>.
import QtQuick
import QtQuick.Controls
+import QtQuick.Controls.impl
import QtQuick.Layouts

RowLayout {
diff --git a/bridge-gui/qml/SetupWizard/ClientConfigCertInstall.qml b/bridge-gui/qml/SetupWizard/ClientConfigCertInstall.qml
index 1ac498b0ad9af5b8a75986f122e3cd6ef25318c3..9790afe9c5a9a15b64cf1655edc90b850c78fdf5 100644
--- a/bridge-gui/qml/SetupWizard/ClientConfigCertInstall.qml
+++ b/bridge-gui/qml/SetupWizard/ClientConfigCertInstall.qml
@@ -15,6 +15,7 @@ import QtQml
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
+import QtQuick.Controls.impl

Item {
id: root
diff --git a/bridge-gui/qml/SetupWizard/ClientConfigParameters.qml b/bridge-gui/qml/SetupWizard/ClientConfigParameters.qml
index 52e3fec2e97c68fe2931d2c3d78c27082bbba0b5..2a4c7d39a5b8fb33c847a786a9fcd044483ad7a1 100644
--- a/bridge-gui/qml/SetupWizard/ClientConfigParameters.qml
+++ b/bridge-gui/qml/SetupWizard/ClientConfigParameters.qml
@@ -14,6 +14,7 @@ import QtQml
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
+import QtQuick.Controls.impl
import ".."

Rectangle {
diff --git a/bridge-gui/qml/SetupWizard/ClientListItem.qml b/bridge-gui/qml/SetupWizard/ClientListItem.qml
index 3e781d1654880ab56f0b9e5104456c1ea385291e..30e9307e28b2c3c996d2cd44a51dbc82166a4f78 100644
--- a/bridge-gui/qml/SetupWizard/ClientListItem.qml
+++ b/bridge-gui/qml/SetupWizard/ClientListItem.qml
@@ -14,6 +14,7 @@ import QtQml
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
+import QtQuick.Controls.impl

Rectangle {
id: root
diff --git a/bridge-gui/qml/SetupWizard/Login.qml b/bridge-gui/qml/SetupWizard/Login.qml
index 20eba75312a335f4f61d1cf8455a53a0d352cc1e..2f1a86a92b4216b4c6b9c9551552048432330ef4 100644
--- a/bridge-gui/qml/SetupWizard/Login.qml
+++ b/bridge-gui/qml/SetupWizard/Login.qml
@@ -14,6 +14,7 @@ import QtQml
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
+import QtQuick.Controls.impl

FocusScope {
id: root

base-commit: df78e292341043b196c2aba812fc48d2c2e8501b
--
2.46.1

Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
From 834a2f910a30086132d53004fd8f7d770925bdad Mon Sep 17 00:00:00 2001
From: Cimbali <[email protected]>
Date: Wed, 23 Oct 2024 13:26:43 +0100
Subject: [PATCH 2/2] Avoid name clash with 6.8-introduced popupType

---
bridge-gui/qml/Banner.qml | 2 +-
bridge-gui/qml/Proton/ApplicationWindow.qml | 6 +++---
bridge-gui/qml/Proton/Dialog.qml | 2 +-
bridge-gui/qml/Proton/Popup.qml | 2 +-
4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/bridge-gui/qml/Banner.qml b/bridge-gui/qml/Banner.qml
index f3affdc90f5f7e068cbda3a5445551255ee0f24f..88d3a48abe857b7812ee80be28b241e7c4a3924c 100644
--- a/bridge-gui/qml/Banner.qml
+++ b/bridge-gui/qml/Banner.qml
@@ -28,7 +28,7 @@ Popup {
implicitWidth: 600 // contentLayout.implicitWidth + contentLayout.anchors.leftMargin + contentLayout.anchors.rightMargin
leftMargin: (mainWindow.width - root.implicitWidth) / 2
modal: false
- popupType: ApplicationWindow.PopupType.Banner
+ popupPrio: ApplicationWindow.PopupPriority.Banner
shouldShow: notification ? (notification.active && !notification.dismissed) : false
topMargin: 37

diff --git a/bridge-gui/qml/Proton/ApplicationWindow.qml b/bridge-gui/qml/Proton/ApplicationWindow.qml
index ef23ede58bf2db67799714e2f2c0c47e74ce10a9..7220789670776a8749d79a219993237585d52208 100644
--- a/bridge-gui/qml/Proton/ApplicationWindow.qml
+++ b/bridge-gui/qml/Proton/ApplicationWindow.qml
@@ -21,7 +21,7 @@ T.ApplicationWindow {
id: root

// popup priority based on types
- enum PopupType {
+ enum PopupPriority {
Banner,
Dialog
}
@@ -78,10 +78,10 @@ T.ApplicationWindow {
topmost = obj;
break;
}
- if (topmost && (topmost.popupType > obj.popupType)) {
+ if (topmost && (topmost.popupPrio > obj.popupPrio)) {
continue;
}
- if (topmost && (topmost.popupType === obj.popupType) && (topmost.occurred > obj.occurred)) {
+ if (topmost && (topmost.popupPrio === obj.popupPrio) && (topmost.occurred > obj.occurred)) {
continue;
}
topmost = obj;
diff --git a/bridge-gui/qml/Proton/Dialog.qml b/bridge-gui/qml/Proton/Dialog.qml
index f1ab61a0374e916ce6ab3819de33828af063bbee..30e7a99d854d952178ffed731062789f6ac98150 100644
--- a/bridge-gui/qml/Proton/Dialog.qml
+++ b/bridge-gui/qml/Proton/Dialog.qml
@@ -21,7 +21,7 @@ T.Dialog {

property ColorScheme colorScheme
readonly property var occurred: shouldShow ? new Date() : undefined
- readonly property int popupType: ApplicationWindow.PopupType.Dialog
+ readonly property int popupPrio: ApplicationWindow.PopupPriority.Dialog
property bool shouldShow: false

function close() {
diff --git a/bridge-gui/qml/Proton/Popup.qml b/bridge-gui/qml/Proton/Popup.qml
index 68c3af7c52eb6a9864b24d58155844bc219504e0..78fa29c1eb259b708f8301fcde8e21a40e3c0563 100644
--- a/bridge-gui/qml/Proton/Popup.qml
+++ b/bridge-gui/qml/Proton/Popup.qml
@@ -21,7 +21,7 @@ T.Popup {

property ColorScheme colorScheme
readonly property var occurred: shouldShow ? new Date() : undefined
- property int popupType: ApplicationWindow.PopupType.Banner
+ property int popupPrio: ApplicationWindow.PopupPriority.Banner
property bool shouldShow: false

function close() {
--
2.46.1

5 changes: 5 additions & 0 deletions pkgs/by-name/pr/protonmail-bridge-gui/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ stdenv.mkDerivation (finalAttrs: {
patches = [
# Use `gtest` from Nixpkgs to allow an offline build
./use-nix-googletest.patch
# From https://github.com/ProtonMail/proton-bridge/pull/502 hopefully superceded by next upstream release
./0001-Fix-ColorImage-Qt-crash.patch
./0002-Avoid-name-clash-with-6.8-introduced-popupType.patch
];

nativeBuildInputs = [
Expand Down Expand Up @@ -62,6 +65,8 @@ stdenv.mkDerivation (finalAttrs: {
sed -i "/add_subdirectory(bridge-gui-tester)/d" CMakeLists.txt
'';

__structuredAttrs = true; # to allow spaces in `cmakeFlags`

cmakeFlags = [
"-DBRIDGE_APP_FULL_NAME=Proton Mail Bridge"
"-DBRIDGE_VENDOR=Proton AG"
Expand Down