Gtk.FileChooserNative¶
- Subclasses:
- None 
Methods¶
- Inherited:
- Gtk.NativeDialog (11), GObject.Object (37), Gtk.FileChooser (63) 
- Structs:
| class | 
 | 
| 
 | |
| 
 | 
Virtual Methods¶
- Inherited:
Properties¶
- Inherited:
| Name | Type | Flags | Short Description | 
|---|---|---|---|
| r/w | The label on the accept button | ||
| 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:
- Abstract:
- No 
- Structure:
 - 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: - 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 of- Gtk.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:
- parent ( - Gtk.Windowor- None) – Transient parent of the native, or- None
- action ( - Gtk.FileChooserAction) – Open or save mode for the dialog
- accept_label ( - stror- None) – text to go in the accept button, or- Nonefor the default
- cancel_label ( - stror- None) – text to go in the cancel button, or- Nonefor the default
 
- Returns:
- a new - Gtk.FileChooserNative
- Return type:
 - Creates a new - Gtk.FileChooserNative.- New in version 3.20. 
 - 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:
 - 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:
 - Retrieves the custom label text for the cancel button. - New in version 3.20. 
 - set_accept_label(accept_label)[source]¶
- 
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]¶
- 
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.