mirror of
https://github.com/virt-manager/virt-manager.git
synced 2025-01-03 01:18:00 +03:00
Use GtkFileChooserNative
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
This commit is contained in:
parent
231a3dbc87
commit
db1b2fbce3
@ -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,
|
||||
fcdialog = Gtk.FileChooserNative.new(title=dialog_name,
|
||||
parent=self.get_parent(),
|
||||
action=dialog_type,
|
||||
buttons=buttons)
|
||||
fcdialog.set_default_response(Gtk.ResponseType.ACCEPT)
|
||||
accept_label=choose_label)
|
||||
|
||||
if default_name:
|
||||
fcdialog.set_current_name(default_name)
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user