module Gtk::FileChooser
Overview
Gtk::FileChooser
is an interface that can be implemented by file
selection widgets.
In GTK, the main objects that implement this interface are
Gtk::FileChooserWidget
and Gtk::FileChooserDialog
.
You do not need to write an object that implements the Gtk::FileChooser
interface unless you are trying to adapt an existing file selector to
expose a standard programming interface.
Gtk::FileChooser
allows for shortcuts to various places in the filesystem.
In the default implementation these are displayed in the left pane. It
may be a bit confusing at first that these shortcuts come from various
sources and in various flavours, so lets explain the terminology here:
-
Bookmarks: are created by the user, by dragging folders from the right pane to the left pane, or by using the “Add”. Bookmarks can be renamed and deleted by the user.
-
Shortcuts: can be provided by the application. For example, a Paint program may want to add a shortcut for a Clipart folder. Shortcuts cannot be modified by the user.
-
Volumes: are provided by the underlying filesystem abstraction. They are the “roots” of the filesystem.
File Names and Encodings
When the user is finished selecting files in a Gtk::FileChooser
, your
program can get the selected filenames as GFile
s.
Adding options
You can add extra widgets to a file chooser to provide options
that are not present in the default design, by using
Gtk::FileChooser#add_choice
. Each choice has an identifier and
a user visible label; additionally, each choice can have multiple
options. If a choice has no option, it will be rendered as a
check button with the given label; if a choice has options, it will
be rendered as a combo box.
Direct including types
Defined in:
lib/gi-crystal/src/auto/gtk-4.0/file_chooser.crClass Method Summary
Instance Method Summary
- #action : Gtk::FileChooserAction
- #action=(action : Gtk::FileChooserAction) : Nil
- #add_choice(id : String, label : String, options : Enumerable(String)?, option_labels : Enumerable(String)?) : Nil
- #add_filter(filter : Gtk::FileFilter) : Nil
- #add_shortcut_folder(folder : Gio::File) : Bool
- #choice(id : String) : String?
- #create_folders : Bool
- #create_folders=(create_folders : Bool) : Nil
- #create_folders? : Bool
- #current_folder : Gio::File?
- #current_folder=(file : Gio::File?) : Bool
- #current_name : String?
- #current_name=(name : String) : Nil
- #file : Gio::File?
- #file=(file : Gio::File) : Bool
- #files : Gio::ListModel
- #filter : Gtk::FileFilter?
- #filter=(filter : Gtk::FileFilter) : Nil
- #filters : Gio::ListModel
- #remove_choice(id : String) : Nil
- #remove_filter(filter : Gtk::FileFilter) : Nil
- #remove_shortcut_folder(folder : Gio::File) : Bool
- #select_multiple : Bool
- #select_multiple=(select_multiple : Bool) : Nil
- #select_multiple? : Bool
- #set_choice(id : String, option : String) : Nil
- #shortcut_folders : Gio::ListModel
- #to_unsafe