changeset 20078:8c33d2e73060

merge of '13c22e794b21817fd09887f5a0d20def762f5203' and '8f765c8b1620e8ac488e2be4e987153c51ba2f0a'
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Sat, 15 Sep 2007 23:40:00 +0000
parents fee0eea83e58 (current diff) 669c152c0290 (diff)
children 3e3246eb204c 2fefc7eaa36f
files libpurple/protocols/jabber/.todo libpurple/protocols/oscar/.todo pidgin/gtkconv.c
diffstat 9 files changed, 48 insertions(+), 103 deletions(-) [+]
line wrap: on
line diff
--- 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")
 };