Mercurial > pidgin.yaz
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 |