Mercurial > pidgin
changeset 21963:02153fd5a092
merge of 'a8b520be697763fb22572a1a5f50fe2d01738644'
and 'b258cff50ffc5f9b23d522eab379acdd543fd54c'
author | Evan Schoenberg <evan.s@dreskin.net> |
---|---|
date | Sun, 30 Dec 2007 10:07:50 +0000 |
parents | b693b6cbeae4 (diff) ad10d20bf0f4 (current diff) |
children | eaaac273d80c |
files | |
diffstat | 7 files changed, 63 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/COPYRIGHT Sun Dec 30 10:06:58 2007 +0000 +++ b/COPYRIGHT Sun Dec 30 10:07:50 2007 +0000 @@ -298,6 +298,7 @@ Jory A. Pratt Brent Priddy Justin Pryzby +Ignacio Casal Quinteiro Federicco Mena Quintero Yosef Radchenko David Raeman @@ -414,6 +415,7 @@ Zsombor Welker Andrew Wellington Adam Wendt +Simon Wenner Dave West Zac West Daniel Westermann-Clark
--- a/ChangeLog.win32 Sun Dec 30 10:06:58 2007 +0000 +++ b/ChangeLog.win32 Sun Dec 30 10:07:50 2007 +0000 @@ -1,3 +1,6 @@ +version 2.3.1 (12/7/2007): + * No changes + version 2.3.0 (11/24/2007): * Updated GTK+ to 2.12.1 (This was actually included in 2.2.2, but didn't get into the Changelog.) @@ -135,7 +138,7 @@ version 0.82 (08/26/2004): * Selecting away messages using the system tray icon works - (Thanks Fran?ois Gagn?) + (Thanks François Gagné) * Transparency plugin will save your settings again (Kevin Stange) * Updated gtk-wimp to 0.6.2 * Updated libpng to 1.2.6 (major security update)
--- a/libpurple/conversation.h Sun Dec 30 10:06:58 2007 +0000 +++ b/libpurple/conversation.h Sun Dec 30 10:07:50 2007 +0000 @@ -490,7 +490,8 @@ * * @param conv The conversation. * - * @return The conversation's name. + * @return The conversation's name. If the conversation is an IM with a PurpleBuddy, + * then it's the name of the PurpleBuddy. */ const char *purple_conversation_get_name(const PurpleConversation *conv); @@ -718,7 +719,7 @@ * * @param msg A PurpleConvMessage * - * @return The name of the sender of the message + * @return The message flags * * @since 2.2.0 */ @@ -729,7 +730,7 @@ * * @param msg A PurpleConvMessage * - * @return The name of the sender of the message + * @return The timestamp of the message * * @since 2.2.0 */
--- a/libpurple/signals.h Sun Dec 30 10:06:58 2007 +0000 +++ b/libpurple/signals.h Sun Dec 30 10:07:50 2007 +0000 @@ -44,11 +44,24 @@ /**************************************************************************/ /*@{*/ -/** - * Signal Connect Priorities +/** The priority of a signal connected using purple_signal_connect(). + * + * @see purple_signal_connect_priority() */ #define PURPLE_SIGNAL_PRIORITY_DEFAULT 0 +/** The largest signal priority; signals with this priority will be called + * <em>last</em>. (This is highest as in numerical value, not as in order of + * importance.) + * + * @see purple_signal_connect_priority(). + */ #define PURPLE_SIGNAL_PRIORITY_HIGHEST 9999 +/** The smallest signal priority; signals with this priority will be called + * <em>first</em>. (This is lowest as in numerical value, not as in order of + * importance.) + * + * @see purple_signal_connect_priority(). + */ #define PURPLE_SIGNAL_PRIORITY_LOWEST -9999 /** @@ -109,19 +122,21 @@ * @param handle The handle of the receiver. * @param func The callback function. * @param data The data to pass to the callback function. - * @param priority The priority with which the handler should be called. Signal handlers are called - * in order from PURPLE_SIGNAL_PRIORITY_LOWEST to PURPLE_SIGNAL_PRIORITY_HIGHEST. + * @param priority The priority with which the handler should be called. Signal + * handlers are called in ascending numerical order of @a + * priority from #PURPLE_SIGNAL_PRIORITY_LOWEST to + * #PURPLE_SIGNAL_PRIORITY_HIGHEST. * * @return The signal handler ID. * * @see purple_signal_disconnect() */ gulong purple_signal_connect_priority(void *instance, const char *signal, - void *handle, PurpleCallback func, void *data, int priority); + void *handle, PurpleCallback func, void *data, int priority); /** * Connects a signal handler to a signal for a particular object. - * (priority defaults to 0) + * (Its priority defaults to 0, aka #PURPLE_SIGNAL_PRIORITY_DEFAULT.) * * Take care not to register a handler function twice. Purple will * not correct any mistakes for you in this area. @@ -137,7 +152,7 @@ * @see purple_signal_disconnect() */ gulong purple_signal_connect(void *instance, const char *signal, - void *handle, PurpleCallback func, void *data); + void *handle, PurpleCallback func, void *data); /** * Connects a signal handler to a signal for a particular object. @@ -153,18 +168,22 @@ * @param handle The handle of the receiver. * @param func The callback function. * @param data The data to pass to the callback function. - * @param priority The order in which the signal should be added to the list + * @param priority The priority with which the handler should be called. Signal + * handlers are called in ascending numerical order of @a + * priority from #PURPLE_SIGNAL_PRIORITY_LOWEST to + * #PURPLE_SIGNAL_PRIORITY_HIGHEST. * * @return The signal handler ID. * * @see purple_signal_disconnect() */ gulong purple_signal_connect_priority_vargs(void *instance, const char *signal, - void *handle, PurpleCallback func, void *data, int priority); + void *handle, PurpleCallback func, void *data, int priority); /** * Connects a signal handler to a signal for a particular object. - * (priority defaults to 0) + * (Its priority defaults to 0, aka #PURPLE_SIGNAL_PRIORITY_DEFAULT.) + * * The signal handler will take a va_args of arguments, instead of * individual arguments. * @@ -182,7 +201,7 @@ * @see purple_signal_disconnect() */ gulong purple_signal_connect_vargs(void *instance, const char *signal, - void *handle, PurpleCallback func, void *data); + void *handle, PurpleCallback func, void *data); /** * Disconnects a signal handler from a signal on an object.
--- a/libpurple/xmlnode.c Sun Dec 30 10:06:58 2007 +0000 +++ b/libpurple/xmlnode.c Sun Dec 30 10:07:50 2007 +0000 @@ -552,6 +552,9 @@ g_strdup_printf("<?xml version='1.0' encoding='UTF-8' ?>" NEWLINE_S NEWLINE_S "%s", xml); g_free(xml); + if (len) + *len += sizeof("<?xml version='1.0' encoding='UTF-8' ?>" NEWLINE_S NEWLINE_S) - 1; + return xml_with_declaration; }
--- a/pidgin/gtkblist.c Sun Dec 30 10:06:58 2007 +0000 +++ b/pidgin/gtkblist.c Sun Dec 30 10:07:50 2007 +0000 @@ -4853,6 +4853,9 @@ #endif gtk_tooltips_force_window (tooltips); +#if GTK_CHECK_VERSION(2, 12, 0) + gtk_widget_set_name (tooltips->tip_window, "gtk-tooltips"); +#endif gtk_widget_ensure_style (tooltips->tip_window); style = gtk_widget_get_style (tooltips->tip_window); @@ -5037,8 +5040,9 @@ gtk_label_set_line_wrap(GTK_LABEL(gtkblist->headline_label), TRUE); gtk_box_pack_start(GTK_BOX(gtkblist->headline_hbox), gtkblist->headline_image, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(gtkblist->headline_hbox), gtkblist->headline_label, TRUE, TRUE, 0); - g_signal_connect(gtkblist->headline_hbox, - "style-set", + g_signal_connect(gtkblist->headline_label, /* connecting on headline_hbox doesn't work, because + the signal is not emitted when theme is changed */ + "style-set", G_CALLBACK(headline_style_set), NULL); g_signal_connect (gtkblist->headline_hbox,
--- a/pidgin/gtkstatusbox.c Sun Dec 30 10:06:58 2007 +0000 +++ b/pidgin/gtkstatusbox.c Sun Dec 30 10:07:50 2007 +0000 @@ -119,7 +119,10 @@ DATA_COLUMN, /** - * This column stores the GdkPixbuf for the status emblem. Currently only 'saved' is stored + * This column stores the GdkPixbuf for the status emblem. Currently only 'saved' is stored. + * In the GtkTreeModel for the dropdown, this is the stock-id (gchararray), and for the + * GtkTreeModel for the cell_view (for the account-specific statusbox), this is the prpl-icon + * (GdkPixbuf) of the account. */ EMBLEM_COLUMN, @@ -606,7 +609,7 @@ char aa_color[8]; PurpleSavedStatus *saved_status; char *primary, *secondary, *text; - GdkPixbuf *pixbuf; + GdkPixbuf *pixbuf, *emblem = NULL; GtkTreePath *path; gboolean account_status = FALSE; PurpleAccount *acct = (status_box->token_status_account) ? status_box->token_status_account : status_box->account; @@ -703,6 +706,7 @@ text = g_strdup_printf("%s - <span size=\"smaller\" color=\"%s\">%s</span>", purple_account_get_username(status_box->account), aa_color, secondary ? secondary : primary); + emblem = pidgin_create_prpl_icon(status_box->account, PIDGIN_PRPL_ICON_SMALL); } else if (secondary != NULL) { text = g_strdup_printf("%s<span size=\"smaller\" color=\"%s\"> - %s</span>", primary, aa_color, secondary); @@ -719,10 +723,14 @@ gtk_list_store_set(status_box->store, &(status_box->iter), ICON_COLUMN, pixbuf, TEXT_COLUMN, text, + EMBLEM_COLUMN, emblem, + EMBLEM_VISIBLE_COLUMN, (emblem != NULL), -1); if ((status_box->typing == 0) && (!status_box->connecting)) g_object_unref(pixbuf); g_free(text); + if (emblem) + g_object_unref(emblem); /* Make sure to activate the only row in the tree view */ path = gtk_tree_path_new_from_string("0"); @@ -1690,7 +1698,7 @@ status_box->arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_NONE); status_box->store = gtk_list_store_new(NUM_COLUMNS, G_TYPE_INT, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, - G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_STRING, G_TYPE_BOOLEAN); + G_TYPE_STRING, G_TYPE_POINTER, GDK_TYPE_PIXBUF, G_TYPE_BOOLEAN); status_box->dropdown_store = gtk_list_store_new(NUM_COLUMNS, G_TYPE_INT, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER, G_TYPE_STRING, G_TYPE_BOOLEAN); @@ -1775,10 +1783,13 @@ status_box->icon_rend = gtk_cell_renderer_pixbuf_new(); status_box->text_rend = gtk_cell_renderer_text_new(); + emblem_rend = gtk_cell_renderer_pixbuf_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(status_box->cell_view), status_box->icon_rend, FALSE); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(status_box->cell_view), status_box->text_rend, TRUE); + gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(status_box->cell_view), emblem_rend, FALSE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(status_box->cell_view), status_box->icon_rend, "pixbuf", ICON_COLUMN, NULL); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(status_box->cell_view), status_box->text_rend, "markup", TEXT_COLUMN, NULL); + gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(status_box->cell_view), emblem_rend, "pixbuf", EMBLEM_COLUMN, "visible", EMBLEM_VISIBLE_COLUMN, NULL); #if GTK_CHECK_VERSION(2, 6, 0) g_object_set(status_box->text_rend, "ellipsize", PANGO_ELLIPSIZE_END, NULL); #endif