changeset 18394:b1fc539eb390

merge of '00f5a5bbf5027e924850c72a98b88981dbd260f8' and '358b68d6338e9e6305f7f3b82800a9b56ab4ea11'
author Richard Laager <rlaager@wiktel.com>
date Sun, 01 Jul 2007 01:09:29 +0000
parents 0ef0b2ead713 (current diff) 693f9b544e2b (diff)
children ed470f35ceab
files
diffstat 4 files changed, 64 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Sun Jul 01 01:08:10 2007 +0000
+++ b/ChangeLog	Sun Jul 01 01:09:29 2007 +0000
@@ -19,6 +19,13 @@
 	  second time will raise the buddy list.  (Gabriel Schulhof)
 	* Undo capability in the conversation window
 
+	Finch:
+	* There's support for workspaces now (details in the manpage)
+	* There's a new custom window manager, Irssi
+	* Some improvements for tab-completion, tooltip and the password entries
+	* Some bugs regarding search results fixed
+	* A new DBus-script to create a docklet for finch
+
 version 2.0.2 (06/14/2007):
 	Pidgin:
 	* Added a custom conversation font option to preferences
--- a/ChangeLog.API	Sun Jul 01 01:08:10 2007 +0000
+++ b/ChangeLog.API	Sun Jul 01 01:09:29 2007 +0000
@@ -89,10 +89,24 @@
 		Added:
 		* finch_retrieve_user_info
 
-		Changed:
-		* gnt_tree_get_rows() now returns a GList* instead of a const
-		  GList*, as const is not very useful with GLists.  The
-		  returned value still must not be modified or freed.
+		libgnt:
+			Added:
+			* GntWS for workspaces
+			* gnt_tree_set_column_title
+			* GntSlider widget
+			* "completion" signal for GntEntry
+			* "terminal-refresh" signal for GntWM, with a corresponding entry
+			  in GntWMClass
+			* New flags for GntTextView to decide whether to word-wrap or show
+			  scrollbars (GntTextViewFlag) which can be set by
+			  gnt_text_view_set_flag
+			* gnt_style_get_from_name
+			* gnt_window_present
+
+			Changed:
+			* gnt_tree_get_rows() now returns a GList* instead of a const
+			  GList*, as const is not very useful with GLists.  The
+			  returned value still must not be modified or freed.
 
 version 2.0.2 (6/14/2007):
 	Pidgin:
--- a/finch/plugins/pietray.py	Sun Jul 01 01:08:10 2007 +0000
+++ b/finch/plugins/pietray.py	Sun Jul 01 01:09:29 2007 +0000
@@ -78,9 +78,27 @@
 def toggle_pref(item, pref):
 	purple.PurplePrefsSetBool(pref, item.get_active())
 
+def quit_finch(item, null):
+	# XXX: Ask first
+	purple.PurpleCoreQuit()
+	gtk.main_quit()
+
+def close_docklet(item, null):
+	gtk.main_quit()
+
 def popup_menu(icon, button, tm, none):
 	menu = gtk.Menu()
 
+	#item = gtk.ImageMenuItem(gtk.STOCK_QUIT)
+	#item.connect("activate", quit_finch, None)
+	#menu.append(item)
+
+	item = gtk.ImageMenuItem(gtk.STOCK_CLOSE)
+	item.connect("activate", close_docklet, None)
+	menu.append(item)
+
+	menu.append(gtk.MenuItem())
+
 	item = gtk.CheckMenuItem("Blink for unread IM")
 	item.set_active(purple.PurplePrefsGetBool("/plugins/dbus/docklet/blink/im"))
 	item.connect("activate", toggle_pref, "/plugins/dbus/docklet/blink/im")
@@ -176,8 +194,14 @@
 t = gtk.StatusIcon()
 t.connect("popup-menu", popup_menu, None)
 
-init_prefs()
-detect_unread_conversations()
+try:
+	init_prefs()
+	detect_unread_conversations()
+	gtk.main ()
+except:
+	dialog = gtk.Dialog("pietray: Error", None, gtk.DIALOG_NO_SEPARATOR | gtk.DIALOG_MODAL, ("Close", gtk.RESPONSE_CLOSE))
+	dialog.set_resizable(False)
+	dialog.vbox.pack_start(gtk.Label("There was some error. Perhaps a purple client is not running."), False, False, 0)
+	dialog.show_all()
+	dialog.run()
 
-gtk.main ()
-
--- a/pidgin/gtkimhtml.c	Sun Jul 01 01:08:10 2007 +0000
+++ b/pidgin/gtkimhtml.c	Sun Jul 01 01:09:29 2007 +0000
@@ -494,6 +494,8 @@
 	GSList *tags = NULL, *templist = NULL;
 	GdkColor *norm, *pre;
 	GtkTextTag *tag = NULL, *oldprelit_tag;
+	GtkTextChildAnchor* anchor;
+	gboolean hand = TRUE;
 
 	oldprelit_tag = GTK_IMHTML(imhtml)->prelit_tag;
 
@@ -551,8 +553,15 @@
 		GTK_IMHTML(imhtml)->tip_timer = 0;
 	}
 
+	/* If we don't have a tip from a URL, let's see if we have a tip from a smiley */
+	anchor = gtk_text_iter_get_child_anchor(&iter);
+	if (anchor) {
+		tip = g_object_get_data(G_OBJECT(anchor), "gtkimhtml_plaintext");
+		hand = FALSE;
+	}
+
 	if (tip){
-		if (!GTK_IMHTML(imhtml)->editable)
+		if (!GTK_IMHTML(imhtml)->editable && hand)
 			gdk_window_set_cursor(win, GTK_IMHTML(imhtml)->hand_cursor);
 		GTK_IMHTML(imhtml)->tip_timer = g_timeout_add (TOOLTIP_TIMEOUT,
 							       gtk_imhtml_tip, imhtml);
@@ -4621,6 +4630,7 @@
 			GtkWidget *img = gtk_image_new_from_stock(GTK_STOCK_MISSING_IMAGE, GTK_ICON_SIZE_MENU);
 			gtk_container_add(GTK_CONTAINER(ebox), img);
 			gtk_widget_show(img);
+			g_object_set_data_full(G_OBJECT(anchor), "gtkimhtml_plaintext", g_strdup(unescaped), g_free);
 			gtk_text_view_add_child_at_anchor(GTK_TEXT_VIEW(imhtml), ebox, anchor);
 		}
 	} else {