#include <string.h>
#include <stdlib.h>
#include <ctype.h>
#include <sys/utsname.h>
#include <gtk/gtk.h>
#include <liberdm/display.h>
#include <libergtk/ergtk.h>
#include "gtkSettingItem.h"
#include "setupLog.h"
#include "iLiadDeviceOverview.h"
#include "languages.h"
#include "system.h"
Go to the source code of this file.
Functions | |
| static GtkWidget * | gtk_dev_info_new (gtkDevInfo_t *dev) |
| static GtkWidget * | gtk_ack_new (gtkAck_t *ack) |
| static void | gtk_insert_separator (GtkBox *vbox) |
| GtkWidget * | iLiad_device_overview_create (void) |
| void | iLiad_device_overview_set_text (void) |
| void | iLiad_device_overview_display_data (void) |
Variables | |
| static gtk_dev_overview * | g_dev_overview_screen = NULL |
Copyright (C) 2005-2008 iRex Technologies B.V. All rights reserved.
To allow Service and users to get more and neccessary device details
Definition in file iLiadDeviceOverview.c.
| GtkWidget * gtk_ack_new | ( | gtkAck_t * | ack | ) | [static] |
Definition at line 179 of file iLiadDeviceOverview.c.
00180 { 00181 GtkWidget* settingitem; 00182 GtkWidget* background; 00183 GtkWidget* alignment; 00184 GtkWidget* vbox; 00185 GtkWidget* label; 00186 gint i = 0; 00187 00188 ST_LOGPRINTF("entry"); 00189 00190 g_return_val_if_fail(NULL != ack, NULL); 00191 00192 // settingitem 00193 settingitem = gtk_settingitem_new(""); 00194 gtk_widget_set_size_request(settingitem, -1, -1); 00195 ack->settingitem = settingitem; 00196 00197 // background 00198 background = gtk_event_box_new(); 00199 gtk_widget_set_name(background, "device_ack_background"); 00200 gtk_widget_set_size_request(background, TITLE_MIN_WIDTH, DEVICE_ACK_HEIGHT); 00201 gtk_settingitem_add_details(GTK_SETTINGITEM(settingitem), background); 00202 00203 // alignment 00204 alignment = gtk_alignment_new(0, 0, 0, 0); 00205 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 00206 DEVICE_OVERVIEW_ITEM_PADDING_TOP, DEVICE_OVERVIEW_ITEM_PADDING_BOTTOM, 00207 DEVICE_OVERVIEW_ITEM_PADDING_LEFT, DEVICE_OVERVIEW_ITEM_PADDING_RIGHT); 00208 gtk_container_add(GTK_CONTAINER(background), alignment); 00209 00210 vbox = gtk_vbox_new(FALSE, DEV_OVERVIEW_ITEM_SPACING); 00211 gtk_container_add(GTK_CONTAINER(alignment), vbox); 00212 00213 label = gtk_label_new(""); 00214 gtk_widget_set_name(label, "device_overview_info_text"); 00215 gtk_label_set_single_line_mode(GTK_LABEL(label), FALSE); 00216 gtk_label_set_line_wrap(GTK_LABEL(label), TRUE); 00217 gtk_widget_set_size_request(label, ACK_DESCRIPTION_LABEL_WIDTH, -1); 00218 gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0); 00219 ack->label_description = label; 00220 00221 for (i=0; i<DEV_ACK_ITEM_NUMBER; i++) 00222 { 00223 ack->label_ack_item[i] = gtk_label_new(""); 00224 gtk_widget_set_name(ack->label_ack_item[i], "device_overview_info_text"); 00225 gtk_misc_set_alignment(GTK_MISC(ack->label_ack_item[i]), 0.0, 0.0); 00226 gtk_box_pack_start(GTK_BOX(vbox), ack->label_ack_item[i], FALSE, FALSE, 0); 00227 } 00228 00229 gtk_widget_show_all(background); 00230 gtk_widget_show(settingitem); 00231 return settingitem; 00232 }

| GtkWidget * gtk_dev_info_new | ( | gtkDevInfo_t * | dev | ) | [static] |
Definition at line 108 of file iLiadDeviceOverview.c.
00109 { 00110 GtkWidget* settingitem; 00111 GtkWidget* background; 00112 GtkWidget* alignment; 00113 GtkWidget* vbox; 00114 GtkWidget* hbox; 00115 GtkWidget* label; 00116 00117 gint i = 0; 00118 00119 ST_LOGPRINTF("entry"); 00120 00121 g_return_val_if_fail(NULL != dev, NULL); 00122 00123 // settingitem 00124 settingitem = gtk_settingitem_new(""); 00125 gtk_widget_set_size_request(settingitem, -1, -1); 00126 dev->settingitem = settingitem; 00127 00128 // background 00129 background = gtk_event_box_new(); 00130 gtk_widget_set_name(background, "device_info_background"); 00131 gtk_widget_set_size_request(background, TITLE_MIN_WIDTH, DEVICE_INFO_HEIGHT); 00132 gtk_settingitem_add_details(GTK_SETTINGITEM(settingitem), background); 00133 00134 // alignment 00135 alignment = gtk_alignment_new(0, 0, 0, 0); 00136 gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 00137 DEVICE_OVERVIEW_ITEM_PADDING_TOP, DEVICE_OVERVIEW_ITEM_PADDING_BOTTOM, 00138 DEVICE_OVERVIEW_ITEM_PADDING_LEFT, DEVICE_OVERVIEW_ITEM_PADDING_RIGHT); 00139 gtk_container_add(GTK_CONTAINER(background), alignment); 00140 00141 vbox = gtk_vbox_new(FALSE, DEV_OVERVIEW_ITEM_SPACING); 00142 gtk_container_add(GTK_CONTAINER(alignment), vbox); 00143 00144 for (i=0; i<DEV_INFO_ITEM_NUMBER; i++) 00145 { 00146 if (i == 6 || i == 9) 00147 { 00148 gtk_insert_separator(GTK_BOX(vbox)); 00149 } 00150 00151 hbox = gtk_hbox_new(FALSE, 0); 00152 gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(hbox), FALSE, FALSE, 0); 00153 00154 label = gtk_label_new(""); 00155 gtk_widget_set_name(label, "device_overview_info_text"); 00156 gtk_widget_set_size_request(label, DEVICE_INFO_LABEL_WIDTH, -1); 00157 gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.0); 00158 gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0); 00159 dev->label_item_title[i] = label; 00160 00161 dev->label_item_value[i] = gtk_label_new(""); 00162 gtk_widget_set_name(dev->label_item_value[i], "device_overview_info_text"); 00163 gtk_box_pack_start(GTK_BOX(hbox), dev->label_item_value[i], FALSE, FALSE, 0); 00164 } 00165 00166 gtk_widget_show_all(background); 00167 gtk_widget_show(settingitem); 00168 return settingitem; 00169 }

| void gtk_insert_separator | ( | GtkBox * | vbox | ) | [static] |
Definition at line 81 of file iLiadDeviceOverview.c.
00082 { 00083 GtkWidget* hbox; 00084 00085 hbox = gtk_hbox_new(FALSE, 0); 00086 gtk_box_pack_start(GTK_BOX(vbox), GTK_WIDGET(hbox), FALSE, FALSE, 0); 00087 gtk_widget_set_size_request(hbox, TITLE_MIN_WIDTH, DEV_OVERVIEW_SEPARATOR_HEIGHT); 00088 }
| GtkWidget* iLiad_device_overview_create | ( | void | ) |
Definition at line 57 of file iLiadDeviceOverview.c.
00058 { 00059 GtkWidget* vbox; 00060 GtkWidget* dev; 00061 GtkWidget* ack; 00062 00063 ST_LOGPRINTF("entry"); 00064 g_dev_overview_screen = g_new0(gtk_dev_overview, 1); 00065 00066 // Top level vbox 00067 vbox = gtk_vbox_new(FALSE, DEV_OVERVIEW_ITEM_SPACING); 00068 g_dev_overview_screen->top_level_vbox = vbox; 00069 00070 dev = gtk_dev_info_new(&g_dev_overview_screen->gtk_dev_info); 00071 gtk_box_pack_start(GTK_BOX(vbox), dev, FALSE, FALSE, 0); 00072 00073 ack = gtk_ack_new(&g_dev_overview_screen->gtk_acknowledgement); 00074 gtk_box_pack_start(GTK_BOX(vbox), ack, FALSE, FALSE, 0); 00075 00076 // show widgets 00077 gtk_widget_show(vbox); 00078 return vbox; 00079 }

| void iLiad_device_overview_display_data | ( | void | ) |
Definition at line 275 of file iLiadDeviceOverview.c.
00276 { 00277 gtkDevInfo_t* dev = &g_dev_overview_screen->gtk_dev_info; 00278 00279 char tmp[20]; 00280 struct utsname uname_buf; 00281 00282 ST_LOGPRINTF("entry"); 00283 if (g_dev_overview_screen->top_level_vbox) 00284 { 00285 gtk_label_set_text(GTK_LABEL(dev->label_item_value[0]), get_sysset_fa_model()); 00286 00287 sprintf(tmp, "%03d", get_sysset_fa_region()); 00288 gtk_label_set_text(GTK_LABEL(dev->label_item_value[1]), tmp); 00289 00290 gtk_label_set_text(GTK_LABEL(dev->label_item_value[2]), get_sysset_fa_oem_code()); 00291 gtk_label_set_text(GTK_LABEL(dev->label_item_value[3]), get_sysset_fa_country_code()); 00292 00293 sprintf(tmp, "%d", get_sysset_pa_board_revision()); 00294 gtk_label_set_text(GTK_LABEL(dev->label_item_value[4]), tmp); 00295 gtk_label_set_text(GTK_LABEL(dev->label_item_value[5]), get_sysset_epd_id()); 00296 00297 gtk_label_set_text(GTK_LABEL(dev->label_item_value[6]), get_sysset_product_id()); 00298 gtk_label_set_text(GTK_LABEL(dev->label_item_value[7]), get_wired_macAddress()); 00299 gtk_label_set_text(GTK_LABEL(dev->label_item_value[8]), get_wireless_macAddress()); 00300 00301 FILE *fp = fopen(VERSION_FILE, "r"); 00302 if (NULL != fp) 00303 { 00304 char version[40]; 00305 fgets(version, sizeof(version)-1, fp); 00306 fclose(fp); 00307 char *new_line = strchr(version, '\n'); 00308 if (new_line) 00309 { 00310 *new_line = '\0'; 00311 } 00312 00313 gtk_label_set_text(GTK_LABEL(dev->label_item_value[9]), version); 00314 } 00315 00316 fp = fopen(BUILD_FILE, "r"); 00317 if (NULL != fp) 00318 { 00319 char build_number[40]; 00320 fgets(build_number, sizeof(build_number)-1, fp); 00321 fclose(fp); 00322 char *new_line = strchr(build_number, '\n'); 00323 if (new_line) 00324 { 00325 *new_line = '\0'; 00326 } 00327 00328 gtk_label_set_text(GTK_LABEL(dev->label_item_value[10]), build_number); 00329 } 00330 00331 uname(&uname_buf); 00332 char *p = NULL; 00333 for (p = uname_buf.version; !isdigit(*p); p++); 00334 int kernel_build_number = atoi(p); 00335 00336 char kernel_version[32]; 00337 snprintf(kernel_version, 32, "%s #%d", uname_buf.release, kernel_build_number); 00338 gtk_label_set_text(GTK_LABEL(dev->label_item_value[11]), kernel_version); 00339 } 00340 }

| void iLiad_device_overview_set_text | ( | void | ) |
Definition at line 234 of file iLiadDeviceOverview.c.
00235 { 00236 gtkDevInfo_t* dev; 00237 gtkAck_t* ack; 00238 00239 ST_LOGPRINTF("entry"); 00240 00241 if (g_dev_overview_screen) 00242 { 00243 dev = &g_dev_overview_screen->gtk_dev_info; 00244 ack = &g_dev_overview_screen->gtk_acknowledgement; 00245 00246 gtk_settingitem_set_header_text(GTK_SETTINGITEM(dev->settingitem), _("Device Identification")); 00247 00248 gtk_label_set_text(GTK_LABEL(dev->label_item_title[0]), _("Product type:")); 00249 gtk_label_set_text(GTK_LABEL(dev->label_item_title[1]), _("Language set:")); 00250 gtk_label_set_text(GTK_LABEL(dev->label_item_title[2]), _("OEM code:")); 00251 gtk_label_set_text(GTK_LABEL(dev->label_item_title[3]), _("Country code:")); 00252 gtk_label_set_text(GTK_LABEL(dev->label_item_title[4]), _("PCBA revision:")); 00253 gtk_label_set_text(GTK_LABEL(dev->label_item_title[5]), _("EPD ID:")); 00254 gtk_label_set_text(GTK_LABEL(dev->label_item_title[6]), _("Product ID:")); 00255 gtk_label_set_text(GTK_LABEL(dev->label_item_title[7]), _("Wired MAC address:")); 00256 gtk_label_set_text(GTK_LABEL(dev->label_item_title[8]), _("Wireless MAC address:")); 00257 gtk_label_set_text(GTK_LABEL(dev->label_item_title[9]), _("Software version:")); 00258 gtk_label_set_text(GTK_LABEL(dev->label_item_title[10]), _("Software build number:")); 00259 gtk_label_set_text(GTK_LABEL(dev->label_item_title[11]), _("Kernel version:")); 00260 00261 gtk_settingitem_set_header_text(GTK_SETTINGITEM(ack->settingitem), _("Acknowledgements")); 00262 00263 gtk_label_set_text(GTK_LABEL(ack->label_description), 00264 _("iRex Technologies wants to thank the following people for contributing to the iLiad software:")); 00265 00266 char tmp_str[128]; 00267 snprintf(tmp_str, 128, _("German translation: %s"), "Henning Angelo Wolter"); 00268 gtk_label_set_text(GTK_LABEL(ack->label_ack_item[0]), tmp_str); 00269 00270 snprintf(tmp_str, 128, _("Stylus calibration: %s"), "Jay Kuri, Rob Mills, John Harker"); 00271 gtk_label_set_text(GTK_LABEL(ack->label_ack_item[1]), tmp_str); 00272 } 00273 }

gtk_dev_overview* g_dev_overview_screen = NULL [static] |
Definition at line 46 of file iLiadDeviceOverview.c.
1.5.6