From d5ca6bb422d96740814cc7a68a4c9698541d4be8 Mon Sep 17 00:00:00 2001 From: Alex Pyrgiotis Date: Fri, 28 Jul 2023 19:57:46 +0300 Subject: [PATCH] updater: Move "Ok" button to the right Move the "Ok" button in the prompt that asks users if they want to enable update checks to the right, to further reinforce that this is the default action. --- dangerzone/gui/logic.py | 22 ++++++++++++++++------ dangerzone/gui/updater.py | 14 +++++++++++--- 2 files changed, 27 insertions(+), 9 deletions(-) diff --git a/dangerzone/gui/logic.py b/dangerzone/gui/logic.py index 05f5bbc..0a2a17c 100644 --- a/dangerzone/gui/logic.py +++ b/dangerzone/gui/logic.py @@ -152,19 +152,17 @@ class Dialog(QtWidgets.QDialog): self.ok_button = QtWidgets.QPushButton(ok_text) self.ok_button.clicked.connect(self.clicked_ok) + self.extra_button: Optional[QtWidgets.QPushButton] = None if extra_button_text: self.extra_button = QtWidgets.QPushButton(extra_button_text) self.extra_button.clicked.connect(self.clicked_extra) - buttons_layout = QtWidgets.QHBoxLayout() - buttons_layout.addStretch() - buttons_layout.addWidget(self.ok_button) - if extra_button_text: - buttons_layout.addWidget(self.extra_button) + self.cancel_button: Optional[QtWidgets.QPushButton] = None if has_cancel: self.cancel_button = QtWidgets.QPushButton(cancel_text) self.cancel_button.clicked.connect(self.clicked_cancel) - buttons_layout.addWidget(self.cancel_button) + + buttons_layout = self.create_buttons_layout() layout = QtWidgets.QVBoxLayout() layout.addLayout(message_layout) @@ -172,6 +170,18 @@ class Dialog(QtWidgets.QDialog): layout.addLayout(buttons_layout) self.setLayout(layout) + def create_buttons_layout(self) -> QtWidgets.QHBoxLayout: + buttons_layout = QtWidgets.QHBoxLayout() + buttons_layout.addStretch() + + buttons_layout.addWidget(self.ok_button) + if self.extra_button: + buttons_layout.addWidget(self.extra_button) + if self.cancel_button: + buttons_layout.addWidget(self.cancel_button) + + return buttons_layout + def create_layout(self) -> QtWidgets.QBoxLayout: raise NotImplementedError("Dangerzone dialogs must implement this method") diff --git a/dangerzone/gui/updater.py b/dangerzone/gui/updater.py index cd4453a..23bd3a5 100644 --- a/dangerzone/gui/updater.py +++ b/dangerzone/gui/updater.py @@ -11,12 +11,12 @@ from typing import Any, Optional from packaging import version if typing.TYPE_CHECKING: - from PySide2 import QtCore + from PySide2 import QtCore, QtWidgets else: try: - from PySide6 import QtCore + from PySide6 import QtCore, QtWidgets except ImportError: - from PySide2 import QtCore + from PySide2 import QtCore, QtWidgets import markdown import requests @@ -61,6 +61,14 @@ class UpdateCheckPrompt(Alert): self.x_pressed = True event.accept() + def create_buttons_layout(self) -> QtWidgets.QHBoxLayout: + buttons_layout = QtWidgets.QHBoxLayout() + buttons_layout.addStretch() + assert self.cancel_button is not None + buttons_layout.addWidget(self.cancel_button) + buttons_layout.addWidget(self.ok_button) + return buttons_layout + class UpdateReport: """A report for an update check."""