00001
00025 #ifndef _GAIM_GTK_UTILS_H_
00026 #define _GAIM_GTK_UTILS_H_
00027
00028 #include <gtk/gtk.h>
00029 #include "gtkconv.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_save_icon_dialog(GtkObject *obj, GaimConversation *conv);
00076
00085 int gaim_gtk_get_dispstyle(GaimConversationType type);
00086
00101 GtkWidget *gaim_gtk_change_text(const char *text, GtkWidget *button,
00102 const char *stock, GaimConversationType type);
00103
00110 void gaim_gtk_toggle_sensitive(GtkWidget *widget, GtkWidget *to_toggle);
00111
00120 void gaim_gtk_set_sensitive_if_input(GtkWidget *entry, GtkWidget *dialog);
00121
00128 void gtk_toggle_sensitive_array(GtkWidget *w, GPtrArray *data);
00129
00135 void gaim_separator(GtkWidget *menu);
00136
00145 GtkWidget *gaim_new_item(GtkWidget *menu, const char *str);
00146
00158 GtkWidget *gaim_new_check_item(GtkWidget *menu, const char *str,
00159 GtkSignalFunc sf, gpointer data, gboolean checked);
00160
00176 GtkWidget *gaim_new_item_from_stock(GtkWidget *menu, const char *str,
00177 const char *icon, GtkSignalFunc sf,
00178 gpointer data, guint accel_key,
00179 guint accel_mods, char *mod);
00180
00190 GtkWidget *gaim_pixbuf_button_from_stock(const char *text, const char *icon,
00191 GaimButtonOrientation style);
00192
00200 GtkWidget *gaim_pixbuf_toolbar_button_from_stock(const char *stock);
00201
00210 GtkWidget *gaim_gtk_make_frame(GtkWidget *parent, const char *title);
00211
00221 GtkWidget *gaim_gtk_protocol_option_menu_new(const char *id,
00222 GCallback cb,
00223 gpointer user_data);
00224
00238 GtkWidget *gaim_gtk_account_option_menu_new(GaimAccount *default_account,
00239 gboolean show_all, GCallback cb,
00240 GaimFilterAccountFunc filter_func, gpointer user_data);
00241
00252 gboolean gaim_gtk_check_if_dir(const char *path, GtkFileSelection *filesel);
00253
00264 void gaim_gtk_find_images(const char *message, GSList **list);
00265
00274 void gaim_gtk_setup_gtkspell(GtkTextView *textview);
00275
00288 char *stylize(const gchar *text, int len);
00289
00293 void gaim_gtk_save_accels_cb(GtkAccelGroup *accel_group, guint arg1,
00294 GdkModifierType arg2, GClosure *arg3,
00295 gpointer data);
00296
00300 gboolean gaim_gtk_save_accels(gpointer data);
00301
00305 void gaim_gtk_load_accels();
00306
00323 gboolean gaim_gtk_parse_x_im_contact(const char *msg, gboolean all_accounts,
00324 GaimAccount **ret_account,
00325 char **ret_protocol, char **ret_username,
00326 char **ret_alias);
00327
00335 void gaim_set_accessible_label(GtkWidget *w, GtkWidget *l);
00336
00352 void gaim_gtk_treeview_popup_menu_position_func(GtkMenu *menu,
00353 gint *x,
00354 gint *y,
00355 gboolean *push_in,
00356 gpointer user_data);
00357
00358 #endif