changeset 16118:fb4efe5ab1fa

merge of '01e42cca23c49f916ae6e003641408af389cf912' and '65c6f99cb9d7e4af07707353e942056f8e318afc'
author Richard Laager <rlaager@wiktel.com>
date Sat, 14 Apr 2007 19:38:21 +0000
parents f3559f8d2fc1 (current diff) 85cb31e3d4d8 (diff)
children e57d9d5e5c86
files
diffstat 13 files changed, 66 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/.mtn-ignore	Sat Apr 14 19:06:19 2007 +0000
+++ b/.mtn-ignore	Sat Apr 14 19:38:21 2007 +0000
@@ -29,6 +29,7 @@
 pidgin.desktop
 pidgin.spec
 pidgin-.*.tar.gz
+pidgin-.*.tar.bz2
 pidgin/pidgin
 pidgin/plugins/musicmessaging/music-messaging-bindings.c
 pidgin/plugins/perl/common/Makefile.PL
--- a/ChangeLog	Sat Apr 14 19:06:19 2007 +0000
+++ b/ChangeLog	Sat Apr 14 19:38:21 2007 +0000
@@ -77,6 +77,7 @@
 	   button on the toolbar.)
 	* Performance while joining large chat rooms has been significantly
 	  improved (Aaron Sheldon, Google Summer of Code)
+	* Bi-Directional text support improvements for GtkIMHtml (Shlomi Loubaton)
 
 	Sounds:
 	* Beautiful new default sounds (Brad Turcotte)
@@ -138,6 +139,7 @@
 	* Added support for sending (with the /nudge command) and receiving
 	  "nudges" (Julien Cegarra, Martin Bayard)
 	* Added an account action to open your Hotmail inbox from MSN
+	* Bi-directional text is correctly handled now (Shlomi Loubaton)
 
 	Yahoo Features:
 	* Stealth Settings have been implemented
@@ -192,6 +194,8 @@
 	* Removed the Napster and TOC protocols plugins
 
 	Other Noteworthy Changes:
+	* The project has new names - libpurple for the core, Pidgin for the Gtk+
+	  UI and Finch for the ncurses based console UI (AOL LLC)
 	* UPnP and NAT traversal support (Adam J. Warrington, Google Summer of
 	  Code)
 	* The modify account dialog now contains two tabs, which should display
@@ -217,6 +221,7 @@
 	  time instead of X11 idle time (Michael Culbertson)
 	* Autocomplete in the buddy pounce dialog (Sadrul Habib Chowdhury)
 	* Non-blocking socket I/O is used in most protocol plugins
+	* All-new icons all over the place (Hylke Bons)
 
 	Preference Changes:
 	* Preferences have been substantially reorganized and cleaned up
--- a/ChangeLog.API	Sat Apr 14 19:06:19 2007 +0000
+++ b/ChangeLog.API	Sat Apr 14 19:38:21 2007 +0000
@@ -1,6 +1,16 @@
 Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul
 
 version 2.0.0:
+	Please note all functions, defines, and data structures have been
+	re-namespaced to match the new names of Pidgin, Finch, and libpurple.
+	All gaim_gtk_* functions are now pidgin_*, former libgaim functions are
+	now purple_*.  Please consult our doxygen documentation for a complete
+	reference.
+
+	The gaim-compat.h header exists to provide an API compatibility layer
+	for libpurple functions.  As an API compatibility layer, it must be
+	included at compile time to be of use.
+
 	Changed:
 	* All the status stuff.  Yay!
 	* gaim_prefs_connect_callback(), added handle parameter
--- a/finch/gntblist.c	Sat Apr 14 19:06:19 2007 +0000
+++ b/finch/gntblist.c	Sat Apr 14 19:38:21 2007 +0000
@@ -446,6 +446,8 @@
 		return;
 	node->ui_data = gnt_tree_add_row_after(GNT_TREE(ggblist->tree), group,
 			gnt_tree_create_row(GNT_TREE(ggblist->tree), get_display_name(node)), NULL, NULL);
+	gnt_tree_set_expanded(GNT_TREE(ggblist->tree), node,
+		!purple_blist_node_get_bool(node, "collapsed"));
 }
 
 static const char *
@@ -2105,6 +2107,13 @@
 }
 
 static void
+group_collapsed(GntWidget *widget, PurpleBlistNode *node, gboolean collapsed, gpointer null)
+{
+	if (PURPLE_BLIST_NODE_IS_GROUP(node))
+		purple_blist_node_set_bool(node, "collapsed", collapsed);
+}
+
+static void
 blist_show(PurpleBuddyList *list)
 {
 	if (ggblist == NULL)
@@ -2171,6 +2180,7 @@
 	g_signal_connect(G_OBJECT(ggblist->tree), "selection_changed", G_CALLBACK(selection_changed), ggblist);
 	g_signal_connect(G_OBJECT(ggblist->tree), "key_pressed", G_CALLBACK(key_pressed), ggblist);
 	g_signal_connect(G_OBJECT(ggblist->tree), "context-menu", G_CALLBACK(context_menu), ggblist);
+	g_signal_connect(G_OBJECT(ggblist->tree), "collapse-toggled", G_CALLBACK(group_collapsed), NULL);
 	g_signal_connect_after(G_OBJECT(ggblist->tree), "clicked", G_CALLBACK(blist_clicked), ggblist);
 	g_signal_connect(G_OBJECT(ggblist->tree), "activate", G_CALLBACK(selection_activate), ggblist);
 	g_signal_connect_data(G_OBJECT(ggblist->tree), "gained-focus", G_CALLBACK(draw_tooltip),
--- a/finch/libgnt/genmarshal	Sat Apr 14 19:06:19 2007 +0000
+++ b/finch/libgnt/genmarshal	Sat Apr 14 19:38:21 2007 +0000
@@ -8,3 +8,4 @@
 BOOLEAN:POINTER,POINTER,POINTER
 BOOLEAN:INT,INT,INT,POINTER
 VOID:STRING,STRING
+VOID:POINTER,BOOLEAN
--- a/finch/libgnt/gnttree.c	Sat Apr 14 19:06:19 2007 +0000
+++ b/finch/libgnt/gnttree.c	Sat Apr 14 19:38:21 2007 +0000
@@ -13,6 +13,7 @@
 	SIG_SELECTION_CHANGED,
 	SIG_SCROLLED,
 	SIG_TOGGLED,
+	SIG_COLLAPSED,
 	SIGS,
 };
 
@@ -702,6 +703,7 @@
 		{
 			row->collapsed = !row->collapsed;
 			redraw_tree(tree);
+			g_signal_emit(tree, signals[SIG_COLLAPSED], 0, row->key, row->collapsed);
 		}
 		else if (row && row->choice)
 		{
@@ -855,6 +857,14 @@
 					 NULL, NULL,
 					 g_cclosure_marshal_VOID__POINTER,
 					 G_TYPE_NONE, 1, G_TYPE_POINTER);
+	signals[SIG_COLLAPSED] = 
+		g_signal_new("collapse-toggled",
+					 G_TYPE_FROM_CLASS(klass),
+					 G_SIGNAL_RUN_LAST,
+					 0,
+					 NULL, NULL,
+					 gnt_closure_marshal_VOID__POINTER_BOOLEAN,
+					 G_TYPE_NONE, 2, G_TYPE_POINTER, G_TYPE_BOOLEAN);
 
 	gnt_bindable_class_register_action(bindable, "move-up", action_up,
 				GNT_KEY_UP, NULL);
--- a/libpurple/protocols/irc/irc.c	Sat Apr 14 19:06:19 2007 +0000
+++ b/libpurple/protocols/irc/irc.c	Sat Apr 14 19:38:21 2007 +0000
@@ -462,6 +462,8 @@
 
 	purple_circ_buffer_destroy(irc->outbuf);
 
+	g_free(irc->mode_chars);
+
 	g_free(irc);
 }
 
@@ -476,7 +478,7 @@
 	else
 		args[0] = who;
 
-	plain = purple_unescape_html(what);
+	purple_markup_html_to_xhtml(what, NULL, &plain);
 	args[1] = plain;
 
 	irc_cmd_privmsg(irc, "msg", NULL, args);
@@ -688,7 +690,7 @@
 		return irc_parse_cmd(irc, convo->name, what + 1);
 	}
 #endif
-	tmp = purple_unescape_html(what);
+	purple_markup_html_to_xhtml(what, NULL, &tmp);
 	args[0] = convo->name;
 	args[1] = tmp;
 
--- a/libpurple/protocols/irc/irc.h	Sat Apr 14 19:06:19 2007 +0000
+++ b/libpurple/protocols/irc/irc.h	Sat Apr 14 19:38:21 2007 +0000
@@ -84,6 +84,8 @@
 	guint writeh;
 
 	time_t recv_time;
+
+	char *mode_chars;
 };
 
 struct irc_buddy {
--- a/libpurple/protocols/irc/msgs.c	Sat Apr 14 19:06:19 2007 +0000
+++ b/libpurple/protocols/irc/msgs.c	Sat Apr 14 19:38:21 2007 +0000
@@ -40,8 +40,6 @@
                                    const char *from, const char *to,
                                    const char *rawmsg, gboolean notice);
 
-static char *mode_chars = NULL;
-
 static char *irc_mask_nick(const char *mask)
 {
 	char *end, *buf;
@@ -90,7 +88,7 @@
 		char *val;
 		if (!strncmp(features[i], "PREFIX=", 7)) {
 			if ((val = strchr(features[i] + 7, ')')) != NULL)
-				mode_chars = g_strdup(val + 1);
+				irc->mode_chars = g_strdup(val + 1);
 		}
 	}
 }
@@ -477,8 +475,8 @@
 				} else if(*cur == '+') {
 					f = PURPLE_CBFLAGS_VOICE;
 					cur++;
-				} else if(mode_chars
-					  && strchr(mode_chars, *cur)) {
+				} else if(irc->mode_chars
+					  && strchr(irc->mode_chars, *cur)) {
 					cur++;
 				}
 				tmp = g_strndup(cur, end - cur);
--- a/libpurple/protocols/yahoo/util.c	Sat Apr 14 19:06:19 2007 +0000
+++ b/libpurple/protocols/yahoo/util.c	Sat Apr 14 19:38:21 2007 +0000
@@ -622,6 +622,18 @@
 								break;
 							}
 						}
+					} else if (!g_ascii_strncasecmp(&src[i+1], "SPAN", j - i - 1)) { /* drop span tags */
+						while (1) {
+							if (++j >= len) {
+								g_string_append(dest, &src[i]);
+								i = len;
+								break;
+							}
+							if (src[j] == '>') {
+								i = j;
+								break;
+							}
+						}
 					} else if (g_ascii_strncasecmp(&src[i+1], "FONT", j - i - 1)) { /* not interested! */
 						while (1) {
 							if (++j >= len) {
@@ -668,6 +680,8 @@
 							g_string_append_c(dest, '\n');
 						} else if (!g_ascii_strncasecmp(&src[i+1], "/BODY", sublen)) {
 							/* mmm, </body> tags. *BURP* */
+						} else if (!g_ascii_strncasecmp(&src[i+1], "/SPAN", sublen)) {
+							/* </span> tags. dangerously close to </spam> */
 						} else if (!g_ascii_strncasecmp(&src[i+1], "/FONT", sublen) && g_queue_peek_tail(tags)) {
 							char *etag, *cl;
 
--- a/pidgin.spec.in	Sat Apr 14 19:06:19 2007 +0000
+++ b/pidgin.spec.in	Sat Apr 14 19:38:21 2007 +0000
@@ -460,6 +460,9 @@
 %endif
 
 %changelog
+* Thu Apr 12 2007 Stu Tomlinson <stu@nosnilmot.com>
+- Actually move libpurple.so.* to the libpurple RPM
+
 * Wed Apr 11 2007 Stu Tomlinson <stu@nosnilmot.com>
 - Separate out libpurple, libpurple-devel and finch-devel
 
--- a/pidgin/plugins/musicmessaging/Makefile.am	Sat Apr 14 19:06:19 2007 +0000
+++ b/pidgin/plugins/musicmessaging/Makefile.am	Sat Apr 14 19:38:21 2007 +0000
@@ -1,14 +1,14 @@
 EXTRA_DIST = \
 	music.png
 
-musicmessagingdir = $(libdir)/gaim
+musicmessagingdir = $(libdir)/pidgin
 
 musicmessaging_la_LDFLAGS = -module -avoid-version
 
 if PLUGINS
 if ENABLE_DBUS
 
-musicmessagingpixdir = $(datadir)/pixmaps/gaim/buttons
+musicmessagingpixdir = $(datadir)/pixmaps/pidgin/buttons
 musicmessagingpix_DATA = music.png
 
 musicmessaging_LTLIBRARIES = musicmessaging.la
--- a/pidgin/plugins/musicmessaging/musicmessaging.c	Sat Apr 14 19:06:19 2007 +0000
+++ b/pidgin/plugins/musicmessaging/musicmessaging.c	Sat Apr 14 19:38:21 2007 +0000
@@ -683,7 +683,7 @@
 static void
 init_plugin(PurplePlugin *plugin) {
 	purple_prefs_add_none("/plugins/gtk/musicmessaging");
-	purple_prefs_add_string("/plugins/gtk/musicmessaging/editor_path", "/usr/local/bin/gscore");
+	purple_prefs_add_string("/plugins/gtk/musicmessaging/editor_path", "/usr/bin/gscore");
 }
 
 PURPLE_INIT_PLUGIN(musicmessaging, init_plugin, info);