gtkutils.h File Reference

GTK+ utility functions. More...

#include "gtkconv.h"
#include "pidgin.h"
#include "prpl.h"
#include "util.h"

Go to the source code of this file.

Data Structures

struct  PidginBuddyCompletionEntry

Typedefs

typedef gboolean(* PidginFilterBuddyCompletionEntryFunc )(const PidginBuddyCompletionEntry *completion_entry, gpointer user_data)
typedef void(* PidginUtilMiniDialogCallback )(gpointer user_data, GtkButton *)
 The type of callbacks passed to pidgin_make_mini_dialog().

Enumerations

enum  PidginButtonOrientation { PIDGIN_BUTTON_HORIZONTAL, PIDGIN_BUTTON_VERTICAL }
enum  PidginButtonStyle { PIDGIN_BUTTON_NONE = 0, PIDGIN_BUTTON_TEXT, PIDGIN_BUTTON_IMAGE, PIDGIN_BUTTON_TEXT_IMAGE }
enum  PidginPrplIconSize { PIDGIN_PRPL_ICON_SMALL, PIDGIN_PRPL_ICON_MEDIUM, PIDGIN_PRPL_ICON_LARGE }
enum  PidginBrowserPlace { PIDGIN_BROWSER_DEFAULT = 0, PIDGIN_BROWSER_CURRENT, PIDGIN_BROWSER_NEW_WINDOW, PIDGIN_BROWSER_NEW_TAB }

Functions

void pidgin_setup_imhtml (GtkWidget *imhtml)
 Sets up a gtkimhtml widget, loads it with smileys, and sets the default signal handlers.
GtkWidget * pidgin_create_imhtml (gboolean editable, GtkWidget **imhtml_ret, GtkWidget **toolbar_ret, GtkWidget **sw_ret)
 Create an GtkIMHtml widget and associated GtkIMHtmlToolbar widget.
GtkWidget * pidgin_create_window (const char *title, guint border_width, const char *role, gboolean resizable)
 Creates a new window.
GtkWidget * pidgin_create_dialog (const char *title, guint border_width, const char *role, gboolean resizable)
 Creates a new dialog window.
GtkWidget * pidgin_dialog_get_vbox_with_properties (GtkDialog *dialog, gboolean homogeneous, gint spacing)
 Retrieves the main content box (vbox) from a pidgin dialog window.
GtkWidget * pidgin_dialog_get_vbox (GtkDialog *dialog)
 Retrieves the main content box (vbox) from a pidgin dialog window.
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.
GtkWidget * pidgin_dialog_get_action_area (GtkDialog *dialog)
 Retrieves the action area (button box) from a pidgin dialog window.
void pidgin_toggle_sensitive (GtkWidget *widget, GtkWidget *to_toggle)
 Toggles the sensitivity of a widget.
void pidgin_set_sensitive_if_input (GtkWidget *entry, GtkWidget *dialog)
 Checks if text has been entered into a GtkTextEntry widget.
void pidgin_toggle_sensitive_array (GtkWidget *w, GPtrArray *data)
 Toggles the sensitivity of all widgets in a pointer array.
void pidgin_toggle_showhide (GtkWidget *widget, GtkWidget *to_toggle)
 Toggles the visibility of a widget.
GtkWidget * pidgin_separator (GtkWidget *menu)
 Adds a separator to a menu.
GtkWidget * pidgin_new_item (GtkWidget *menu, const char *str)
 Creates a menu item.
GtkWidget * pidgin_new_check_item (GtkWidget *menu, const char *str, GtkSignalFunc sf, gpointer data, gboolean checked)
 Creates a check menu item.
GtkWidget * pidgin_new_item_from_stock (GtkWidget *menu, const char *str, const char *icon, GtkSignalFunc sf, gpointer data, guint accel_key, guint accel_mods, char *mod)
 Creates a menu item.
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_pixbuf_toolbar_button_from_stock (const char *stock)
 Creates a toolbar button with the stock icon.
GtkWidget * pidgin_make_frame (GtkWidget *parent, const char *title)
 Creates a HIG preferences frame.
GtkWidget * pidgin_protocol_option_menu_new (const char *id, GCallback cb, gpointer user_data)
 Creates a drop-down option menu filled with protocols.
const char * pidgin_protocol_option_menu_get_selected (GtkWidget *optmenu)
 Gets the currently selected protocol from a protocol drop down box.
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.
PurpleAccountpidgin_account_option_menu_get_selected (GtkWidget *optmenu)
 Gets the currently selected account from an account drop down box.
void pidgin_account_option_menu_set_selected (GtkWidget *optmenu, PurpleAccount *account)
 Sets the currently selected account for an account drop down box.
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.
gboolean pidgin_screenname_autocomplete_default_filter (const PidginBuddyCompletionEntry *completion_entry, gpointer all_accounts)
 The default filter function for screenname autocomplete.
void pidgin_setup_screenname_autocomplete (GtkWidget *entry, GtkWidget *optmenu, gboolean all)
 Add autocompletion of screenames to an entry.
gboolean pidgin_check_if_dir (const char *path, GtkFileSelection *filesel)
 Check if the given path is a directory or not.
void pidgin_setup_gtkspell (GtkTextView *textview)
 Sets up GtkSpell for the given GtkTextView, reporting errors if encountered.
void pidgin_save_accels_cb (GtkAccelGroup *accel_group, guint arg1, GdkModifierType arg2, GClosure *arg3, gpointer data)
 Save menu accelerators callback.
gboolean pidgin_save_accels (gpointer data)
 Save menu accelerators.
void pidgin_load_accels (void)
 Load menu accelerators.
void pidgin_retrieve_user_info (PurpleConnection *conn, const char *name)
 Get information about a user.
void pidgin_retrieve_user_info_in_chat (PurpleConnection *conn, const char *name, int chatid)
 Get information about a user in a chat.
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_set_accessible_label (GtkWidget *w, GtkWidget *l)
 Sets an ATK name for a given widget.
void pidgin_set_accessible_relations (GtkWidget *w, GtkWidget *l)
 Sets the labelled-by and label-for ATK relationships.
void pidgin_menu_position_func_helper (GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer data)
 A helper function for GtkMenuPositionFuncs.
void pidgin_treeview_popup_menu_position_func (GtkMenu *menu, gint *x, gint *y, gboolean *push_in, gpointer user_data)
 A valid GtkMenuPositionFunc.
void pidgin_dnd_file_manage (GtkSelectionData *sd, PurpleAccount *account, const char *who)
 Manages drag'n'drop of files.
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.
GdkPixbuf * pidgin_create_prpl_icon (PurpleAccount *account, PidginPrplIconSize size)
 Returns the base image to represent the account, based on the currently selected theme.
GdkPixbuf * pidgin_create_status_icon (PurpleStatusPrimitive primitive, GtkWidget *w, const char *size)
 Creates a status icon for a given primitve.
GtkWidget * pidgin_append_menu_action (GtkWidget *menu, PurpleMenuAction *act, gpointer gobject)
 Append a PurpleMenuAction to a menu.
void pidgin_set_cursor (GtkWidget *widget, GdkCursorType cursor_type)
 Sets the mouse pointer for a GtkWidget.
void pidgin_clear_cursor (GtkWidget *widget)
 Sets the mouse point for a GtkWidget back to that of its parent window.
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.
gpointer pidgin_convert_buddy_icon (PurplePlugin *plugin, const char *path, size_t *len)
 Converts a buddy icon to the required size and format.
GdkPixbuf * gdk_pixbuf_new_from_file_at_scale (const char *filename, int width, int height, gboolean preserve_aspect_ratio, GError **error)
 Creates a new pixbuf by loading an image from a file.
void pidgin_set_custom_buddy_icon (PurpleAccount *account, const char *who, const char *filename)
 Set or unset a custom buddyicon for a user.
char * pidgin_make_pretty_arrows (const char *str)
 Converts "->" and "<-" in strings to Unicode arrow characters, for use in referencing menu items.
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 scrollbook with pidgin_blist_add_alert().
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.
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.
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.
void pidgin_gdk_pixbuf_make_round (GdkPixbuf *pixbuf)
 Rounds the corners of a 32x32 GdkPixbuf in place.
const char * pidgin_get_dim_grey_string (GtkWidget *widget)
 Returns an HTML-style color string for use as a dim grey string.
GtkTreePath * gtk_tree_path_new_from_indices (gint first_index,...)
 This is copied from Gtk to support Gtk 2.0.
GtkWidget * pidgin_text_combo_box_entry_new (const char *default_item, GList *items)
 Create a simple text GtkComboBoxEntry equivalent.
const char * pidgin_text_combo_box_entry_get_text (GtkWidget *widget)
 Retrieve the text from the entry of the simple text GtkComboBoxEntry equivalent.
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.
gboolean pidgin_auto_parent_window (GtkWidget *window)
 Automatically make a window transient to a suitable parent window.
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.
GdkPixbuf * pidgin_pixbuf_from_imgstore (PurpleStoredImage *image)
 Create a GdkPixbuf from a PurpleStoredImage.


Detailed Description

GTK+ utility functions.

Definition in file gtkutils.h.


Function Documentation

GdkPixbuf* gdk_pixbuf_new_from_file_at_scale ( const char *  filename,
int  width,
int  height,
gboolean  preserve_aspect_ratio,
GError **  error 
)

Creates a new pixbuf by loading an image from a file.

The image will be scaled to fit in the requested size, optionally preserving the image's aspect ratio.

GtkTreePath* gtk_tree_path_new_from_indices ( gint  first_index,
  ... 
)

This is copied from Gtk to support Gtk 2.0.

Creates a new path with first_index and the varargs as indices.

Parameters:
first_index first integer
... list of integers terminated by -1
Returns:
A newly created GtkTreePath.

PurpleAccount* pidgin_account_option_menu_get_selected ( GtkWidget *  optmenu  ) 

Gets the currently selected account from an account drop down box.

Parameters:
optmenu The drop-down option menu created by pidgin_account_option_menu_new.
Returns:
Returns the PurpleAccount that is currently selected.

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.

Parameters:
default_account The account to select by default.
show_all Whether or not to show all accounts, or just active accounts.
cb The callback to call when an account is selected.
filter_func A function for checking if an account should be shown. This can be NULL.
user_data Data to pass to the callback function.
Returns:
The drop-down option menu.

void pidgin_account_option_menu_set_selected ( GtkWidget *  optmenu,
PurpleAccount account 
)

Sets the currently selected account for an account drop down box.

Parameters:
optmenu The GtkOptionMenu created by pidgin_account_option_menu_new.
account The PurpleAccount to select.

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.

Parameters:
vbox The GtkVBox to add the widget to.
widget_label The label to give the widget, can be NULL.
sg The GtkSizeGroup to add the label to, can be NULL.
widget The GtkWidget to add.
expand Whether to expand the widget horizontally.
p_label Place to store a pointer to the GtkLabel, or NULL if you don't care.
Returns:
A GtkHBox already added to the GtkVBox containing the GtkLabel and the GtkWidget.
Since:
2.4.0

GtkWidget* pidgin_append_menu_action ( GtkWidget *  menu,
PurpleMenuAction *  act,
gpointer  gobject 
)

Append a PurpleMenuAction to a menu.

Parameters:
menu The menu to append to.
act The PurpleMenuAction to append.
gobject The object to be passed to the action callback.
Returns:
The menuitem added.

gboolean pidgin_auto_parent_window ( GtkWidget *  window  ) 

Automatically make a window transient to a suitable parent window.

Parameters:
window The window to make transient.
Returns:
Whether the window was made transient or not.
Since:
2.4.0

GtkWidget* pidgin_buddy_icon_chooser_new ( GtkWindow *  parent,
void(*)(const char *, gpointer)  callback,
gpointer  data 
)

Creates a File Selection widget for choosing a buddy icon.

Parameters:
parent The parent window
callback The callback to call when the window is closed. If the user chose an icon, the char* argument will point to its path
data Data to pass to callback
Returns:
The file dialog

gboolean pidgin_check_if_dir ( const char *  path,
GtkFileSelection *  filesel 
)

Check if the given path is a directory or not.

If it is, then modify the given GtkFileSelection dialog so that it displays the given path. If the given path is not a directory, then do nothing.

Parameters:
path The path entered in the file selection window by the user.
filesel The file selection window.
Returns:
TRUE if given path is a directory, FALSE otherwise.

void pidgin_clear_cursor ( GtkWidget *  widget  ) 

Sets the mouse point for a GtkWidget back to that of its parent window.

If widget is NULL, this function simply returns.

If the window for widget is NULL, this function simply returns.

Note:
The display is not flushed from this function.

gpointer pidgin_convert_buddy_icon ( PurplePlugin plugin,
const char *  path,
size_t *  len 
)

Converts a buddy icon to the required size and format.

Parameters:
plugin The prpl to convert the icon
path The path of a file to convert
len If not NULL, the length of the returned data will be set here.
Returns:
The converted image data, or NULL if an error occurred.

GtkWidget* pidgin_create_dialog ( const char *  title,
guint  border_width,
const char *  role,
gboolean  resizable 
)

Creates a new dialog window.

Parameters:
title The window title, or NULL
border_width The window's desired border width
role A string indicating what the window is responsible for doing, or NULL
resizable Whether the window should be resizable (TRUE) or not (FALSE)
Since:
2.4.0

GtkWidget* pidgin_create_imhtml ( gboolean  editable,
GtkWidget **  imhtml_ret,
GtkWidget **  toolbar_ret,
GtkWidget **  sw_ret 
)

Create an GtkIMHtml widget and associated GtkIMHtmlToolbar widget.

This functions puts both widgets in a nice GtkFrame. They're separate by an attractive GtkSeparator.

Parameters:
editable TRUE if this imhtml should be editable. If this is FALSE, then the toolbar will NOT be created. If this imthml should be read-only at first, but may become editable later, then pass in TRUE here and then manually call gtk_imhtml_set_editable() later.
imhtml_ret A pointer to a pointer to a GtkWidget. This pointer will be set to the imhtml when this function exits.
toolbar_ret A pointer to a pointer to a GtkWidget. If editable is TRUE then this will be set to the toolbar when this function exits. Otherwise this will be set to NULL.
sw_ret This will be filled with a pointer to the scrolled window widget which contains the imhtml.
Returns:
The GtkFrame containing the toolbar and imhtml.

GdkPixbuf* pidgin_create_prpl_icon ( PurpleAccount account,
PidginPrplIconSize  size 
)

Returns the base image to represent the account, based on the currently selected theme.

Parameters:
account The account.
size The size of the icon to return.
Returns:
A newly-created pixbuf with a reference count of 1, or NULL if any of several error conditions occurred: the file could not be opened, there was no loader for the file's format, there was not enough memory to allocate the image buffer, or the image file contained invalid data.

GdkPixbuf* pidgin_create_status_icon ( PurpleStatusPrimitive  primitive,
GtkWidget *  w,
const char *  size 
)

Creates a status icon for a given primitve.

Parameters:
primitive The status primitive
w The widget to render this
size The icon size to render at
Returns:
A GdkPixbuf, created from stock

GtkWidget* pidgin_create_window ( const char *  title,
guint  border_width,
const char *  role,
gboolean  resizable 
)

Creates a new window.

Parameters:
title The window title, or NULL
border_width The window's desired border width
role A string indicating what the window is responsible for doing, or NULL
resizable Whether the window should be resizable (TRUE) or not (FALSE)
Since:
2.1.0

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.

Parameters:
dialog The dialog window
label The stock-id or the label for the button
callback The callback function for the button
callbackdata The user data for the callback function
Returns:
The created button.
Since:
2.4.0

GtkWidget* pidgin_dialog_get_action_area ( GtkDialog *  dialog  ) 

Retrieves the action area (button box) from a pidgin dialog window.

Parameters:
dialog The dialog window
Since:
2.4.0

GtkWidget* pidgin_dialog_get_vbox ( GtkDialog *  dialog  ) 

Retrieves the main content box (vbox) from a pidgin dialog window.

Parameters:
dialog The dialog window
Since:
2.4.0

GtkWidget* pidgin_dialog_get_vbox_with_properties ( GtkDialog *  dialog,
gboolean  homogeneous,
gint  spacing 
)

Retrieves the main content box (vbox) from a pidgin dialog window.

Parameters:
dialog The dialog window
homogeneous TRUE if all children are to be given equal space allotments.
spacing the number of pixels to place by default between children
Since:
2.4.0

void pidgin_dnd_file_manage ( GtkSelectionData *  sd,
PurpleAccount account,
const char *  who 
)

Manages drag'n'drop of files.

Parameters:
sd GtkSelectionData for managing drag'n'drop
account Account to be used (may be NULL if conv is not NULL)
who Buddy name (may be NULL if conv is not NULL)

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.

Parameters:
pixbuf The pixbug
Returns:
TRUE if the pixbuf is opaque around the edges, FALSE otherwise

void pidgin_gdk_pixbuf_make_round ( GdkPixbuf *  pixbuf  ) 

Rounds the corners of a 32x32 GdkPixbuf in place.

Parameters:
pixbuf The buddy icon to transform

const char* pidgin_get_dim_grey_string ( GtkWidget *  widget  ) 

Returns an HTML-style color string for use as a dim grey string.

Parameters:
widget The widget to return dim grey for
Returns:
The dim grey string

GtkWidget* pidgin_make_frame ( GtkWidget *  parent,
const char *  title 
)

Creates a HIG preferences frame.

Parameters:
parent The widget to put the frame into.
title The title for the frame.
Returns:
The vbox to put things into.

GtkWidget* pidgin_make_mini_dialog ( PurpleConnection handle,
const char *  stock_id,
const char *  primary,
const char *  secondary,
void *  user_data,
  ... 
)

Creates a PidginMiniDialog, tied to a PurpleConnection, suitable for embedding in the buddy list scrollbook with pidgin_blist_add_alert().

Parameters:
handle The PurpleConnection to which this mini-dialog refers, or NULL if it does not refer to a connection. If handle is supplied, the mini-dialog will be automatically removed and destroyed when the connection signs off.
stock_id The ID of a stock image to use in the mini dialog.
primary The primary text
secondary The secondary text, or NULL for no description.
user_data Data to pass to the callbacks
... a NULL-terminated list of button labels (char *) and callbacks (PidginUtilMiniDialogCallback). user_data will be passed as the first argument. (Callbacks may lack a second argument, or be NULL to take no action when the corresponding button is pressed.) When a button is pressed, the callback (if any) will be called; when the callback returns the dialog will be destroyed.
Returns:
A PidginMiniDialog, suitable for passing to pidgin_blist_add_alert().
See also:
pidginstock.h

char* pidgin_make_pretty_arrows ( const char *  str  ) 

Converts "->" and "<-" in strings to Unicode arrow characters, for use in referencing menu items.

Parameters:
str The text to convert
Returns:
A newly allocated string with unicode arrow characters

void pidgin_menu_position_func_helper ( GtkMenu *  menu,
gint *  x,
gint *  y,
gboolean *  push_in,
gpointer  data 
)

A helper function for GtkMenuPositionFuncs.

This ensures the menu will be kept on screen if possible.

Parameters:
menu The menu we are positioning.
x Address of the gint representing the horizontal position where the menu shall be drawn. This is an output parameter.
y Address of the gint representing the vertical position where the menu shall be drawn. This is an output parameter.
push_in This is an output parameter?
data Not used by this particular position function.
Since:
2.1.0

GtkWidget* pidgin_new_check_item ( GtkWidget *  menu,
const char *  str,
GtkSignalFunc  sf,
gpointer  data,
gboolean  checked 
)

Creates a check menu item.

Parameters:
menu The menu to which to append the check menu item.
str The title to use for the newly created menu item.
sf A function to call when the menu item is activated.
data Data to pass to the signal function.
checked The initial state of the check item
Returns:
The newly created menu item.

GtkWidget* pidgin_new_item ( GtkWidget *  menu,
const char *  str 
)

Creates a menu item.

Parameters:
menu The menu to which to append the menu item.
str The title to use for the newly created menu item.
Returns:
The newly created menu item.

GtkWidget* pidgin_new_item_from_stock ( GtkWidget *  menu,
const char *  str,
const char *  icon,
GtkSignalFunc  sf,
gpointer  data,
guint  accel_key,
guint  accel_mods,
char *  mod 
)

Creates a menu item.

Parameters:
menu The menu to which to append the menu item.
str The title for the menu item.
icon An icon to place to the left of the menu item, or NULL for no icon.
sf A function to call when the menu item is activated.
data Data to pass to the signal function.
accel_key Something.
accel_mods Something.
mod Something.
Returns:
The newly created 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.

Parameters:
msg The MIME message.
all_accounts If TRUE, check all compatible accounts, online or offline. If FALSE, check only online accounts.
ret_account The best guess at a compatible protocol, based on ret_protocol. If NULL, no account was found.
ret_protocol The returned protocol type.
ret_username The returned username.
ret_alias The returned alias.
Returns:
TRUE if the message was parsed for the minimum necessary data. FALSE otherwise.

GtkWidget* pidgin_pixbuf_button_from_stock ( const char *  text,
const char *  icon,
PidginButtonOrientation  style 
)

Creates a button with the specified text and stock icon.

Parameters:
text The text for the button.
icon The stock icon name.
style The orientation of the button.
Returns:
The button.

GdkPixbuf* pidgin_pixbuf_from_imgstore ( PurpleStoredImage image  ) 

Create a GdkPixbuf from a PurpleStoredImage.

Parameters:
image A PurpleStoredImage.
Returns:
A GdkPixbuf created from the stored image.
Since:
2.5.0

GtkWidget* pidgin_pixbuf_toolbar_button_from_stock ( const char *  stock  ) 

Creates a toolbar button with the stock icon.

Parameters:
stock The stock icon name.
Returns:
The button.

const char* pidgin_protocol_option_menu_get_selected ( GtkWidget *  optmenu  ) 

Gets the currently selected protocol from a protocol drop down box.

Parameters:
optmenu The drop-down option menu created by pidgin_account_option_menu_new.
Returns:
Returns the protocol ID that is currently selected.

GtkWidget* pidgin_protocol_option_menu_new ( const char *  id,
GCallback  cb,
gpointer  user_data 
)

Creates a drop-down option menu filled with protocols.

Parameters:
id The protocol to select by default.
cb The callback to call when a protocol is selected.
user_data Data to pass to the callback function.
Returns:
The drop-down option menu.

void pidgin_retrieve_user_info ( PurpleConnection conn,
const char *  name 
)

Get information about a user.

Show immediate feedback.

Parameters:
conn The connection to get information from.
name The user to get information about.
Since:
2.1.0

void pidgin_retrieve_user_info_in_chat ( PurpleConnection conn,
const char *  name,
int  chatid 
)

Get information about a user in a chat.

Show immediate feedback.

Parameters:
conn The connection to get information from.
name The user to get information about.
chatid The chat id.
Since:
2.1.0

gboolean pidgin_screenname_autocomplete_default_filter ( const PidginBuddyCompletionEntry *  completion_entry,
gpointer  all_accounts 
)

The default filter function for screenname autocomplete.

Parameters:
completion_entry The completion entry to filter.
all_accounts If this is FALSE, only the autocompletion entries which belong to an online account will be filtered.
Returns:
Returns TRUE if the autocompletion entry is filtered.

GtkWidget* pidgin_separator ( GtkWidget *  menu  ) 

Adds a separator to a menu.

Parameters:
menu The menu to add a separator to.
Returns:
The separator.

void pidgin_set_accessible_label ( GtkWidget *  w,
GtkWidget *  l 
)

Sets an ATK name for a given widget.

Also sets the labelled-by and label-for ATK relationships.

Parameters:
w The widget that we want to name.
l A GtkLabel that we want to use as the ATK name for the widget.

void pidgin_set_accessible_relations ( GtkWidget *  w,
GtkWidget *  l 
)

Sets the labelled-by and label-for ATK relationships.

Parameters:
w The widget that we want to label.
l A GtkLabel that we want to use as the label for the widget.
Since:
2.2.0

void pidgin_set_cursor ( GtkWidget *  widget,
GdkCursorType  cursor_type 
)

Sets the mouse pointer for a GtkWidget.

After setting the cursor, the display is flushed, so the change will take effect immediately.

If the window for widget is NULL, this function simply returns.

Parameters:
widget The widget for which to set the mouse pointer
cursor_type The type of cursor to set

void pidgin_set_custom_buddy_icon ( PurpleAccount account,
const char *  who,
const char *  filename 
)

Set or unset a custom buddyicon for a user.

Parameters:
account The account the user belongs to.
who The name of the user.
filename The path of the custom icon. If this is NULL, then any previously set custom buddy icon for the user is removed.
Deprecated:
See purple_buddy_icons_node_set_custom_icon_from_file()

void pidgin_set_sensitive_if_input ( GtkWidget *  entry,
GtkWidget *  dialog 
)

Checks if text has been entered into a GtkTextEntry widget.

If so, the GTK_RESPONSE_OK on the given dialog is set to TRUE. Otherwise GTK_RESPONSE_OK is set to FALSE.

Parameters:
entry The text entry widget.
dialog The dialog containing the text entry widget.

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.

Parameters:
window The window to draw attention to
urgent Whether to set the urgent hint or not

void pidgin_setup_gtkspell ( GtkTextView *  textview  ) 

Sets up GtkSpell for the given GtkTextView, reporting errors if encountered.

This does nothing if Pidgin is not compiled with GtkSpell support.

Parameters:
textview The textview widget to setup spellchecking for.

void pidgin_setup_imhtml ( GtkWidget *  imhtml  ) 

Sets up a gtkimhtml widget, loads it with smileys, and sets the default signal handlers.

Parameters:
imhtml The gtkimhtml widget to setup.

void pidgin_setup_screenname_autocomplete ( GtkWidget *  entry,
GtkWidget *  optmenu,
gboolean  all 
)

Add autocompletion of screenames to an entry.

Deprecated:
For new code, use the equivalent: pidgin_setup_screenname_autocomplete_with_filter(entry, optmenu, pidgin_screenname_autocomplete_default_filter, GINT_TO_POINTER(all))
Parameters:
entry The GtkEntry on which to setup autocomplete.
optmenu A menu for accounts, returned by pidgin_account_option_menu_new(). If optmenu is not NULL, it'll be updated when a screenname is chosen from the autocomplete list.
all Whether to include screennames from disconnected accounts.

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.

Parameters:
entry The GtkEntry on which to setup autocomplete.
optmenu A menu for accounts, returned by gaim_gtk_account_option_menu_new(). If optmenu is not NULL, it'll be updated when a screenname is chosen from the autocomplete list.
filter_func A function for checking if an autocomplete entry should be shown. This can be NULL.
user_data The data to be passed to the filter_func function.

const char* pidgin_text_combo_box_entry_get_text ( GtkWidget *  widget  ) 

Retrieve the text from the entry of the simple text GtkComboBoxEntry equivalent.

Parameters:
widget The simple text GtkComboBoxEntry equivalent widget
Returns:
The text in the widget's entry. It must not be freed
Since:
2.2.0

GtkWidget* pidgin_text_combo_box_entry_new ( const char *  default_item,
GList *  items 
)

Create a simple text GtkComboBoxEntry equivalent.

Parameters:
default_item Initial contents of GtkEntry
items GList containing strings to add to GtkComboBox
Returns:
A newly created text GtkComboBox containing a GtkEntry child.
Since:
2.2.0

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.

Parameters:
widget The simple text GtkComboBoxEntry equivalent widget
text The text to set
Since:
2.2.0

void pidgin_toggle_sensitive ( GtkWidget *  widget,
GtkWidget *  to_toggle 
)

Toggles the sensitivity of a widget.

Parameters:
widget NULL. Used for signal handlers.
to_toggle The widget to toggle.

void pidgin_toggle_sensitive_array ( GtkWidget *  w,
GPtrArray *  data 
)

Toggles the sensitivity of all widgets in a pointer array.

Parameters:
w NULL. Used for signal handlers.
data The array containing the widgets to toggle.

void pidgin_toggle_showhide ( GtkWidget *  widget,
GtkWidget *  to_toggle 
)

Toggles the visibility of a widget.

Parameters:
widget NULL. Used for signal handlers.
to_toggle The widget to toggle.

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.

Sample Use: gtk_tree_view_set_search_equal_func(treeview, pidgin_tree_view_search_equal_func, search_data, search_data_destroy_cb);

void pidgin_treeview_popup_menu_position_func ( GtkMenu *  menu,
gint *  x,
gint *  y,
gboolean *  push_in,
gpointer  user_data 
)

A valid GtkMenuPositionFunc.

This is used to determine where to draw context menus when the menu is activated with the keyboard (shift+F10). If the menu is activated with the mouse, then you should just use GTK's built-in position function, because it does a better job of positioning the menu.

Parameters:
menu The menu we are positioning.
x Address of the gint representing the horizontal position where the menu shall be drawn. This is an output parameter.
y Address of the gint representing the vertical position where the menu shall be drawn. This is an output parameter.
push_in This is an output parameter?
user_data Not used by this particular position function.