1 /* GTK - The GIMP Toolkit
2 * gtkfilechoosersettings.h: Internal settings for the GtkFileChooser widget
3 * Copyright (C) 2006, Novell, Inc.
5 * Authors: Federico Mena-Quintero <federico@novell.com>
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the
19 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20 * Boston, MA 02111-1307, USA.
23 #ifndef __GTK_FILE_CHOOSER_SETTINGS_H__
24 #define __GTK_FILE_CHOOSER_SETTINGS_H__
26 #include "gtkfilechooserprivate.h"
30 #define GTK_FILE_CHOOSER_SETTINGS_TYPE (_gtk_file_chooser_settings_get_type ())
32 /* Column numbers for the file list */
37 FILE_LIST_COL_NUM_COLUMNS
40 typedef struct _GtkFileChooserSettings GtkFileChooserSettings;
41 typedef struct _GtkFileChooserSettingsClass GtkFileChooserSettingsClass;
43 struct _GtkFileChooserSettings
47 LocationMode location_mode;
49 GtkSortType sort_order;
57 guint settings_read : 1;
58 guint show_hidden : 1;
59 guint show_size_column : 1;
60 guint expand_folders : 1;
63 struct _GtkFileChooserSettingsClass
65 GObjectClass parent_class;
68 GType _gtk_file_chooser_settings_get_type (void) G_GNUC_CONST;
70 GtkFileChooserSettings *_gtk_file_chooser_settings_new (void);
72 LocationMode _gtk_file_chooser_settings_get_location_mode (GtkFileChooserSettings *settings);
73 void _gtk_file_chooser_settings_set_location_mode (GtkFileChooserSettings *settings,
74 LocationMode location_mode);
76 gboolean _gtk_file_chooser_settings_get_show_hidden (GtkFileChooserSettings *settings);
77 void _gtk_file_chooser_settings_set_show_hidden (GtkFileChooserSettings *settings,
78 gboolean show_hidden);
80 gboolean _gtk_file_chooser_settings_get_expand_folders (GtkFileChooserSettings *settings);
81 void _gtk_file_chooser_settings_set_expand_folders (GtkFileChooserSettings *settings,
82 gboolean expand_folders);
84 gboolean _gtk_file_chooser_settings_get_show_size_column (GtkFileChooserSettings *settings);
85 void _gtk_file_chooser_settings_set_show_size_column (GtkFileChooserSettings *settings,
86 gboolean show_column);
88 gint _gtk_file_chooser_settings_get_sort_column (GtkFileChooserSettings *settings);
89 void _gtk_file_chooser_settings_set_sort_column (GtkFileChooserSettings *settings,
92 GtkSortType _gtk_file_chooser_settings_get_sort_order (GtkFileChooserSettings *settings);
93 void _gtk_file_chooser_settings_set_sort_order (GtkFileChooserSettings *settings,
94 GtkSortType sort_order);
96 void _gtk_file_chooser_settings_get_geometry (GtkFileChooserSettings *settings,
101 void _gtk_file_chooser_settings_set_geometry (GtkFileChooserSettings *settings,
107 gboolean _gtk_file_chooser_settings_save (GtkFileChooserSettings *settings,
110 /* FIXME: persist these options: