00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00026 #include <gtk/gtk.h>
00027 
00028 #include "connectionMgrLog.h"
00029 #include "connectionMgr.h"
00030 #include "background.h"
00031 #include "languages.h"
00032 
00033 
00034 static GtkWidget *g_titleItem = NULL;
00035 static GtkWidget *g_settingsArea = NULL;
00036 
00037 
00038 static GtkWidget *bg_screen_create(GtkWidget *parentWindow);
00039 
00040 GtkWidget *bg_create(GtkWidget *parentWindow)
00041 {
00042     GtkWidget *returnValue;
00043 
00044     returnValue = bg_screen_create(parentWindow);
00045     bg_set_text();
00046 
00047     return returnValue;
00048 }
00049 
00050 
00051 
00052 
00053 
00054 
00055 
00056 
00057 
00058 
00059 
00060 
00061 
00062 static GtkWidget *bg_screen_create(GtkWidget *parentWindow)
00063 {
00064     GtkWidget *background;
00065     GtkWidget *topLevelVBox;
00066     GtkWidget *title_background;
00067     GtkWidget *title_hbox;
00068     GtkWidget *title_padding;
00069     GtkWidget *screen_alignment;
00070 
00071     
00072     background = gtk_event_box_new();
00073     gtk_widget_set_name(GTK_WIDGET(background), "screen_background");
00074     gtk_container_add(GTK_CONTAINER(parentWindow), background);
00075 
00076     
00077     screen_alignment = gtk_alignment_new(0.0, 0.0, 1.0, 1.0);
00078     gtk_widget_set_name(GTK_WIDGET(screen_alignment), "screen_background");
00079     gtk_alignment_set_padding(GTK_ALIGNMENT(screen_alignment),
00080                               SCREEN_BORDER_TOP,
00081                               SCREEN_BORDER_BOTTOM,
00082                               1,
00083                               SCREEN_BORDER_RIGHT);
00084     gtk_container_add(GTK_CONTAINER(background), screen_alignment);
00085 
00086     
00087     topLevelVBox = gtk_vbox_new(FALSE, SCREEN_ITEM_SPACING);
00088     gtk_container_add(GTK_CONTAINER(screen_alignment), topLevelVBox);
00089 
00090     
00091     title_hbox = gtk_hbox_new(FALSE, 0);
00092     gtk_box_pack_start(GTK_BOX(topLevelVBox), title_hbox, FALSE, FALSE, 0);
00093 
00094     
00095     title_padding = gtk_event_box_new();
00096     gtk_widget_set_name(GTK_WIDGET(title_padding), "title_padding");
00097     gtk_widget_set_size_request(GTK_WIDGET(title_padding), 
00098                                 SCREEN_BORDER_LEFT, -1);
00099     gtk_box_pack_start(GTK_BOX(title_hbox), title_padding, FALSE, FALSE, 0);
00100 
00101     
00102     title_background = gtk_event_box_new();
00103     gtk_widget_set_name(GTK_WIDGET(title_background), "title_background");
00104     gtk_widget_set_size_request(GTK_WIDGET(title_background), 
00105                                 TITLE_MIN_WIDTH, TITLE_MIN_HEIGHT);
00106     gtk_box_pack_start(GTK_BOX(title_hbox), title_background, 
00107                        FALSE, FALSE, 0);
00108 
00109     
00110     g_titleItem = gtk_label_new("");
00111     gtk_misc_set_alignment(GTK_MISC(g_titleItem), 0.0, 0.5);
00112     gtk_misc_set_padding(GTK_MISC(g_titleItem), BACKGROUND_TITLE_OFFSET, 0);
00113     gtk_widget_set_name(GTK_WIDGET(g_titleItem), "title_item");
00114     gtk_container_add(GTK_CONTAINER(title_background), g_titleItem);
00115 
00116     
00117     g_settingsArea = gtk_event_box_new();
00118     gtk_widget_set_name(GTK_WIDGET(g_settingsArea), "settings_area");
00119     gtk_box_pack_end(GTK_BOX(topLevelVBox), g_settingsArea, TRUE, TRUE, 0);
00120 
00121     gtk_widget_show_all(background);
00122 
00123     return g_settingsArea;
00124 }
00125 
00126 void bg_set_text(void)
00127 {
00128     char *title;
00129 
00130     title = main_get_screen_title();
00131     if (title == NULL)
00132     {
00133         title = _("iLiad network profiles");
00134     }
00135     
00136     CN_LOGPRINTF("Title [%s]\n", title);
00137     gtk_label_set_text(GTK_LABEL(g_titleItem), title);
00138 }
00139 
00140 
00141 void bg_display_title(void)
00142 {
00143     cmgrScreen_t screen;
00144     editMode_t   mode;
00145     const gchar *title;
00146 
00147     screen = cmgr_get_screen_mode();
00148     switch (screen)
00149     {
00150         case cmgrScreenConnect_e:
00151             title = _("iLiad network connection");
00152             break;
00153         case cmgrScreenEdit_e:
00154             mode = edit_get_mode();
00155             if (mode == editModeConnectFillIn_e)
00156             {
00157                 title = _("iLiad network configuration");
00158             }
00159             else
00160             {
00161                 title = _("iLiad profile editor");
00162             }
00163             break;
00164         default:
00165             title = _("iLiad network profiles");
00166             break;
00167     }
00168 
00169     CN_LOGPRINTF("Title [%s]\n", title);
00170     gtk_label_set_text(GTK_LABEL(g_titleItem), title);
00171 }
00172