Gtk.FileChooserNative¶
| Subclasses: | None | 
|---|
Methods¶
| Inherited: | Gtk.NativeDialog (11), GObject.Object (37), Gtk.FileChooser (63) | 
|---|---|
| Structs: | GObject.ObjectClass (5) | 
| class | new(title, parent, action, accept_label, cancel_label) | 
| get_accept_label() | |
| get_cancel_label() | |
| set_accept_label(accept_label) | |
| set_cancel_label(cancel_label) | 
Virtual Methods¶
| Inherited: | Gtk.NativeDialog (3), GObject.Object (7) | 
|---|
Properties¶
| Inherited: | Gtk.NativeDialog (4), Gtk.FileChooser (11) | 
|---|
| Name | Type | Flags | Short Description | 
|---|---|---|---|
| accept-label | str | r/w | The label on the accept button | 
| cancel-label | str | r/w | The label on the cancel button | 
Signals¶
| Inherited: | Gtk.NativeDialog (1), GObject.Object (1), Gtk.FileChooser (5) | 
|---|
Fields¶
| Inherited: | Gtk.NativeDialog (1), GObject.Object (1), Gtk.FileChooser (5) | 
|---|
Class Details¶
- 
class Gtk.FileChooserNative(**kwargs)¶
- Bases: - Gtk.NativeDialog,- Gtk.FileChooser- Abstract: - No - Structure: - Gtk.FileChooserNativeClass- Gtk.FileChooserNativeis an abstraction of a dialog box suitable for use with “File/Open” or “File/Save as” commands. By default, this just uses a- Gtk.FileChooserDialogto implement the actual dialog. However, on certain platforms, such as Windows and macOS, the native platform file chooser is used instead. When the application is running in a sandboxed environment without direct filesystem access (such as Flatpak),- Gtk.FileChooserNativemay call the proper APIs (portals) to let the user choose a file and make it available to the application.- While the API of - Gtk.FileChooserNativeclosely mirrors- Gtk.FileChooserDialog, the main difference is that there is no access to any- Gtk.Windowor- Gtk.Widgetfor the dialog. This is required, as there may not be one in the case of a platform native dialog. Showing, hiding and running the dialog is handled by the- Gtk.NativeDialogfunctions.- Typical usage
 - In the simplest of cases, you can the following code to use - Gtk.FileChooserDialogto select a file for opening:- GtkFileChooserNative *native; GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_OPEN; gint res; native = gtk_file_chooser_native_new ("Open File", parent_window, action, "_Open", "_Cancel"); res = gtk_native_dialog_run (GTK_NATIVE_DIALOG (native)); if (res == GTK_RESPONSE_ACCEPT) { char *filename; GtkFileChooser *chooser = GTK_FILE_CHOOSER (native); filename = gtk_file_chooser_get_filename (chooser); open_file (filename); g_free (filename); } g_object_unref (native);- To use a dialog for saving, you can use this: - GtkFileChooserNative *native; GtkFileChooser *chooser; GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_SAVE; gint res; native = gtk_file_chooser_native_new ("Save File", parent_window, action, "_Save", "_Cancel"); chooser = GTK_FILE_CHOOSER (native); gtk_file_chooser_set_do_overwrite_confirmation (chooser, TRUE); if (user_edited_a_new_document) gtk_file_chooser_set_current_name (chooser, _("Untitled document")); else gtk_file_chooser_set_filename (chooser, existing_filename); res = gtk_native_dialog_run (GTK_NATIVE_DIALOG (native)); if (res == GTK_RESPONSE_ACCEPT) { char *filename; filename = gtk_file_chooser_get_filename (chooser); save_to_file (filename); g_free (filename); } g_object_unref (native);- For more information on how to best set up a file dialog, see - Gtk.FileChooserDialog.- Response Codes
 - Gtk.FileChooserNativeinherits from- Gtk.NativeDialog, which means it will return- Gtk.ResponseType.ACCEPTif the user accepted, and- Gtk.ResponseType.CANCELif he pressed cancel. It can also return- Gtk.ResponseType.DELETE_EVENTif the window was unexpectedly closed.- Differences from Gtk.FileChooserDialog
 - There are a few things in the - Gtk.FileChooserAPI that are not possible to use with- Gtk.FileChooserNative, as such use would prohibit the use of a native dialog.- There is no support for the signals that are emitted when the user navigates in the dialog, including: - Gtk.FileChooser- ::current-folder-changed
- Gtk.FileChooser- ::selection-changed
- Gtk.FileChooser- ::file-activated
- Gtk.FileChooser- ::confirm-overwrite
 - You can also not use the methods that directly control user navigation: - If you need any of the above you will have to use - Gtk.FileChooserDialogdirectly.- No operations that change the the dialog work while the dialog is visible. Set all the properties that are required before showing the dialog. - Win32 details
 - On windows the IFileDialog implementation (added in Windows Vista) is used. It supports many of the features that - Gtk.FileChooserDialogdoes, but there are some things it does not handle:- Extra widgets added with Gtk.FileChooser.set_extra_widget().
- Use of custom previews by connecting to Gtk.FileChooser::update-preview.
- Any Gtk.FileFilteradded using a mimetype or custom filter.
 - If any of these features are used the regular - Gtk.FileChooserDialogwill be used in place of the native one.- Portal details
 - When the org.freedesktop.portal.FileChooser portal is available on the session bus, it is used to bring up an out-of-process file chooser. Depending on the kind of session the application is running in, this may or may not be a GTK+ file chooser. In this situation, the following things are not supported and will be silently ignored: - Extra widgets added with Gtk.FileChooser.set_extra_widget().
- Use of custom previews by connecting to Gtk.FileChooser::update-preview.
- Any Gtk.FileFilteradded with a custom filter.
 - macOS details
 - On macOS the NSSavePanel and NSOpenPanel classes are used to provide native file chooser dialogs. Some features provided by - Gtk.FileChooserDialogare not supported:- Extra widgets added with Gtk.FileChooser.set_extra_widget(), unless the widget is an instance ofGtk.Label, in which case the label text will be used to set the NSSavePanel message instance property.
- Use of custom previews by connecting to Gtk.FileChooser::update-preview.
- Any Gtk.FileFilteradded with a custom filter.
- Shortcut folders.
 - 
classmethod new(title, parent, action, accept_label, cancel_label)[source]¶
- Parameters: - title (strorNone) – Title of the native, orNone
- parent (Gtk.WindoworNone) – Transient parent of the native, orNone
- action (Gtk.FileChooserAction) – Open or save mode for the dialog
- accept_label (strorNone) – text to go in the accept button, orNonefor the default
- cancel_label (strorNone) – text to go in the cancel button, orNonefor the default
 - Returns: - a new - Gtk.FileChooserNative- Return type: - Creates a new - Gtk.FileChooserNative.- New in version 3.20. 
- title (
 - 
get_accept_label()[source]¶
- Returns: - The custom label, or - Nonefor the default. This string is owned by GTK+ and should not be modified or freed- Return type: - stror- None- Retrieves the custom label text for the accept button. - New in version 3.20. 
 - 
get_cancel_label()[source]¶
- Returns: - The custom label, or - Nonefor the default. This string is owned by GTK+ and should not be modified or freed- Return type: - stror- None- Retrieves the custom label text for the cancel button. - New in version 3.20. 
 - 
set_accept_label(accept_label)[source]¶
- Parameters: - accept_label ( - stror- None) – custom label or- Nonefor the default- Sets the custom label text for the accept button. - If characters in label are preceded by an underscore, they are underlined. If you need a literal underscore character in a label, use “__” (two underscores). The first underlined character represents a keyboard accelerator called a mnemonic. Pressing Alt and that key activates the button. - New in version 3.20. 
 - 
set_cancel_label(cancel_label)[source]¶
- Parameters: - cancel_label ( - stror- None) – custom label or- Nonefor the default- Sets the custom label text for the cancel button. - If characters in label are preceded by an underscore, they are underlined. If you need a literal underscore character in a label, use “__” (two underscores). The first underlined character represents a keyboard accelerator called a mnemonic. Pressing Alt and that key activates the button. - New in version 3.20.