00001
00025 #ifndef _GAIM_GTKUTILS_H_
00026 #define _GAIM_GTKUTILS_H_
00027
00028 #include "gtkconv.h"
00029 #include "gtkgaim.h"
00030 #include "prpl.h"
00031
00032 typedef enum
00033 {
00034 GAIM_BUTTON_HORIZONTAL,
00035 GAIM_BUTTON_VERTICAL
00036
00037 } GaimButtonOrientation;
00038
00039 typedef enum
00040 {
00041 GAIM_BUTTON_NONE = 0,
00042 GAIM_BUTTON_TEXT,
00043 GAIM_BUTTON_IMAGE,
00044 GAIM_BUTTON_TEXT_IMAGE
00045
00046 } GaimButtonStyle;
00047
00048 #ifndef _WIN32
00049 typedef enum
00050 {
00051 GAIM_BROWSER_DEFAULT = 0,
00052 GAIM_BROWSER_CURRENT,
00053 GAIM_BROWSER_NEW_WINDOW,
00054 GAIM_BROWSER_NEW_TAB
00055
00056 } GaimBrowserPlace;
00057 #endif
00058
00059 extern guint accels_save_timer;
00060
00067 void gaim_setup_imhtml(GtkWidget *imhtml);
00068
00075 void gaim_gtk_toggle_sensitive(GtkWidget *widget, GtkWidget *to_toggle);
00076
00085 void gaim_gtk_set_sensitive_if_input(GtkWidget *entry, GtkWidget *dialog);
00086
00093 void gtk_toggle_sensitive_array(GtkWidget *w, GPtrArray *data);
00094
00101 void gaim_gtk_toggle_showhide(GtkWidget *widget, GtkWidget *to_toggle);
00102
00108 void gaim_separator(GtkWidget *menu);
00109
00118 GtkWidget *gaim_new_item(GtkWidget *menu, const char *str);
00119
00131 GtkWidget *gaim_new_check_item(GtkWidget *menu, const char *str,
00132 GtkSignalFunc sf, gpointer data, gboolean checked);
00133
00149 GtkWidget *gaim_new_item_from_stock(GtkWidget *menu, const char *str,
00150 const char *icon, GtkSignalFunc sf,
00151 gpointer data, guint accel_key,
00152 guint accel_mods, char *mod);
00153
00163 GtkWidget *gaim_pixbuf_button_from_stock(const char *text, const char *icon,
00164 GaimButtonOrientation style);
00165
00173 GtkWidget *gaim_pixbuf_toolbar_button_from_stock(const char *stock);
00174
00183 GtkWidget *gaim_gtk_make_frame(GtkWidget *parent, const char *title);
00184
00194 GtkWidget *gaim_gtk_protocol_option_menu_new(const char *id,
00195 GCallback cb,
00196 gpointer user_data);
00197
00211 GtkWidget *gaim_gtk_account_option_menu_new(GaimAccount *default_account,
00212 gboolean show_all, GCallback cb,
00213 GaimFilterAccountFunc filter_func, gpointer user_data);
00214
00222 GaimAccount *gaim_gtk_account_option_menu_get_selected(GtkWidget *optmenu);
00223
00231 void gaim_gtk_account_option_menu_set_selected(GtkWidget *optmenu, GaimAccount *account);
00232
00243 gboolean gaim_gtk_check_if_dir(const char *path, GtkFileSelection *filesel);
00244
00253 void gaim_gtk_setup_gtkspell(GtkTextView *textview);
00254
00267 char *stylize(const gchar *text, int len);
00268
00272 void gaim_gtk_save_accels_cb(GtkAccelGroup *accel_group, guint arg1,
00273 GdkModifierType arg2, GClosure *arg3,
00274 gpointer data);
00275
00279 gboolean gaim_gtk_save_accels(gpointer data);
00280
00284 void gaim_gtk_load_accels();
00285
00302 gboolean gaim_gtk_parse_x_im_contact(const char *msg, gboolean all_accounts,
00303 GaimAccount **ret_account,
00304 char **ret_protocol, char **ret_username,
00305 char **ret_alias);
00306
00314 void gaim_set_accessible_label(GtkWidget *w, GtkWidget *l);
00315
00331 void gaim_gtk_treeview_popup_menu_position_func(GtkMenu *menu,
00332 gint *x,
00333 gint *y,
00334 gboolean *push_in,
00335 gpointer user_data);
00336
00342 gboolean gaim_running_gnome(void);
00343
00344 #endif