#include <gtk/gtk.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <sys/ioctl.h>
#include <sys/soundcard.h>
#include <unistd.h>
#include <liberregxml/erregapi.h>
#include <libergtk/ergtk.h>
#include <liberipc/eripc.h>
#include <liberipc/eripcbusyd.h>
#include <liberipc/eripccontentlister.h>
#include "setupLog.h"
#include "displayStatus.h"
#include "background.h"
#include "erbusy.h"
#include "iLiadUserScreen.h"
#include "iLiadConfigScreen.h"
#include "iLiadBgConnectScreen.h"
#include "iLiadPincodeScreen.h"
#include "iLiadConfigData.h"
#include "iLiadDateTimeScreen.h"
#include "iLiadPCConnectScreen.h"
#include "iLiadArcLocData.h"
#include "iLiadArcLocScreen.h"
#include "iLiadStartUpScreen.h"
#include "iLiadDeviceOverview.h"
#include "iLiadTimediDSScreen.h"
#include "languages.h"
#include "settings.h"
Go to the source code of this file.
Copyright (C) 2005-2008 iRex Technologies B.V. All rights reserved.
<File description>="">
Definition in file iLiadConfigData.c.
| #define AUDIO_DEVICE "/dev/dsp" |
Definition at line 68 of file iLiadConfigData.c.
| #define MIXER "/dev/mixer" |
Definition at line 67 of file iLiadConfigData.c.
| gboolean iLiad_config_data_change_flipbar_direction | ( | ) |
Definition at line 188 of file iLiadConfigData.c.
00189 { 00190 gboolean ret = FALSE; 00191 00192 if (g_init_settings && g_user_settings) 00193 { 00194 if (g_init_settings->flipbarLeftIsDown 00195 == g_user_settings->flipbarLeftIsDown) 00196 ret = FALSE; 00197 else 00198 ret = TRUE; 00199 } 00200 00201 return ret; 00202 }
| void iLiad_config_data_destroy | ( | void | ) |
Definition at line 112 of file iLiadConfigData.c.
00113 { 00114 ST_LOGPRINTF("entry"); 00115 00116 if (g_user_settings) 00117 { 00118 erRegFreeUserSetting(g_user_settings); 00119 g_user_settings = NULL; 00120 } 00121 00122 if (g_stored_settings) 00123 { 00124 erRegFreeUserSetting(g_stored_settings); 00125 g_stored_settings = NULL; 00126 } 00127 00128 if (g_init_settings) 00129 { 00130 erRegFreeUserSetting(g_init_settings); 00131 g_init_settings = NULL; 00132 } 00133 }

| void iLiad_config_data_display | ( | void | ) |
Definition at line 135 of file iLiadConfigData.c.
00136 { 00137 ST_LOGPRINTF("entry"); 00138 00139 g_return_if_fail(NULL != g_user_settings); 00140 g_assert(NULL != g_user_settings); 00141 00142 //language 00143 if (g_user_settings->language) 00144 { 00145 iLiad_config_set_language(g_user_settings->language); 00146 } 00147 else 00148 { 00149 iLiad_config_set_language(DEFAULT_LOCALE); 00150 } 00151 00152 //timeout value 00153 iLiad_config_set_keys(g_user_settings->longkeypressTimeout); 00154 00155 // volume 00156 //iLiad_config_set_volume(g_user_settings->volume); 00157 if(g_user_settings->volume == 0) 00158 { 00159 iLiad_config_set_volume(0); 00160 } 00161 else 00162 { 00163 iLiad_config_set_volume(1); 00164 } 00165 00166 // keybuffering value 00167 if(g_user_settings->keyBuffering == 0) 00168 { 00169 iLiad_config_set_keybuffering(0); 00170 } 00171 else 00172 { 00173 iLiad_config_set_keybuffering(1); 00174 } 00175 00176 // flipbarLeftIsDown value 00177 if(g_user_settings->flipbarLeftIsDown == TRUE) 00178 { 00179 iLiad_config_set_flipbar_direction(TRUE); 00180 } 00181 else 00182 { 00183 iLiad_config_set_flipbar_direction(FALSE); 00184 } 00185 display_update_request_screen_refresh(SETTING_ITEM_CHANGE, WAVEFORM_FULLSCREEN); 00186 }

| char* iLiad_config_data_get_language | ( | void | ) |
Definition at line 311 of file iLiadConfigData.c.
00312 { 00313 g_return_val_if_fail(NULL != g_user_settings, NULL); 00314 g_return_val_if_fail(NULL != g_user_settings->language, NULL); 00315 00316 return g_user_settings->language; 00317 }
| void iLiad_config_data_init | ( | void | ) |
Definition at line 84 of file iLiadConfigData.c.
00085 { 00086 ST_LOGPRINTF("entry"); 00087 00088 iLiad_config_data_destroy(); 00089 00090 g_user_settings = erRegGetUserSetting(); 00091 00092 if (g_user_settings == NULL) 00093 { 00094 ST_WARNPRINTF("use default values"); 00095 // default values from the er_registry.txt 00096 g_user_settings = g_new0(regUserSetting_t, 1); 00097 g_user_settings->language = strdup(DEFAULT_LOCALE); 00098 g_user_settings->volume = 75; 00099 g_user_settings->keyBuffering = 0; 00100 g_user_settings->longkeypressTimeout = 500; 00101 g_user_settings->flipbarLeftIsDown = TRUE; 00102 } 00103 else 00104 { 00105 g_stored_settings = user_setting_dup(g_user_settings); 00106 } 00107 g_init_settings = user_setting_dup(g_user_settings); 00108 00109 erIpcStartClient(ER_CONTENTLISTER_CHANNEL, &contentListerChannel); 00110 }

| void iLiad_config_data_store | ( | void | ) |
Definition at line 320 of file iLiadConfigData.c.
00321 { 00322 ST_LOGPRINTF("entry"); 00323 00324 g_return_if_fail(NULL != g_user_settings); 00325 g_assert(NULL != g_user_settings); 00326 00327 if ( g_stored_settings != NULL 00328 && strcmp(g_user_settings->language, g_stored_settings->language) == 0 00329 && g_user_settings->volume == g_stored_settings->volume 00330 && g_user_settings->keyBuffering == g_stored_settings->keyBuffering 00331 && g_user_settings->longkeypressTimeout == g_stored_settings->longkeypressTimeout 00332 && g_user_settings->flipbarLeftIsDown == g_stored_settings->flipbarLeftIsDown) 00333 { 00334 // Nothing changed, nothing to save 00335 return; 00336 } 00337 00338 prepare_registry_write(); 00339 00340 ST_STOREPRINTF("calling erRegSetUserSetting"); 00341 erRegSetUserSetting(g_user_settings); 00342 00343 g_stored_settings = user_setting_dup(g_user_settings); 00344 00345 do_registry_write(); 00346 }

| void on_flipbar_direction_selection_update | ( | erGtkSelectionGroup * | selection, | |
| gpointer | button, | |||
| gpointer | data | |||
| ) |
Definition at line 238 of file iLiadConfigData.c.
00239 { 00240 ST_LOGPRINTF("entry"); 00241 00242 g_return_if_fail(NULL != g_user_settings); 00243 g_assert(NULL != g_user_settings); 00244 00245 g_user_settings->flipbarLeftIsDown = iLiad_config_get_flipbar_direction(); 00246 00247 ST_LOGPRINTF("flipbarLeftIsDown %s", g_user_settings->flipbarLeftIsDown == TRUE ? "LEFT" : "RIGHT"); 00248 00249 display_update_request_screen_refresh(SETTING_ITEM_CHANGE, WAVEFORM_TYPING); 00250 }

| void on_keybuffering_selection_update | ( | erGtkSelectionGroup * | selection, | |
| gpointer | button, | |||
| gpointer | data | |||
| ) |
Definition at line 218 of file iLiadConfigData.c.
00219 { 00220 ST_LOGPRINTF("entry"); 00221 00222 g_return_if_fail(NULL != g_user_settings); 00223 g_assert(NULL != g_user_settings); 00224 00225 g_user_settings->keyBuffering = iLiad_config_get_keybuffering(); 00226 00227 // TODO: Fix when user can input the number of keys if enbale keybuffering 00228 if (g_user_settings->keyBuffering != 0) 00229 { 00230 g_user_settings->keyBuffering = 12; 00231 } 00232 00233 ST_LOGPRINTF("KeyBuffering %s", g_user_settings->keyBuffering == 0 ? "OFF" : "ON"); 00234 00235 display_update_request_screen_refresh(SETTING_ITEM_CHANGE, WAVEFORM_TYPING); 00236 }

| void on_keys_selection_update | ( | erGtkSelectionGroup * | selection, | |
| gpointer | button, | |||
| gpointer | data | |||
| ) |
Definition at line 204 of file iLiadConfigData.c.
00205 { 00206 ST_LOGPRINTF("entry"); 00207 00208 g_return_if_fail(NULL != g_user_settings); 00209 g_assert(NULL != g_user_settings); 00210 00211 g_user_settings->longkeypressTimeout = iLiad_config_get_keys(); 00212 00213 ST_LOGPRINTF("longkeypressTimeout = %d", g_user_settings->longkeypressTimeout); 00214 00215 display_update_request_screen_refresh(SETTING_ITEM_CHANGE, WAVEFORM_TYPING); 00216 }

| static void on_language_selection_update | ( | erGtkSelectionGroup * | selection, | |
| gpointer | button, | |||
| gpointer | data | |||
| ) |
Definition at line 252 of file iLiadConfigData.c.
00253 { 00254 g_assert(NULL != g_user_settings); 00255 g_assert(NULL != g_user_settings->language); 00256 00257 ST_LOGPRINTF("entry"); 00258 00259 const gchar *theLanguage = iLiad_config_get_language(); 00260 00261 if ( strcmp(theLanguage, g_user_settings->language) != 0 ) 00262 { 00263 erbusy_blink(); 00264 00265 g_free(g_user_settings->language); 00266 g_user_settings->language = strdup(theLanguage); 00267 ST_LANGUAGEPRINTF("language [%s]", g_user_settings->language); 00268 00269 // update languages 00270 languagesInit(); 00271 bg_set_text(); 00272 iLiad_startup_screen_set_text(); 00273 iLiad_config_set_text(); 00274 iLiad_archive_location_set_text(); 00275 iLiad_user_set_text(); 00276 iLiad_pincode_set_text(); 00277 iLiad_pc_connect_screen_set_text(); 00278 iLiad_autoconnect_set_text(); 00279 iLiad_timedids_screen_set_text(); 00280 iLiad_date_time_set_text(); 00281 iLiad_device_overview_set_text(); 00282 00283 display_update_request_screen_refresh(SETTING_ITEM_CHANGE, WAVEFORM_FULLSCREEN); 00284 } 00285 00286 ST_LOGPRINTF("done"); 00287 }

| void on_sound_selection_update | ( | erGtkSelectionGroup * | selection, | |
| gpointer | button, | |||
| gpointer | data | |||
| ) |
Definition at line 289 of file iLiadConfigData.c.
00290 { 00291 ST_LOGPRINTF("entry"); 00292 00293 g_return_if_fail(NULL != g_user_settings); 00294 g_assert(NULL != g_user_settings); 00295 00296 g_user_settings->volume = iLiad_config_get_volume(); 00297 00298 // TODO: Fix when selection becomes a slider 00299 if (g_user_settings->volume != 0) 00300 { 00301 g_user_settings->volume = 75; 00302 } 00303 00304 ST_LOGPRINTF("sound %s", g_user_settings->volume == 0 ? "OFF" : "ON"); 00305 00306 display_update_request_screen_refresh(SETTING_ITEM_CHANGE, WAVEFORM_TYPING); 00307 00308 clEnableAudio(contentListerChannel, g_user_settings->volume); 00309 }

| static regUserSetting_t * user_setting_dup | ( | const regUserSetting_t * | settings | ) | [static] |
Definition at line 349 of file iLiadConfigData.c.
00350 { 00351 regUserSetting_t* dup = NULL; 00352 00353 if (settings) 00354 { 00355 dup = g_new0(regUserSetting_t, 1); 00356 dup->language = strdup(settings->language); 00357 dup->volume = settings->volume; 00358 dup->longkeypressTimeout = settings->longkeypressTimeout; 00359 dup->keyBuffering = settings->keyBuffering; 00360 dup->flipbarLeftIsDown = settings->flipbarLeftIsDown; 00361 } 00362 00363 return dup; 00364 }
erClientChannel_t contentListerChannel [static] |
Definition at line 82 of file iLiadConfigData.c.
regUserSetting_t* g_init_settings = NULL [static] |
Definition at line 76 of file iLiadConfigData.c.
regUserSetting_t* g_stored_settings = NULL [static] |
Definition at line 78 of file iLiadConfigData.c.
regUserSetting_t* g_user_settings = NULL [static] |
Definition at line 77 of file iLiadConfigData.c.
1.5.6