1 /* GTK - The GIMP Toolkit
2  * gtkfilechooserutils.h: Private utility functions useful for
3  *                        implementing a GtkFileChooser interface
4  * Copyright (C) 2003, Red Hat, Inc.
5  *
6  * This library is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU Lesser General Public
8  * License as published by the Free Software Foundation; either
9  * version 2 of the License, or (at your option) any later version.
10  *
11  * This library is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  * Lesser General Public License for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public
17  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef __GTK_FILE_CHOOSER_UTILS_H__
21 #define __GTK_FILE_CHOOSER_UTILS_H__
22 
23 #include "gtkfilechooserprivate.h"
24 #include "gtkicontheme.h"
25 
26 G_BEGIN_DECLS
27 
28 #define GTK_FILE_CHOOSER_DELEGATE_QUARK	  (_gtk_file_chooser_delegate_get_quark ())
29 
30 typedef enum {
31   GTK_FILE_CHOOSER_PROP_FIRST                  = 0x1000,
32   GTK_FILE_CHOOSER_PROP_ACTION                 = GTK_FILE_CHOOSER_PROP_FIRST,
33   GTK_FILE_CHOOSER_PROP_FILTER,
34   GTK_FILE_CHOOSER_PROP_SELECT_MULTIPLE,
35   GTK_FILE_CHOOSER_PROP_CREATE_FOLDERS,
36   GTK_FILE_CHOOSER_PROP_FILTERS,
37   GTK_FILE_CHOOSER_PROP_SHORTCUT_FOLDERS,
38   GTK_FILE_CHOOSER_PROP_LAST                   = GTK_FILE_CHOOSER_PROP_SHORTCUT_FOLDERS
39 } GtkFileChooserProp;
40 
41 void _gtk_file_chooser_install_properties (GObjectClass *klass);
42 
43 void _gtk_file_chooser_delegate_iface_init (GtkFileChooserIface *iface);
44 void _gtk_file_chooser_set_delegate        (GtkFileChooser *receiver,
45 					    GtkFileChooser *delegate);
46 
47 GQuark _gtk_file_chooser_delegate_get_quark (void) G_GNUC_CONST;
48 
49 GSettings *_gtk_file_chooser_get_settings_for_widget (GtkWidget *widget);
50 
51 char * _gtk_file_chooser_label_for_file (GFile *file);
52 
53 gboolean        _gtk_file_info_consider_as_directory (GFileInfo *info);
54 gboolean        _gtk_file_has_native_path (GFile *file);
55 gboolean        _gtk_file_consider_as_remote (GFile *file);
56 GIcon *         _gtk_file_info_get_icon    (GFileInfo    *info,
57                                             int           icon_size,
58                                             int           scale,
59                                             GtkIconTheme *icon_theme);
60 
61 G_END_DECLS
62 
63 #endif /* __GTK_FILE_CHOOSER_UTILS_H__ */
64