changeset 18472:58aeac6930fa

merge of '1bc2ea23969174b3ad8cb5bebc864bc222d2d5ea' and '76fc29e65404bf23ab7b09fc64d4312cf43637a0'
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Tue, 10 Jul 2007 08:58:23 +0000
parents c34981ad802a (current diff) 6a8a142cd600 (diff)
children 38ff7582c569 3131e25b8925 2cbc6d5036b7 5c1ed6296b56
files
diffstat 32 files changed, 536 insertions(+), 237 deletions(-) [+]
line wrap: on
line diff
--- a/.mtn-ignore	Tue Jul 10 08:54:18 2007 +0000
+++ b/.mtn-ignore	Tue Jul 10 08:58:23 2007 +0000
@@ -9,7 +9,7 @@
 .*\.dll$
 .*\.exe$
 intltool-.*
-Doxyfile$
+Doxyfile(\.mingw)?$
 aclocal.m4
 compile
 config.cache
--- a/Makefile.mingw	Tue Jul 10 08:54:18 2007 +0000
+++ b/Makefile.mingw	Tue Jul 10 08:58:23 2007 +0000
@@ -56,7 +56,7 @@
 #build an expression for `find` to use to ignore the above files
 EXTERNAL_DLLS_FIND_EXP = $(patsubst %,-o -name %,$(EXTERNAL_DLLS))
 
-.PHONY: all install installer installer_nogtk installer_debug installers clean uninstall create_release_install_dir
+.PHONY: all docs install installer installer_nogtk installer_debug installers clean uninstall create_release_install_dir
 
 all: $(PIDGIN_CONFIG_H)
 	$(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE)
@@ -88,11 +88,19 @@
 
 installers: installer installer_nogtk installer_debug
 
+Doxyfile.mingw: Doxyfile.in
+	sed -e "s/@PACKAGE@/pidgin/" -e "s/@VERSION@/$(PIDGIN_VERSION)/" -e "s/@top_srcdir@/$(PIDGIN_TREE_TOP)/g" -e "s/@enable_dot@/NO/" Doxyfile.in > Doxyfile.mingw
+
+docs: Doxyfile.mingw
+	@echo "Running doxygen..."
+	@doxygen Doxyfile.mingw
+
 clean:
 	$(MAKE) -C $(PURPLE_PO_TOP) -f $(MINGW_MAKEFILE) clean
 	$(MAKE) -C $(PIDGIN_TOP) -f $(MINGW_MAKEFILE) clean
 	$(MAKE) -C $(PURPLE_TOP) -f $(MINGW_MAKEFILE) clean
 	rm -f $(PIDGIN_CONFIG_H) ./VERSION pidgin*.exe
+	rm -rf doc/html Doxyfile.mingw
 
 uninstall:
 	rm -rf $(PURPLE_INSTALL_PERLMOD_DIR) $(PIDGIN_INSTALL_PLUGINS_DIR) $(PURPLE_INSTALL_PO_DIR) $(PIDGIN_INSTALL_DIR) $(PIDGIN_INSTALL_DIR).release
--- a/finch/finch.c	Tue Jul 10 08:54:18 2007 +0000
+++ b/finch/finch.c	Tue Jul 10 08:58:23 2007 +0000
@@ -55,17 +55,36 @@
 	purple_debug_set_ui_ops(finch_debug_get_ui_ops());
 }
 
+/* XXX: this "leaks" a hashtable on shutdown.  I'll let
+ * the finch guys decide if they want to go through the trouble
+ * of properly freeing it, since their quit function doesn't
+ * live in this file */
+
+static GHashTable *ui_info = NULL;
+
+static GHashTable *finch_ui_get_info()
+{
+	if(NULL == ui_info) {
+		ui_info = g_hash_table_new(g_str_hash, g_str_equal);
+
+		g_hash_table_insert(ui_info, "name", (char*)_("Finch"));
+		g_hash_table_insert(ui_info, "version", VERSION);
+	}
+
+	return ui_info;
+}
+
 static PurpleCoreUiOps core_ops =
 {
 	finch_prefs_init,
 	debug_init,
 	gnt_ui_init,
 	gnt_ui_uninit,
+	finch_ui_get_info,
 
 	/* padding */
 	NULL,
 	NULL,
-	NULL,
 	NULL
 };
 
--- a/libpurple/blist.h	Tue Jul 10 08:54:18 2007 +0000
+++ b/libpurple/blist.h	Tue Jul 10 08:58:23 2007 +0000
@@ -635,7 +635,7 @@
 /**
  * Finds a group by name
  *
- * @param name    The groups name
+ * @param name    The group's name
  * @return        The group or NULL if the group does not exist
  */
 PurpleGroup *purple_find_group(const char *name);
--- a/libpurple/core.c	Tue Jul 10 08:54:18 2007 +0000
+++ b/libpurple/core.c	Tue Jul 10 08:58:23 2007 +0000
@@ -764,3 +764,12 @@
 	g_free(status_file);
 	return TRUE;
 }
+
+GHashTable* purple_core_get_ui_info() {
+	PurpleCoreUiOps *ops = purple_core_get_ui_ops();
+
+	if(NULL == ops || NULL == ops->get_ui_info)
+		return NULL;
+
+	return ops->get_ui_info();
+}
--- a/libpurple/core.h	Tue Jul 10 08:54:18 2007 +0000
+++ b/libpurple/core.h	Tue Jul 10 08:58:23 2007 +0000
@@ -34,11 +34,11 @@
 	void (*debug_ui_init)(void); /* Unfortunate necessity. */
 	void (*ui_init)(void);
 	void (*quit)(void);
+	GHashTable* (*get_ui_info)(void);
 
 	void (*_purple_reserved1)(void);
 	void (*_purple_reserved2)(void);
 	void (*_purple_reserved3)(void);
-	void (*_purple_reserved4)(void);
 } PurpleCoreUiOps;
 
 #ifdef __cplusplus
@@ -133,6 +133,17 @@
  */
 gboolean purple_core_ensure_single_instance(void);
 
+/**
+ * Returns a hashtable containing various information about the UI
+ *
+ * @return A GHashTable with strings for keys and values.  This
+ * hash table must not be freed.
+ *
+ * @since 2.1.0
+ *
+ */
+GHashTable* purple_core_get_ui_info(void);
+
 #ifdef __cplusplus
 }
 #endif
--- a/libpurple/protocols/jabber/iq.c	Tue Jul 10 08:54:18 2007 +0000
+++ b/libpurple/protocols/jabber/iq.c	Tue Jul 10 08:58:23 2007 +0000
@@ -19,6 +19,7 @@
  *
  */
 #include "internal.h"
+#include "core.h"
 #include "debug.h"
 #include "prefs.h"
 #include "util.h"
@@ -250,6 +251,8 @@
 	type = xmlnode_get_attrib(packet, "type");
 
 	if(type && !strcmp(type, "get")) {
+		GHashTable *ui_info;
+		const char *ui_name = NULL, *ui_version = NULL;
 
 		if(!purple_prefs_get_bool("/plugins/prpl/jabber/hide_os")) {
 			struct utsname osinfo;
@@ -268,9 +271,23 @@
 
 		query = xmlnode_get_child(iq->node, "query");
 
-		/* TODO: ask the core for the version of libpurple and the name and version of the UI */
-		xmlnode_insert_data(xmlnode_new_child(query, "name"), "libpurple", -1);
-		xmlnode_insert_data(xmlnode_new_child(query, "version"), VERSION, -1);
+		ui_info = purple_core_get_ui_info();
+
+		if(NULL != ui_info) {
+			ui_name = g_hash_table_lookup(ui_info, "name");
+			ui_version = g_hash_table_lookup(ui_info, "version");
+		}
+
+		if(NULL != ui_name && NULL != ui_version) {
+			char *version_complete = g_strdup_printf("%s (libpurple " VERSION ")", ui_version);
+			xmlnode_insert_data(xmlnode_new_child(query, "name"), ui_name, -1);
+			xmlnode_insert_data(xmlnode_new_child(query, "version"), version_complete, -1);
+			g_free(version_complete);
+		} else {
+			xmlnode_insert_data(xmlnode_new_child(query, "name"), "libpurple", -1);
+			xmlnode_insert_data(xmlnode_new_child(query, "version"), VERSION, -1);
+		}
+
 		if(os) {
 			xmlnode_insert_data(xmlnode_new_child(query, "os"), os, -1);
 			g_free(os);
--- a/pidgin/eggtrayicon.c	Tue Jul 10 08:54:18 2007 +0000
+++ b/pidgin/eggtrayicon.c	Tue Jul 10 08:58:23 2007 +0000
@@ -543,7 +543,7 @@
       xdisplay = egg_tray_icon_get_x_display(icon);
 
       if (xdisplay == NULL)
-        return;
+        return 0;
 
       ev.type = ClientMessage;
       ev.window = (Window)gtk_plug_get_id (GTK_PLUG (icon));
--- a/pidgin/gtkaccount.c	Tue Jul 10 08:54:18 2007 +0000
+++ b/pidgin/gtkaccount.c	Tue Jul 10 08:58:23 2007 +0000
@@ -2088,7 +2088,6 @@
 	gtk_notebook_set_current_page(GTK_NOTEBOOK(accounts_window->notebook),1);
 
 	set_account(accounts_window->model, &iter, account, global_buddyicon);
-	gtk_window_present(GTK_WINDOW(pidgin_blist_get_default_gtk_blist()->window));
 }
 
 static gboolean
--- a/pidgin/gtkconv.c	Tue Jul 10 08:54:18 2007 +0000
+++ b/pidgin/gtkconv.c	Tue Jul 10 08:58:23 2007 +0000
@@ -184,7 +184,6 @@
 static void pidgin_conv_update_fields(PurpleConversation *conv, PidginConvFields fields);
 static void focus_out_from_menubar(GtkWidget *wid, PidginWindow *win);
 static void pidgin_conv_tab_pack(PidginWindow *win, PidginConversation *gtkconv);
-static gboolean infopane_release_cb(GtkWidget *widget, GdkEventButton *e, PidginConversation *conv);
 static gboolean infopane_press_cb(GtkWidget *widget, GdkEventButton *e, PidginConversation *conv);
 
 static GdkColor *get_nick_color(PidginConversation *gtkconv, const char *name) {
@@ -4410,8 +4409,6 @@
 	                      GDK_BUTTON1_MOTION_MASK | GDK_LEAVE_NOTIFY_MASK);
 	g_signal_connect(G_OBJECT(event_box), "button_press_event",
 	                 G_CALLBACK(infopane_press_cb), gtkconv);
-	g_signal_connect(G_OBJECT(event_box), "button_release_event",
-	                 G_CALLBACK(infopane_release_cb), gtkconv);
 
 
 	gtkconv->infopane = gtk_cell_view_new();
@@ -7743,12 +7740,6 @@
 }
 
 static gboolean
-infopane_release_cb(GtkWidget *widget, GdkEventButton *e, PidginConversation *gtkconv)
-{
-	return FALSE;
-}
-
-static gboolean
 notebook_release_cb(GtkWidget *widget, GdkEventButton *e, PidginWindow *win)
 {
 	PidginWindow *dest_win;
@@ -8333,6 +8324,9 @@
 #ifdef _WIN32
 	g_signal_connect(G_OBJECT(win->window), "show",
 	                 G_CALLBACK(winpidgin_ensure_onscreen), win->window);
+
+	if (purple_prefs_get_bool(PIDGIN_PREFS_ROOT "/win32/minimize_new_convs"))
+		gtk_window_iconify(GTK_WINDOW(win->window));
 #endif
 
 	return win;
--- a/pidgin/gtkimhtml.c	Tue Jul 10 08:54:18 2007 +0000
+++ b/pidgin/gtkimhtml.c	Tue Jul 10 08:58:23 2007 +0000
@@ -216,7 +216,6 @@
 clipboard_html_to_win32(char *html) {
 	int length;
 	GString *clipboard;
-	gchar *tmp;
 
 	if (html == NULL)
 		return NULL;
@@ -224,13 +223,9 @@
 	length = strlen(html);
 	clipboard = g_string_new ("Version:1.0\r\n");
 	g_string_append(clipboard, "StartHTML:0000000105\r\n");
-	tmp = g_strdup_printf("EndHTML:%010d\r\n", 147 + length);
-	g_string_append(clipboard, tmp);
-	g_free(tmp);
+	g_string_append_printf(clipboard, "EndHTML:%010d\r\n", 147 + length);
 	g_string_append(clipboard, "StartFragment:0000000127\r\n");
-	tmp = g_strdup_printf("EndFragment:%010d\r\n", 127 + length);
-	g_string_append(clipboard, tmp);
-	g_free(tmp);
+	g_string_append_printf(clipboard, "EndFragment:%010d\r\n", 127 + length);
 	g_string_append(clipboard, "<!--StartFragment-->\r\n");
 	g_string_append(clipboard, html);
 	g_string_append(clipboard, "\r\n<!--EndFragment-->");
@@ -909,7 +904,7 @@
 		gtk_selection_data_set(selection_data, gdk_atom_intern("text/html", FALSE), 16, (const guchar *)selection, len);
 		g_string_free(str, TRUE);
 #else
-		selection = clipboard_html_to_win32(imhtml->clipboard_html_string);
+		selection = clipboard_html_to_win32(html_clipboard);
 		gtk_selection_data_set(selection_data, gdk_atom_intern("HTML Format", FALSE), 8, (const guchar *)selection, strlen(selection));
 #endif
 		g_free(selection);
@@ -957,8 +952,8 @@
 						 (GtkClipboardGetFunc)gtk_imhtml_clipboard_get,
 						 (GtkClipboardClearFunc)gtk_imhtml_clipboard_clear, G_OBJECT(imhtml));
 
-		g_free(imhtml->clipboard_html_string);
-		g_free(imhtml->clipboard_text_string);
+		g_free(html_clipboard);
+		g_free(text_clipboard);
 
 		imhtml->clipboard_html_string = gtk_imhtml_get_markup_range(imhtml, &start, &end);
 		imhtml->clipboard_text_string = gtk_imhtml_get_text(imhtml, &start, &end);
@@ -982,8 +977,8 @@
 						 (GtkClipboardGetFunc)gtk_imhtml_clipboard_get,
 						 (GtkClipboardClearFunc)gtk_imhtml_clipboard_clear, G_OBJECT(imhtml));
 
-		g_free(imhtml->clipboard_html_string);
-		g_free(imhtml->clipboard_text_string);
+		g_free(html_clipboard);
+		g_free(text_clipboard);
 
 		imhtml->clipboard_html_string = gtk_imhtml_get_markup_range(imhtml, &start, &end);
 		imhtml->clipboard_text_string = gtk_imhtml_get_text(imhtml, &start, &end);
--- a/pidgin/gtkmain.c	Tue Jul 10 08:54:18 2007 +0000
+++ b/pidgin/gtkmain.c	Tue Jul 10 08:58:23 2007 +0000
@@ -316,6 +316,8 @@
 	pidgin_docklet_init();
 }
 
+static GHashTable *ui_info = NULL;
+
 static void
 pidgin_quit(void)
 {
@@ -337,17 +339,32 @@
 	pidgin_xfers_uninit();
 	pidgin_debug_uninit();
 
+	if(NULL != ui_info)
+		g_hash_table_destroy(ui_info);
+
 	/* and end it all... */
 	gtk_main_quit();
 }
 
+static GHashTable *pidgin_ui_get_info()
+{
+	if(NULL == ui_info) {
+		ui_info = g_hash_table_new(g_str_hash, g_str_equal);
+
+		g_hash_table_insert(ui_info, "name", (char*)PIDGIN_NAME);
+		g_hash_table_insert(ui_info, "version", VERSION);
+	}
+
+	return ui_info;
+}
+
 static PurpleCoreUiOps core_ops =
 {
 	pidgin_prefs_init,
 	debug_init,
 	pidgin_ui_init,
 	pidgin_quit,
-	NULL,
+	pidgin_ui_get_info,
 	NULL,
 	NULL,
 	NULL
--- a/pidgin/gtkprefs.c	Tue Jul 10 08:54:18 2007 +0000
+++ b/pidgin/gtkprefs.c	Tue Jul 10 08:58:23 2007 +0000
@@ -1014,6 +1014,8 @@
 
 #ifdef _WIN32
 	pidgin_prefs_checkbox(_("F_lash window when IMs are received"), PIDGIN_PREFS_ROOT "/win32/blink_im", vbox);
+
+	pidgin_prefs_checkbox(_("Minimi_ze new conversation windows"), PIDGIN_PREFS_ROOT "/win32/minimize_new_convs", vbox);
 #endif
 
 #if GTK_CHECK_VERSION(2,4,0)
--- a/pidgin/gtkutils.c	Tue Jul 10 08:54:18 2007 +0000
+++ b/pidgin/gtkutils.c	Tue Jul 10 08:58:23 2007 +0000
@@ -676,6 +676,12 @@
 	return aop_option_menu_new(create_protocols_menu(id), cb, user_data);
 }
 
+const char *
+pidgin_protocol_option_menu_get_selected(GtkWidget *optmenu)
+{
+	return (const char *)aop_option_menu_get_selected(optmenu, NULL);
+}
+
 PurpleAccount *
 pidgin_account_option_menu_get_selected(GtkWidget *optmenu)
 {
--- a/pidgin/gtkutils.h	Tue Jul 10 08:54:18 2007 +0000
+++ b/pidgin/gtkutils.h	Tue Jul 10 08:58:23 2007 +0000
@@ -236,6 +236,15 @@
 											 gpointer user_data);
 
 /**
+ * Gets the currently selected protocol from a protocol drop down box.
+ *
+ * @param optmenu The drop-down option menu created by
+ *        pidgin_account_option_menu_new.
+ * @return Returns the protocol ID that is currently selected.
+ */
+const char *pidgin_protocol_option_menu_get_selected(GtkWidget *optmenu);
+
+/**
  * Creates a drop-down option menu filled with accounts.
  *
  * @param default_account The account to select by default.
@@ -255,7 +264,7 @@
 /**
  * Gets the currently selected account from an account drop down box.
  *
- * @param optmenu The GtkOptionMenu created by
+ * @param optmenu The drop-down option menu created by
  *        pidgin_account_option_menu_new.
  * @return Returns the PurpleAccount that is currently selected.
  */
Binary file pidgin/pixmaps/edit.png has changed
Binary file pidgin/pixmaps/emblems/16/aol-client.png has changed
Binary file pidgin/pixmaps/emblems/16/blocked.png has changed
--- a/pidgin/pixmaps/emblems/16/scalable/aol-client.svg	Tue Jul 10 08:54:18 2007 +0000
+++ b/pidgin/pixmaps/emblems/16/scalable/aol-client.svg	Tue Jul 10 08:58:23 2007 +0000
@@ -6,16 +6,16 @@
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    width="16px"
    height="16px"
    id="svg1307"
    sodipodi:version="0.32"
-   inkscape:version="0.43"
-   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/emblems"
+   inkscape:version="0.44.1"
+   sodipodi:docbase="/home/hbons/Desktop/Pidgin/2.1.0/emblems/16/scalable"
    sodipodi:docname="aol-client.svg"
-   inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/emblems/aol-client.png"
+   inkscape:export-filename="/home/hbons/Desktop/aol-client.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90">
   <defs
@@ -39,9 +39,9 @@
      inkscape:guide-bbox="true"
      inkscape:grid-points="true"
      inkscape:window-width="1268"
-     inkscape:window-height="971"
+     inkscape:window-height="841"
      inkscape:window-x="6"
-     inkscape:window-y="21" />
+     inkscape:window-y="0" />
   <metadata
      id="metadata1312">
     <rdf:RDF>
@@ -58,24 +58,8 @@
      inkscape:label="Layer 1"
      inkscape:groupmode="layer">
     <path
-       style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.00000024;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 2,1 L 14,8 L 2,15 L 2,1 z "
-       id="path2258"
-       sodipodi:nodetypes="cccc" />
-    <path
        style="fill:#204a87;fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1.00000024;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 2,1 L 14,8 L 2,15 L 2,1 z "
-       id="rect2229"
-       sodipodi:nodetypes="cccc" />
-    <path
-       sodipodi:type="arc"
-       style="opacity:1;fill:#204a87;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.16577935;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path2227"
-       sodipodi:cx="6.9882684"
-       sodipodi:cy="8.1797953"
-       sodipodi:rx="3.6050591"
-       sodipodi:ry="3.4386716"
-       d="M 10.593328 8.1797953 A 3.6050591 3.4386716 0 1 1  3.3832092,8.1797953 A 3.6050591 3.4386716 0 1 1  10.593328 8.1797953 z"
-       transform="matrix(0.951853,0,0,0.997732,-0.651436,-0.160895)" />
+       d="M 2 1 L 2 15 L 14 8 L 2 1 z M 6 4 C 8.1805207 4 10 5.7762679 10 8 C 10 10.223732 8.1805205 12 6 12 C 3.8194795 11.999999 2.0312501 10.223732 2.03125 8 C 2.03125 5.7762679 3.8194791 4.0000001 6 4 z M 6 5.125 C 4.3921597 5.125 3.1249999 6.4360487 3.125 8 C 3.125 9.5639514 4.3921593 10.84375 6 10.84375 C 7.6078403 10.84375 8.875 9.5639514 8.875 8 C 8.875 6.4360487 7.6078401 5.1249999 6 5.125 z "
+       id="rect2229" />
   </g>
 </svg>
--- a/pidgin/pixmaps/emblems/16/scalable/blocked.svg	Tue Jul 10 08:54:18 2007 +0000
+++ b/pidgin/pixmaps/emblems/16/scalable/blocked.svg	Tue Jul 10 08:58:23 2007 +0000
@@ -7,63 +7,154 @@
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
-   width="16"
-   height="16"
-   id="svg2"
+   width="16px"
+   height="16px"
+   id="svg4220"
    sodipodi:version="0.32"
-   inkscape:version="0.43"
-   version="1.0"
-   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/emblems"
-   sodipodi:docname="blocked.svg"
-   inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/emblems/blocked.png"
+   inkscape:version="0.44.1"
+   sodipodi:docbase="/home/hbons/Desktop/Pidgin/2.1.0/toolbars/16/scalable"
+   sodipodi:docname="block.svg"
+   inkscape:export-filename="/home/hbons/Desktop/block.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90">
   <defs
-     id="defs4">
+     id="defs4222">
     <linearGradient
        inkscape:collect="always"
-       id="linearGradient3324">
+       id="linearGradient2835">
       <stop
-         style="stop-color:#ffffff;stop-opacity:1;"
+         style="stop-color:#c17d11;stop-opacity:1;"
          offset="0"
-         id="stop3326" />
+         id="stop2837" />
       <stop
-         style="stop-color:#ffffff;stop-opacity:0;"
+         style="stop-color:#c17d11;stop-opacity:0;"
          offset="1"
-         id="stop3328" />
+         id="stop2839" />
+    </linearGradient>
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="9.6134882"
+       x2="11.766299"
+       y1="6.6344557"
+       x1="7.7082763"
+       id="linearGradient2774"
+       xlink:href="#linearGradient2768"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientTransform="matrix(0.669301,0,0,0.866653,-15.19698,-2.399762)"
+       gradientUnits="userSpaceOnUse"
+       y2="14.406374"
+       x2="15.520383"
+       y1="9.3585329"
+       x1="19.003813"
+       id="linearGradient2247"
+       xlink:href="#linearGradient2241"
+       inkscape:collect="always" />
+    <linearGradient
+       gradientUnits="userSpaceOnUse"
+       y2="13.322957"
+       x2="16"
+       y1="24.34691"
+       x1="16"
+       id="linearGradient2209"
+       xlink:href="#linearGradient2203"
+       inkscape:collect="always" />
+    <linearGradient
+       id="linearGradient2203"
+       inkscape:collect="always">
+      <stop
+         id="stop2205"
+         offset="0"
+         style="stop-color:#727e0a;stop-opacity:1;" />
+      <stop
+         id="stop2207"
+         offset="1"
+         style="stop-color:#727e0a;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2241"
+       inkscape:collect="always">
+      <stop
+         id="stop2243"
+         offset="0"
+         style="stop-color:#eeeeec;stop-opacity:1;" />
+      <stop
+         id="stop2245"
+         offset="1"
+         style="stop-color:#eeeeec;stop-opacity:0;" />
+    </linearGradient>
+    <linearGradient
+       id="linearGradient2768"
+       inkscape:collect="always">
+      <stop
+         id="stop2770"
+         offset="0"
+         style="stop-color:#eeeeec;stop-opacity:1;" />
+      <stop
+         id="stop2772"
+         offset="1"
+         style="stop-color:#eeeeec;stop-opacity:0;" />
     </linearGradient>
     <linearGradient
        inkscape:collect="always"
-       id="linearGradient3300">
-      <stop
-         style="stop-color:#eeeeec;stop-opacity:1;"
-         offset="0"
-         id="stop3302" />
-      <stop
-         style="stop-color:#eeeeec;stop-opacity:0;"
-         offset="1"
-         id="stop3304" />
-    </linearGradient>
+       xlink:href="#linearGradient2241"
+       id="linearGradient2816"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.669301,0,0,0.866653,-15.19698,-2.399762)"
+       x1="19.003813"
+       y1="9.3585329"
+       x2="15.520383"
+       y2="14.406374" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2768"
+       id="linearGradient2818"
+       gradientUnits="userSpaceOnUse"
+       x1="7.7082763"
+       y1="6.6344557"
+       x2="11.766299"
+       y2="9.6134882" />
     <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient3300"
-       id="linearGradient3306"
-       x1="8.6152382"
-       y1="-3.1597807"
-       x2="8.6152382"
-       y2="12.015507"
+       xlink:href="#linearGradient2768"
+       id="linearGradient2821"
+       gradientUnits="userSpaceOnUse"
+       x1="7.7082763"
+       y1="6.6344557"
+       x2="11.766299"
+       y2="9.6134882"
+       gradientTransform="translate(3,-5.662441e-7)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2241"
+       id="linearGradient2826"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(1.002185,0,0,0.866653,-24.02518,-2.399763)"
+       x1="19.003813"
+       y1="9.3585329"
+       x2="15.520383"
+       y2="14.406374" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2835"
+       id="linearGradient2841"
+       x1="4.3461514"
+       y1="4.7126884"
+       x2="5.041183"
+       y2="7.6020169"
        gradientUnits="userSpaceOnUse" />
     <linearGradient
        inkscape:collect="always"
-       xlink:href="#linearGradient3324"
-       id="linearGradient3330"
-       x1="8"
-       y1="6.0639424"
-       x2="8"
-       y2="10.979301"
-       gradientUnits="userSpaceOnUse" />
+       xlink:href="#linearGradient2835"
+       id="linearGradient2847"
+       gradientUnits="userSpaceOnUse"
+       x1="4.4093828"
+       y1="8.8709669"
+       x2="5.0730915"
+       y2="6.2707229"
+       gradientTransform="translate(4.490962,-16.76051)" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -72,21 +163,23 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="39.000665"
-     inkscape:cx="13.905353"
-     inkscape:cy="8.018215"
-     inkscape:document-units="px"
+     inkscape:zoom="25.498579"
+     inkscape:cx="19.947241"
+     inkscape:cy="9.0174755"
      inkscape:current-layer="layer1"
      showgrid="true"
-     fill="#a40000"
+     inkscape:grid-bbox="true"
+     inkscape:document-units="px"
+     inkscape:object-points="false"
+     inkscape:grid-points="true"
+     inkscape:window-width="1440"
+     inkscape:window-height="849"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
      showguides="true"
-     inkscape:guide-bbox="true"
-     inkscape:window-width="1268"
-     inkscape:window-height="971"
-     inkscape:window-x="6"
-     inkscape:window-y="21" />
+     inkscape:guide-bbox="true" />
   <metadata
-     id="metadata7">
+     id="metadata4225">
     <rdf:RDF>
       <cc:Work
          rdf:about="">
@@ -97,21 +190,61 @@
     </rdf:RDF>
   </metadata>
   <g
+     id="layer1"
      inkscape:label="Layer 1"
-     inkscape:groupmode="layer"
-     id="layer1">
-    <path
-       style="fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1.00000036;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 1.53125,3.5 L 5.875,7.96875 L 1.5,12.5 L 5.75,12.5 L 8,10.1875 L 10.25,12.5 L 14.5,12.5 L 10.125,7.96875 L 14.46875,3.5 L 10.21875,3.5 L 8,5.78125 L 5.78125,3.5 L 1.53125,3.5 z "
-       id="rect3316" />
+     inkscape:groupmode="layer">
+    <rect
+       style="fill:#c17d11;fill-opacity:1;stroke:#8f5902;stroke-width:0.99999875;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect1324"
+       width="11.000001"
+       height="14.999996"
+       x="-13.5"
+       y="0.49999937"
+       ry="0"
+       transform="scale(-1,1)" />
+    <rect
+       style="opacity:0.3;fill:url(#linearGradient2826);fill-opacity:1;stroke:white;stroke-width:0.99999827;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2211"
+       width="9.0000048"
+       height="12.999996"
+       x="-12.500007"
+       y="1.4999992"
+       ry="0"
+       transform="scale(-1,1)" />
     <path
-       sodipodi:type="inkscape:offset"
-       inkscape:radius="-0.99889296"
-       inkscape:original="M 1.53125 3.5 L 5.875 7.96875 L 1.5 12.5 L 5.75 12.5 L 8 10.1875 L 10.25 12.5 L 14.5 12.5 L 10.125 7.96875 L 14.46875 3.5 L 10.21875 3.5 L 8 5.78125 L 5.78125 3.5 L 1.53125 3.5 z "
-       xlink:href="#rect3316"
-       style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3330);stroke-width:1.00000036;stroke-miterlimit:4;stroke-opacity:1;opacity:0.25"
-       id="path3322"
-       inkscape:href="#rect3316"
-       d="M 3.875,4.5 L 6.59375,7.28125 C 6.9593447,7.6666782 6.9593447,8.2708218 6.59375,8.65625 L 3.84375,11.5 L 5.34375,11.5 L 7.28125,9.5 C 7.4695089,9.3049765 7.7289362,9.1948264 8,9.1948264 C 8.2710638,9.1948264 8.5304911,9.3049765 8.71875,9.5 L 10.65625,11.5 L 12.15625,11.5 L 9.40625,8.65625 C 9.0406553,8.2708218 9.0406553,7.6666782 9.40625,7.28125 L 12.125,4.5 L 10.625,4.5 L 8.71875,6.46875 C 8.5304911,6.6637735 8.2710638,6.7739236 8,6.7739236 C 7.7289362,6.7739236 7.4695089,6.6637735 7.28125,6.46875 L 5.375,4.5 L 3.875,4.5 z " />
+       sodipodi:type="arc"
+       style="fill:#fecb81;fill-opacity:1;stroke:none;stroke-width:2.03035927;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="path2215"
+       sodipodi:cx="17.607706"
+       sodipodi:cy="10.679387"
+       sodipodi:rx="0.80383009"
+       sodipodi:ry="0.80383009"
+       d="M 18.411536 10.679387 A 0.80383009 0.80383009 0 1 1  16.803876,10.679387 A 0.80383009 0.80383009 0 1 1  18.411536 10.679387 z"
+       transform="matrix(-1.244046,0,0,1.245728,26.90479,-6.302258)" />
+    <rect
+       style="opacity:1;fill:#ce9f52;fill-opacity:1;stroke:#8f5902;stroke-width:0.99999994;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2878"
+       width="15.000005"
+       height="2.0000005"
+       x="0.49999997"
+       y="9.5" />
+    <rect
+       style="opacity:1;fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999934;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2880"
+       width="2.0000017"
+       height="3.9999959"
+       x="1.5"
+       y="8.500001"
+       rx="0.90201104"
+       ry="0.90201104" />
+    <rect
+       style="opacity:1;fill:#d3d7cf;fill-opacity:1;stroke:#888a85;stroke-width:0.99999934;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2884"
+       width="2.0000017"
+       height="3.9999959"
+       x="12.499999"
+       y="8.500001"
+       rx="0.90201104"
+       ry="0.90201104" />
   </g>
 </svg>
Binary file pidgin/pixmaps/emotes/default/22/at-wits-end.png has changed
Binary file pidgin/pixmaps/emotes/default/22/female-fighter.png has changed
Binary file pidgin/pixmaps/emotes/default/22/on-the-phone.png has changed
--- a/pidgin/pixmaps/emotes/default/22/scalable/smile-big.svg	Tue Jul 10 08:54:18 2007 +0000
+++ b/pidgin/pixmaps/emotes/default/22/scalable/smile-big.svg	Tue Jul 10 08:58:23 2007 +0000
@@ -7,23 +7,47 @@
    xmlns:svg="http://www.w3.org/2000/svg"
    xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink"
-   xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
    xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
    width="24"
    height="24"
    id="svg2"
    sodipodi:version="0.32"
-   inkscape:version="0.43"
+   inkscape:version="0.44.1"
    version="1.0"
-   sodipodi:docbase="/home/hbons/Desktop/Gaim Refresh/emotes"
-   sodipodi:docname="face-smile-big.svg"
-   inkscape:export-filename="/home/hbons/Desktop/Gaim Refresh/face-smile-big.png"
+   sodipodi:docbase="/home/hbons/Desktop/Pidgin/2.1.0"
+   sodipodi:docname="smile-big.svg"
+   inkscape:export-filename="/home/hbons/Desktop/smile-big.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90">
   <defs
      id="defs4">
     <linearGradient
        inkscape:collect="always"
+       id="linearGradient2796">
+      <stop
+         style="stop-color:#babdb6;stop-opacity:1;"
+         offset="0"
+         id="stop2798" />
+      <stop
+         style="stop-color:#babdb6;stop-opacity:0;"
+         offset="1"
+         id="stop2800" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
+       id="linearGradient2800">
+      <stop
+         style="stop-color:#888a85;stop-opacity:1;"
+         offset="0"
+         id="stop2802" />
+      <stop
+         style="stop-color:#888a85;stop-opacity:0;"
+         offset="1"
+         id="stop2804" />
+    </linearGradient>
+    <linearGradient
+       inkscape:collect="always"
        id="linearGradient2192">
       <stop
          style="stop-color:#cc0000;stop-opacity:1;"
@@ -98,6 +122,34 @@
        y1="15.102485"
        x2="12.13016"
        y2="19.816549" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2800"
+       id="linearGradient2806"
+       x1="1.9297547"
+       y1="17"
+       x2="8.9865818"
+       y2="17"
+       gradientUnits="userSpaceOnUse" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2800"
+       id="linearGradient2810"
+       gradientUnits="userSpaceOnUse"
+       x1="1.9297547"
+       y1="17"
+       x2="8.9865818"
+       y2="17"
+       gradientTransform="matrix(-1,0,0,1,24,0)" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient2796"
+       id="linearGradient2802"
+       x1="12.324349"
+       y1="15.841868"
+       x2="12.324349"
+       y2="19.467697"
+       gradientUnits="userSpaceOnUse" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -106,17 +158,18 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="18.194454"
-     inkscape:cx="14.880848"
-     inkscape:cy="9.4177196"
+     inkscape:zoom="25.730844"
+     inkscape:cx="20.572824"
+     inkscape:cy="10.331755"
      inkscape:document-units="px"
      inkscape:current-layer="layer1"
      showgrid="true"
      fill="#ef2929"
-     inkscape:window-width="1268"
-     inkscape:window-height="971"
-     inkscape:window-x="6"
-     inkscape:window-y="21" />
+     inkscape:window-width="1434"
+     inkscape:window-height="841"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:grid-points="true" />
   <metadata
      id="metadata7">
     <rdf:RDF>
@@ -163,25 +216,15 @@
        d="M 21.781414 10.983024 A 9.975256 9.975256 0 1 1  1.8309021,10.983024 A 9.975256 9.975256 0 1 1  21.781414 10.983024 z"
        transform="matrix(0.8019,0,0,0.801938,2.532654,3.191833)" />
     <path
-       style="opacity:1;fill:#cc0000;fill-opacity:1;stroke:#a40000;stroke-width:1.00000024;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 17.502944,13.527087 C 17.502944,15.892107 15.140024,17.503252 12.067027,17.503252 C 8.9940272,17.503252 6.5000001,15.891125 6.5000001,13.496751 C 8.8954736,13.496751 14.896167,13.527087 17.502944,13.527087 z "
-       id="path3160"
-       sodipodi:nodetypes="cscc" />
-    <path
-       style="fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 7.0137405,14 L 17,14 L 16.615267,15 L 7.4479109,15 L 7.0137405,14 z "
-       id="rect1324"
-       sodipodi:nodetypes="ccccc" />
-    <path
        sodipodi:type="arc"
-       style="opacity:0.5;fill:none;fill-opacity:1.0;stroke:#ffffff;stroke-width:1.17343897;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       style="opacity:0.5;fill:none;fill-opacity:1;stroke:white;stroke-width:1.17343903;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
        id="path2184"
        sodipodi:cx="11.806158"
        sodipodi:cy="10.983024"
        sodipodi:rx="9.975256"
        sodipodi:ry="9.975256"
        d="M 21.781414 10.983024 A 9.975256 9.975256 0 1 1  1.8309021,10.983024 A 9.975256 9.975256 0 1 1  21.781414 10.983024 z"
-       transform="matrix(0.852176,0,0,0.852216,1.93909,2.639626)" />
+       transform="matrix(0.852176,0,0,0.852216,1.939749,2.639019)" />
     <path
        sodipodi:type="arc"
        style="opacity:1;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
@@ -203,9 +246,29 @@
        d="M 10.227795 8.7845774 A 1.1679889 1.4520943 0 1 1  7.891817,8.7845774 A 1.1679889 1.4520943 0 1 1  10.227795 8.7845774 z"
        transform="matrix(0.856173,0,0,1.377321,6.243238,-2.099183)" />
     <path
-       style="fill:#ef2929;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 8.4015265,16 L 15.615267,16 C 15.615267,16 14.704206,16.587786 14.250771,16.656489 C 14.250771,16.656489 13.614227,17 12.116518,17 C 10.756145,17.002082 9.2677613,16.532825 9.2677613,16.532825 L 8.4015265,16 z "
-       id="path2207"
-       sodipodi:nodetypes="cccccc" />
+       style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:#f57900;stroke-width:0.99999964;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 4.4999974,13.499993 C 4.4999974,17.423224 8.1971909,20.499996 11.999997,20.499996 C 15.802804,20.499996 19.499997,17.538156 19.499997,13.499993 L 4.4999974,13.499993 z "
+       id="path2785"
+       sodipodi:nodetypes="cscc" />
+    <rect
+       style="opacity:1;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       id="rect2792"
+       width="0.053828847"
+       height="0.038863864"
+       x="-6"
+       y="16.577002" />
+    <path
+       style="opacity:1;fill:url(#linearGradient2806);fill-opacity:1.0;stroke:none;stroke-width:0.99999964;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 5,14 C 5.5206683,17.394223 8.4507141,20 12,20 C 15.549286,20 18.479329,17.394223 19,14 L 5,14 z "
+       id="path2798" />
+    <path
+       style="opacity:1;fill:url(#linearGradient2810);fill-opacity:1;stroke:none;stroke-width:0.99999964;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 19,14 C 18.479332,17.394223 15.549286,20 12,20 C 8.450714,20 5.520671,17.394223 5,14 L 19,14 z "
+       id="path2808" />
+    <path
+       style="opacity:0.8;fill:url(#linearGradient2802);fill-opacity:1.0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+       d="M 7,14 L 7,18 L 8,18 L 8,14 L 7,14 z M 10,14 L 10,19 L 11,19 L 11,14 L 10,14 z M 13,14 L 13,19 L 14,19 L 14,14 L 13,14 z M 16,14 L 16,18 L 17,18 L 17,14 L 16,14 z "
+       id="path1900"
+       sodipodi:nodetypes="cccccccccccccccccccc" />
   </g>
 </svg>
Binary file pidgin/pixmaps/emotes/default/22/smile-big.png has changed
Binary file pidgin/pixmaps/emotes/default/22/time-out.png has changed
--- a/pidgin/pixmaps/icons/16/scalable/pidgin.svg	Tue Jul 10 08:54:18 2007 +0000
+++ b/pidgin/pixmaps/icons/16/scalable/pidgin.svg	Tue Jul 10 08:58:23 2007 +0000
@@ -664,8 +664,8 @@
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
      inkscape:zoom="30.009658"
-     inkscape:cx="12.410351"
-     inkscape:cy="9.6914614"
+     inkscape:cx="15.476031"
+     inkscape:cy="9.174961"
      inkscape:current-layer="layer1"
      showgrid="true"
      inkscape:grid-bbox="true"
@@ -743,7 +743,7 @@
        sodipodi:rx="1.2410715"
        sodipodi:ry="1.2946428"
        d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1  8.928571,24.3125 A 1.2410715 1.2946428 0 1 1  11.410714 24.3125 z"
-       transform="matrix(1.208634,0,0,1.158623,-8.791372,-20.66902)" />
+       transform="matrix(0.805757,0,0,1.158623,-4.194263,-20.66902)" />
     <path
        style="opacity:1;fill:#a46bb0;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
        d="M 11.387086,4.6790601 C 10.509745,3.6558267 9.0824486,3.9284339 8.5222543,4.5817815 C 7.7545814,5.4771092 7.8435868,7.0342022 8.7209273,8.0574357 C 9.4833498,8.9466415 10.737398,9.413013 11.505071,8.5176851 C 12.272744,7.6223568 12.080215,5.4874505 11.387086,4.6790601 z "
@@ -764,7 +764,7 @@
        sodipodi:rx="1.2410715"
        sodipodi:ry="1.2946428"
        d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1  8.928571,24.3125 A 1.2410715 1.2946428 0 1 1  11.410714 24.3125 z"
-       transform="matrix(1.208633,0,0,1.158626,-2.791363,-20.66909)" />
+       transform="matrix(0.805754,0,0,1.158626,0.805772,-20.66909)" />
     <path
        style="fill:#3b1941;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
        d="M -3.174544e-16,1.7837407 C 0.49897694,0.43045085 3.4176637,1.3941391 4.4321866,1.7478251 L 2.7448964,2 L -3.174544e-16,1.7837407 z "
Binary file pidgin/pixmaps/icons/24/pidgin.png has changed
--- a/pidgin/pixmaps/icons/24/scalable/pidgin.svg	Tue Jul 10 08:54:18 2007 +0000
+++ b/pidgin/pixmaps/icons/24/scalable/pidgin.svg	Tue Jul 10 08:58:23 2007 +0000
@@ -14,7 +14,7 @@
    id="svg4345"
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
-   sodipodi:docbase="/home/hbons/Desktop/2.0.2/pidgin/pixmaps/icons/24/scalable"
+   sodipodi:docbase="/home/hbons/Desktop/Pidgin/2.1.0/icons/24/scalable"
    sodipodi:docname="pidgin.svg"
    inkscape:export-filename="/home/hbons/Desktop/pidgin24.png"
    inkscape:export-xdpi="90"
@@ -182,10 +182,11 @@
        xlink:href="#linearGradient6506"
        id="linearGradient6512"
        x1="15.645709"
-       y1="40.434063"
+       y1="39.029884"
        x2="15.645709"
-       y2="43.693668"
-       gradientUnits="userSpaceOnUse" />
+       y2="43.206608"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.660903,0,0,0.627207,-0.293224,-4.361383)" />
     <linearGradient
        inkscape:collect="always"
        xlink:href="#linearGradient6817"
@@ -419,35 +420,47 @@
        y1="16.618088"
        x2="27.598003"
        y2="36.64465"
-       gradientUnits="userSpaceOnUse" />
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.660903,0,0,0.627207,-0.293224,-4.361383)" />
     <linearGradient
        inkscape:collect="always"
        xlink:href="#linearGradient3116"
        id="linearGradient3122"
        x1="15.722902"
-       y1="39.585075"
+       y1="38.768803"
        x2="15.722902"
-       y2="45.76453"
-       gradientUnits="userSpaceOnUse" />
+       y2="43.249905"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67692,0,0,0.646801,-0.560381,-4.949693)" />
     <linearGradient
        inkscape:collect="always"
        xlink:href="#linearGradient3124"
        id="linearGradient3130"
        x1="13.150809"
-       y1="39.39394"
+       y1="38.849556"
        x2="13.150809"
-       y2="45.551888"
-       gradientUnits="userSpaceOnUse" />
+       y2="43.105652"
+       gradientUnits="userSpaceOnUse"
+       gradientTransform="matrix(0.67692,0,0,0.646801,-0.560381,-4.949693)" />
     <linearGradient
        inkscape:collect="always"
        xlink:href="#linearGradient2850"
        id="linearGradient3146"
        gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(0.769231,0,0,0.714287,-3.230767,-7.285729)"
+       gradientTransform="matrix(0.769231,0,0,0.714287,-2.265038,-6.285729)"
        x1="21.785719"
        y1="28.142857"
        x2="17.785713"
        y2="30.07143" />
+    <linearGradient
+       inkscape:collect="always"
+       xlink:href="#linearGradient5438"
+       id="linearGradient2848"
+       gradientUnits="userSpaceOnUse"
+       x1="30.152058"
+       y1="-0.86487341"
+       x2="30.152058"
+       y2="23.011967" />
   </defs>
   <sodipodi:namedview
      id="base"
@@ -456,15 +469,15 @@
      borderopacity="1.0"
      inkscape:pageopacity="0.0"
      inkscape:pageshadow="2"
-     inkscape:zoom="16.081777"
-     inkscape:cx="21.855503"
-     inkscape:cy="14.873812"
+     inkscape:zoom="32.163554"
+     inkscape:cx="16.820721"
+     inkscape:cy="19.317678"
      inkscape:current-layer="layer1"
      showgrid="true"
      inkscape:grid-bbox="true"
      inkscape:document-units="px"
-     inkscape:window-width="1434"
-     inkscape:window-height="840"
+     inkscape:window-width="1440"
+     inkscape:window-height="846"
      inkscape:window-x="0"
      inkscape:window-y="0"
      showguides="true"
@@ -489,46 +502,28 @@
      inkscape:label="Layer 1"
      inkscape:groupmode="layer">
     <path
-       style="fill:#efefef;fill-opacity:1;stroke:#787878;stroke-width:2.68207097;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 17.892492,1.5 C 14.553935,1.5 11.861242,4.611235 11.861242,8.46875 L 11.861242,20.53125 C 11.861242,24.388765 14.790157,28.553306 18.128714,28.553306 L 33.206307,28.454853 L 33.212431,35.359517 L 40.550287,28.59293 C 46.237519,28.59293 46.5,25.478162 46.5,20.728157 L 46.5,8.46875 C 46.5,4.6112353 43.807307,1.5 40.46875,1.5 L 17.892492,1.5 z "
-       id="path4547"
-       sodipodi:nodetypes="ccccccccccc"
-       transform="matrix(0.375302,0,0,0.370406,6.048447,-5.560909e-2)" />
-    <path
-       sodipodi:type="inkscape:offset"
-       inkscape:radius="-2.6972473"
-       inkscape:original="M 17.90625 1.5 C 14.567693 1.5 11.875 4.611235 11.875 8.46875 L 11.875 20.53125 C 11.875 24.388765 14.786443 28.5625 18.125 28.5625 L 33.21875 28.46875 L 33.21875 35.375 L 40.5625 28.59375 C 46.249734 28.59375 46.5 25.468755 46.5 20.71875 L 46.5 8.46875 C 46.5 4.6112353 43.807307 1.5 40.46875 1.5 L 17.90625 1.5 z "
-       style="fill:url(#linearGradient5444);fill-opacity:1.0;stroke:white;stroke-width:2.68207097;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="path5436"
-       d="M 17.90625,4.1875 C 16.243421,4.1875 14.5625,5.8664228 14.5625,8.46875 L 14.5625,20.53125 C 14.5625,21.781429 15.113741,23.319209 15.90625,24.375 C 16.698759,25.430791 17.57972,25.875 18.125,25.875 L 33.1875,25.78125 C 33.904865,25.775598 34.594934,26.055928 35.105127,26.560257 C 35.61532,27.064586 35.903608,27.751368 35.90625,28.46875 L 35.90625,29.21875 L 38.71875,26.625 C 39.22009,26.160499 39.879056,25.903614 40.5625,25.90625 C 42.912093,25.90625 43.047945,25.595299 43.3125,25.125 C 43.577055,24.654701 43.8125,23.046382 43.8125,20.71875 L 43.8125,8.46875 C 43.8125,5.8664232 42.131579,4.1875 40.46875,4.1875 L 17.90625,4.1875 z "
-       transform="matrix(0.375302,0,0,0.370406,6.048447,-5.560909e-2)" />
-    <path
        style="opacity:1;fill:#75507b;fill-opacity:1"
-       d="M 36.0625,8 C 33.978257,8 33.334928,10.523086 34.78125,12.9375 C 35.250389,13.720651 36.674297,15.15311 36.86722,15.15311 L 36.878267,14.508325 C 36.288194,13.580567 35.517363,12.502064 35.686987,12.281543 C 37.835781,12.281543 38,11.491782 38,10.027674 C 38,8.7542399 37.228501,8 36.0625,8 z "
+       d="M 11.578108,7.0000021 C 7.9352949,7.0000021 6.8108928,10.527259 9.3387556,13.902593 C 10.158711,14.997432 12.647399,17 12.984587,17 L 13.003895,16.098595 C 11.972573,14.801596 10.625325,13.293856 10.921791,12.985569 C 14.677426,12.985569 14.964445,11.881489 14.964445,9.8346762 C 14.964445,8.0544242 13.616029,7.0000021 11.578108,7.0000021 z "
        id="path6521"
-       transform="matrix(1.747787,0,0,1.397993,-52.41719,-5.183942)"
        sodipodi:nodetypes="csccccc" />
     <path
-       style="opacity:1;fill:url(#linearGradient3122);fill-opacity:1.0;stroke:url(#linearGradient3130);stroke-width:1.51128328;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       d="M 15,13 C 8.3759979,13 3,18.600001 3,25.5 C 3,31.153143 2.9750563,38.402618 2.9750563,45.572826 C 4.1625449,45.572826 27.946366,45.600605 30.637365,45.600605 C 32.751492,45.600605 32.586331,43.541005 32.586331,43.541005 C 32.586331,40.875594 27.597902,38.639057 25.813453,36.682531 C 23.985035,34.68151 26,30.5 26,30.5 C 26.641306,28.9702 27,27.275084 27,25.5 C 27,18.600001 21.624002,13 15,13 z "
+       style="opacity:1;fill:url(#linearGradient3122);fill-opacity:1;stroke:url(#linearGradient3130);stroke-width:0.99999976;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 9.593419,3.4587201 C 5.1094995,3.4587201 1.470379,7.0808064 1.470379,11.543733 C 1.470379,15.200191 1.4534941,19.889159 1.4534941,24.526857 C 2.2573289,24.526857 18.357073,24.544824 20.178665,24.544824 C 21.609759,24.544824 21.497959,23.212673 21.497959,23.212673 C 21.497959,21.488682 18.121191,20.042088 16.913262,18.776605 C 15.675569,17.482342 17.039539,14.777738 17.039539,14.777738 C 17.473652,13.788261 17.716459,12.691859 17.716459,11.543733 C 17.716459,7.0808064 14.077339,3.4587201 9.593419,3.4587201 z "
        id="path5176"
-       sodipodi:nodetypes="ccccszcsc"
-       transform="matrix(0.67692,0,0,0.646801,-1.52611,-5.949693)" />
+       sodipodi:nodetypes="ccccszcsc" />
     <path
-       transform="matrix(0.660903,0,0,0.627207,-1.258953,-5.361383)"
-       style="opacity:0.5;fill:url(#linearGradient3114);fill-opacity:1.0;stroke:url(#linearGradient6512);stroke-width:1.55319395;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
-       d="M 15,14.0625 C 8.9877035,14.0625 4.0789961,19.13808 4.0625,25.46875 C 4.0624722,25.479427 4.0617033,25.489349 4.0625,25.5 C 4.0625,32.787473 3.9033639,38.26012 3.9033639,44.499878 C 5.8399452,44.499878 22.452275,44.470084 28.278248,44.470084 C 29.445455,44.470084 31.431654,44.974157 31.431654,43.509594 C 31.431654,43.287851 31.231903,42.870917 30.681654,42.353344 C 30.131405,41.835771 29.308414,41.280003 28.400404,40.728344 C 26.665321,39.858723 25.411769,39.090553 24.621247,37.290844 C 24.011242,36.47675 23.731303,35.519763 23.676839,34.478344 C 23.622375,33.436925 24.107721,32.319635 24.224561,31.259594 C 24.458241,29.139511 24.96875,30.28125 24.96875,30.28125 C 24.98374,30.216952 25.004663,30.154183 25.03125,30.09375 C 25.618731,28.692346 25.9375,27.131297 25.9375,25.5 C 25.9375,19.154404 21.022436,14.0625 15,14.0625 z "
+       style="opacity:0.5;fill:url(#linearGradient3114);fill-opacity:1;stroke:url(#linearGradient6512);stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 9.620321,4.4587156 C 5.6467762,4.4587156 2.4025968,7.6421549 2.3916944,11.612795 C 2.3916761,11.619492 2.3911679,11.625715 2.3916944,11.632396 C 2.3916944,16.20315 2.2865209,19.635632 2.2865209,23.549252 C 3.5664133,23.549252 14.545552,23.530565 18.395955,23.530565 C 19.167366,23.530565 20.480051,23.846723 20.480051,22.928139 C 20.480051,22.78906 20.348035,22.527556 19.984374,22.202931 C 19.620712,21.878306 19.076795,21.529724 18.476689,21.18372 C 17.329967,20.638287 16.501491,20.156486 15.979032,19.027696 C 15.575878,18.51709 15.390866,17.916861 15.35487,17.263676 C 15.318875,16.610491 15.639642,15.909718 15.716861,15.244853 C 15.871301,13.915122 16.208698,14.631229 16.208698,14.631229 C 16.218605,14.590901 16.232433,14.551532 16.250005,14.513628 C 16.638273,13.634657 16.848948,12.655557 16.848948,11.632396 C 16.848948,7.6523934 13.600567,4.4587156 9.620321,4.4587156 z "
        id="path5241"
        sodipodi:nodetypes="cscccssccsscssc" />
     <path
        style="fill:#a46bb0;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 3.072604,7.0864988 C 4.607952,5.4493238 7.105721,5.8854918 8.086061,6.9308478 C 9.4294869,8.3633698 9.273726,10.85472 7.738379,12.491894 C 6.404137,13.914624 4.209552,14.660821 2.866124,13.228299 C 1.522696,11.795776 1.859625,8.3799248 3.072604,7.0864988 z "
+       d="M 4.038333,8.0864989 C 5.573681,6.4493239 8.07145,6.8854919 9.05179,7.9308479 C 10.395216,9.3633699 10.239455,11.85472 8.704108,13.491894 C 7.369866,14.914624 5.175281,15.660821 3.831853,14.228299 C 2.488425,12.795776 2.825354,9.3799249 4.038333,8.0864989 z "
        id="path3138"
        sodipodi:nodetypes="csssc" />
     <path
-       transform="matrix(1.010846,0,0,1.029732,-5.552971,-15.17001)"
        style="opacity:1;fill:white;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 13.257119,24.626053 C 13.257119,26.227351 11.8279,27.316574 10.863875,27.316574 C 9.5428049,27.316574 8.4706318,26.01697 8.4706318,24.415672 C 8.4706318,23.024119 9.2055946,21.514771 10.526665,21.514771 C 11.847736,21.514771 13.257119,23.360971 13.257119,24.626053 z "
+       d="M 8.8136637,11.188225 C 8.8136637,12.837133 7.3689434,13.95874 6.3944626,13.95874 C 5.0590642,13.95874 3.9752623,12.620497 3.9752623,10.971589 C 3.9752623,9.5386622 4.7181965,7.9844383 6.0535952,7.9844383 C 7.3889945,7.9844383 8.8136637,9.8855295 8.8136637,11.188225 z "
        id="path5157"
        sodipodi:nodetypes="csssc" />
     <path
@@ -540,36 +535,25 @@
        sodipodi:rx="1.2410715"
        sodipodi:ry="1.2946428"
        d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1  8.928571,24.3125 A 1.2410715 1.2946428 0 1 1  11.410714 24.3125 z"
-       transform="matrix(1.208633,0,0,1.158621,-6.791366,-17.66897)" />
+       transform="matrix(1.208633,0,0,1.158621,-5.825637,-16.66897)" />
     <path
-       transform="matrix(0.670792,0,0,0.486348,-3.805943,-3.90166)"
        style="fill:#3b1941;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 11.651119,11.193815 C 13.577759,8.2509126 16.249277,11.481501 17.614226,12.804399 L 14.761306,13.747613 L 11.651119,11.193815 z "
+       d="M 4.9752634,2.5424297 C 6.2676381,1.111155 8.059671,2.6823452 8.9752679,3.325734 L 7.061552,3.7844642 L 4.9752634,2.5424297 z "
        id="path5192"
        sodipodi:nodetypes="cccc" />
     <path
-       transform="matrix(0.851014,0,0,0.554879,-3.938174,-5.194599)"
        style="fill:#3b1941;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 11.689238,9.8218679 C 13.591296,8.0161941 17.174576,11.994261 17.519594,13.650486 L 14.543472,12.891665 L 11.689238,9.8218679 z "
+       d="M 6.9752602,1.2553494 C 8.5939382,0.25341885 11.64336,2.4607647 11.936975,3.3797691 L 9.4042533,2.9587153 L 6.9752602,1.2553494 z "
        id="rect5189"
        sodipodi:nodetypes="cccc" />
-    <rect
-       style="opacity:0.23144106;fill:#2e3436;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
-       id="rect3034"
-       width="36.000004"
-       height="2.9999979"
-       x="-84.444725"
-       y="32.42485"
-       rx="2.0412357"
-       ry="1.4999989" />
     <path
        style="fill:#975fa3;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 16.371022,7.8148748 C 15.47069,6.586993 14.005993,6.9141191 13.43112,7.6981356 C 12.643332,8.7725276 12.734671,10.64104 13.635002,11.868921 C 14.417404,12.93597 15.704314,13.495617 16.492103,12.421225 C 17.279892,11.346833 17.082315,8.7849447 16.371022,7.8148748 z "
+       d="M 17.336751,8.8148749 C 16.436419,7.5869931 14.971722,7.9141192 14.396849,8.6981357 C 13.609061,9.7725277 13.7004,11.64104 14.600731,12.868921 C 15.383133,13.93597 16.670043,14.495617 17.457832,13.421225 C 18.245621,12.346833 18.048044,9.7849448 17.336751,8.8148749 z "
        id="path3132"
        sodipodi:nodetypes="csssc" />
     <path
        style="fill:white;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 16.502957,8.5432477 C 15.827476,7.7246593 14.728576,7.9427464 14.297274,8.4654263 C 13.706229,9.1816906 13.774757,10.427368 14.450238,11.245957 C 15.037241,11.957323 16.002754,12.33042 16.593798,11.614156 C 17.184843,10.897891 17.03661,9.1899614 16.502957,8.5432477 z "
+       d="M 17.468686,9.5432478 C 16.793205,8.7246594 15.694305,8.9427465 15.263003,9.4654264 C 14.671958,10.181691 14.740486,11.427368 15.415967,12.245957 C 16.00297,12.957323 16.968483,13.33042 17.559527,12.614156 C 18.150572,11.897891 18.002339,10.189962 17.468686,9.5432478 z "
        id="path3134"
        sodipodi:nodetypes="csssc" />
     <path
@@ -581,24 +565,24 @@
        sodipodi:rx="1.2410715"
        sodipodi:ry="1.2946428"
        d="M 11.410714 24.3125 A 1.2410715 1.2946428 0 1 1  8.928571,24.3125 A 1.2410715 1.2946428 0 1 1  11.410714 24.3125 z"
-       transform="matrix(1.153827,0,0,1.158621,3.593156,-17.66895)" />
+       transform="matrix(1.153827,0,0,1.158621,4.558885,-16.66895)" />
     <rect
        style="fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
        id="rect3140"
        width="4.4400907"
        height="1"
-       x="8.5358553"
-       y="13"
+       x="9.501585"
+       y="14"
        rx="0.69182354"
        ry="0.5" />
     <path
        style="fill:#fcaf3e;fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 6,13.893438 C 11.088512,17.243015 10.655188,12 11.431469,12 C 12.197069,12 11.699301,17.201991 16,13.895644 C 15.267157,15.102946 13.014668,17 12.06507,17 C 11.104781,17 7.190872,15.676807 6,13.893438 z "
+       d="M 6.965729,14.893438 C 12.054241,18.243015 11.620917,13 12.397198,13 C 13.162798,13 12.66503,18.201991 16.965729,14.895644 C 16.232886,16.102946 13.980397,18 13.030799,18 C 12.07051,18 8.156601,16.676807 6.965729,14.893438 z "
        id="path3142"
        sodipodi:nodetypes="czczc" />
     <path
        style="fill:url(#linearGradient3146);fill-opacity:1;stroke:none;stroke-width:1.0283047;stroke-miterlimit:4;stroke-opacity:1"
-       d="M 6,13.893439 C 10.740404,18.171305 10.655188,12 11.431469,12 C 12.197069,12 11.641283,17.027939 16,13.895646 C 15.267157,15.102947 13.014668,17 12.06507,17 C 11.104781,17 7.190873,15.676809 6,13.893439 z "
+       d="M 6.965729,14.893439 C 11.706133,19.171305 11.620917,13 12.397198,13 C 13.162798,13 12.607012,18.027939 16.965729,14.895646 C 16.232886,16.102947 13.980397,18 13.030799,18 C 12.07051,18 8.156602,16.676809 6.965729,14.893439 z "
        id="path3144"
        sodipodi:nodetypes="czczc" />
   </g>
Binary file pidgin/pixmaps/toolbar/16/unblock.png has changed
--- a/pidgin/plugins/win32/transparency/win2ktrans.c	Tue Jul 10 08:54:18 2007 +0000
+++ b/pidgin/plugins/win32/transparency/win2ktrans.c	Tue Jul 10 08:58:23 2007 +0000
@@ -76,15 +76,6 @@
 /*
  *  CODE
  */
-static GtkWidget *wpurple_button(const char *text, const char *pref, GtkWidget *page) {
-	GtkWidget *button;
-	button = gtk_check_button_new_with_mnemonic(text);
-	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button),
-		purple_prefs_get_bool(pref));
-	gtk_box_pack_start(GTK_BOX(page), button, FALSE, FALSE, 0);
-	gtk_widget_show(button);
-	return button;
-}
 
 /* Set window transparency level */
 static void set_wintrans(GtkWidget *window, int alpha, gboolean enabled,
@@ -233,7 +224,8 @@
 		G_CALLBACK(focus_conv_win_cb), window);
 }
 
-static void purple_conversation_delete(PurpleConversation *conv) {
+static void
+conversation_delete_cb(PurpleConversation *conv) {
 	PidginWindow *win = pidgin_conv_get_window(PIDGIN_CONVERSATION(conv));
 	/* If it is the last conversation in the window, cleanup */
 	if (pidgin_conv_window_get_gtkconv_count(win) == 1)
@@ -391,12 +383,35 @@
 		remove_convs_wintrans(FALSE);
 }
 
-static void purple_new_conversation(PurpleConversation *conv) {
+static void
+conv_updated_cb(PurpleConversation *conv, PurpleConvUpdateType type) {
+	PidginConversation *pconv = PIDGIN_CONVERSATION(conv);
+	PidginWindow *win = pidgin_conv_get_window(pconv);
+
+	if (type == PURPLE_CONV_UPDATE_UNSEEN && !pidgin_conv_is_hidden(pconv)
+			&& pconv->unseen_state == PIDGIN_UNSEEN_NONE
+			&& pidgin_conv_window_get_gtkconv_count(win) == 1) {
+		GtkWidget *window = win->window;
+
+		set_conv_window_trans(NULL, win);
+
+		if (g_signal_handler_find(G_OBJECT(window), G_SIGNAL_MATCH_FUNC,
+				0, 0, NULL, G_CALLBACK(focus_conv_win_cb), NULL) == 0) {
+			g_signal_connect(G_OBJECT(window), "focus_in_event",
+				G_CALLBACK(focus_conv_win_cb), window);
+			g_signal_connect(G_OBJECT(window), "focus_out_event",
+				G_CALLBACK(focus_conv_win_cb), window);
+		}
+	}
+}
+
+static void
+new_conversation_cb(PurpleConversation *conv) {
 	PidginWindow *win = pidgin_conv_get_window(PIDGIN_CONVERSATION(conv));
 
 	/* If it is the first conversation in the window,
 	 * add the sliders, and set transparency */
-	if (pidgin_conv_window_get_gtkconv_count(win) == 1) {
+	if (!pidgin_conv_is_hidden(PIDGIN_CONVERSATION(conv)) && pidgin_conv_window_get_gtkconv_count(win) == 1) {
 		GtkWidget *window = win->window;
 
 		set_conv_window_trans(NULL, win);
@@ -408,7 +423,8 @@
 	}
 }
 
-static void blist_created_cb(PurpleBuddyList *purple_blist, gpointer data) {
+static void
+blist_created_cb(PurpleBuddyList *purple_blist, gpointer data) {
 	if (blist) {
 		if (purple_prefs_get_bool(OPT_WINTRANS_BL_ENABLED)) {
 			set_wintrans(blist,
@@ -477,17 +493,21 @@
 
 	purple_signal_connect(purple_conversations_get_handle(),
 		"conversation-created", plugin,
-		PURPLE_CALLBACK(purple_new_conversation), NULL);
+		PURPLE_CALLBACK(new_conversation_cb), NULL);
 
 	/* Set callback to remove window from the list, if the window is destroyed */
 	purple_signal_connect(purple_conversations_get_handle(),
 		"deleting-conversation", plugin,
-		PURPLE_CALLBACK(purple_conversation_delete), NULL);
+		PURPLE_CALLBACK(conversation_delete_cb), NULL);
 
 	purple_signal_connect(pidgin_conversations_get_handle(),
 		"conversation-dragging", plugin,
 		PURPLE_CALLBACK(set_conv_window_trans), NULL);
 
+	purple_signal_connect(purple_conversations_get_handle(),
+		"conversation-updated", plugin,
+		PURPLE_CALLBACK(conv_updated_cb), NULL);
+
 	update_existing_convs();
 
 	if (blist)
@@ -531,7 +551,7 @@
 
 	/* IM Convo trans options */
 	imtransbox = pidgin_make_frame(ret, _("IM Conversation Windows"));
-	button = wpurple_button(_("_IM window transparency"),
+	button = pidgin_prefs_checkbox(_("_IM window transparency"),
 		OPT_WINTRANS_IM_ENABLED, imtransbox);
 	g_signal_connect(GTK_OBJECT(button), "clicked",
 		GTK_SIGNAL_FUNC(update_convs_wintrans),
@@ -545,7 +565,7 @@
 	g_signal_connect(GTK_OBJECT(button), "clicked",
 		GTK_SIGNAL_FUNC(pidgin_toggle_sensitive), trans_box);
 
-	button = wpurple_button(_("_Show slider bar in IM window"),
+	button = pidgin_prefs_checkbox(_("_Show slider bar in IM window"),
 		OPT_WINTRANS_IM_SLIDER, trans_box);
 	g_signal_connect(GTK_OBJECT(button), "clicked",
 		GTK_SIGNAL_FUNC(update_convs_wintrans),
@@ -555,7 +575,7 @@
 		_("Remove IM window transparency on focus"),
 		OPT_WINTRANS_IM_ONFOCUS, trans_box);
 
-	button = wpurple_button(_("Always on top"), OPT_WINTRANS_IM_ONTOP,
+	button = pidgin_prefs_checkbox(_("Always on top"), OPT_WINTRANS_IM_ONTOP,
 		trans_box);
 	g_signal_connect(GTK_OBJECT(button), "clicked",
 		GTK_SIGNAL_FUNC(update_convs_wintrans),
@@ -588,7 +608,7 @@
 
 	/* Buddy List trans options */
 	bltransbox = pidgin_make_frame (ret, _("Buddy List Window"));
-	button = wpurple_button(_("_Buddy List window transparency"),
+	button = pidgin_prefs_checkbox(_("_Buddy List window transparency"),
 		OPT_WINTRANS_BL_ENABLED, bltransbox);
 	g_signal_connect(GTK_OBJECT(button), "clicked",
 		GTK_SIGNAL_FUNC(set_blist_trans),
@@ -603,7 +623,7 @@
 	button = pidgin_prefs_checkbox(
 		_("Remove Buddy List window transparency on focus"),
 		OPT_WINTRANS_BL_ONFOCUS, trans_box);
-	button = wpurple_button(_("Always on top"), OPT_WINTRANS_BL_ONTOP,
+	button = pidgin_prefs_checkbox(_("Always on top"), OPT_WINTRANS_BL_ONTOP,
 		trans_box);
 	g_signal_connect(GTK_OBJECT(button), "clicked",
 		GTK_SIGNAL_FUNC(set_blist_trans),
--- a/pidgin/win32/nsis/pidgin-installer.nsi	Tue Jul 10 08:54:18 2007 +0000
+++ b/pidgin/win32/nsis/pidgin-installer.nsi	Tue Jul 10 08:58:23 2007 +0000
@@ -1168,6 +1168,35 @@
   ;Preselect the URI handlers as appropriate
   Call SelectURIHandlerSelections
 
+  ;Preselect the "shortcuts" checkboxes according to the previous installation
+  ClearErrors
+  ;Make sure that there was a previous installation
+  ReadRegStr $R0 HKCU "${PIDGIN_REG_KEY}" "Installer Language"
+  IfErrors done_preselecting_shortcuts
+    ;Does the Desktop shortcut exist?
+    GetFileTime "$DESKTOP\Pidgin.lnk" $R0 $R0
+    IfErrors +1 +4
+    ClearErrors
+    SetShellVarContext "all"
+    GetFileTime "$DESKTOP\Pidgin.lnk" $R0 $R0
+    IfErrors preselect_startmenu_shortcut ;Desktop Shortcut if off by default
+    !insertmacro SelectSection ${SecDesktopShortcut}
+  preselect_startmenu_shortcut:
+    ;Reset ShellVarContext because we may have changed it
+    SetShellVarContext "current"
+    ClearErrors
+    ;Does the StartMenu shortcut exist?
+    GetFileTime "$SMPROGRAMS\Pidgin.lnk" $R0 $R0
+    IfErrors +1 done_preselecting_shortcuts ;StartMenu Shortcut is on by default
+    ClearErrors
+    SetShellVarContext "all"
+    GetFileTime "$SMPROGRAMS\Pidgin.lnk" $R0 $R0
+    IfErrors +1 done_preselecting_shortcuts ;StartMenu Shortcut is on by default
+    !insertmacro UnselectSection ${SecStartMenuShortcut}
+  done_preselecting_shortcuts:
+  ;Reset ShellVarContext because we may have changed it
+  SetShellVarContext "current"
+
   StrCpy $ISSILENT "/NOUI"
 
   ; GTK installer has two silent states.. one with Message boxes, one without
@@ -1305,7 +1334,7 @@
 
 !ifndef WITH_GTK
   ; If this installer dosn't have GTK, check whether we need it.
-  ; We do this here an not in .onInit because language change in
+  ; We do this here and not in .onInit because language change in
   ; .onInit doesn't take effect until it is finished.
   Call DoWeNeedGtk
   Pop $R0