connectionMgr/inc/editScreenOverview.h File Reference

#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
#include <glib.h>
#include <liberregxml/erregapi.h>

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Enumerations

enum  overviewStatus_t {
  inputDetails_e = 0, inputAddress_e, inputProxy_e, inputProfileName_e,
  testing_e, testAborting_e, testAborted_e, testSucceeded_e,
  testFailed_e, connecting_e, connectAborting_e, connectAborted_e,
  connectSucceeded_e, connectFailed_e, toSave_e, toSaveConnect_e,
  undefinedStatus_e
}

Functions

GtkWidget * edit_overview_create (void)
void edit_overview_set_text (void)
void edit_overview_show_profilename (void)
void edit_overview_update_info_text (overviewStatus_t status)
void edit_overview_enable_save_button (gboolean enable)
void edit_overview_update_profile (void)
void edit_overview_set_network_settings (const regNetworkProfile_t *settings)
void edit_overview_get_network_settings (regNetworkProfile_t *settings)
void edit_overview_set_profile (const regNetworkProfile_t *settings)
void edit_overview_set_address (const ip_address_mode_t addressMode)
void edit_overview_set_proxy (const gboolean use_proxy)
void edit_overview_set_profilename (const gchar *profilename)
void edit_overview_click_test (void)
void edit_overview_click_save (void)
void edit_overview_click_saveconnect (void)
gboolean on_edit_overview_keypress (GdkEventKey *event)


Enumeration Type Documentation

Enumerator:
inputDetails_e 
inputAddress_e 
inputProxy_e 
inputProfileName_e 
testing_e 
testAborting_e 
testAborted_e 
testSucceeded_e 
testFailed_e 
connecting_e 
connectAborting_e 
connectAborted_e 
connectSucceeded_e 
connectFailed_e 
toSave_e 
toSaveConnect_e 
undefinedStatus_e 

Definition at line 36 of file editScreenOverview.h.


Function Documentation

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:

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 }

Here is the call graph for this function:


Generated on Sun Dec 14 17:15:39 2008 by  doxygen 1.5.6