comparison 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
comparison
equal deleted inserted replaced
18344:310bad6dafe4 18345:2d4df5ef0090
28 #include <savedstatuses.h> 28 #include <savedstatuses.h>
29 29
30 #include "gntprefs.h" 30 #include "gntprefs.h"
31 #include "gntrequest.h" 31 #include "gntrequest.h"
32 32
33 #include "gnt.h"
34 #include "gntwidget.h"
35
33 #include <string.h> 36 #include <string.h>
34 37
35 static struct { 38 static struct {
36 GList *freestrings; /* strings to be freed when the pref-window is closed */ 39 GList *freestrings; /* strings to be freed when the pref-window is closed */
37 gboolean showing; 40 gboolean showing;
41 GntWidget *window;
38 } pref_request; 42 } pref_request;
39 43
40 void finch_prefs_init() 44 void finch_prefs_init()
41 { 45 {
42 purple_prefs_add_none("/finch"); 46 purple_prefs_add_none("/finch");
237 241
238 void finch_prefs_show_all() 242 void finch_prefs_show_all()
239 { 243 {
240 PurpleRequestFields *fields; 244 PurpleRequestFields *fields;
241 245
242 if (pref_request.showing) 246 if (pref_request.showing) {
247 gnt_window_present(pref_request.window);
243 return; 248 return;
249 }
244 250
245 fields = purple_request_fields_new(); 251 fields = purple_request_fields_new();
246 252
247 add_pref_group(fields, _("Buddy List"), blist); 253 add_pref_group(fields, _("Buddy List"), blist);
248 add_pref_group(fields, _("Conversations"), convs); 254 add_pref_group(fields, _("Conversations"), convs);
249 add_pref_group(fields, _("Logging"), logging); 255 add_pref_group(fields, _("Logging"), logging);
250 add_pref_group(fields, _("Idle"), idle); 256 add_pref_group(fields, _("Idle"), idle);
251 257
252 pref_request.showing = TRUE; 258 pref_request.showing = TRUE;
253 purple_request_fields(NULL, _("Preferences"), NULL, NULL, fields, 259 pref_request.window = purple_request_fields(NULL, _("Preferences"), NULL, NULL, fields,
254 _("Save"), G_CALLBACK(save_cb), _("Cancel"), free_strings, 260 _("Save"), G_CALLBACK(save_cb), _("Cancel"), free_strings,
255 NULL, NULL, NULL, 261 NULL, NULL, NULL,
256 NULL); 262 NULL);
257 } 263 }
258 264