#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
#include <glib.h>
#include <liberregxml/erregapi.h>
Go to the source code of this file.
enum overviewStatus_t |
Definition at line 36 of file editScreenOverview.h.
00037 { 00038 inputDetails_e = 0, 00039 inputAddress_e, 00040 inputProxy_e, 00041 inputProfileName_e, 00042 testing_e, 00043 testAborting_e, 00044 testAborted_e, 00045 testSucceeded_e, 00046 testFailed_e, 00047 connecting_e, 00048 connectAborting_e, 00049 connectAborted_e, 00050 connectSucceeded_e, 00051 connectFailed_e, 00052 toSave_e, 00053 toSaveConnect_e, 00054 undefinedStatus_e 00055 }overviewStatus_t;
void edit_overview_click_save | ( | void | ) |
Definition at line 1125 of file editScreenOverview.c.
01126 { 01127 GtkWidget *widget; 01128 01129 CN_LOGPRINTF("entry"); 01130 01131 if (g_buttons) 01132 { 01133 widget = GTK_WIDGET(g_buttons->details->buttonList[1]); 01134 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE); 01135 } 01136 }
void edit_overview_click_saveconnect | ( | void | ) |
Definition at line 1138 of file editScreenOverview.c.
01139 { 01140 GtkWidget *widget; 01141 01142 CN_LOGPRINTF("entry"); 01143 01144 if (g_buttons) 01145 { 01146 widget = GTK_WIDGET(g_buttons->details->buttonList[2]); 01147 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE); 01148 } 01149 }
void edit_overview_click_test | ( | void | ) |
Definition at line 1112 of file editScreenOverview.c.
01113 { 01114 GtkWidget *widget; 01115 01116 CN_LOGPRINTF("entry"); 01117 01118 if (g_buttons) 01119 { 01120 widget = GTK_WIDGET(g_buttons->details->buttonList[0]); 01121 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE); 01122 } 01123 }
GtkWidget* edit_overview_create | ( | void | ) |
Definition at line 123 of file editScreenOverview.c.
00124 { 00125 GtkWidget *item; 00126 GtkWidget *vbox; 00127 bkProfileEntry *profileEntry; 00128 bkWdtLabelButton *ipAddressMode; 00129 bkWdtLabelButton *proxyOnOff; 00130 bkWdtLabelEntry *profileName; 00131 bkWdtLabelButton *buttons; 00132 GtkWidget *info; 00133 GtkWidget *widget; 00134 00135 CN_LOGPRINTF("entry"); 00136 00137 // item 00138 item = gtk_settingitem_new(""); 00139 00140 // vbox 00141 vbox = gtk_vbox_new(FALSE, VBOX_SPACING); 00142 gtk_settingitem_add_details(GTK_SETTINGITEM(item), vbox); 00143 00144 // profileEntry 00145 profileEntry = bk_profile_entry_new(); 00146 gtk_box_pack_start(GTK_BOX(vbox), profileEntry->background, 00147 FALSE, FALSE, 0); 00148 00149 // ipAddressMode 00150 ipAddressMode = bk_wdt_label_button_new(2, FALSE, 1, 1); 00151 gtk_box_pack_start(GTK_BOX(vbox), ipAddressMode->background, 00152 FALSE, FALSE, 0); 00153 00154 // proxyOnOff 00155 proxyOnOff = bk_wdt_label_button_new(2, FALSE, 1, 1); 00156 gtk_box_pack_start(GTK_BOX(vbox), proxyOnOff->background, 00157 FALSE, FALSE, 0); 00158 00159 // profilename 00160 profileName = bk_wdt_label_entry_new(string_e); 00161 gtk_box_pack_start(GTK_BOX(vbox), profileName->background, 00162 FALSE, FALSE, 0); 00163 00164 // buttons 00165 buttons = bk_wdt_label_button_new(3, FALSE, 0, 1); 00166 gtk_box_pack_start(GTK_BOX(vbox), buttons->background, 00167 FALSE, FALSE, 0); 00168 00169 // info 00170 info = gtk_infoitem_new(FALSE); 00171 gtk_box_pack_start(GTK_BOX(vbox), info, FALSE, FALSE, 0); 00172 00173 // signal handlers 00174 widget = profileEntry->background; 00175 g_signal_connect(G_OBJECT(widget), "button-press-event", 00176 G_CALLBACK(on_button_press), (gpointer)inputDetails_e); 00177 widget = ipAddressMode->background; 00178 g_signal_connect(G_OBJECT(widget), "button-press-event", 00179 G_CALLBACK(on_button_press), (gpointer)inputAddress_e); 00180 widget = proxyOnOff->background; 00181 g_signal_connect(G_OBJECT(widget), "button-press-event", 00182 G_CALLBACK(on_button_press), (gpointer)inputProxy_e); 00183 widget = profileName->background; 00184 g_signal_connect(G_OBJECT(widget), "button-press-event", 00185 G_CALLBACK(on_button_press), (gpointer)inputProfileName_e); 00186 00187 widget = gtk_profile_entry_get_namebutton(GTK_PROFILE_ENTRY(profileEntry->details)); 00188 g_signal_connect(G_OBJECT(widget), "button-press-event", 00189 G_CALLBACK(on_profile_entry_button_press), NULL); 00190 00191 widget = ipAddressMode->details->selection; 00192 g_signal_connect(G_OBJECT(widget), "selection-update", 00193 G_CALLBACK(on_ip_address_mode_update), NULL); 00194 00195 widget = proxyOnOff->details->selection; 00196 g_signal_connect(G_OBJECT(widget), "selection-update", 00197 G_CALLBACK(on_proxy_onoff_update), NULL); 00198 00199 widget = profileName->details->entry; 00200 g_signal_connect_after(G_OBJECT(widget), "changed-stable", 00201 G_CALLBACK(on_profilename_changed), NULL); 00202 00203 widget = buttons->details->selection; 00204 g_signal_connect(G_OBJECT(widget), "selection-update", 00205 G_CALLBACK(on_buttons_update), NULL); 00206 00207 // show widgets 00208 gtk_widget_show(item); 00209 gtk_widget_show(vbox); 00210 gtk_widget_show(profileEntry->background); 00211 gtk_widget_show(ipAddressMode->background); 00212 gtk_widget_show(proxyOnOff->background); 00213 gtk_widget_show(profileName->background); 00214 gtk_widget_hide(profileName->details->button); 00215 gtk_widget_grab_focus(profileName->details->entry); 00216 gtk_widget_show(buttons->background); 00217 gtk_widget_show(info); 00218 00219 // global variables 00220 g_overview = item; 00221 g_profile_entry = profileEntry; 00222 g_address = ipAddressMode; 00223 g_proxy = proxyOnOff; 00224 g_profilename = profileName; 00225 g_buttons = buttons; 00226 g_info = info; 00227 00228 CN_LOGPRINTF("done"); 00229 00230 // return 00231 return item; 00232 }
void edit_overview_enable_save_button | ( | gboolean | enable | ) |
Definition at line 449 of file editScreenOverview.c.
00450 { 00451 GtkWidget *widget; 00452 00453 CN_LOGPRINTF("entry %d", enable); 00454 00455 if (g_buttons) 00456 { 00457 widget = GTK_WIDGET(g_buttons->details->buttonList[1]); 00458 gtk_widget_set_sensitive(widget, enable); 00459 } 00460 }
void edit_overview_get_network_settings | ( | regNetworkProfile_t * | settings | ) |
Definition at line 608 of file editScreenOverview.c.
00609 { 00610 const gchar *profilename; 00611 00612 CN_LOGPRINTF("entry"); 00613 00614 g_return_if_fail(settings != NULL); 00615 00616 // connection 00617 settings->connection = edit_data_get_network_type(); 00618 00619 // address mode 00620 settings->addressMode = edit_overview_get_address(); 00621 00622 // proxy 00623 settings->proxy = edit_overview_get_proxy(); 00624 00625 // profile name 00626 profilename = edit_overview_get_profilename(); 00627 g_free(settings->name); 00628 settings->name = g_strdup(profilename); 00629 }
void edit_overview_set_address | ( | const ip_address_mode_t | addressMode | ) |
Definition at line 520 of file editScreenOverview.c.
00521 { 00522 GtkWidget *widget; 00523 00524 CN_LOGPRINTF("entry"); 00525 00526 g_return_if_fail(g_address != NULL); 00527 00528 switch (addressMode) 00529 { 00530 case dhcp_t: 00531 case ip_address_mode_undefined_t: 00532 widget = GTK_WIDGET(g_address->details->buttonList[0]); 00533 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE); 00534 break; 00535 case static_t: 00536 widget = GTK_WIDGET(g_address->details->buttonList[1]); 00537 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE); 00538 break; 00539 default: 00540 CN_ERRORPRINTF("Illegal dhcp mode [%d]", addressMode); 00541 g_assert_not_reached(); 00542 } 00543 }
void edit_overview_set_network_settings | ( | const regNetworkProfile_t * | settings | ) |
Definition at line 465 of file editScreenOverview.c.
00466 { 00467 CN_LOGPRINTF("entry"); 00468 00469 g_return_if_fail(settings != NULL); 00470 00471 edit_overview_set_profile(settings); 00472 edit_overview_set_address(settings->addressMode); 00473 edit_overview_set_proxy(settings->proxy); 00474 edit_overview_set_profilename(settings->name); 00475 }
void edit_overview_set_profile | ( | const regNetworkProfile_t * | settings | ) |
Definition at line 477 of file editScreenOverview.c.
00478 { 00479 connection_t mode; 00480 GtkWidget *widget; 00481 00482 CN_LOGPRINTF("entry"); 00483 00484 g_return_if_fail(settings != NULL); 00485 00486 // show the current selection 00487 mode = settings->connection; 00488 switch (mode) 00489 { 00490 case wired_t: 00491 // wired profile: static ip allowed 00492 if (g_address) 00493 { 00494 widget = GTK_WIDGET(g_address->details->buttonList[1]); 00495 gtk_widget_set_sensitive(widget, TRUE); 00496 } 00497 break; 00498 case wireless_t: 00499 case dialup_t: 00500 // not a wired profile: force to DHCP and hide the static button 00501 if (g_address) 00502 { 00503 widget = GTK_WIDGET(g_address->details->buttonList[0]); 00504 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), 00505 TRUE); 00506 00507 widget = GTK_WIDGET(g_address->details->buttonList[1]); 00508 gtk_widget_set_sensitive(widget, FALSE); 00509 } 00510 break; 00511 case connection_undefined_t: 00512 default: 00513 CN_ERRORPRINTF("Illegal wired mode [%d]", mode); 00514 g_assert_not_reached(); 00515 } 00516 00517 bk_profile_entry_display(g_profile_entry, settings); 00518 }
void edit_overview_set_profilename | ( | const gchar * | profilename | ) |
Definition at line 565 of file editScreenOverview.c.
00566 { 00567 GtkWidget *widget; 00568 connection_t networkType; 00569 editMode_t mode; 00570 00571 CN_LOGPRINTF("entry profilename[%s]", profilename); 00572 00573 networkType = edit_data_get_network_type(); 00574 switch (networkType) 00575 { 00576 case wired_t: 00577 if (g_profilename) 00578 { 00579 widget = g_profilename->details->entry; 00580 gtk_entry_set_text(GTK_ENTRY(widget), 00581 profilename ? profilename : ""); 00582 } 00583 break; 00584 case wireless_t: 00585 mode = edit_get_mode(); 00586 if (mode == editModeConnectFillIn_e) 00587 { 00588 if (g_profilename) 00589 { 00590 widget = g_profilename->details->entry; 00591 gtk_entry_set_text(GTK_ENTRY(widget), 00592 profilename ? profilename : ""); 00593 } 00594 } 00595 else 00596 { 00597 edit_wireless_set_profilename(profilename); 00598 } 00599 break; 00600 case dialup_t: 00601 edit_dialup_set_profilename(profilename); 00602 break; 00603 default: 00604 break; 00605 } 00606 }
void edit_overview_set_proxy | ( | const gboolean | use_proxy | ) |
Definition at line 545 of file editScreenOverview.c.
00546 { 00547 GtkWidget *widget; 00548 00549 CN_LOGPRINTF("entry: use_proxy [%d]", use_proxy); 00550 00551 g_return_if_fail(g_proxy != NULL); 00552 00553 if (use_proxy == FALSE) 00554 { 00555 widget = GTK_WIDGET(g_proxy->details->buttonList[0]); 00556 } 00557 else 00558 { 00559 widget = GTK_WIDGET(g_proxy->details->buttonList[1]); 00560 } 00561 00562 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE); 00563 }
void edit_overview_set_text | ( | void | ) |
Definition at line 237 of file editScreenOverview.c.
00238 { 00239 CN_LOGPRINTF("entry"); 00240 00241 GtkWidget *widget; 00242 00243 if (g_overview) 00244 { 00245 gtk_settingitem_set_header_text(GTK_SETTINGITEM(g_overview), 00246 _("Network profile")); 00247 } 00248 00249 if (g_address) 00250 { 00251 widget = g_address->details->label; 00252 gtk_label_set_text(GTK_LABEL(widget), 00253 _("Select how your iLiad gets a network address.")); 00254 00255 widget = GTK_WIDGET(g_address->details->buttonList[0]); 00256 gtk_button_set_label(GTK_BUTTON(widget), _("Automatic")); 00257 00258 widget = GTK_WIDGET(g_address->details->buttonList[1]); 00259 gtk_button_set_label(GTK_BUTTON(widget), _("Static")); 00260 } 00261 00262 if (g_proxy) 00263 { 00264 widget = g_proxy->details->label; 00265 gtk_label_set_text(GTK_LABEL(widget), 00266 _("Select if there is a proxy server present.")); 00267 00268 widget = GTK_WIDGET(g_proxy->details->buttonList[0]); 00269 gtk_button_set_label(GTK_BUTTON(widget), _("No proxy")); 00270 00271 widget = GTK_WIDGET(g_proxy->details->buttonList[1]); 00272 gtk_button_set_label(GTK_BUTTON(widget), _("Proxy")); 00273 } 00274 00275 if (g_profilename) 00276 { 00277 widget = g_profilename->details->label; 00278 gtk_label_set_text(GTK_LABEL(widget), 00279 _("You can personalize the profile name.")); 00280 } 00281 00282 if (g_buttons) 00283 { 00284 widget = g_buttons->details->label; 00285 gtk_label_set_text(GTK_LABEL(widget), 00286 _("Select an action for this profile.")); 00287 00288 widget = GTK_WIDGET(g_buttons->details->buttonList[0]); 00289 gtk_button_set_label(GTK_BUTTON(widget), _("Test")); 00290 00291 widget = GTK_WIDGET(g_buttons->details->buttonList[1]); 00292 gtk_button_set_label(GTK_BUTTON(widget), _("Save")); 00293 00294 widget = GTK_WIDGET(g_buttons->details->buttonList[2]); 00295 gtk_button_set_label(GTK_BUTTON(widget), _("Save & Connect")); 00296 } 00297 00298 edit_overview_update_info_text(inputDetails_e); 00299 }
void edit_overview_show_profilename | ( | void | ) |
Definition at line 427 of file editScreenOverview.c.
00428 { 00429 connection_t networkType; 00430 00431 CN_LOGPRINTF("entry"); 00432 00433 g_return_if_fail(g_profilename != NULL); 00434 00435 networkType = edit_data_get_network_type(); 00436 switch (networkType) 00437 { 00438 case wireless_t: 00439 case dialup_t: 00440 gtk_widget_hide(g_profilename->background); 00441 break; 00442 case wired_t: 00443 default: 00444 gtk_widget_show(g_profilename->background); 00445 break; 00446 } 00447 }
void edit_overview_update_info_text | ( | overviewStatus_t | status | ) |
Definition at line 301 of file editScreenOverview.c.
00302 { 00303 CN_LOGPRINTF("entry"); 00304 00305 g_return_if_fail(g_info != NULL); 00306 00307 switch (status) 00308 { 00309 case inputDetails_e: 00310 gtk_infoitem_set_icon(GTK_INFOITEM(g_info), iconInfo_e); 00311 gtk_infoitem_set_text(GTK_INFOITEM(g_info), 00312 _("A wireless or dial-up network requires " 00313 "specific settings.\n" 00314 "Hint: You can fill in the details " 00315 "for them by clicking the profile entry.")); 00316 break; 00317 case inputAddress_e: 00318 gtk_infoitem_set_icon(GTK_INFOITEM(g_info), iconInfo_e); 00319 gtk_infoitem_set_text(GTK_INFOITEM(g_info), 00320 _("An automatic network address requires a DHCP server " 00321 "to be present " 00322 "in your network. A static network address requires " 00323 "specific settings.\n" 00324 "Hint: If you are not sure, select 'Automatic' " 00325 "and 'No proxy'.")); 00326 break; 00327 case inputProxy_e: 00328 gtk_infoitem_set_icon(GTK_INFOITEM(g_info), iconInfo_e); 00329 gtk_infoitem_set_text(GTK_INFOITEM(g_info), 00330 _("A proxy server regulates internet traffic " 00331 "and is usually installed " 00332 "in company networks, " 00333 "this requires additional settings.\n" 00334 "Hint: If you are not sure, select 'No proxy'.")); 00335 break; 00336 case inputProfileName_e: 00337 gtk_infoitem_set_icon(GTK_INFOITEM(g_info), iconInfo_e); 00338 gtk_infoitem_set_text(GTK_INFOITEM(g_info), 00339 _("If you personalize the profile name, " 00340 "it will be easy to recognize " 00341 "in the iLiad's network profile list.")); 00342 break; 00343 case toSaveConnect_e: 00344 gtk_infoitem_set_icon(GTK_INFOITEM(g_info), iconInfo_e); 00345 gtk_infoitem_set_text(GTK_INFOITEM(g_info), 00346 _("The profile has been saved. " 00347 "The iLiad is trying to connect to the server.")); 00348 break; 00349 case toSave_e: 00350 gtk_infoitem_set_icon(GTK_INFOITEM(g_info), iconInfo_e); 00351 gtk_infoitem_set_text(GTK_INFOITEM(g_info), 00352 _("The profile will be saved.")); 00353 break; 00354 case testing_e: 00355 gtk_infoitem_set_icon(GTK_INFOITEM(g_info), iconInfo_e); 00356 gtk_infoitem_set_text(GTK_INFOITEM(g_info), 00357 _("The iLiad is testing your network profile " 00358 "and is trying to make a connection to the server.")); 00359 break; 00360 case testAborting_e: 00361 gtk_infoitem_set_icon(GTK_INFOITEM(g_info), iconInfo_e); 00362 gtk_infoitem_set_text(GTK_INFOITEM(g_info), 00363 _("The iLiad is aborting the test.")); 00364 break; 00365 case testAborted_e: 00366 gtk_infoitem_set_icon(GTK_INFOITEM(g_info), iconInfo_e); 00367 gtk_infoitem_set_text(GTK_INFOITEM(g_info), 00368 _("The test has been aborted.")); 00369 break; 00370 case testSucceeded_e: 00371 gtk_infoitem_set_icon(GTK_INFOITEM(g_info), iconOk_e); 00372 gtk_infoitem_set_text(GTK_INFOITEM(g_info), 00373 _("Connection to the server " 00374 "has been established correctly.\n" 00375 "Press the 'Save & Connect' button " 00376 "to create a connection.")); 00377 break; 00378 case testFailed_e: 00379 gtk_infoitem_set_icon(GTK_INFOITEM(g_info), iconFailed_e); 00380 gtk_infoitem_set_text(GTK_INFOITEM(g_info), 00381 _("Connection to the server " 00382 "can not be established correctly.")); 00383 break; 00384 case connecting_e: 00385 gtk_infoitem_set_icon(GTK_INFOITEM(g_info), iconInfo_e); 00386 gtk_infoitem_set_text(GTK_INFOITEM(g_info), 00387 _("The iLiad is trying to connect to the server.")); 00388 break; 00389 case connectAborting_e: 00390 gtk_infoitem_set_icon(GTK_INFOITEM(g_info), iconInfo_e); 00391 gtk_infoitem_set_text(GTK_INFOITEM(g_info), 00392 _("The iLiad is aborting the connection.")); 00393 break; 00394 case connectAborted_e: 00395 gtk_infoitem_set_icon(GTK_INFOITEM(g_info), iconInfo_e); 00396 gtk_infoitem_set_text(GTK_INFOITEM(g_info), 00397 _("The connection has been aborted.")); 00398 break; 00399 case connectSucceeded_e: 00400 gtk_infoitem_set_icon(GTK_INFOITEM(g_info), iconOk_e); 00401 gtk_infoitem_set_text(GTK_INFOITEM(g_info), 00402 _("Connection to the server established.")); 00403 break; 00404 case connectFailed_e: 00405 gtk_infoitem_set_icon(GTK_INFOITEM(g_info), iconFailed_e); 00406 gtk_infoitem_set_text(GTK_INFOITEM(g_info), 00407 _("Connection to the server " 00408 "can not be established correctly.")); 00409 break; 00410 default: 00411 break; 00412 } 00413 }
void edit_overview_update_profile | ( | void | ) |
Definition at line 415 of file editScreenOverview.c.
00416 { 00417 regNetworkProfile_t *settings; 00418 00419 CN_LOGPRINTF("entry"); 00420 00421 settings = edit_get_network_settings(); 00422 edit_overview_set_profile(settings); 00423 erRegFreeNetworkProfile(settings); 00424 }
gboolean on_edit_overview_keypress | ( | GdkEventKey * | event | ) |
Definition at line 1390 of file editScreenOverview.c.
01391 { 01392 pingContext_t *ctxt; 01393 gboolean ret = FALSE; 01394 01395 CN_LOGPRINTF("entry"); 01396 01397 ctxt = cmgr_get_ping_ctxt(); 01398 01399 switch (event->keyval) 01400 { 01401 case GDK_Return: 01402 // 'Enter' key is pressed 01403 if (!connect_ping_in_pinging(ctxt)) 01404 { 01405 // simulate clicking 'Save & Connect' button 01406 edit_overview_click_saveconnect(); 01407 ret = TRUE; 01408 } 01409 break; 01410 01411 case GDK_F5: 01412 // 'UP' key is pressed 01413 // goto the one top level page 01414 connect_ping_abort(ctxt); 01415 cmgr_up_page(); 01416 ret = TRUE; 01417 break; 01418 01419 default: 01420 erbusy_off(); 01421 } 01422 01423 return ret; 01424 }