Mercurial > pidgin
changeset 18334:65fedb03ac05
Mark some string for translation, and show only one preference window at a
time.
author | Sadrul Habib Chowdhury <imadil@gmail.com> |
---|---|
date | Thu, 28 Jun 2007 18:33:20 +0000 |
parents | f23a7736586f |
children | 27e54692b2b4 |
files | finch/gntprefs.c |
diffstat | 1 files changed, 17 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/finch/gntprefs.c Thu Jun 28 18:32:22 2007 +0000 +++ b/finch/gntprefs.c Thu Jun 28 18:33:20 2007 +0000 @@ -32,7 +32,10 @@ #include <string.h> -static GList *freestrings; /* strings to be freed when the pref-window is closed */ +static struct { + GList *freestrings; /* strings to be freed when the pref-window is closed */ + gboolean showing; +} pref_request; void finch_prefs_init() { @@ -98,7 +101,7 @@ str = g_strdup_printf("%ld", purple_savedstatus_get_creation_time(iter->data)); list = g_list_append(list, (char*)purple_savedstatus_get_title(iter->data)); list = g_list_append(list, str); - freestrings = g_list_prepend(freestrings, str); + pref_request.freestrings = g_list_prepend(pref_request.freestrings, str); } return list; } @@ -190,22 +193,22 @@ {PURPLE_PREF_NONE, NULL, NULL, NULL}, }; -/* XXX: Translate after the freeze */ static Prefs idle[] = { - {PURPLE_PREF_STRING, "/purple/away/idle_reporting", "Report Idle time", get_idle_options}, - {PURPLE_PREF_BOOLEAN, "/purple/away/away_when_idle", "Change status when idle", NULL}, - {PURPLE_PREF_INT, "/purple/away/mins_before_away", "Minutes before changing status", NULL}, - {PURPLE_PREF_INT, "/purple/savedstatus/idleaway", "Change status to", get_status_titles}, + {PURPLE_PREF_STRING, "/purple/away/idle_reporting", N_("Report Idle time"), get_idle_options}, + {PURPLE_PREF_BOOLEAN, "/purple/away/away_when_idle", N_("Change status when idle"), NULL}, + {PURPLE_PREF_INT, "/purple/away/mins_before_away", N_("Minutes before changing status"), NULL}, + {PURPLE_PREF_INT, "/purple/savedstatus/idleaway", N_("Change status to"), get_status_titles}, {PURPLE_PREF_NONE, NULL, NULL, NULL}, }; static void free_strings() { - g_list_foreach(freestrings, (GFunc)g_free, NULL); - g_list_free(freestrings); - freestrings = NULL; + g_list_foreach(pref_request.freestrings, (GFunc)g_free, NULL); + g_list_free(pref_request.freestrings); + pref_request.freestrings = NULL; + pref_request.showing = FALSE; } static void @@ -236,6 +239,9 @@ { PurpleRequestFields *fields; + if (pref_request.showing) + return; + fields = purple_request_fields_new(); add_pref_group(fields, _("Buddy List"), blist); @@ -243,6 +249,7 @@ add_pref_group(fields, _("Logging"), logging); add_pref_group(fields, _("Idle"), idle); + pref_request.showing = TRUE; purple_request_fields(NULL, _("Preferences"), NULL, NULL, fields, _("Save"), G_CALLBACK(save_cb), _("Cancel"), free_strings, NULL, NULL, NULL,