26#ifndef _PIDGINUTILS_H_
27#define _PIDGINUTILS_H_
40 PIDGIN_BUTTON_HORIZONTAL,
41 PIDGIN_BUTTON_VERTICAL
43} PidginButtonOrientation;
47 PIDGIN_BUTTON_NONE = 0,
50 PIDGIN_BUTTON_TEXT_IMAGE
56 PIDGIN_PRPL_ICON_SMALL,
57 PIDGIN_PRPL_ICON_MEDIUM,
58 PIDGIN_PRPL_ICON_LARGE
64 PIDGIN_BROWSER_DEFAULT = 0,
65 PIDGIN_BROWSER_CURRENT,
66 PIDGIN_BROWSER_NEW_WINDOW,
67 PIDGIN_BROWSER_NEW_TAB
80typedef gboolean (*PidginFilterBuddyCompletionEntryFunc) (
const PidginBuddyCompletionEntry *completion_entry, gpointer user_data);
109GtkWidget *
pidgin_create_imhtml(gboolean editable, GtkWidget **imhtml_ret, GtkWidget **toolbar_ret, GtkWidget **sw_ret);
177 GCallback callback, gpointer callbackdata);
253 GCallback cb, gpointer data, gboolean checked);
271 const char *icon, GCallback cb,
272 gpointer data, guint accel_key,
273 guint accel_mods,
char *mod);
285 PidginButtonOrientation style);
342 gboolean show_all, GCallback cb,
343 PurpleFilterAccountFunc filter_func, gpointer user_data);
433 GdkModifierType arg2, GClosure *arg3,
485 char **ret_protocol,
char **ret_username,
522 gboolean *push_in, gpointer data);
664#if !(defined PIDGIN_DISABLE_DEPRECATED) || (defined _PIDGIN_GTKUTILS_C_)
717 const char* stock_id,
const char *primary,
const char *secondary,
718 void *user_data, ...) G_GNUC_NULL_TERMINATED;
725 GdkPixbuf *custom_icon,
727 const
char *secondary,
729 ...) G_GNUC_NULL_TERMINATED;
740 const gchar *key, GtkTreeIter *iter, gpointer data);
834GtkWidget *
pidgin_add_widget_to_vbox(GtkBox *vbox, const
char *widget_label, GtkSizeGroup *sg, GtkWidget *widget, gboolean expand, GtkWidget **p_label);
964GtkWidget *
pidgin_make_scrollable(GtkWidget *child, GtkPolicyType hscrollbar_policy, GtkPolicyType vscrollbar_policy, GtkShadowType shadow_type,
int width,
int height);
void pidgin_load_accels(void)
Load menu accelerators.
void pidgin_gdk_pixbuf_make_round(GdkPixbuf *pixbuf)
Rounds the corners of a 32x32 GdkPixbuf in place.
void pidgin_set_accessible_label(GtkWidget *w, GtkWidget *l)
Sets an ATK name for a given widget.
GtkWidget * pidgin_text_combo_box_entry_new(const char *default_item, GList *items)
Create a simple text GtkComboBoxEntry equivalent.
const char * pidgin_stock_id_from_presence(PurplePresence *presence)
Returns an appropriate stock-id for a PurplePresence.
void pidgin_toggle_showhide(GtkWidget *widget, GtkWidget *to_toggle)
Toggles the visibility of a widget.
void pidgin_set_cursor(GtkWidget *widget, GdkCursorType cursor_type)
Sets the mouse pointer for a GtkWidget.
GtkWidget * pidgin_dialog_get_vbox_with_properties(GtkDialog *dialog, gboolean homogeneous, gint spacing)
Retrieves the main content box (vbox) from a pidgin dialog window.
GdkPixbuf * pidgin_pixbuf_from_imgstore(PurpleStoredImage *image)
Create a GdkPixbuf from a PurpleStoredImage.
GtkWidget * pidgin_make_mini_dialog(PurpleConnection *handle, const char *stock_id, const char *primary, const char *secondary, void *user_data,...) G_GNUC_NULL_TERMINATED
Creates a PidginMiniDialog, tied to a PurpleConnection, suitable for embedding in the buddy list scro...
const char * pidgin_get_dim_grey_string(GtkWidget *widget)
Returns an HTML-style color string for use as a dim grey string.
void pidgin_toggle_sensitive(GtkWidget *widget, GtkWidget *to_toggle)
Toggles the sensitivity of a widget.
GtkWidget * pidgin_create_small_button(GtkWidget *image)
Creates a small button.
void pidgin_set_accessible_relations(GtkWidget *w, GtkWidget *l)
Sets the labelled-by and label-for ATK relationships.
GtkWidget * pidgin_protocol_option_menu_new(const char *id, GCallback cb, gpointer user_data)
Creates a drop-down option menu filled with protocols.
gboolean pidgin_gdk_pixbuf_is_opaque(GdkPixbuf *pixbuf)
Returns TRUE if the GdkPixbuf is opaque, as determined by no alpha at any of the edge pixels.
GtkWidget * pidgin_buddy_icon_chooser_new(GtkWindow *parent, void(*callback)(const char *, gpointer), gpointer data)
Creates a File Selection widget for choosing a buddy icon.
GtkWidget * pidgin_create_imhtml(gboolean editable, GtkWidget **imhtml_ret, GtkWidget **toolbar_ret, GtkWidget **sw_ret)
Create an GtkIMHtml widget and associated GtkIMHtmlToolbar widget.
gboolean pidgin_check_if_dir(const char *path, GtkFileSelection *filesel)
Check if the given path is a directory or not.
void pidgin_treeview_popup_menu_position_func(GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer user_data)
A valid GtkMenuPositionFunc.
void pidgin_clear_cursor(GtkWidget *widget)
Sets the mouse point for a GtkWidget back to that of its parent window.
void pidgin_account_option_menu_set_selected(GtkWidget *optmenu, PurpleAccount *account)
Sets the currently selected account for an account drop down box.
GtkWidget * pidgin_new_check_item(GtkWidget *menu, const char *str, GCallback cb, gpointer data, gboolean checked)
Creates a check menu item.
gboolean pidgin_parse_x_im_contact(const char *msg, gboolean all_accounts, PurpleAccount **ret_account, char **ret_protocol, char **ret_username, char **ret_alias)
Parses an application/x-im-contact MIME message and returns the data inside.
void pidgin_toggle_sensitive_array(GtkWidget *w, GPtrArray *data)
Toggles the sensitivity of all widgets in a pointer array.
GdkPixbuf * pidgin_pixbuf_new_from_file_at_scale(const char *filename, int width, int height, gboolean preserve_aspect_ratio)
Helper function that calls gdk_pixbuf_new_from_file_at_scale() and checks both the return code and th...
void pidgin_set_sensitive_if_input(GtkWidget *entry, GtkWidget *dialog)
Checks if text has been entered into a GtkTextEntry widget.
gboolean pidgin_save_accels(gpointer data)
Save menu accelerators.
void pidgin_utils_init(void)
Initialize some utility functions.
void pidgin_set_custom_buddy_icon(PurpleAccount *account, const char *who, const char *filename)
Set or unset a custom buddyicon for a user.
const char * pidgin_protocol_option_menu_get_selected(GtkWidget *optmenu)
Gets the currently selected protocol from a protocol drop down box.
GdkPixbuf * pidgin_pixbuf_new_from_file_at_size(const char *filename, int width, int height)
Helper function that calls gdk_pixbuf_new_from_file_at_size() and checks both the return code and the...
GtkWidget * pidgin_account_option_menu_new(PurpleAccount *default_account, gboolean show_all, GCallback cb, PurpleFilterAccountFunc filter_func, gpointer user_data)
Creates a drop-down option menu filled with accounts.
GtkWidget * pidgin_append_menu_action(GtkWidget *menu, PurpleMenuAction *act, gpointer gobject)
Append a PurpleMenuAction to a menu.
GtkWidget * pidgin_add_widget_to_vbox(GtkBox *vbox, const char *widget_label, GtkSizeGroup *sg, GtkWidget *widget, gboolean expand, GtkWidget **p_label)
Add a labelled widget to a GtkVBox.
GtkWidget * pidgin_dialog_get_action_area(GtkDialog *dialog)
Retrieves the action area (button box) from a pidgin dialog window.
void pidgin_set_urgent(GtkWindow *window, gboolean urgent)
Sets or resets a window to 'urgent,' by setting the URGENT hint in X or blinking in the win32 taskbar...
PurpleAccount * pidgin_account_option_menu_get_selected(GtkWidget *optmenu)
Gets the currently selected account from an account drop down box.
GtkWidget * pidgin_pixbuf_toolbar_button_from_stock(const char *stock)
Creates a toolbar button with the stock icon.
char * pidgin_make_pretty_arrows(const char *str)
Converts "->" and "<-" in strings to Unicode arrow characters, for use in referencing menu items.
GtkWidget * pidgin_create_dialog(const char *title, guint border_width, const char *role, gboolean resizable)
Creates a new dialog window.
void pidgin_retrieve_user_info(PurpleConnection *conn, const char *name)
Get information about a user.
gboolean pidgin_screenname_autocomplete_default_filter(const PidginBuddyCompletionEntry *completion_entry, gpointer all_accounts)
The default filter function for username autocomplete.
gboolean pidgin_tree_view_search_equal_func(GtkTreeModel *model, gint column, const gchar *key, GtkTreeIter *iter, gpointer data)
This is a callback function to be used for Ctrl+F searching in treeviews.
GtkWidget * pidgin_make_frame(GtkWidget *parent, const char *title)
Creates a HIG preferences frame.
void(* PidginUtilMiniDialogCallback)(gpointer user_data, GtkButton *)
The type of callbacks passed to pidgin_make_mini_dialog().
GtkWidget * pidgin_dialog_get_vbox(GtkDialog *dialog)
Retrieves the main content box (vbox) from a pidgin dialog window.
void pidgin_menu_position_func_helper(GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer data)
A helper function for GtkMenuPositionFuncs.
void pidgin_setup_imhtml(GtkWidget *imhtml)
Sets up a gtkimhtml widget, loads it with smileys, and sets the default signal handlers.
GdkPixbuf * pidgin_create_prpl_icon(PurpleAccount *account, PidginPrplIconSize size)
Returns the base image to represent the account, based on the currently selected theme.
void pidgin_dnd_file_manage(GtkSelectionData *sd, PurpleAccount *account, const char *who)
Manages drag'n'drop of files.
GtkWidget * pidgin_dialog_add_button(GtkDialog *dialog, const char *label, GCallback callback, gpointer callbackdata)
Add a button to a dialog created by pidgin_create_dialog.
GdkPixbuf * pidgin_pixbuf_new_from_file(const char *filename)
Helper function that calls gdk_pixbuf_new_from_file() and checks both the return code and the GError ...
gpointer pidgin_convert_buddy_icon(PurplePlugin *plugin, const char *path, size_t *len)
Converts a buddy icon to the required size and format.
GdkPixbufAnimation * pidgin_pixbuf_anim_from_data(const guchar *buf, gsize count)
Create a GdkPixbufAnimation from a chunk of image data.
void pidgin_text_combo_box_entry_set_text(GtkWidget *widget, const char *text)
Set the text in the entry of the simple text GtkComboBoxEntry equivalent.
void pidgin_buddy_icon_get_scale_size(GdkPixbuf *buf, PurpleBuddyIconSpec *spec, PurpleIconScaleRules rules, int *width, int *height)
Convenience wrapper for purple_buddy_icon_get_scale_size.
void pidgin_utils_uninit(void)
Uninitialize some utility functions.
gboolean pidgin_auto_parent_window(GtkWidget *window)
Automatically make a window transient to a suitable parent window.
const char * pidgin_stock_id_from_status_primitive(PurpleStatusPrimitive prim)
Returns an appropriate stock-id for a status primitive.
GtkWidget * pidgin_make_mini_dialog_with_custom_icon(PurpleConnection *gc, GdkPixbuf *custom_icon, const char *primary, const char *secondary, void *user_data,...) G_GNUC_NULL_TERMINATED
Does exactly what pidgin_make_mini_dialog() does, except you can specify a custom icon for the dialog...
GdkPixbuf * pidgin_create_status_icon(PurpleStatusPrimitive primitive, GtkWidget *w, const char *size)
Creates a status icon for a given primitve.
void pidgin_setup_screenname_autocomplete_with_filter(GtkWidget *entry, GtkWidget *optmenu, PidginFilterBuddyCompletionEntryFunc filter_func, gpointer user_data)
Add autocompletion of screenames to an entry, supporting a filtering function.
void pidgin_setup_gtkspell(GtkTextView *textview)
Sets up GtkSpell for the given GtkTextView, reporting errors if encountered.
GtkWidget * pidgin_make_scrollable(GtkWidget *child, GtkPolicyType hscrollbar_policy, GtkPolicyType vscrollbar_policy, GtkShadowType shadow_type, int width, int height)
Add scrollbars to a widget.
void pidgin_retrieve_user_info_in_chat(PurpleConnection *conn, const char *name, int chatid)
Get information about a user in a chat.
const char * pidgin_text_combo_box_entry_get_text(GtkWidget *widget)
Retrieve the text from the entry of the simple text GtkComboBoxEntry equivalent.
GtkWidget * pidgin_pixbuf_button_from_stock(const char *text, const char *icon, PidginButtonOrientation style)
Creates a button with the specified text and stock icon.
GtkWidget * pidgin_separator(GtkWidget *menu)
Adds a separator to a menu.
GtkWidget * pidgin_create_window(const char *title, guint border_width, const char *role, gboolean resizable)
Creates a new window.
void pidgin_save_accels_cb(GtkAccelGroup *accel_group, guint arg1, GdkModifierType arg2, GClosure *arg3, gpointer data)
Save menu accelerators callback.
void pidgin_setup_screenname_autocomplete(GtkWidget *entry, GtkWidget *optmenu, gboolean all)
Add autocompletion of screenames to an entry.
GdkPixbuf * pidgin_pixbuf_from_data(const guchar *buf, gsize count)
Create a GdkPixbuf from a chunk of image data.
GtkWidget * pidgin_new_item(GtkWidget *menu, const char *str)
Creates a menu item.
GtkWidget * pidgin_new_item_from_stock(GtkWidget *menu, const char *str, const char *icon, GCallback cb, gpointer data, guint accel_key, guint accel_mods, char *mod)
Creates a menu item.
struct _PurpleStoredImage PurpleStoredImage
A set of utility functions that provide a reference-counted immutable wrapper around an image's data ...
UI definitions and includes.
Protocol Plugin functions.
PurpleStatusPrimitive
A primitive defining the basic structure of a status type.
Structure representing an account.
A description of a Buddy Icon specification.
Describes available logs.