XfceFileChooser

XfceFileChooser — a wrapper around GtkFileSelection and GtkFileChooserDialog

Synopsis

#include <libxfcegui4/libxfcegui4.h>

typedef             XfceFileChooser;
enum                XfceFileChooserAction;
void                (*PreviewUpdateFunc)                (XfceFileChooser *chooser,
                                                         gpointer user_data);
GtkWidget *         xfce_file_chooser_dialog_new        (const gchar *title,
                                                         GtkWindow *parent,
                                                         XfceFileChooserAction action,
                                                         const gchar *first_button_text,
                                                         ...);
GtkWidget *         xfce_file_chooser_new               (const gchar *title,
                                                         GtkWindow *parent,
                                                         XfceFileChooserAction action,
                                                         const gchar *first_button_text,
                                                         ...);
void                xfce_file_chooser_set_select_multiple
                                                        (XfceFileChooser *chooser,
                                                         gboolean select_multiple);
gboolean            xfce_file_chooser_get_select_multiple
                                                        (XfceFileChooser *chooser);
void                xfce_file_chooser_set_current_name  (XfceFileChooser *chooser,
                                                         const gchar *name);
gchar *             xfce_file_chooser_get_filename      (XfceFileChooser *chooser);
gboolean            xfce_file_chooser_set_filename      (XfceFileChooser *chooser,
                                                         const gchar *filename);
GSList *            xfce_file_chooser_get_filenames     (XfceFileChooser *chooser);
gboolean            xfce_file_chooser_set_current_folder
                                                        (XfceFileChooser *chooser,
                                                         const gchar *filename);
gchar *             xfce_file_chooser_get_current_folder
                                                        (XfceFileChooser *chooser);
void                xfce_file_chooser_set_preview_widget
                                                        (XfceFileChooser *chooser,
                                                         GtkWidget *preview_widget);
GtkWidget *         xfce_file_chooser_get_preview_widget
                                                        (XfceFileChooser *chooser);
void                xfce_file_chooser_set_preview_callback
                                                        (XfceFileChooser *chooser,
                                                         PreviewUpdateFunc func,
                                                         gpointer user_data);
void                xfce_file_chooser_set_preview_widget_active
                                                        (XfceFileChooser *chooser,
                                                         gboolean active);
gboolean            xfce_file_chooser_get_preview_widget_active
                                                        (XfceFileChooser *chooser);
void                xfce_file_chooser_set_use_preview_label
                                                        (XfceFileChooser *chooser,
                                                         gboolean use_label);
void                xfce_file_chooser_set_extra_widget  (XfceFileChooser *chooser,
                                                         GtkWidget *extra_widget);
GtkWidget *         xfce_file_chooser_get_extra_widget  (XfceFileChooser *chooser);
void                xfce_file_chooser_add_filter        (XfceFileChooser *chooser,
                                                         XfceFileFilter *filter);
void                xfce_file_chooser_remove_filter     (XfceFileChooser *chooser,
                                                         XfceFileFilter *filter);
void                xfce_file_chooser_set_filter        (XfceFileChooser *chooser,
                                                         XfceFileFilter *filter);
void                xfce_file_chooser_set_local_only    (XfceFileChooser *chooser,
                                                         gboolean local_only);
gboolean            xfce_file_chooser_get_local_only    (XfceFileChooser *chooser);
gboolean            xfce_file_chooser_add_shortcut_folder
                                                        (XfceFileChooser *chooser,
                                                         const gchar *folder,
                                                         GError **error);
gboolean            xfce_file_chooser_remove_shortcut_folder
                                                        (XfceFileChooser *chooser,
                                                         const gchar *folder,
                                                         GError **error);
typedef             XfceFileFilter;
XfceFileFilter *    xfce_file_filter_new                ();
void                xfce_file_filter_set_name           (XfceFileFilter *filter,
                                                         const gchar *name);
void                xfce_file_filter_add_mime_type      (XfceFileFilter *filter,
                                                         const gchar *mime_type);
void                xfce_file_filter_add_pattern        (XfceFileFilter *filter,
                                                         const gchar *pattern);

Description

XfceFileChooser is meant to be used as a gtk-version-neutral file selector. If libxfcegui4 is compiled against GTK+ 2.0 or 2.2, XfceFileChooser will use the older GtkFileSelection. If libxfcegui4 is compiled against GTK+ 2.4 or greater, XfceFileChooser will use GtkFileChooserDialog. The API of XfceFileChooser is designed to be similar to that of the GtkFileChooser interface, and may behave differently from the older GtkFileSelection API.

Details

XfceFileChooser

typedef GtkDialog XfceFileChooser;

Warning

XfceFileChooser is deprecated and should not be used in newly-written code.


enum XfceFileChooserAction

typedef enum { /*< prefix=XFCE_FILE_CHOOSER_ACTION_ >*/
	XFCE_FILE_CHOOSER_ACTION_OPEN,
	XFCE_FILE_CHOOSER_ACTION_SAVE,
	XFCE_FILE_CHOOSER_ACTION_SELECT_FOLDER,
	XFCE_FILE_CHOOSER_ACTION_CREATE_FOLDER
} 
XfceFileChooserAction;

Warning

XfceFileChooserAction is deprecated and should not be used in newly-written code.

Describes whether a XfceFileChooser is being used to open existing files or to save to a possibly new file.

XFCE_FILE_CHOOSER_ACTION_OPEN

Indicates open mode. The file chooser will only let the user pick an existing file.

XFCE_FILE_CHOOSER_ACTION_SAVE

Indicates save mode. The file chooser will let the user pick an existing file, or type in a new filename.

XFCE_FILE_CHOOSER_ACTION_SELECT_FOLDER

Indicates an Open mode for selecting folders. The file chooser will let the user pick an existing folder.

XFCE_FILE_CHOOSER_ACTION_CREATE_FOLDER

Indicates a mode for creating a new folder. The file chooser will let the user name an existing or new folder.

PreviewUpdateFunc ()

void                (*PreviewUpdateFunc)                (XfceFileChooser *chooser,
                                                         gpointer user_data);

Warning

PreviewUpdateFunc is deprecated and should not be used in newly-written code.

Use this function prototype for functions to be passed to xfce_file_chooser_set_preview_callback().

chooser :

The XfceFileChooser where the signal occurred.

user_data :

The user_data passed to xfce_file_chooser_set_preview_callback().

xfce_file_chooser_dialog_new ()

GtkWidget *         xfce_file_chooser_dialog_new        (const gchar *title,
                                                         GtkWindow *parent,
                                                         XfceFileChooserAction action,
                                                         const gchar *first_button_text,
                                                         ...);

Warning

xfce_file_chooser_dialog_new is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

title :

The dialog's window title, or NULL.

parent :

The dialog's transient parent window, or NULL.

action :

Open or save mode for dialog.

first_button_text :

Stock ID or text for the first button.

... :

Response ID for the first button, followed by additional (button, ID) pairs, terminated with a NULL argument.

Returns :

a new XfceFileChooser dialog widget.

xfce_file_chooser_new ()

GtkWidget *         xfce_file_chooser_new               (const gchar *title,
                                                         GtkWindow *parent,
                                                         XfceFileChooserAction action,
                                                         const gchar *first_button_text,
                                                         ...);

Warning

xfce_file_chooser_new is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Constructs a new file chooser dialog. If compiled against GTK+ 2.4 (or above), this will create a GtkFileChooserDialog. For GTK+ 2.0 and 2.2, this creates a GtkFileSelection.

title :

The dialog's window title, or NULL.

parent :

The dialog's transient parent window, or NULL.

action :

Open or save mode for dialog.

first_button_text :

Stock ID or text for the first button.

... :

Response ID for the first button, followed by additional (button, ID) pairs, terminated with a NULL argument.

Returns :

a new XfceFileChooser dialog widget.

xfce_file_chooser_set_select_multiple ()

void                xfce_file_chooser_set_select_multiple
                                                        (XfceFileChooser *chooser,
                                                         gboolean select_multiple);

Warning

xfce_file_chooser_set_select_multiple is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Sets whether multiple files can be selected in the file chooser.

chooser :

An XfceFileChooser.

select_multiple :

TRUE it multiple files can be selected.

xfce_file_chooser_get_select_multiple ()

gboolean            xfce_file_chooser_get_select_multiple
                                                        (XfceFileChooser *chooser);

Warning

xfce_file_chooser_get_select_multiple is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Gets whether multiple files can be selected in the file chooser. See xfce_file_chooser_set_select_multiple().

chooser :

An XfceFileChooser.

Returns :

TRUE if multiple files can be selected, FALSE otherwise.

xfce_file_chooser_set_current_name ()

void                xfce_file_chooser_set_current_name  (XfceFileChooser *chooser,
                                                         const gchar *name);

Warning

xfce_file_chooser_set_current_name is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Sets the name to be displayed in the file chooser's entry box, as if entered by the user. This function is meant to be used, e.g., to suggest a file name to a user in a "Save as..." dialog.

To preselect a particular existing filename, see xfce_file_chooser_set_filename().

chooser :

An XfceFileChooser.

name :

The filename to use (UTF-8 only).

xfce_file_chooser_get_filename ()

gchar *             xfce_file_chooser_get_filename      (XfceFileChooser *chooser);

Warning

xfce_file_chooser_get_filename is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Returns the currently selected file in the file chooser. If multiple files are selected, behavior is indeterminate.

chooser :

An XfceFileChooser.

Returns :

The currently selected filename, or NULL if no file is selected. This string is allocated by libxfcegui4 and should be released with g_free() when it is no longer needed.

xfce_file_chooser_set_filename ()

gboolean            xfce_file_chooser_set_filename      (XfceFileChooser *chooser,
                                                         const gchar *filename);

Warning

xfce_file_chooser_set_filename is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Sets filename as the currently selected file in the file chooser, changing the file chooser's directory view if necessary.

Note that the file must exist, or nothing will occur except for possibly a directory change. If you wish to suggest a file name to the user, use xfce_file_chooser_set_current_name() instead.

chooser :

An XfceFileChooser.

filename :

A filename to set.

Returns :

TRUE if the file exists and was selected, FALSE otherwise.

xfce_file_chooser_get_filenames ()

GSList *            xfce_file_chooser_get_filenames     (XfceFileChooser *chooser);

Warning

xfce_file_chooser_get_filenames is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Gets a list of file names selected in the file chooser. This is intended for use when xfce_file_chooser_set_select_multiple() is used to allow the selection of multiple files.

chooser :

An XfceFileChooser.

Returns :

A GSList containing the filenames of all selected files in the file chooser. Release the list with g_slist_free() and the filenames with g_free() when they are no longer needed.

xfce_file_chooser_set_current_folder ()

gboolean            xfce_file_chooser_set_current_folder
                                                        (XfceFileChooser *chooser,
                                                         const gchar *filename);

Warning

xfce_file_chooser_set_current_folder is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Sets the current folder of chooser to filename.

chooser :

An XfceFileChooser.

filename :

The full path of the new current folder.

Returns :

TRUE if the folder exists and could be changed, FALSE otherwise.

xfce_file_chooser_get_current_folder ()

gchar *             xfce_file_chooser_get_current_folder
                                                        (XfceFileChooser *chooser);

Warning

xfce_file_chooser_get_current_folder is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Gets the current folder visible in the file chooser.

chooser :

An XfceFileChooser.

Returns :

The currently-selected folder. Release with g_free() when no longer needed.

xfce_file_chooser_set_preview_widget ()

void                xfce_file_chooser_set_preview_widget
                                                        (XfceFileChooser *chooser,
                                                         GtkWidget *preview_widget);

Warning

xfce_file_chooser_set_preview_widget is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Sets an app-supplied widget to be shown as a "preview widget" for the file chooser. To implement the preview, set a callback function using xfce_file_chooser_set_preview_callback(). In this callback function, use xfce_file_chooser_get_filename() to get the currently selected file. Finally, use xfce_file_chooser_set_preview_widget_active() to tell the file chooser whether or not a preview should be shown for that file.

chooser :

An XfceFileChooser.

preview_widget :

A widget used to preview file data.

xfce_file_chooser_get_preview_widget ()

GtkWidget *         xfce_file_chooser_get_preview_widget
                                                        (XfceFileChooser *chooser);

Warning

xfce_file_chooser_get_preview_widget is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Retrieves the preview widget set by xfce_file_chooser_set_preview_widget().

chooser :

An XfceFileChooser.

Returns :

A GtkWidget, or NULL if no preview widget was set.

xfce_file_chooser_set_preview_callback ()

void                xfce_file_chooser_set_preview_callback
                                                        (XfceFileChooser *chooser,
                                                         PreviewUpdateFunc func,
                                                         gpointer user_data);

Warning

xfce_file_chooser_set_preview_callback is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Sets a callback function to be executed whenever the preview widget requires updating. Unfortunately, this method limits the application to a single callback function, but this should be sufficient for most uses.

chooser :

An XfceFileChooser.

func :

A callback function.

user_data :

Data to be passed to func.

xfce_file_chooser_set_preview_widget_active ()

void                xfce_file_chooser_set_preview_widget_active
                                                        (XfceFileChooser *chooser,
                                                         gboolean active);

Warning

xfce_file_chooser_set_preview_widget_active is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Sets whether or not the currently selected file supports some type of preview, handled by the widget set with xfce_file_chooser_set_preview_widget(). This should be used in the preview callback every time the selected file is changed.

chooser :

An XfceFileChooser.

active :

TRUE or FALSE depending on whether or not the preview should be shown.

xfce_file_chooser_get_preview_widget_active ()

gboolean            xfce_file_chooser_get_preview_widget_active
                                                        (XfceFileChooser *chooser);

Warning

xfce_file_chooser_get_preview_widget_active is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Gets whether or not the preview widget is displayed for the current file. See xfce_file_chooser_set_preview_widget_active().

chooser :

An XfceFileChooser.

Returns :

TRUE if the preview widget is active, FALSE otherwise.

xfce_file_chooser_set_use_preview_label ()

void                xfce_file_chooser_set_use_preview_label
                                                        (XfceFileChooser *chooser,
                                                         gboolean use_label);

Warning

xfce_file_chooser_set_use_preview_label is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Sets whether the file chooser should display a text label above the preview widget containing the name of the selected file.

chooser :

An XfceFileChooser.

use_label :

Whether to display a stock label with the name of the previewed file.

xfce_file_chooser_set_extra_widget ()

void                xfce_file_chooser_set_extra_widget  (XfceFileChooser *chooser,
                                                         GtkWidget *extra_widget);

Warning

xfce_file_chooser_set_extra_widget is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Sets a widget to display in the file chooser to provide extra options to the user.

chooser :

An XfceFileChooser.

extra_widget :

An extra widget to display.

xfce_file_chooser_get_extra_widget ()

GtkWidget *         xfce_file_chooser_get_extra_widget  (XfceFileChooser *chooser);

Warning

xfce_file_chooser_get_extra_widget is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Gets the widget set with xfce_file_chooser_set_extra_widget().

chooser :

An XfceFileChooser.

Returns :

The extra GtkWidget.

xfce_file_chooser_add_filter ()

void                xfce_file_chooser_add_filter        (XfceFileChooser *chooser,
                                                         XfceFileFilter *filter);

Warning

xfce_file_chooser_add_filter is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Adds a filter to the list of filters that the user can select to restrict the view of the file chooser.

Note: This currently does nothing when libxfcegui4 is compiled against GTK+ 2.2 or lower.

chooser :

An XfceFileChooser.

filter :

An XfceFileFilter created with xfce_file_filter_new().

xfce_file_chooser_remove_filter ()

void                xfce_file_chooser_remove_filter     (XfceFileChooser *chooser,
                                                         XfceFileFilter *filter);

Warning

xfce_file_chooser_remove_filter is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Removes filter from the list of filters displayed by the file chooser.

Note: This currently does nothing when libxfcegui4 is compiled against GTK+ 2.2 or lower.

chooser :

An XfceFileChooser.

filter :

An XfceFileFilter.

xfce_file_chooser_set_filter ()

void                xfce_file_chooser_set_filter        (XfceFileChooser *chooser,
                                                         XfceFileFilter *filter);

Warning

xfce_file_chooser_set_filter is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Sets the file chooser's currently selected file filter to filter. This filter must have been added previously using xfce_file_chooser_add_filter().

Note: This currently does nothing when libxfcegui4 is compiled against GTK+ 2.2 or lower.

chooser :

An XfceFileChooser.

filter :

An XfceFileFilter.

xfce_file_chooser_set_local_only ()

void                xfce_file_chooser_set_local_only    (XfceFileChooser *chooser,
                                                         gboolean local_only);

Warning

xfce_file_chooser_set_local_only is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Sets whether or not the file chooser can display and/or allow the selection of non-local files.

chooser :

An XfceFileChooser.

local_only :

Whether to only allow the display of local files.

xfce_file_chooser_get_local_only ()

gboolean            xfce_file_chooser_get_local_only    (XfceFileChooser *chooser);

Warning

xfce_file_chooser_get_local_only is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Gets whether or not the file chooser can display and/or allow the selection of non-local files.

chooser :

An XfceFileChooser.

Returns :

TRUE if non-local files are allowed, FALSE otherwise.

xfce_file_chooser_add_shortcut_folder ()

gboolean            xfce_file_chooser_add_shortcut_folder
                                                        (XfceFileChooser *chooser,
                                                         const gchar *folder,
                                                         GError **error);

Warning

xfce_file_chooser_add_shortcut_folder is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Adds a folder to be displayed in the shortcut folders list in the file chooser. The folder name is validated, so only valid paths may be added.

Note: This currently does nothing when libxfcegui4 is compiled against GTK+ 2.2 or lower.

chooser :

An XfceFileChooser.

folder :

The full path to a folder name.

error :

Location to store any errors, or NULL.

Returns :

TRUE if the folder given is valid, FALSE otherwise. If error is non-NULL, it will be set with any error that occurs.

xfce_file_chooser_remove_shortcut_folder ()

gboolean            xfce_file_chooser_remove_shortcut_folder
                                                        (XfceFileChooser *chooser,
                                                         const gchar *folder,
                                                         GError **error);

Warning

xfce_file_chooser_remove_shortcut_folder is deprecated and should not be used in newly-written code. Use GtkFileChooser instead.

Since 4.1

Removes the specified folder from the file chooser's shortcut folder list.

Note: This currently does nothing when libxfcegui4 is compiled against GTK+ 2.2 or lower.

chooser :

An XfceFileChooser.

folder :

The full path to an existing shortcut folder name.

error :

Location to store any errors, or NULL.

Returns :

TRUE if the removal succeeded, FALSE otherwise. If error is non-NULL, it will be set with any error that occurs.

XfceFileFilter

typedef GtkObject XfceFileFilter;

Warning

XfceFileFilter is deprecated and should not be used in newly-written code.

With GTK+ 2.4, this object is mapped to a GtkFileFilter. However, with GTK+ 2.0 or 2.2, this object doesn't exist, so functions that use it will return and expect a NULL value. As such, pointers to an XfceFileFilter should be treated as opaque, and no attempt should be made to dereference them.


xfce_file_filter_new ()

XfceFileFilter *    xfce_file_filter_new                ();

Warning

xfce_file_filter_new is deprecated and should not be used in newly-written code. Use GtkFileFilter instead.

Since 4.1

Create a new empty file filter.

Note: this will always return NULL when libxfcegui4 is compiled against GTK+ 2.2 or below, as file filters are not supported.

Returns :

An XfceFileFilter, or NULL (GTK+ 2.2 and below).

xfce_file_filter_set_name ()

void                xfce_file_filter_set_name           (XfceFileFilter *filter,
                                                         const gchar *name);

Warning

xfce_file_filter_set_name is deprecated and should not be used in newly-written code. Use GtkFileFilter instead.

Since 4.1

Sets a name to be displayed in in the option menu which describes the filter's purpose.

Note: this function has no effect when libxfcegui4 is compiled against GTK+ 2.2 or below, as file filters are not supported.

filter :

An XfceFileFilter.

name :

The name of the filter.

xfce_file_filter_add_mime_type ()

void                xfce_file_filter_add_mime_type      (XfceFileFilter *filter,
                                                         const gchar *mime_type);

Warning

xfce_file_filter_add_mime_type is deprecated and should not be used in newly-written code. Use GtkFileFilter instead.

Since 4.1

Adds a MIME type to the file filter. All files matching this MIME type will be displayed in the file chooser when the filter is selected.

Note: this function has no effect when libxfcegui4 is compiled against GTK+ 2.2 or below, as file filters are not supported.

filter :

An XfceFileFilter.

mime_type :

A registered MIME type.

xfce_file_filter_add_pattern ()

void                xfce_file_filter_add_pattern        (XfceFileFilter *filter,
                                                         const gchar *pattern);

Warning

xfce_file_filter_add_pattern is deprecated and should not be used in newly-written code. Use GtkFileFilter instead.

Since 4.1

Adds a shell-glob-type file pattern to the file filter. All files matching the pattern will be displayed in the file chooser when the filter is selected.

Note: this function has no effect when libxfcegui4 is compiled against GTK+ 2.2 or below, as file filters are not supported.

filter :

An XfceFileFilter.

pattern :

A file pattern.