[Galago-commits] r1991 - in trunk/xfce4-galago: . src

galago-commits at freedesktop.org galago-commits at freedesktop.org
Sat Jun 25 19:05:20 PDT 2005


Author: grim
Date: 2005-06-25 19:05:18 -0700 (Sat, 25 Jun 2005)
New Revision: 1991

Modified:
   trunk/xfce4-galago/.todo
   trunk/xfce4-galago/ChangeLog
   trunk/xfce4-galago/src/xfce_galago.c
Log:
Only one contact chooser may be open at a time now.



Modified: trunk/xfce4-galago/.todo
===================================================================
--- trunk/xfce4-galago/.todo	2005-06-26 01:53:39 UTC (rev 1990)
+++ trunk/xfce4-galago/.todo	2005-06-26 02:05:18 UTC (rev 1991)
@@ -1,5 +1,8 @@
-<!-- Automagically generated by the ToDo program on Sat Jun 25 20:50:22 2005 -->
+<!-- Automagically generated by the ToDo program on Sat Jun 25 21:01:54 2005 -->
 <todo version="0.1.18">
+    <note priority="high" time="1119751314">
+        save and load last selected person
+    </note>
     <note priority="medium" time="1119750622">
         figure out what to do about i18n support
     </note>

Modified: trunk/xfce4-galago/ChangeLog
===================================================================
--- trunk/xfce4-galago/ChangeLog	2005-06-26 01:53:39 UTC (rev 1990)
+++ trunk/xfce4-galago/ChangeLog	2005-06-26 02:05:18 UTC (rev 1991)
@@ -1,3 +1,7 @@
+Sat Jun 25 21:03:00 CDT 2005  Gary Kramlich <grim at reaperworld.com>
+
+	* Only one contact chooser may be open at a time now
+
 Sat Jun 25 20:52:00 CDT 2005  Gary Kramlich <grim at reaperworld.com>
 
 	* Added a .todo file

Modified: trunk/xfce4-galago/src/xfce_galago.c
===================================================================
--- trunk/xfce4-galago/src/xfce_galago.c	2005-06-26 01:53:39 UTC (rev 1990)
+++ trunk/xfce4-galago/src/xfce_galago.c	2005-06-26 02:05:18 UTC (rev 1991)
@@ -45,6 +45,11 @@
 
 	GtkWidget *icon;
 	GtkWidget *label;
+
+	/* this is used only so we don't request the dialog more than once at a
+	 * time since it takes a second to come up.
+	 */
+	GtkWidget *diag;
 } XfceGalago;
 
 static void
@@ -63,25 +68,27 @@
 		xfce_galago_update(xg, galago_gtk_contact_chooser_get_contact(chooser));
 	}
 
-	gtk_widget_destroy(GTK_WIDGET(chooser));
+	gtk_widget_destroy(GTK_WIDGET(xg->diag));
+	xg->diag = NULL;
 }
 
 static gboolean
 xfce_galago_clicked_cb(GtkWidget *w, GdkEventButton *e, XfceGalago *xg) {
-	GtkWidget *diag;
-
 	if(e->button != 1)
 		return FALSE;
 
-	diag = galago_gtk_contact_chooser_dialog_new(
+	if(xg->diag != NULL)
+		return TRUE;
+
+	xg->diag = galago_gtk_contact_chooser_dialog_new(
 		"Xfce Galago", NULL,
 		GALAGO_GTK_CONTACT_CHOOSER_SELECT_CONTACTS,
 		GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT,
 		GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,
 		NULL);
-	gtk_widget_show(diag);
+	gtk_widget_show(xg->diag);
 
-	g_signal_connect(G_OBJECT(diag), "response",
+	g_signal_connect(G_OBJECT(xg->diag), "response",
 					 G_CALLBACK(xfce_galago_contact_chooser_cb), xg);
 
 	return TRUE;



More information about the galago-commits mailing list