### Method

# Gtk FileChooser set_file

#### Declaration [src]

    gboolean
    gtk_file_chooser_set_file (
      GtkFileChooser* chooser,
      GFile* file,
      GError** error
    )

#### Description [src]

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:

“`c 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); } } “`.

#### Parameters

`file` | `GFile*`
| The `GFile` to set as current.
| The data is owned by the caller of the function.
`error` | `GError **`
| The return location for a `GError*`, or `NULL`.

#### Return value

Returns: | `gboolean`
| Not useful.