pidgin/pidgin

merge of 'c6cf2fd006a6d615e17367baecf69124d6ba6493'

2007-09-15, Sadrul Habib Chowdhury
5f024b6f772a
merge of 'c6cf2fd006a6d615e17367baecf69124d6ba6493'
and '8b162244295156c861d192f47fdcbbf9084429f4'
--- a/ChangeLog Sat Sep 15 23:36:43 2007 +0000
+++ b/ChangeLog Sat Sep 15 23:40:00 2007 +0000
@@ -10,6 +10,8 @@
the conversation window/tab.
* A music emblem is displayed in the buddy list for a buddy if we know she
is listening to some soothing music.
+ * 'Move to' menu in buddy list context menu for moving buddies to
+ other groups
Version 2.2.0 (09/13/2007):
http://developer.pidgin.im/query?status=closed&milestone=2.2.0
--- a/libpurple/protocols/jabber/.todo Sat Sep 15 23:36:43 2007 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-<todo version="0.1.19">
- <note priority="medium" time="1036044198">
- Browsing
- </note>
- <note priority="medium" time="1036044416">
- Server Admin operations (messages, etc.)
- </note>
- <note priority="medium" time="1036044448">
- Add option for user info to be published or not in JUD.
- </note>
- <note priority="medium" time="1036044583">
- Delete server account.
- </note>
- <note priority="medium" time="1036045649">
- Permit/Deny buddy support.
- </note>
- <note priority="medium" time="1036046413">
- a populate roster from local blist. most useful if you want to migrate a blist from one account to another, also useful if something freaky happens and the server blist is lost.
- </note>
- <note priority="medium" time="1037892911">
- info
- <note priority="medium" time="1037893000">
- formatted. enhancement-request so that the birthday field in the setinfo form would split up into relevant fields allowing for a strict syntax (like year--month--day or so, perhaps even dropdown menus)
- </note>
- </note>
- <note priority="verylow" time="1036044192">
- Jabber Transports (having them show up on the buddy list should be fairly easy; having an appropriate right-click menu for them should also be somewhat easy. Providing a UI for adding transports should be rather difficult.)
- </note>
-</todo>
--- a/libpurple/protocols/oscar/.todo Sat Sep 15 23:36:43 2007 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-<todo version="0.1.19">
- <note priority="high" time="1036040788">
- watch for aol's upcoming increased aim/icq merge
- </note>
- <note priority="medium" time="1036040405">
- AIM
- <note priority="high" time="1036040899">
- option to ignore chat room invitations. (this is something you could vary conceivably want to be done per account, so perhaps a protocol action would be best)
- </note>
- <note priority="medium" time="1092939731">
- buddies in Recent Buddies don't seem to delete right
- </note>
- <note priority="low" time="1036040980">
- direct im
- <note priority="veryhigh" time="1036040919">
- some way to close direct connect w/out closing convo.
- </note>
- <note priority="low" time="1036041084">
- failed direct im attempt should allow new attempt some way to cancel an attempt that isn't happening
- </note>
- </note>
- <note priority="verylow" time="1036041121">
- Voice Chat
- </note>
- </note>
- <note priority="medium" time="1036040416">
- ICQ
- <note priority="veryhigh" time="1036041206">
- more privacy options
- </note>
- <note priority="veryhigh" time="1036041223">
- increased authorization support
- <note priority="medium" time="1038877503">
- add info to dialog requesting autorization to allow you to check the info of the person who is requesting
- </note>
- </note>
- <note priority="high" time="1036041199">
- color support
- </note>
- <note priority="high" time="1036041251">
- set status message and of course when libpurple can set them, it needs to be able to get the ones it sets. (yes this is redundant. its a reflection of my current mood)
- </note>
- <note priority="medium" time="1036041165">
- Chat (this is different from aim chat)
- </note>
- <note priority="medium" time="1036041190">
- New User Registration
- </note>
- <note priority="medium" time="1036041215">
- more info support
- </note>
- <note priority="medium" time="1036041260">
- search for users
- </note>
- <note priority="low" time="1036041152">
- set the Nickname to be the self-alias
- </note>
- <note priority="low" time="1092939688">
- icq i18n without breaking aim
- </note>
- </note>
- <note priority="medium" time="1036040870">
- The order of groups and buddies in the server list is not updated when groups and buddies are re-arranged locally in libpurple.
- </note>
-</todo>
--- a/libpurple/server.c Sat Sep 15 23:36:43 2007 +0000
+++ b/libpurple/server.c Sat Sep 15 23:40:00 2007 +0000
@@ -143,6 +143,7 @@
*/
auto_reply_pref = purple_prefs_get_string("/purple/away/auto_reply");
if ((gc->flags & PURPLE_CONNECTION_AUTO_RESP) &&
+ flags & PURPLE_MESSAGE_AUTO_RESP &&
!purple_presence_is_available(presence) &&
strcmp(auto_reply_pref, "never")) {
--- a/pidgin/gtkblist.c Sat Sep 15 23:36:43 2007 +0000
+++ b/pidgin/gtkblist.c Sat Sep 15 23:40:00 2007 +0000
@@ -315,6 +315,13 @@
serv_send_file(b->account->gc, b->name, NULL);
}
+static void gtk_blist_menu_move_to_cb(GtkWidget *w, PurpleBlistNode *node)
+{
+ PurpleBlistNode *group = g_object_get_data(w, "groupnode");
+ purple_blist_add_contact(node, group, NULL);
+
+}
+
static void gtk_blist_menu_autojoin_cb(GtkWidget *w, PurpleChat *chat)
{
purple_blist_node_set_bool((PurpleBlistNode*)chat, "gtk-autojoin",
@@ -1243,6 +1250,34 @@
g_list_free(ll);
}
+
+
+static void
+pidgin_append_blist_node_move_to_menu(GtkWidget *menu, PurpleBlistNode *node)
+{
+ GtkWidget *submenu;
+ GtkWidget *menuitem;
+ PurpleBlistNode *group;
+
+ menuitem = gtk_menu_item_new_with_label(_("Move to"));
+ gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuitem);
+ gtk_widget_show(menuitem);
+
+ submenu = gtk_menu_new();
+ gtk_menu_item_set_submenu(menuitem, submenu);
+
+ for (group = purple_blist_get_root(); group; group = group->next) {
+ if (group->type != PURPLE_BLIST_GROUP_NODE)
+ continue;
+ if (group == node->parent)
+ continue;
+ menuitem = pidgin_new_item_from_stock(submenu, purple_group_get_name(group), NULL,
+ G_CALLBACK(gtk_blist_menu_move_to_cb), node, 0, 0, NULL);
+ g_object_set_data(G_OBJECT(menuitem), "groupnode", group);
+ }
+ gtk_widget_show_all(submenu);
+}
+
void
pidgin_blist_make_buddy_menu(GtkWidget *menu, PurpleBuddy *buddy, gboolean sub) {
PurplePluginProtocolInfo *prpl_info;
@@ -1294,6 +1329,9 @@
(PurpleBlistNode *)buddy);
pidgin_append_blist_node_extended_menu(menu, (PurpleBlistNode *)buddy);
+ if (!contact_expanded)
+ pidgin_append_blist_node_move_to_menu(menu, contact);
+
if (((PurpleBlistNode*)buddy)->parent && ((PurpleBlistNode*)buddy)->parent->child->next &&
!sub && !contact_expanded) {
pidgin_separator(menu);
@@ -1434,7 +1472,6 @@
node, 0, 0, NULL);
pidgin_append_blist_node_extended_menu(menu, node);
-
return menu;
}
@@ -5168,7 +5205,7 @@
STATUS_ICON_COLUMN, NULL,
NAME_COLUMN, title,
NODE_COLUMN, gnode,
- BGCOLOR_COLUMN, &bgcolor,
+ /* BGCOLOR_COLUMN, &bgcolor, */
GROUP_EXPANDER_COLUMN, TRUE,
GROUP_EXPANDER_VISIBLE_COLUMN, TRUE,
CONTACT_EXPANDER_VISIBLE_COLUMN, FALSE,
--- a/pidgin/gtkcellrendererexpander.c Sat Sep 15 23:36:43 2007 +0000
+++ b/pidgin/gtkcellrendererexpander.c Sat Sep 15 23:40:00 2007 +0000
@@ -269,6 +269,7 @@
cell_area->x + cell->xpad + (width / 2),
cell_area->y + cell->ypad + (height / 2),
cell->is_expanded ? GTK_EXPANDER_EXPANDED : GTK_EXPANDER_COLLAPSED);
+ gtk_paint_hline (widget->style, window, state, NULL, widget, NULL, 0, widget->allocation.width, cell_area->y + cell_area->height);
}
static gboolean pidgin_cell_renderer_expander_activate(GtkCellRenderer *r,
--- a/pidgin/gtkconv.c Sat Sep 15 23:36:43 2007 +0000
+++ b/pidgin/gtkconv.c Sat Sep 15 23:40:00 2007 +0000
@@ -6414,8 +6414,13 @@
if ((purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) &&
(gtkconv->u.im->anim))
{
+ PurpleBuddy *buddy = purple_find_buddy(conv->account, conv->name);
window_icon =
gdk_pixbuf_animation_get_static_image(gtkconv->u.im->anim);
+
+ if (buddy && !PURPLE_BUDDY_IS_ONLINE(buddy))
+ gdk_pixbuf_saturate_and_pixelate(window_icon, window_icon, 0.0, FALSE);
+
g_object_ref(window_icon);
l = g_list_append(l, window_icon);
} else {
--- a/pidgin/pixmaps/emotes/default/24/default.theme.in Sat Sep 15 23:36:43 2007 +0000
+++ b/pidgin/pixmaps/emotes/default/24/default.theme.in Sat Sep 15 23:40:00 2007 +0000
@@ -262,7 +262,6 @@
shout.png >:o >:O
beer.png *DRINK*
smile-big.png :-D :D
-moneymouth.png :-$
glasses-cool.png 8-)
in-love.png *IN\ LOVE*
! skywalker.png C:-) c:-) C:) c:)
--- a/pidgin/plugins/pidginrc.c Sat Sep 15 23:36:43 2007 +0000
+++ b/pidgin/plugins/pidginrc.c Sat Sep 15 23:40:00 2007 +0000
@@ -57,22 +57,16 @@
static const gchar *font_prefs[] = {
"/plugins/gtk/purplerc/font/*pidgin_conv_entry",
- "/plugins/gtk/purplerc/font/*pidgin_conv_imhtml",
- "/plugins/gtk/purplerc/font/*pidgin_log_imhtml",
"/plugins/gtk/purplerc/font/*pidgin_request_imhtml",
"/plugins/gtk/purplerc/font/*pidgin_notify_imhtml",
};
static const gchar *font_prefs_set[] = {
"/plugins/gtk/purplerc/set/font/*pidgin_conv_entry",
- "/plugins/gtk/purplerc/set/font/*pidgin_conv_imhtml",
- "/plugins/gtk/purplerc/set/font/*pidgin_log_imhtml",
"/plugins/gtk/purplerc/set/font/*pidgin_request_imhtml",
"/plugins/gtk/purplerc/set/font/*pidgin_notify_imhtml",
};
static const gchar *font_names[] = {
N_("Conversation Entry"),
- N_("Conversation History"),
- N_("Log Viewer"),
N_("Request Dialog"),
N_("Notify Dialog")
};