annotate src/ui_utildlg.h @ 399:d071a3555011

Reduce code redundancy with the introduction of a new function named vd_get_fd_from_tree_path().
author zas_
date Thu, 17 Apr 2008 18:44:17 +0000
parents 71e1ebee420e
children ddabc4873a3f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
1 /*
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
2 * (SLIK) SimpLIstic sKin functions
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
3 * (C) 2004 John Ellis
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
4 *
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
5 * Author: John Ellis
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
6 *
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
7 * This software is released under the GNU General Public License (GNU GPL).
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
8 * Please read the included file COPYING for more information.
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
9 * This software comes with no warranty of any kind, use at your own risk!
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
10 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
11
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
12 #ifndef UI_UTILDLG_H
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
13 #define UI_UTILDLG_H
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
14
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
15
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
16 #define GENERIC_DIALOG(gd) ((GenericDialog *)gd)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
17
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
18 typedef struct _GenericDialog GenericDialog;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
19 struct _GenericDialog
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
20 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
21 GtkWidget *dialog; /* window */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
22 GtkWidget *vbox; /* place to add widgets */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
23
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
24 GtkWidget *hbox; /* button hbox */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
25
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
26 gint auto_close;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
27
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
28 void (*default_cb)(GenericDialog *, gpointer);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
29 void (*cancel_cb)(GenericDialog *, gpointer);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
30 gpointer data;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
31
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
32 /* private */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
33 GtkWidget *cancel_button;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
34 };
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
35
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
36 typedef struct _FileDialog FileDialog;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
37 struct _FileDialog
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
38 {
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
39 GenericDialog gd;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
40
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
41 GtkWidget *entry;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
42
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
43 gint type;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
44 gint multiple_files;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
45
138
71e1ebee420e replaced gchar* path with FileData *fd
nadvornik
parents: 9
diff changeset
46 FileData *source_fd;
9
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
47 GList *source_list;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
48
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
49 gchar *dest_path;
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
50 };
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
51
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
52
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
53 /* When parent is not NULL, the dialog is set as a transient of the window containing parent */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
54 GenericDialog *generic_dialog_new(const gchar *title,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
55 const gchar *wmclass, const gchar *wmsubclass,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
56 GtkWidget *parent, gint auto_close,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
57 void (*cancel_cb)(GenericDialog *, gpointer), gpointer data);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
58 void generic_dialog_close(GenericDialog *gd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
59
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
60 GtkWidget *generic_dialog_add_button(GenericDialog *gd, const gchar *stock_id, const gchar *text,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
61 void (*func_cb)(GenericDialog *, gpointer), gint is_default);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
62 void generic_dialog_attach_default(GenericDialog *gd, GtkWidget *widget);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
63
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
64 GtkWidget *generic_dialog_add_message(GenericDialog *gd, const gchar *icon_stock_id,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
65 const gchar *heading, const gchar *text);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
66
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
67 gint generic_dialog_get_alternative_button_order(GtkWidget *widget);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
68
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
69 GenericDialog *warning_dialog(const gchar *heading, const gchar *text,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
70 const gchar *icon_stock_id, GtkWidget *parent);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
71
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
72 FileDialog *file_dialog_new(const gchar *title,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
73 const gchar *wmclass, const gchar *wmsubclass,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
74 GtkWidget *parent,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
75 void (*cancel_cb)(FileDialog *, gpointer), gpointer data);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
76 void file_dialog_close(FileDialog *fd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
77
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
78 GtkWidget *file_dialog_add_button(FileDialog *fd, const gchar *stock_id, const gchar *text,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
79 void (*func_cb)(FileDialog *, gpointer), gint is_default);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
80
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
81 /* default_path is default base directory, and is only used if no history
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
82 * exists for history_key (HOME is used if default_path is NULL).
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
83 * path can be a full path or only a file name. If name only, appended to
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
84 * the default_path or the last history (see default_path)
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
85 */
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
86 void file_dialog_add_path_widgets(FileDialog *fd, const gchar *default_path, const gchar *path,
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
87 const gchar *history_key, const gchar *filter, const gchar *filter_desc);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
88
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
89 void file_dialog_add_filter(FileDialog *fd, const gchar *filter, const gchar *filter_desc, gint set);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
90 void file_dialog_clear_filter(FileDialog *fd);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
91 void file_dialog_sync_history(FileDialog *fd, gint dir_only);
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
92
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
93
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
94 #endif
d907d608745f Sync to GQview 1.5.9 release.
gqview
parents:
diff changeset
95