FileChooserIF.setFile

Sets @file as the current filename for the file chooser.

This includes changing to the file’s parent folder and actually selecting the file in list. If the @chooser is in %GTK_FILE_CHOOSER_ACTION_SAVE mode, the file’s base name will also appear in the dialog’s file name entry.

If the file name isn’t in the current folder of @chooser, then the current folder of @chooser will be changed to the folder containing @filename.

Note that the file must exist, or nothing will be done except for the directory change.

If you are implementing a save dialog, you should use this function if you already have a file name to which the user may save; for example, when the user opens an existing file and then does “Save As…”. If you don’t have a file name already — for example, if the user just created a new file and is saving it for the first time, do not call this function.

Instead, use something similar to this:

static void
prepare_file_chooser (GtkFileChooser *chooser,
GFile          *existing_file)
{
gboolean document_is_new = (existing_file == NULL);

if (document_is_new)
{
GFile *default_file_for_saving = g_file_new_for_path ("./out.txt");
// the user just created a new document
gtk_file_chooser_set_current_folder (chooser, default_file_for_saving, NULL);
gtk_file_chooser_set_current_name (chooser, "Untitled document");
g_object_unref (default_file_for_saving);
}
else
{
// the user edited an existing document
gtk_file_chooser_set_file (chooser, existing_file, NULL);
}
}
interface FileChooserIF
bool
setFile

Parameters

file FileIF

the GFile to set as current

Return Value

Type: bool

Not useful

Throws

GException on failure.

Meta