#include <stdio.h>
#include <string.h>
#include <gtk/gtk.h>
#include <liberregxml/erregapi.h>
#include "setupLog.h"
#include "iLiadLanguageData.h"
#include "languages.h"
#include "settings.h"
Go to the source code of this file.
Functions | |
| void | iLiad_language_data_init (void) |
| void | iLiad_language_data_destroy (void) |
| void | iLiad_language_data_store (void) |
| void | iLiad_language_data_set (const char *language) |
| char * | iLiad_language_data_get (void) |
Variables | |
| static regUserSetting_t * | g_settings = NULL |
| static char * | g_cur_language = NULL |
| static char * | g_stored_language = NULL |
Copyright (C) 2005-2008 iRex Technologies B.V. All rights reserved.
Providing language settings data functions.
Definition in file iLiadLanguageData.c.
| void iLiad_language_data_destroy | ( | void | ) |
Definition at line 78 of file iLiadLanguageData.c.
00079 { 00080 ST_LOGPRINTF("entry"); 00081 00082 if (g_settings) 00083 { 00084 erRegFreeUserSetting(g_settings); 00085 g_settings = NULL; 00086 } 00087 00088 if (g_cur_language) 00089 { 00090 g_free(g_cur_language); 00091 g_cur_language = NULL; 00092 } 00093 00094 if (g_stored_language) 00095 { 00096 g_free(g_stored_language); 00097 g_stored_language = NULL; 00098 } 00099 }

| char* iLiad_language_data_get | ( | void | ) |
Definition at line 145 of file iLiadLanguageData.c.
00146 { 00147 ST_LOGPRINTF("entry"); 00148 00149 return g_cur_language; 00150 }
| void iLiad_language_data_init | ( | void | ) |
Definition at line 48 of file iLiadLanguageData.c.
00049 { 00050 ST_LOGPRINTF("entry"); 00051 00052 // get settings from registry 00053 iLiad_language_data_destroy(); 00054 g_settings = erRegGetUserSetting(); 00055 00056 if (g_settings == NULL) 00057 { 00058 ST_WARNPRINTF("use default values"); 00059 00060 g_settings = g_new0(regUserSetting_t, 1); 00061 g_settings->language = strdup(DEFAULT_LOCALE); 00062 g_settings->volume = 75; 00063 g_settings->keyBuffering = 0; 00064 g_settings->longkeypressTimeout = 500; 00065 g_settings->flipbarLeftIsDown = TRUE; 00066 00067 g_cur_language = g_strdup(g_settings->language); 00068 } 00069 else 00070 { 00071 g_cur_language = g_strdup(g_settings->language); 00072 g_stored_language = g_strdup(g_cur_language); 00073 } 00074 00075 ST_LOGPRINTF("current language is %s", g_cur_language); 00076 }

| void iLiad_language_data_set | ( | const char * | language | ) |
Definition at line 136 of file iLiadLanguageData.c.
00137 { 00138 ST_LOGPRINTF("entry, change language from '%s' to be '%s'", 00139 g_cur_language, language); 00140 00141 g_free(g_cur_language); 00142 g_cur_language = strdup(language); 00143 }
| void iLiad_language_data_store | ( | void | ) |
Definition at line 101 of file iLiadLanguageData.c.
00102 { 00103 ST_LOGPRINTF("entry"); 00104 00105 gboolean bNeedSave = FALSE; 00106 00107 g_return_if_fail(g_cur_language); 00108 00109 if ( (NULL == g_stored_language) || strcmp(g_cur_language, g_stored_language)) 00110 { 00111 bNeedSave = TRUE; 00112 } 00113 00114 ST_LOGPRINTF("Need save? %s.", bNeedSave ? "Yes":"No"); 00115 00116 if (bNeedSave) 00117 { 00118 prepare_registry_write(); 00119 00120 // prepare g_settings 00121 g_free(g_settings->language); 00122 g_settings->language = g_strdup(g_cur_language); 00123 00124 // store g_settings to registry 00125 ST_STOREPRINTF("calling erRegSetUserSetting"); 00126 erRegSetUserSetting(g_settings); 00127 00128 // update g_stored_language 00129 g_free(g_stored_language); 00130 g_stored_language = g_strdup(g_cur_language); 00131 00132 do_registry_write(); 00133 } 00134 }

char* g_cur_language = NULL [static] |
Definition at line 45 of file iLiadLanguageData.c.
regUserSetting_t* g_settings = NULL [static] |
Definition at line 43 of file iLiadLanguageData.c.
char* g_stored_language = NULL [static] |
Definition at line 46 of file iLiadLanguageData.c.
1.5.6