Wed, 21 Apr 2004 06:48:16 +0000
[gaim-migrate @ 9496]
Janitorial work! Removed some functions that gtkimhtml made useless.
| 4359 | 1 | /** |
| 2 | * @file gtkutils.h GTK+ utility functions | |
|
5034
077678f7b048
[gaim-migrate @ 5377]
Christian Hammond <chipx86@chipx86.com>
parents:
4687
diff
changeset
|
3 | * @ingroup gtkui |
| 4359 | 4 | * |
| 5 | * gaim | |
| 6 | * | |
| 8046 | 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. | |
|
6646
b9a0b5eb74e6
[gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents:
6372
diff
changeset
|
10 | * |
| 4359 | 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_GTK_UTILS_H_ | |
| 26 | #define _GAIM_GTK_UTILS_H_ | |
| 27 | ||
|
5872
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
28 | #include <gtk/gtk.h> |
|
754c63f29b77
[gaim-migrate @ 6304]
Christian Hammond <chipx86@chipx86.com>
parents:
5676
diff
changeset
|
29 | #include "gtkconv.h" |
|
5644
bc4c2f9f2bf8
[gaim-migrate @ 6058]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
30 | #include "prpl.h" |
| 4359 | 31 | |
|
6372
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
32 | typedef enum |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
33 | { |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
34 | GAIM_BUTTON_HORIZONTAL, |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
35 | GAIM_BUTTON_VERTICAL |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
36 | |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
37 | } GaimButtonOrientation; |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
38 | |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
39 | typedef enum |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
40 | { |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
41 | GAIM_BUTTON_NONE = 0, |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
42 | GAIM_BUTTON_TEXT, |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
43 | GAIM_BUTTON_IMAGE, |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
44 | GAIM_BUTTON_TEXT_IMAGE |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
45 | |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
46 | } GaimButtonStyle; |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
47 | |
|
8272
c1e38e0ec1d5
[gaim-migrate @ 8996]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8143
diff
changeset
|
48 | #ifndef _WIN32 |
|
c1e38e0ec1d5
[gaim-migrate @ 8996]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8143
diff
changeset
|
49 | typedef enum |
|
c1e38e0ec1d5
[gaim-migrate @ 8996]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8143
diff
changeset
|
50 | { |
|
c1e38e0ec1d5
[gaim-migrate @ 8996]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8143
diff
changeset
|
51 | GAIM_BROWSER_DEFAULT = 0, |
|
c1e38e0ec1d5
[gaim-migrate @ 8996]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8143
diff
changeset
|
52 | GAIM_BROWSER_CURRENT, |
|
c1e38e0ec1d5
[gaim-migrate @ 8996]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8143
diff
changeset
|
53 | GAIM_BROWSER_NEW_WINDOW, |
|
c1e38e0ec1d5
[gaim-migrate @ 8996]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8143
diff
changeset
|
54 | GAIM_BROWSER_NEW_TAB |
|
8741
61c5482e0948
[gaim-migrate @ 9496]
Christian Hammond <chipx86@chipx86.com>
parents:
8735
diff
changeset
|
55 | |
|
8272
c1e38e0ec1d5
[gaim-migrate @ 8996]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8143
diff
changeset
|
56 | } GaimBrowserPlace; |
|
c1e38e0ec1d5
[gaim-migrate @ 8996]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8143
diff
changeset
|
57 | #endif /* _WIN32 */ |
|
c1e38e0ec1d5
[gaim-migrate @ 8996]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8143
diff
changeset
|
58 | |
| 7420 | 59 | extern guint accels_save_timer; |
| 60 | ||
| 4359 | 61 | /** |
| 62 | * Sets up a gtkimhtml widget, loads it with smileys, and sets the | |
| 63 | * default signal handlers. | |
| 64 | * | |
| 65 | * @param imhtml The gtkimhtml widget to setup. | |
| 66 | */ | |
| 67 | void gaim_setup_imhtml(GtkWidget *imhtml); | |
| 68 | ||
| 69 | /** | |
| 70 | * Displays a dialog for saving the buddy icon in a conversation. | |
| 71 | * | |
| 72 | * @param obj @c NULL | |
| 73 | * @param conv The conversation. | |
| 74 | */ | |
|
5676
d3c2fdaf4821
[gaim-migrate @ 6094]
Christian Hammond <chipx86@chipx86.com>
parents:
5644
diff
changeset
|
75 | void gaim_gtk_save_icon_dialog(GtkObject *obj, GaimConversation *conv); |
| 4359 | 76 | |
| 77 | /** | |
| 78 | * Returns the display style for buttons for the specified conversation | |
| 79 | * type. | |
| 80 | * | |
| 81 | * @param type The conversation type. | |
| 82 | * | |
| 83 | * @return The display style. | |
| 84 | */ | |
| 85 | int gaim_gtk_get_dispstyle(GaimConversationType type); | |
| 86 | ||
| 87 | /** | |
| 88 | * Changes a button to be either text or image, depending on | |
| 89 | * preferences. | |
| 90 | * | |
| 91 | * This function destroys the old button pointed to by @a button and | |
| 92 | * returns the new replacement button. | |
| 93 | * | |
| 94 | * @param text The text for the button. | |
| 95 | * @param button The button widget. | |
| 96 | * @param stock The stock image. | |
| 97 | * @param type The conversation type the button belongs to. | |
| 98 | * | |
| 99 | * @return The new button widget to replace the old one. | |
| 100 | */ | |
| 101 | GtkWidget *gaim_gtk_change_text(const char *text, GtkWidget *button, | |
| 102 | const char *stock, GaimConversationType type); | |
| 103 | ||
| 104 | /** | |
| 105 | * Toggles the sensitivity of a widget. | |
| 106 | * | |
| 107 | * @param widget @c NULL. Used for signal handlers. | |
| 108 | * @param to_toggle The widget to toggle. | |
| 109 | */ | |
| 110 | void gaim_gtk_toggle_sensitive(GtkWidget *widget, GtkWidget *to_toggle); | |
| 111 | ||
| 4687 | 112 | /** |
|
7751
e0dc18b50181
[gaim-migrate @ 8396]
Mark Doliner <markdoliner@pidgin.im>
parents:
7712
diff
changeset
|
113 | * Checks if text has been entered into a GtkTextEntry widget. If |
|
e0dc18b50181
[gaim-migrate @ 8396]
Mark Doliner <markdoliner@pidgin.im>
parents:
7712
diff
changeset
|
114 | * so, the GTK_RESPONSE_OK on the given dialog is set to TRUE. |
|
e0dc18b50181
[gaim-migrate @ 8396]
Mark Doliner <markdoliner@pidgin.im>
parents:
7712
diff
changeset
|
115 | * Otherwise GTK_RESPONSE_OK is set to FALSE. |
|
e0dc18b50181
[gaim-migrate @ 8396]
Mark Doliner <markdoliner@pidgin.im>
parents:
7712
diff
changeset
|
116 | * |
|
e0dc18b50181
[gaim-migrate @ 8396]
Mark Doliner <markdoliner@pidgin.im>
parents:
7712
diff
changeset
|
117 | * @param entry The text entry widget. |
|
e0dc18b50181
[gaim-migrate @ 8396]
Mark Doliner <markdoliner@pidgin.im>
parents:
7712
diff
changeset
|
118 | * @param dialog The dialog containing the text entry widget. |
|
e0dc18b50181
[gaim-migrate @ 8396]
Mark Doliner <markdoliner@pidgin.im>
parents:
7712
diff
changeset
|
119 | */ |
|
e0dc18b50181
[gaim-migrate @ 8396]
Mark Doliner <markdoliner@pidgin.im>
parents:
7712
diff
changeset
|
120 | void gaim_gtk_set_sensitive_if_input(GtkWidget *entry, GtkWidget *dialog); |
|
e0dc18b50181
[gaim-migrate @ 8396]
Mark Doliner <markdoliner@pidgin.im>
parents:
7712
diff
changeset
|
121 | |
|
e0dc18b50181
[gaim-migrate @ 8396]
Mark Doliner <markdoliner@pidgin.im>
parents:
7712
diff
changeset
|
122 | /** |
| 5319 | 123 | * Toggles the sensitivity of all widgets in a pointer array. |
| 124 | * | |
|
6720
cdc5348dd848
[gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents:
6646
diff
changeset
|
125 | * @param w @c NULL. Used for signal handlers. |
|
cdc5348dd848
[gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents:
6646
diff
changeset
|
126 | * @param data The array containing the widgets to toggle. |
| 5319 | 127 | */ |
| 128 | void gtk_toggle_sensitive_array(GtkWidget *w, GPtrArray *data); | |
| 129 | ||
| 130 | /** | |
|
8735
01248ea222d3
[gaim-migrate @ 9490]
Jonathan Champ <royanee@users.sourceforge.net>
parents:
8289
diff
changeset
|
131 | * Adds a separator to a menu. |
| 4687 | 132 | * |
|
8735
01248ea222d3
[gaim-migrate @ 9490]
Jonathan Champ <royanee@users.sourceforge.net>
parents:
8289
diff
changeset
|
133 | * @param menu The menu to add a separator to. |
| 4687 | 134 | */ |
| 135 | void gaim_separator(GtkWidget *menu); | |
| 136 | ||
|
5162
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
137 | /** |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
138 | * Creates a menu item. |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
139 | * |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
140 | * @param menu The menu to which to append the menu item. |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
141 | * @param str The title to use for the newly created menu item. |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
142 | * |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
143 | * @return The newly created menu item. |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
144 | */ |
| 5906 | 145 | GtkWidget *gaim_new_item(GtkWidget *menu, const char *str); |
| 146 | ||
| 147 | /** | |
| 148 | * Creates a check menu item. | |
| 149 | * | |
| 150 | * @param menu The menu to which to append the check menu item. | |
| 151 | * @param str The title to use for the newly created menu item. | |
| 152 | * @param sf A function to call when the menu item is activated. | |
| 153 | * @param data Data to pass to the signal function. | |
| 154 | * @param checked The initial state of the check item | |
| 155 | * | |
| 156 | * @return The newly created menu item. | |
| 157 | */ | |
| 158 | GtkWidget *gaim_new_check_item(GtkWidget *menu, const char *str, | |
| 159 | GtkSignalFunc sf, gpointer data, gboolean checked); | |
|
5162
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
160 | |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
161 | /** |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
162 | * Creates a menu item. |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
163 | * |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
164 | * @param menu The menu to which to append the menu item. |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
165 | * @param str The title for the menu item. |
|
5530
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5319
diff
changeset
|
166 | * @param icon An icon to place to the left of the menu item, |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5319
diff
changeset
|
167 | * or @c NULL for no icon. |
|
5162
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
168 | * @param sf A function to call when the menu item is activated. |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
169 | * @param data Data to pass to the signal function. |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
170 | * @param accel_key Something. |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
171 | * @param accel_mods Something. |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
172 | * @param mod Something. |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
173 | * |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
174 | * @return The newly created menu item. |
|
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
175 | */ |
|
5530
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5319
diff
changeset
|
176 | GtkWidget *gaim_new_item_from_stock(GtkWidget *menu, const char *str, |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5319
diff
changeset
|
177 | const char *icon, GtkSignalFunc sf, |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5319
diff
changeset
|
178 | gpointer data, guint accel_key, |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5319
diff
changeset
|
179 | guint accel_mods, char *mod); |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5319
diff
changeset
|
180 | |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5319
diff
changeset
|
181 | /** |
|
6372
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
182 | * Creates a button with the specified text and stock icon. |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
183 | * |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
184 | * @param text The text for the button. |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
185 | * @param icon The stock icon name. |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
186 | * @param style The orientation of the button. |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
187 | * |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
188 | * @return The button. |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
189 | */ |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
190 | GtkWidget *gaim_pixbuf_button_from_stock(const char *text, const char *icon, |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
191 | GaimButtonOrientation style); |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
192 | |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
193 | /** |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
194 | * Creates a toolbar button with the stock icon. |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
195 | * |
|
6720
cdc5348dd848
[gaim-migrate @ 7247]
Christian Hammond <chipx86@chipx86.com>
parents:
6646
diff
changeset
|
196 | * @param stock The stock icon name. |
|
6372
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
197 | * |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
198 | * @return The button. |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
199 | */ |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
200 | GtkWidget *gaim_pixbuf_toolbar_button_from_stock(const char *stock); |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
201 | |
|
27c3152351ce
[gaim-migrate @ 6877]
Christian Hammond <chipx86@chipx86.com>
parents:
5966
diff
changeset
|
202 | /** |
|
5530
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5319
diff
changeset
|
203 | * Creates a HIG preferences frame. |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5319
diff
changeset
|
204 | * |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5319
diff
changeset
|
205 | * @param parent The widget to put the frame into. |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5319
diff
changeset
|
206 | * @param title The title for the frame. |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5319
diff
changeset
|
207 | * |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5319
diff
changeset
|
208 | * @return The vbox to put things into. |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5319
diff
changeset
|
209 | */ |
|
ba1ad464b56f
[gaim-migrate @ 5930]
Christian Hammond <chipx86@chipx86.com>
parents:
5319
diff
changeset
|
210 | GtkWidget *gaim_gtk_make_frame(GtkWidget *parent, const char *title); |
|
5162
f8293b913629
[gaim-migrate @ 5526]
Mark Doliner <markdoliner@pidgin.im>
parents:
5034
diff
changeset
|
211 | |
|
5644
bc4c2f9f2bf8
[gaim-migrate @ 6058]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
212 | /** |
|
bc4c2f9f2bf8
[gaim-migrate @ 6058]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
213 | * Creates a drop-down option menu filled with protocols. |
|
bc4c2f9f2bf8
[gaim-migrate @ 6058]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
214 | * |
| 7956 | 215 | * @param id The protocol to select by default. |
|
5644
bc4c2f9f2bf8
[gaim-migrate @ 6058]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
216 | * @param cb The callback to call when a protocol is selected. |
|
bc4c2f9f2bf8
[gaim-migrate @ 6058]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
217 | * @param user_data Data to pass to the callback function. |
|
bc4c2f9f2bf8
[gaim-migrate @ 6058]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
218 | * |
|
bc4c2f9f2bf8
[gaim-migrate @ 6058]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
219 | * @return The drop-down option menu. |
|
bc4c2f9f2bf8
[gaim-migrate @ 6058]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
220 | */ |
| 7956 | 221 | GtkWidget *gaim_gtk_protocol_option_menu_new(const char *id, |
|
5644
bc4c2f9f2bf8
[gaim-migrate @ 6058]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
222 | GCallback cb, |
|
bc4c2f9f2bf8
[gaim-migrate @ 6058]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
223 | gpointer user_data); |
|
bc4c2f9f2bf8
[gaim-migrate @ 6058]
Christian Hammond <chipx86@chipx86.com>
parents:
5530
diff
changeset
|
224 | |
|
5877
37695b88b248
[gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
225 | /** |
|
37695b88b248
[gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
226 | * Creates a drop-down option menu filled with accounts. |
|
37695b88b248
[gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
227 | * |
|
8289
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8272
diff
changeset
|
228 | * @param default_account The account to select by default. |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8272
diff
changeset
|
229 | * @param show_all Whether or not to show all accounts, or just |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8272
diff
changeset
|
230 | * active accounts. |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8272
diff
changeset
|
231 | * @param cb The callback to call when an account is selected. |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8272
diff
changeset
|
232 | * @param filter_func A function for checking if an account should |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8272
diff
changeset
|
233 | * be shown. This can be NULL. |
|
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8272
diff
changeset
|
234 | * @param user_data Data to pass to the callback function. |
|
5877
37695b88b248
[gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
235 | * |
|
37695b88b248
[gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
236 | * @return The drop-down option menu. |
|
37695b88b248
[gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
237 | */ |
|
37695b88b248
[gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
238 | GtkWidget *gaim_gtk_account_option_menu_new(GaimAccount *default_account, |
|
6646
b9a0b5eb74e6
[gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents:
6372
diff
changeset
|
239 | gboolean show_all, GCallback cb, |
|
8289
234429bac6b5
[gaim-migrate @ 9013]
Christian Hammond <chipx86@chipx86.com>
parents:
8272
diff
changeset
|
240 | GaimFilterAccountFunc filter_func, gpointer user_data); |
|
5877
37695b88b248
[gaim-migrate @ 6309]
Christian Hammond <chipx86@chipx86.com>
parents:
5872
diff
changeset
|
241 | |
|
5943
8a052155157a
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
242 | /** |
|
6646
b9a0b5eb74e6
[gaim-migrate @ 7171]
Christian Hammond <chipx86@chipx86.com>
parents:
6372
diff
changeset
|
243 | * Check if the given path is a directory or not. If it is, then modify |
|
5966
91a208b3e979
[gaim-migrate @ 6413]
Mark Doliner <markdoliner@pidgin.im>
parents:
5943
diff
changeset
|
244 | * the given GtkFileSelection dialog so that it displays the given path. |
|
91a208b3e979
[gaim-migrate @ 6413]
Mark Doliner <markdoliner@pidgin.im>
parents:
5943
diff
changeset
|
245 | * If the given path is not a directory, then do nothing. |
|
91a208b3e979
[gaim-migrate @ 6413]
Mark Doliner <markdoliner@pidgin.im>
parents:
5943
diff
changeset
|
246 | * |
|
91a208b3e979
[gaim-migrate @ 6413]
Mark Doliner <markdoliner@pidgin.im>
parents:
5943
diff
changeset
|
247 | * @param path The path entered in the file selection window by the user. |
|
91a208b3e979
[gaim-migrate @ 6413]
Mark Doliner <markdoliner@pidgin.im>
parents:
5943
diff
changeset
|
248 | * @param filesel The file selection window. |
|
91a208b3e979
[gaim-migrate @ 6413]
Mark Doliner <markdoliner@pidgin.im>
parents:
5943
diff
changeset
|
249 | * |
|
91a208b3e979
[gaim-migrate @ 6413]
Mark Doliner <markdoliner@pidgin.im>
parents:
5943
diff
changeset
|
250 | * @return TRUE if given path is a directory, FALSE otherwise. |
|
91a208b3e979
[gaim-migrate @ 6413]
Mark Doliner <markdoliner@pidgin.im>
parents:
5943
diff
changeset
|
251 | */ |
|
91a208b3e979
[gaim-migrate @ 6413]
Mark Doliner <markdoliner@pidgin.im>
parents:
5943
diff
changeset
|
252 | gboolean gaim_gtk_check_if_dir(const char *path, GtkFileSelection *filesel); |
|
91a208b3e979
[gaim-migrate @ 6413]
Mark Doliner <markdoliner@pidgin.im>
parents:
5943
diff
changeset
|
253 | |
|
91a208b3e979
[gaim-migrate @ 6413]
Mark Doliner <markdoliner@pidgin.im>
parents:
5943
diff
changeset
|
254 | /** |
|
7114
6e5e4e674496
[gaim-migrate @ 7681]
Christian Hammond <chipx86@chipx86.com>
parents:
7102
diff
changeset
|
255 | * Parses a message to find \<IMG\> tags with valid ID attributes that |
| 7078 | 256 | * refer to images in Gaim's image store, and load them into a list |
| 257 | * of GdkPixbufs. Image tags with missing ID paramaters, or those that | |
| 258 | * refer to images that are not in the store will have a corresponding | |
| 259 | * NULL entry on the list. | |
| 260 | * | |
| 261 | * @param message The message to parse for image tags. | |
| 262 | * @param list A pointer to the GSList of GdkPixbufs that will be created. | |
| 263 | */ | |
| 264 | void gaim_gtk_find_images(const char *message, GSList **list); | |
| 265 | ||
| 266 | /** | |
|
7538
b20dbe9222e2
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7420
diff
changeset
|
267 | * Sets up GtkSpell for the given GtkTextView, reporting errors |
|
b20dbe9222e2
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7420
diff
changeset
|
268 | * if encountered. |
|
b20dbe9222e2
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7420
diff
changeset
|
269 | * |
|
b20dbe9222e2
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7420
diff
changeset
|
270 | * This does nothing if Gaim is not compiled with GtkSpell support. |
|
b20dbe9222e2
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7420
diff
changeset
|
271 | * |
|
b20dbe9222e2
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7420
diff
changeset
|
272 | * @param textview The textview widget to setup spellchecking for. |
|
b20dbe9222e2
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7420
diff
changeset
|
273 | */ |
|
b20dbe9222e2
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7420
diff
changeset
|
274 | void gaim_gtk_setup_gtkspell(GtkTextView *textview); |
|
b20dbe9222e2
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7420
diff
changeset
|
275 | |
|
b20dbe9222e2
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7420
diff
changeset
|
276 | /** |
|
5943
8a052155157a
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
277 | * Stylizes the specified text using HTML, according to the current |
|
8a052155157a
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
278 | * font options. |
|
8a052155157a
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
279 | * |
|
8a052155157a
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
280 | * @param text The text to stylize. |
|
8a052155157a
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
281 | * @param len The intended length of the new buffer. |
|
8a052155157a
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
282 | * |
|
8a052155157a
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
283 | * @return A newly allocated string of length @a len, containing the |
|
8a052155157a
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
284 | * stylized version of @a text. |
|
8a052155157a
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
285 | * |
|
8a052155157a
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
286 | * @todo Move this to a UI-specific file. |
|
8a052155157a
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
287 | */ |
|
8a052155157a
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
288 | char *stylize(const gchar *text, int len); |
|
8a052155157a
[gaim-migrate @ 6384]
Christian Hammond <chipx86@chipx86.com>
parents:
5906
diff
changeset
|
289 | |
| 7420 | 290 | /** |
| 291 | * Save menu accelerators callback | |
| 292 | */ | |
| 293 | void gaim_gtk_save_accels_cb(GtkAccelGroup *accel_group, guint arg1, | |
|
7538
b20dbe9222e2
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7420
diff
changeset
|
294 | GdkModifierType arg2, GClosure *arg3, |
|
b20dbe9222e2
[gaim-migrate @ 8151]
Christian Hammond <chipx86@chipx86.com>
parents:
7420
diff
changeset
|
295 | gpointer data); |
| 7420 | 296 | |
| 297 | /** | |
| 298 | * Save menu accelerators | |
| 299 | */ | |
| 300 | gboolean gaim_gtk_save_accels(gpointer data); | |
| 301 | ||
| 302 | /** | |
| 303 | * Load menu accelerators | |
| 304 | */ | |
| 305 | void gaim_gtk_load_accels(); | |
| 306 | ||
|
7712
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
307 | /** |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
308 | * Parses an application/x-im-contact MIME message and returns the |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
309 | * data inside. |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
310 | * |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
311 | * @param msg The MIME message. |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
312 | * @param all_accounts If TRUE, check all compatible accounts, online or |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
313 | * offline. If FALSE, check only online accounts. |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
314 | * @param ret_account The best guess at a compatible protocol, |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
315 | * based on ret_protocol. If NULL, no account was found. |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
316 | * @param ret_protocol The returned protocol type. |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
317 | * @param ret_username The returned username. |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
318 | * @param ret_alias The returned alias. |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
319 | * |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
320 | * @return TRUE if the message was parsed for the minimum necessary data. |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
321 | * FALSE otherwise. |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
322 | */ |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
323 | gboolean gaim_gtk_parse_x_im_contact(const char *msg, gboolean all_accounts, |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
324 | GaimAccount **ret_account, |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
325 | char **ret_protocol, char **ret_username, |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
326 | char **ret_alias); |
|
74af9358b808
[gaim-migrate @ 8357]
Christian Hammond <chipx86@chipx86.com>
parents:
7538
diff
changeset
|
327 | |
| 8137 | 328 | /** |
| 329 | * Sets an ATK name for a given widget. Also sets the labelled-by | |
| 330 | * and label-for ATK relationships. | |
| 331 | * | |
| 332 | * @w The widget that we want to name. | |
| 333 | * @l A GtkLabel that we want to use as the ATK name for the widget. | |
| 334 | */ | |
|
8143
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
335 | void gaim_set_accessible_label(GtkWidget *w, GtkWidget *l); |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
336 | |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
337 | /** |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
338 | * A valid GtkMenuPositionFunc. This is used to determine where |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
339 | * to draw context menu's when the menu is activated with the |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
340 | * keyboard (shift+F10). If the menu is activated with the mouse, |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
341 | * then you should just use GTK's built-in position function, |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
342 | * because it does a better job of positioning the menu. |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
343 | * |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
344 | * @param menu The menu we are positioning. |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
345 | * @param x Address of the gint representing the horizontal position |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
346 | * where the menu shall be drawn. This is an output parameter. |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
347 | * @param y Address of the gint representing the vertical position |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
348 | * where the menu shall be drawn. This is an output parameter. |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
349 | * @param push_in This is an output parameter? |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
350 | * @param user_data Not used by this particular position function. |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
351 | */ |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
352 | void gaim_gtk_treeview_popup_menu_position_func(GtkMenu *menu, |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
353 | gint *x, |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
354 | gint *y, |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
355 | gboolean *push_in, |
|
ce4b6383777b
[gaim-migrate @ 8851]
Nathan Fredrickson <nathan@silverorange.com>
parents:
8137
diff
changeset
|
356 | gpointer user_data); |
| 8137 | 357 | |
| 4359 | 358 | #endif /* _GAIM_GTK_UTILS_H_ */ |