39326f70c8
090-db1b2fbc-Use-GtkFileChooserNative.patch Renamed 090-uitests-Fix-with-GtkFileChooserNative.patch to 091-uitests-Fix-with-GtkFileChooserNative.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/virt-manager?expand=0&rev=631
94 lines
3.9 KiB
Diff
94 lines
3.9 KiB
Diff
Subject: Use GtkFileChooserNative
|
|
From: Michael Weghorn m.weghorn@posteo.de Wed Mar 20 07:41:29 2024 +0100
|
|
Date: Sun Apr 7 15:54:47 2024 -0400:
|
|
Git: db1b2fbce3c287e8127b3c744b2f8d49ad8ed2bc
|
|
|
|
Use GtkFileChooserNative [1] instead of GtkFileChooserDialog [2]
|
|
to integrate better with the platform (e.g. use the portal
|
|
implementation when run with GTK_USE_PORTAL=1, resulting in
|
|
the KDE Frameworks implementation being used when
|
|
xdg-desktop-portal-kde is in use). Quoting from
|
|
the GtkFileChooserDialog doc [2]:
|
|
|
|
> If you want to integrate well with the platform you should use the
|
|
> GtkFileChooserNative API, which will use a platform-specific dialog if
|
|
> available and fall back to GtkFileChooserDialog otherwise.
|
|
|
|
Also replace the use of GTK_STOCK_CANCEL [3] and GTK_STOCK_OPEN [4]
|
|
which were deprecated in GTK 3.10:
|
|
|
|
Both, the `accept_label` and `cancel_label` params of
|
|
`Gtk.FileChooserNative.new` can be `None` to use the default
|
|
text ("Open", "Cancel"). [5]
|
|
|
|
Adjust the only caller (in `vmmVMWindow#_takeScreenshot`)
|
|
that was passing an explicit label/icon name for the
|
|
accept button to pass `_("_Save")` as label, rather than
|
|
the also deprecated Gtk.STOCK_SAVE [6].
|
|
(GtkFileChooserDialog has special handling for Gtk.STOCK_SAVE
|
|
etc., but that's not generally the case for native dialogs).
|
|
|
|
Rename the method param from `choose_button` to `choose_label`
|
|
to make clearer that this is a label.
|
|
|
|
[1] https://docs.gtk.org/gtk3/class.FileChooserNative.html
|
|
[2] https://docs.gtk.org/gtk3/class.FileChooserDialog.html
|
|
[3] https://docs.gtk.org/gtk3/const.STOCK_CANCEL.html
|
|
[4] https://docs.gtk.org/gtk3/const.STOCK_OPEN.html
|
|
[5] http://pygobject-doc.gitee.io/pgi-docs/Gtk-3.0/classes/FileChooserNative.html#Gtk.FileChooserNative.new
|
|
[6] https://docs.gtk.org/gtk3/const.STOCK_SAVE.html
|
|
|
|
Fixes #315
|
|
|
|
diff --git a/virtManager/error.py b/virtManager/error.py
|
|
index 593c89ca..2b3a99f5 100644
|
|
--- a/virtManager/error.py
|
|
+++ b/virtManager/error.py
|
|
@@ -234,7 +234,7 @@ class vmmErrorDialog(vmmGObject):
|
|
|
|
def browse_local(self, dialog_name, start_folder=None,
|
|
_type=None, dialog_type=None,
|
|
- choose_button=None, default_name=None,
|
|
+ choose_label=None, default_name=None,
|
|
confirm_overwrite=False):
|
|
"""
|
|
Helper function for launching a filechooser
|
|
@@ -246,19 +246,11 @@ class vmmErrorDialog(vmmGObject):
|
|
"""
|
|
if dialog_type is None:
|
|
dialog_type = Gtk.FileChooserAction.OPEN
|
|
- if choose_button is None:
|
|
- choose_button = Gtk.STOCK_OPEN
|
|
-
|
|
- buttons = (Gtk.STOCK_CANCEL,
|
|
- Gtk.ResponseType.CANCEL,
|
|
- choose_button,
|
|
- Gtk.ResponseType.ACCEPT)
|
|
-
|
|
- fcdialog = Gtk.FileChooserDialog(title=dialog_name,
|
|
- parent=self.get_parent(),
|
|
- action=dialog_type,
|
|
- buttons=buttons)
|
|
- fcdialog.set_default_response(Gtk.ResponseType.ACCEPT)
|
|
+
|
|
+ fcdialog = Gtk.FileChooserNative.new(title=dialog_name,
|
|
+ parent=self.get_parent(),
|
|
+ action=dialog_type,
|
|
+ accept_label=choose_label)
|
|
|
|
if default_name:
|
|
fcdialog.set_current_name(default_name)
|
|
diff --git a/virtManager/vmwindow.py b/virtManager/vmwindow.py
|
|
index d5549454..4a4d2842 100644
|
|
--- a/virtManager/vmwindow.py
|
|
+++ b/virtManager/vmwindow.py
|
|
@@ -558,7 +558,7 @@ class vmmVMWindow(vmmGObjectUI):
|
|
_("Save Virtual Machine Screenshot"),
|
|
_type=("png", _("PNG files")),
|
|
dialog_type=Gtk.FileChooserAction.SAVE,
|
|
- choose_button=Gtk.STOCK_SAVE,
|
|
+ choose_label=_("_Save"),
|
|
start_folder=start_folder,
|
|
default_name=default,
|
|
confirm_overwrite=True)
|