Gtk.FileChooserDialog¶
| Subclasses: | None | 
|---|
Methods¶
Virtual Methods¶
| Inherited: | Gtk.Dialog (2), Gtk.Window (5), Gtk.Container (10), Gtk.Widget (82), GObject.Object (7), Gtk.Buildable (10) | 
|---|
Properties¶
| Inherited: | Gtk.Dialog (1), Gtk.Window (33), Gtk.Container (3), Gtk.Widget (39), Gtk.FileChooser (11) | 
|---|
Style Properties¶
| Inherited: | Gtk.Dialog (4), Gtk.Window (2), Gtk.Widget (17) | 
|---|
Signals¶
| Inherited: | Gtk.Dialog (2), Gtk.Window (5), Gtk.Container (4), Gtk.Widget (69), GObject.Object (1), Gtk.FileChooser (5) | 
|---|
Fields¶
| Inherited: | Gtk.Dialog (2), Gtk.Window (5), Gtk.Container (4), Gtk.Widget (69), GObject.Object (1), Gtk.FileChooser (5) | 
|---|
| Name | Type | Access | Description | 
|---|---|---|---|
| parent_instance | Gtk.Dialog | r | 
Class Details¶
- 
class Gtk.FileChooserDialog(*args, **kwargs)¶
- Bases: - Gtk.Dialog,- Gtk.FileChooser- Abstract: - No - Structure: - Gtk.FileChooserDialogClass- Gtk.FileChooserDialogis a dialog box suitable for use with “File/Open” or “File/Save as” commands. This widget works by putting a- Gtk.FileChooserWidgetinside a- Gtk.Dialog. It exposes the- Gtk.FileChooserinterface, so you can use all of the- Gtk.FileChooserfunctions on the file chooser dialog as well as those for- Gtk.Dialog.- Note that - Gtk.FileChooserDialogdoes not have any methods of its own. Instead, you should use the functions that work on a- Gtk.FileChooser.- If you want to integrate well with the platform you should use the - Gtk.FileChooserNativeAPI, which will use a platform-specific dialog if available and fall back to- Gtk.FileChooserDialogotherwise.- Typical usage
 - In the simplest of cases, you can the following code to use - Gtk.FileChooserDialogto select a file for opening:- GtkWidget *dialog; GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_OPEN; gint res; dialog = gtk_file_chooser_dialog_new ("Open File", parent_window, action, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Open"), GTK_RESPONSE_ACCEPT, NULL); res = gtk_dialog_run (GTK_DIALOG (dialog)); if (res == GTK_RESPONSE_ACCEPT) { char *filename; GtkFileChooser *chooser = GTK_FILE_CHOOSER (dialog); filename = gtk_file_chooser_get_filename (chooser); open_file (filename); g_free (filename); } gtk_widget_destroy (dialog);- To use a dialog for saving, you can use this: - GtkWidget *dialog; GtkFileChooser *chooser; GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_SAVE; gint res; dialog = gtk_file_chooser_dialog_new ("Save File", parent_window, action, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Save"), GTK_RESPONSE_ACCEPT, NULL); chooser = GTK_FILE_CHOOSER (dialog); 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_dialog_run (GTK_DIALOG (dialog)); if (res == GTK_RESPONSE_ACCEPT) { char *filename; filename = gtk_file_chooser_get_filename (chooser); save_to_file (filename); g_free (filename); } gtk_widget_destroy (dialog);- Setting up a file chooser dialog
 - There are various cases in which you may need to use a - Gtk.FileChooserDialog:- To select a file for opening. Use Gtk.FileChooserAction.OPEN.
- To save a file for the first time. Use Gtk.FileChooserAction.SAVE, and suggest a name such as “Untitled” withGtk.FileChooser.set_current_name().
- To save a file under a different name. Use Gtk.FileChooserAction.SAVE, and set the existing filename withGtk.FileChooser.set_filename().
- To choose a folder instead of a file. Use Gtk.FileChooserAction.SELECT_FOLDER.
 - Note that old versions of the file chooser’s documentation suggested using - Gtk.FileChooser.set_current_folder() in various situations, with the intention of letting the application suggest a reasonable default folder. This is no longer considered to be a good policy, as now the file chooser is able to make good suggestions on its own. In general, you should only cause the file chooser to show a specific folder when it is appropriate to use- Gtk.FileChooser.set_filename(), i.e. when you are doing a Save As command and you already have a file saved somewhere.- Response Codes
 - Gtk.FileChooserDialoginherits from- Gtk.Dialog, so buttons that go in its action area have response codes such as- Gtk.ResponseType.ACCEPTand- Gtk.ResponseType.CANCEL. For example, you could call gtk_file_chooser_dialog_new() as follows:- GtkWidget *dialog; GtkFileChooserAction action = GTK_FILE_CHOOSER_ACTION_OPEN; dialog = gtk_file_chooser_dialog_new ("Open File", parent_window, action, _("_Cancel"), GTK_RESPONSE_CANCEL, _("_Open"), GTK_RESPONSE_ACCEPT, NULL);- This will create buttons for “Cancel” and “Open” that use stock response identifiers from - Gtk.ResponseType. For most dialog boxes you can use your own custom response codes rather than the ones in- Gtk.ResponseType, but- Gtk.FileChooserDialogassumes that its “accept”-type action, e.g. an “Open” or “Save” button, will have one of the following response codes:- This is because - Gtk.FileChooserDialogmust intercept responses and switch to folders if appropriate, rather than letting the dialog terminate — the implementation uses these known response codes to know which responses can be blocked if appropriate.- To summarize, make sure you use a stock response code when you use - Gtk.FileChooserDialogto ensure proper operation.