changeset 20059:dae7c3c091e0

merge of '9f5274448f45f6503b6ea291ada3c4e0e00b8c52' and 'db4583bc475b46b7cb9baa38229f12473d331870'
author Sean Egan <seanegan@gmail.com>
date Sat, 15 Sep 2007 20:35:41 +0000
parents ee445048e458 (diff) 5103485b4b26 (current diff)
children ed5254916b75
files ChangeLog libpurple/protocols/jabber/.todo libpurple/protocols/oscar/.todo pidgin/gtkblist.c
diffstat 5 files changed, 40 insertions(+), 102 deletions(-) [+]
line wrap: on
line diff
--- a/libpurple/protocols/jabber/.todo	Sat Sep 15 18:27:01 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 18:27:01 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/pidgin/gtkblist.c	Sat Sep 15 18:27:01 2007 +0000
+++ b/pidgin/gtkblist.c	Sat Sep 15 20:35:41 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 18:27:01 2007 +0000
+++ b/pidgin/gtkcellrendererexpander.c	Sat Sep 15 20:35:41 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/plugins/pidginrc.c	Sat Sep 15 18:27:01 2007 +0000
+++ b/pidgin/plugins/pidginrc.c	Sat Sep 15 20:35:41 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")
 };