diff finch/gntprefs.c @ 18345:2d4df5ef0090

If the action-windows are already there, then bring them to front when requested.
author Sadrul Habib Chowdhury <imadil@gmail.com>
date Thu, 28 Jun 2007 18:52:26 +0000
parents 65fedb03ac05
children 719f73b9a593
line wrap: on
line diff
--- a/finch/gntprefs.c	Thu Jun 28 18:41:43 2007 +0000
+++ b/finch/gntprefs.c	Thu Jun 28 18:52:26 2007 +0000
@@ -30,11 +30,15 @@
 #include "gntprefs.h"
 #include "gntrequest.h"
 
+#include "gnt.h"
+#include "gntwidget.h"
+
 #include <string.h>
 
 static struct {
 	GList *freestrings;  /* strings to be freed when the pref-window is closed */
 	gboolean showing;
+	GntWidget *window;
 } pref_request;
 
 void finch_prefs_init()
@@ -239,8 +243,10 @@
 {
 	PurpleRequestFields *fields;
 
-	if (pref_request.showing)
+	if (pref_request.showing) {
+		gnt_window_present(pref_request.window);
 		return;
+	}
 
 	fields = purple_request_fields_new();
 
@@ -250,7 +256,7 @@
 	add_pref_group(fields, _("Idle"), idle);
 
 	pref_request.showing = TRUE;
-	purple_request_fields(NULL, _("Preferences"), NULL, NULL, fields,
+	pref_request.window = purple_request_fields(NULL, _("Preferences"), NULL, NULL, fields,
 			_("Save"), G_CALLBACK(save_cb), _("Cancel"), free_strings,
 			NULL, NULL, NULL,
 			NULL);