| |
1 /** |
| |
2 * @file gtkft.h GTK+ File Transfer UI |
| |
3 * @ingroup gtkui |
| |
4 * |
| |
5 * gaim |
| |
6 * |
| |
7 * Gaim is the legal property of its developers, whose names are too numerous |
| |
8 * to list here. Please refer to the COPYRIGHT file distributed with this |
| |
9 * source distribution. |
| |
10 * |
| |
11 * This program is free software; you can redistribute it and/or modify |
| |
12 * it under the terms of the GNU General Public License as published by |
| |
13 * the Free Software Foundation; either version 2 of the License, or |
| |
14 * (at your option) any later version. |
| |
15 * |
| |
16 * This program is distributed in the hope that it will be useful, |
| |
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| |
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| |
19 * GNU General Public License for more details. |
| |
20 * |
| |
21 * You should have received a copy of the GNU General Public License |
| |
22 * along with this program; if not, write to the Free Software |
| |
23 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| |
24 */ |
| |
25 #ifndef _GAIM_GTKFT_H_ |
| |
26 #define _GAIM_GTKFT_H_ |
| |
27 |
| |
28 #include "ft.h" |
| |
29 |
| |
30 /** |
| |
31 * A file transfer dialog. |
| |
32 * |
| |
33 * The structure is opaque, as nobody should be touching anything inside of |
| |
34 * it. |
| |
35 */ |
| |
36 typedef struct _GaimGtkXferDialog GaimGtkXferDialog; |
| |
37 |
| |
38 /**************************************************************************/ |
| |
39 /** @name GTK+ File Transfer Dialog API */ |
| |
40 /**************************************************************************/ |
| |
41 /*@{*/ |
| |
42 |
| |
43 /** |
| |
44 * Creates a new file transfer dialog. |
| |
45 * |
| |
46 * @return The new dialog. |
| |
47 */ |
| |
48 GaimGtkXferDialog *gaim_gtkxfer_dialog_new(void); |
| |
49 |
| |
50 /** |
| |
51 * Destroys a file transfer dialog. |
| |
52 * |
| |
53 * @param dialog The file transfer dialog. |
| |
54 */ |
| |
55 void gaim_gtkxfer_dialog_destroy(GaimGtkXferDialog *dialog); |
| |
56 |
| |
57 /** |
| |
58 * Displays the file transfer dialog given. |
| |
59 * If dialog is @c NULL, displays the default dialog, creating one if necessary |
| |
60 * |
| |
61 * @param dialog The file transfer dialog to show. |
| |
62 */ |
| |
63 void gaim_gtkxfer_dialog_show(GaimGtkXferDialog *dialog); |
| |
64 |
| |
65 /** |
| |
66 * Hides the file transfer dialog. |
| |
67 * |
| |
68 * @param dialog The file transfer dialog to hide. |
| |
69 */ |
| |
70 void gaim_gtkxfer_dialog_hide(GaimGtkXferDialog *dialog); |
| |
71 |
| |
72 /** |
| |
73 * Adds a file transfer to the dialog. |
| |
74 * |
| |
75 * @param dialog The file transfer dialog. |
| |
76 * @param xfer The file transfer. |
| |
77 */ |
| |
78 void gaim_gtkxfer_dialog_add_xfer(GaimGtkXferDialog *dialog, GaimXfer *xfer); |
| |
79 |
| |
80 /** |
| |
81 * Removes a file transfer from the dialog. |
| |
82 * |
| |
83 * @param dialog The file transfer dialog. |
| |
84 * @param xfer The file transfer. |
| |
85 */ |
| |
86 void gaim_gtkxfer_dialog_remove_xfer(GaimGtkXferDialog *dialog, |
| |
87 GaimXfer *xfer); |
| |
88 |
| |
89 /** |
| |
90 * Indicate in a file transfer dialog that a transfer was canceled. |
| |
91 * |
| |
92 * @param dialog The file transfer dialog. |
| |
93 * @param xfer The file transfer that was canceled. |
| |
94 */ |
| |
95 void gaim_gtkxfer_dialog_cancel_xfer(GaimGtkXferDialog *dialog, |
| |
96 GaimXfer *xfer); |
| |
97 |
| |
98 /** |
| |
99 * Updates the information for a transfer in the dialog. |
| |
100 * |
| |
101 * @param dialog The file transfer dialog. |
| |
102 * @param xfer The file transfer. |
| |
103 */ |
| |
104 void gaim_gtkxfer_dialog_update_xfer(GaimGtkXferDialog *dialog, |
| |
105 GaimXfer *xfer); |
| |
106 |
| |
107 /*@}*/ |
| |
108 |
| |
109 /**************************************************************************/ |
| |
110 /** @name GTK+ File Transfer API */ |
| |
111 /**************************************************************************/ |
| |
112 /*@{*/ |
| |
113 |
| |
114 /** |
| |
115 * Initializes the GTK+ file transfer system. |
| |
116 */ |
| |
117 void gaim_gtk_xfers_init(void); |
| |
118 |
| |
119 /** |
| |
120 * Uninitializes the GTK+ file transfer system. |
| |
121 */ |
| |
122 void gaim_gtk_xfers_uninit(void); |
| |
123 |
| |
124 /** |
| |
125 * Sets gaim's main file transfer dialog. |
| |
126 * |
| |
127 * @param dialog The main dialog. |
| |
128 */ |
| |
129 void gaim_set_gtkxfer_dialog(GaimGtkXferDialog *dialog); |
| |
130 |
| |
131 /** |
| |
132 * Returns gaim's main file transfer dialog. |
| |
133 * |
| |
134 * @return The main dialog. |
| |
135 */ |
| |
136 GaimGtkXferDialog *gaim_get_gtkxfer_dialog(void); |
| |
137 |
| |
138 /** |
| |
139 * Returns the UI operations structure for the GTK+ file transfer UI. |
| |
140 * |
| |
141 * @return The GTK+ file transfer UI operations structure. |
| |
142 */ |
| |
143 GaimXferUiOps *gaim_gtk_xfers_get_ui_ops(void); |
| |
144 |
| |
145 /*@}*/ |
| |
146 |
| |
147 #endif /* _GAIM_GTKFT_H_ */ |