| |
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. |
| |
59 * |
| |
60 * @param dialog The file transfer dialog to show. |
| |
61 */ |
| |
62 void gaim_gtkxfer_dialog_show(GaimGtkXferDialog *dialog); |
| |
63 |
| |
64 /** |
| |
65 * Hides the file transfer dialog. |
| |
66 * |
| |
67 * @param dialog The file transfer dialog to hide. |
| |
68 */ |
| |
69 void gaim_gtkxfer_dialog_hide(GaimGtkXferDialog *dialog); |
| |
70 |
| |
71 /** |
| |
72 * Shows the file transfer dialog, creating a new one if necessary |
| |
73 */ |
| |
74 void gaim_show_xfer_dialog(void); |
| |
75 |
| |
76 /** |
| |
77 * Adds a file transfer to the dialog. |
| |
78 * |
| |
79 * @param dialog The file transfer dialog. |
| |
80 * @param xfer The file transfer. |
| |
81 */ |
| |
82 void gaim_gtkxfer_dialog_add_xfer(GaimGtkXferDialog *dialog, GaimXfer *xfer); |
| |
83 |
| |
84 /** |
| |
85 * Removes a file transfer from the dialog. |
| |
86 * |
| |
87 * @param dialog The file transfer dialog. |
| |
88 * @param xfer The file transfer. |
| |
89 */ |
| |
90 void gaim_gtkxfer_dialog_remove_xfer(GaimGtkXferDialog *dialog, |
| |
91 GaimXfer *xfer); |
| |
92 |
| |
93 /** |
| |
94 * Indicate in a file transfer dialog that a transfer was canceled. |
| |
95 * |
| |
96 * @param dialog The file transfer dialog. |
| |
97 * @param xfer The file transfer that was canceled. |
| |
98 */ |
| |
99 void gaim_gtkxfer_dialog_cancel_xfer(GaimGtkXferDialog *dialog, |
| |
100 GaimXfer *xfer); |
| |
101 |
| |
102 /** |
| |
103 * Updates the information for a transfer in the dialog. |
| |
104 * |
| |
105 * @param dialog The file transfer dialog. |
| |
106 * @param xfer The file transfer. |
| |
107 */ |
| |
108 void gaim_gtkxfer_dialog_update_xfer(GaimGtkXferDialog *dialog, |
| |
109 GaimXfer *xfer); |
| |
110 |
| |
111 /*@}*/ |
| |
112 |
| |
113 /**************************************************************************/ |
| |
114 /** @name GTK+ File Transfer API */ |
| |
115 /**************************************************************************/ |
| |
116 /*@{*/ |
| |
117 |
| |
118 /** |
| |
119 * Initializes the GTK+ file transfer system. |
| |
120 */ |
| |
121 void gaim_gtk_xfers_init(void); |
| |
122 |
| |
123 /** |
| |
124 * Uninitializes the GTK+ file transfer system. |
| |
125 */ |
| |
126 void gaim_gtk_xfers_uninit(void); |
| |
127 |
| |
128 /** |
| |
129 * Sets gaim's main file transfer dialog. |
| |
130 * |
| |
131 * @param dialog The main dialog. |
| |
132 */ |
| |
133 void gaim_set_gtkxfer_dialog(GaimGtkXferDialog *dialog); |
| |
134 |
| |
135 /** |
| |
136 * Returns gaim's main file transfer dialog. |
| |
137 * |
| |
138 * @return The main dialog. |
| |
139 */ |
| |
140 GaimGtkXferDialog *gaim_get_gtkxfer_dialog(void); |
| |
141 |
| |
142 /** |
| |
143 * Returns the UI operations structure for the GTK+ file transfer UI. |
| |
144 * |
| |
145 * @return The GTK+ file transfer UI operations structure. |
| |
146 */ |
| |
147 GaimXferUiOps *gaim_gtk_xfers_get_ui_ops(void); |
| |
148 |
| |
149 /*@}*/ |
| |
150 |
| |
151 #endif /* _GAIM_GTKFT_H_ */ |