diff options
-rwxr-xr-x | include/pwlock.h | 2 | ||||
-rw-r--r-- | res/edje/images/A01-9_bg.png | bin | 409575 -> 0 bytes | |||
-rw-r--r-- | res/edje/images/A01-9_icon_no_sim.png | bin | 8713 -> 0 bytes | |||
-rw-r--r-- | res/edje/images/A01-9_image_no_sim.png | bin | 0 -> 18469 bytes | |||
-rw-r--r-- | res/edje/images/A01-9_image_setup_wizard.png | bin | 0 -> 33524 bytes | |||
-rw-r--r-- | res/edje/pwlock-lock-ui.edc | 2 | ||||
-rw-r--r-- | res/edje/pwlock-menu-greeting.edc | 376 | ||||
-rw-r--r-- | res/edje/pwlock-nosim-ui.edc | 30 | ||||
-rw-r--r-- | res/edje/pwlock.edc | 13 | ||||
-rwxr-xr-x | src/ui-callback.c | 19 | ||||
-rwxr-xr-x | src/ui.c | 275 |
11 files changed, 489 insertions, 228 deletions
diff --git a/include/pwlock.h b/include/pwlock.h index 19ea3af..a07d546 100755 --- a/include/pwlock.h +++ b/include/pwlock.h @@ -83,7 +83,7 @@ struct appdata { int date_and_time_settings_loaded; int language_settings_loaded; /* check the language ug first loaded or not */ int lock_view_loaded; /* check the lock view loaded for sim card changed */ - int lock_app_launched; + int wifi_ug_loaded; char *entry_str; char *pin_str; /* only for new pin */ diff --git a/res/edje/images/A01-9_bg.png b/res/edje/images/A01-9_bg.png Binary files differdeleted file mode 100644 index c083834..0000000 --- a/res/edje/images/A01-9_bg.png +++ /dev/null diff --git a/res/edje/images/A01-9_icon_no_sim.png b/res/edje/images/A01-9_icon_no_sim.png Binary files differdeleted file mode 100644 index 1c52a78..0000000 --- a/res/edje/images/A01-9_icon_no_sim.png +++ /dev/null diff --git a/res/edje/images/A01-9_image_no_sim.png b/res/edje/images/A01-9_image_no_sim.png Binary files differnew file mode 100644 index 0000000..e1a8dde --- /dev/null +++ b/res/edje/images/A01-9_image_no_sim.png diff --git a/res/edje/images/A01-9_image_setup_wizard.png b/res/edje/images/A01-9_image_setup_wizard.png Binary files differnew file mode 100644 index 0000000..ccbb22f --- /dev/null +++ b/res/edje/images/A01-9_image_setup_wizard.png diff --git a/res/edje/pwlock-lock-ui.edc b/res/edje/pwlock-lock-ui.edc index 03457ca..35560c1 100644 --- a/res/edje/pwlock-lock-ui.edc +++ b/res/edje/pwlock-lock-ui.edc @@ -10,7 +10,7 @@ group { state: "default" 0.0; rel1 { relative: 0.0 0.0; } rel2 { relative: 1.0 1.0; } - color: 248 246 239 255; + color: 0 0 0 255; } } diff --git a/res/edje/pwlock-menu-greeting.edc b/res/edje/pwlock-menu-greeting.edc index a639f48..4928a6f 100644 --- a/res/edje/pwlock-menu-greeting.edc +++ b/res/edje/pwlock-menu-greeting.edc @@ -2,20 +2,18 @@ group { name: "pwlock-menu-lang"; images { - image: "A01-9_bg.png" COMP; + image: "A01-9_image_setup_wizard.png" COMP; } parts { + part { name: "bg"; + type: RECT; + scale: 1; - part { - name: "bg"; - type: IMAGE; - - description { - state: "default" 0.0; - image { - normal: "A01-9_bg.png"; - } + description { state: "default" 0.0; + rel1 { relative: 0.0 0.0; } + rel2 { relative: 1.0 1.0; } + color: 0 0 0 255; } } @@ -28,14 +26,15 @@ group { state: "default" 0.0; color: 0 0 0 0; align: 0.0 0.0; - fixed: 1.0 1.0; + min: 0 52; + fixed: 0 1; rel1 { relative: 0.0 0.0; to: "bg"; } rel2 { - relative: 1.0 358/1210; + relative: 1.0 0.0; to: "bg"; } } @@ -49,9 +48,9 @@ group { description { state: "default" 0.0; - min: 0 46; + min: 0 54; align: 0.0 0.0; - fixed: 1.0 1.0; + fixed: 0 1; rel1 { relative: 0.0 1.0; @@ -63,10 +62,11 @@ group { to_x: "bg"; to_y: "padding-top"; } + color: 215 215 215 255; text { - font: "SLP:style=Roman"; - text_class:"slp_roman"; - size: 44; + font: "Tizen:style=Regular"; + text_class:"tizen"; + size: 40; min: 0 0; align: 0.5 0.5; } @@ -81,9 +81,9 @@ group { description { state: "default" 0.0; - min: 0 88; + min: 0 72; align: 0.0 0.0; - fixed: 1.0 1.0; + fixed: 0 1; rel1 { relative: 0.0 1.0; @@ -95,10 +95,11 @@ group { to_x: "bg"; to_y: "text.greeting.1"; } + color: 215 215 215 255; text { - font: "SLP:style=Medium"; - text_class:"slp_medium"; - size: 86; + font: "Tizen:style=Regular"; + text_class:"tizen"; + size: 68; min: 0 0; align: 0.5 0.5; } @@ -108,14 +109,14 @@ group { part { name: "space.from.greeting"; type: RECT; - scale: 0; + scale: 1; description { state: "default" 0.0; color: 0 0 0 0; align: 0.0 0.0; - min: 0 82; - fixed: 1.0 1.0; + min: 0 28; + fixed: 0 1; rel1 { relative: 0.0 1.0; @@ -131,6 +132,58 @@ group { } part { + name: "image.setupwizard"; + type: IMAGE; + + description { + state: "default" 0.0; + align : 0.5 0.0; + min : 290 290; + max : 290 290; + fixed: 1 1; + + rel1 { + relative: 0.0 1.0; + to_x: "bg"; + to_y: "space.from.greeting"; + } + rel2 { + relative: 1.0 1.0; + to_x: "bg"; + to_y: "space.from.greeting"; + } + image { + normal: "A01-9_image_setup_wizard.png"; + } + } + } + + part { + name: "space.from.image"; + type: RECT; + scale: 1; + + description { + state: "default" 0.0; + color: 0 0 0 0; + align: 0.0 0.0; + min: 0 28; + fixed: 0 1; + + rel1 { + relative: 0.0 1.0; + to_x: "bg"; + to_y: "image.setupwizard"; + } + rel2 { + relative: 1.0 1.0; + to_x: "bg"; + to_y: "image.setupwizard"; + } + } + } + + part { name: "text.help"; type: TEXT; scale: 0; @@ -139,24 +192,26 @@ group { state: "default" 0.0; min: 0 38; align: 0.0 0.0; - fixed: 1 1; + fixed: 0 1; rel1 { relative: 0.0 1.0; to_x: "bg"; - to_y: "space.from.greeting"; + to_y: "space.from.image"; + offset: 40 0; } rel2 { relative: 1.0 1.0; to_x: "bg"; - to_y: "space.from.greeting"; + to_y: "space.from.image"; } + color: 215 215 215 255; text { - font: "SLP:style=Roman"; - text_class:"slp_roman"; - size: 32; + font: "Tizen:style=Regular"; + text_class:"tizen"; + size: 28; min: 0 0; - align: 0.5 0.5; + align: 0.0 0.5; } } } @@ -170,8 +225,8 @@ group { state: "default" 0.0; color: 0 0 0 0; align: 0.0 0.0; - min: 0 24; - fixed: 1.0 1.0; + min: 0 10; + fixed: 0 1; rel1 { relative: 0.0 1.0; @@ -194,7 +249,7 @@ group { description { state: "default" 0.0; align: 0.0 0.0; - min: 40 72; + min: 40 74; fixed: 1 1; rel1 { @@ -218,7 +273,7 @@ group { description { state: "default" 0.0; align: 1.0 0.0; - min: 40 72; + min: 40 74; fixed: 1 1; rel1 { @@ -242,7 +297,7 @@ group { description { state: "default" 0.0; align: 0.0 0.0; - min: 0 72; + min: 0 74; fixed: 1 1; rel1 { @@ -255,12 +310,245 @@ group { } } } + + part { + name: "space.from.lang"; + type: RECT; + scale: 1; + + description { + state: "default" 0.0; + color: 0 0 0 0; + align: 0.0 0.0; + min: 0 32; + fixed: 0 1; + + rel1 { + relative: 0.0 1.0; + to_x: "bg"; + to_y: "button.select.lang"; + } + rel2 { + relative: 1.0 1.0; + to_x: "bg"; + to_y: "button.select.lang"; + } + } + } + + part { + name: "text.dt"; + type: TEXT; + scale: 1; + + description { + state: "default" 0.0; + min: 0 38; + align: 0.0 0.0; + fixed: 0 1; + + rel1 { + relative: 0.0 1.0; + to_x: "bg"; + to_y: "space.from.lang"; + offset: 40 0; + } + rel2 { + relative: 1.0 1.0; + to_x: "bg"; + to_y: "space.from.lang"; + } + color: 215 215 215 255; + text { + font: "Tizen:style=Regular"; + text_class:"tizen"; + size: 28; + min: 0 0; + align: 0.0 0.5; + } + } + } + + part { + name: "space.from.text.dt"; + type: RECT; + scale: 1; + + description { + state: "default" 0.0; + color: 0 0 0 0; + align: 0.0 0.0; + min: 0 10; + fixed: 0 1; + + rel1 { + relative: 0.0 1.0; + to_x: "bg"; + to_y: "text.dt"; + } + rel2 { + relative: 1.0 1.0; + to_x: "bg"; + to_y: "text.dt"; + } + } + } + + part { + name: "space.select.dt.left"; + type: SWALLOW; + scale: 1; + + description { + state: "default" 0.0; + align: 0.0 0.0; + min: 40 74; + fixed: 1 1; + + rel1 { + relative: 0.0 1.0; + to_x: "bg"; + to_y: "space.from.text.dt"; + } + rel2 { + relative: 0.0 1.0; + to_x: "bg"; + to_y: "space.from.text.dt"; + } + } + } + + part { + name: "space.select.dt.right"; + type: SWALLOW; + scale: 1; + + description { + state: "default" 0.0; + align: 1.0 0.0; + min: 40 74; + fixed: 1 1; + + rel1 { + relative: 1.0 1.0; + to_x: "bg"; + to_y: "space.from.text.dt"; + } + rel2 { + relative: 1.0 1.0; + to_x: "bg"; + to_y: "space.from.text.dt"; + } + } + } + + part { + name: "button.select.dt"; + type: SWALLOW; + scale: 1; + + description { + state: "default" 0.0; + align: 0.0 0.0; + min: 0 74; + fixed: 1 1; + + rel1 { + relative: 1.0 0.0; + to: "space.select.dt.left"; + } + rel2 { + relative: 0.0 1.0; + to: "space.select.dt.right"; + } + } + } + + part { + name: "space.from.dt"; + type: RECT; + scale: 1; + + description { + state: "default" 0.0; + color: 0 0 0 0; + align: 0.0 0.0; + min: 0 86; + fixed: 0 1; + + rel1 { + relative: 0.0 1.0; + to_x: "bg"; + to_y: "button.select.dt"; + } + rel2 { + relative: 1.0 1.0; + to_x: "bg"; + to_y: "button.select.dt"; + } + } + } + + part { + name: "text.help2"; + type: TEXTBLOCK; + scale: 1; + + description { + state: "default" 0.0; + min: 0 114; + align: 0.0 0.0; + fixed: 1 1; + + rel1 { + relative: 0.0 1.0; + to_x: "bg"; + to_y: "space.from.dt"; + offset: 40 0; + } + rel2 { + relative: 1.0 1.0; + to_x: "bg"; + to_y: "space.from.dt"; + offset: -40 114; + } + text { + style: pwlock_greeting_text_style; + } + } + } + + part { + name: "space.from.text.help2"; + type: RECT; + scale: 1; + + description { + state: "default" 0.0; + color: 0 0 0 0; + align: 0.0 0.0; + min: 0 10; + fixed: 0 1; + + rel1 { + relative: 0.0 1.0; + to_x: "bg"; + to_y: "text.help2"; + } + rel2 { + relative: 1.0 1.0; + to_x: "bg"; + to_y: "text.help2"; + } + } + } + part { name: "toolbar_bg"; type: RECT; scale: 0; description { state: "default" 0.0; - min: 0 92; - max: 999999 92; + min: 0 98; + max: 999999 98; fixed: 0 1; align: 0.0 1.0; visible: 0; @@ -274,8 +562,8 @@ group { mouse_events: 0; description { state: "default" 0.0; fixed: 1 1; - rel1 { relative: 0.0 0.0; to: toolbar_bg; offset: 16 0; } - rel2 { relative: 1.0 1.0; to: toolbar_bg; offset: -16 -20; } + rel1 { relative: 0.0 0.0; to: toolbar_bg; offset: 37 14; } + rel2 { relative: 1.0 1.0; to: toolbar_bg; offset: -37 -14; } visible: 0; } } @@ -284,8 +572,8 @@ group { type: RECT; scale : 0; description { state: "default" 0.0; - min: 15 0; - max: 15 9999; + min: 16 0; + max: 16 9999; fixed : 1 0; visible: 0; align: 0.5 0.5; @@ -351,7 +639,7 @@ group { name: "pwlock-finish"; description { state: "default" 0.0; rel1 { relative: 0.0 0.0; } rel2 { relative: 1.0 1.0; } - color: 248 246 239 255; + color: 0 0 0 255; } } diff --git a/res/edje/pwlock-nosim-ui.edc b/res/edje/pwlock-nosim-ui.edc index cdd5b12..ff65542 100644 --- a/res/edje/pwlock-nosim-ui.edc +++ b/res/edje/pwlock-nosim-ui.edc @@ -1,10 +1,10 @@ group { name: "pwlock-nosim-ui"; images { - image: "A01-9_icon_no_sim.png" COMP; + image: "A01-9_image_no_sim.png" COMP; } - parts { + parts { part { name: "bg"; type: RECT; scale: 0; @@ -12,13 +12,13 @@ group { name: "pwlock-nosim-ui"; description { state: "default" 0.0; rel1 { relative: 0.0 0.0; } rel2 { relative: 1.0 1.0; } - color: 248 246 239 255; + color: 0 0 0 255; } } part { name: "padding-top"; type: RECT; - scale: 0; + scale: 1; description { state: "default" 0.0; color: 0 0 0 0; @@ -34,7 +34,7 @@ group { name: "pwlock-nosim-ui"; } } } - + part { name: "image.nosim"; type: IMAGE; description { state: "default" 0.0; @@ -45,18 +45,18 @@ group { name: "pwlock-nosim-ui"; rel1 { relative: 0.0 1.0; to: "padding-top"; } - rel2 { relative: 1.0 1.0; + rel2 { relative: 1.0 1.0; to: "padding-top"; offset: 0 280; } - image { normal: "A01-9_icon_no_sim.png"; } + image { normal: "A01-9_image_no_sim.png"; } } } part { name: "space.from.image.nosim"; type: RECT; scale: 0; - + description { state: "default" 0.0; color: 0 0 0 0; align: 0.0 0.0; @@ -73,7 +73,7 @@ group { name: "pwlock-nosim-ui"; } } } - + part { name: "padding-left"; type: RECT; scale: 0; @@ -115,14 +115,14 @@ group { name: "pwlock-nosim-ui"; } } } - + part { name: "text.help"; type: TEXTBLOCK; scale: 0; description { state: "default" 0.0; fixed: 1 1; - min: 0 304; + min: 0 400; rel1 { relative: 1.0 1.0; to_x: "padding-left"; @@ -132,18 +132,18 @@ group { name: "pwlock-nosim-ui"; relative: 0.0 1.0; to_x: "padding-right"; to_y: "space.from.image.nosim"; - offset: 0 304; + offset: 0 400; } text { style: pwlock_help_text_style; } } } - + part { name: "space.from.text.help"; type: RECT; scale: 0; - + description { state: "default" 0.0; color: 0 0 0 0; align: 0.0 0.0; @@ -167,7 +167,7 @@ group { name: "pwlock-nosim-ui"; description { state: "default" 0.0; align: 0.0 0.0; - min: 0 72; + min: 0 74; fixed: 1 1; rel1 { relative: 1.0 1.0; diff --git a/res/edje/pwlock.edc b/res/edje/pwlock.edc index 2e75a01..8f5a79f 100644 --- a/res/edje/pwlock.edc +++ b/res/edje/pwlock.edc @@ -1,10 +1,17 @@ collections { styles { + style { name: "pwlock_greeting_text_style"; + base: "font=Tizen:style=Regular font_size=28 color=#d7d7d7 wrap=word"; + tag: "br" "\n"; + tag: "hilight" "+ font=Tizen:style=Bold"; + tag: "b" "+ font=Tizen:style=Bold"; + tag: "tab" "\t"; + } style { name: "pwlock_help_text_style"; - base: "font=SLP:style=Regular font_size=32 color=#7c7c7c wrap=word"; + base: "font=Tizen:style=Regular font_size=32 color=#d7d7d7 wrap=word"; tag: "br" "\n"; - tag: "hilight" "+ font=SLP:style=Bold"; - tag: "b" "+ font=SLP:style=Bold"; + tag: "hilight" "+ font=Tizen:style=Bold"; + tag: "b" "+ font=Tizen:style=Bold"; tag: "tab" "\t"; } } diff --git a/src/ui-callback.c b/src/ui-callback.c index bd53fb3..fa9a6ea 100755 --- a/src/ui-callback.c +++ b/src/ui-callback.c @@ -32,12 +32,15 @@ void pwlock_greeting_next_cb(void *data, Evas_Object *obj, void *e) { if (!ad) return; + if (ad->state != _ST_GREETING) + return; + ad->btn_evt_state = BUTTON_STATE_NEXT_CLICKED; if (ad->is_no_sim == 1) { do_state_directly(_ST_NOSIM, ad); } else { - do_state_directly(_ST_TIME, ad); + do_state_directly(_ST_CONNECTION, ad); } } @@ -60,7 +63,7 @@ void pwlock_nosim_skip_cb(void *data, Evas_Object * obj, void *e) { return; ad->btn_evt_state = BUTTON_STATE_NEXT_CLICKED; - do_state_directly(_ST_TIME, ad); + do_state_directly(_ST_CONNECTION, ad); } void pwlock_tutorial_prev_cb(void *data, Evas_Object *obj, void *e) { @@ -105,8 +108,8 @@ void pwlock_ug_connection_layout_cb(ui_gadget_h ug, enum ug_mode mode, case UG_MODE_FULLVIEW: evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(ug_get_window(), base); - //ug_disable_effect(ug); + //elm_win_resize_object_add(ug_get_window(), base); + ug_disable_effect(ug); evas_object_show(base); ad->wifi_ug_layout = base; break; @@ -153,6 +156,8 @@ void pwlock_ug_connection_destroy_cb(ui_gadget_h ug, void *priv) { ug = NULL; } + ad->wifi_ug_loaded = 0; + _DBG("ad->btn_evt_state=%d", ad->btn_evt_state); switch (ad->btn_evt_state) { @@ -160,7 +165,11 @@ void pwlock_ug_connection_destroy_cb(ui_gadget_h ug, void *priv) { do_state_directly(_ST_FINISH, ad); break; case BUTTON_STATE_PREV_CLICKED: - do_state_directly(_ST_TIME, ad); + if (ad->is_no_sim == 1) { + do_state_directly(_ST_NOSIM, ad); + } else { + do_state_directly(_ST_GREETING, ad); + } break; case BUTTON_STATE_NONE: break; @@ -43,7 +43,7 @@ static void _eraser_clicked_cb(void *data, Evas_Object * obj, const char *emission, const char *source); static Evas_Object *_create_editfield(Evas_Object * parent, Eina_Bool focus); static Evas_Object *_editfield_entry_get(Evas_Object * parent); -static Evas_Object *_create_toolbar_btn(Evas_Object *parent, const char* text, Evas_Smart_Cb func, void *data); +static Evas_Object *_create_toolbar_btn(Evas_Object *parent); static int _ug_destroy = 0; @@ -112,12 +112,21 @@ static char *_get_tip(int ui_type) return r; } +static Eina_Bool pwlock_back_cb(void *data, Elm_Object_Item *it) +{ + _DBG("back key is touched"); + + elm_object_item_del(it); + + return EINA_FALSE; +} + static Evas_Object *_create_bg(Evas_Object * win) { /* nbeat */ Evas_Object *bg = elm_bg_add(win); evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - evas_object_color_set(bg, 248, 246, 239, 255); + evas_object_color_set(bg, 0, 0, 0, 255); elm_win_resize_object_add(win, bg); evas_object_show(bg); return bg; @@ -156,18 +165,18 @@ static Evas_Object *_create_layout(struct appdata *ad) return ly; } -static Evas_Object *_create_toolbar_btn(Evas_Object *parent, const char* text, Evas_Smart_Cb func, void *data) +static Evas_Object *_create_toolbar_btn(Evas_Object *parent) { - Evas_Object *btn = elm_button_add(parent); + Evas_Object *toolbar = elm_toolbar_add(parent); - if (!btn) + if (!toolbar) return NULL; - elm_object_style_set(btn, "naviframe/toolbar/default"); - elm_object_text_set(btn, text); - evas_object_smart_callback_add(btn, "clicked", func, data); + elm_object_style_set(toolbar, "default"); + elm_toolbar_shrink_mode_set(toolbar, ELM_TOOLBAR_SHRINK_EXPAND); + elm_toolbar_transverse_expanded_set(toolbar, EINA_TRUE); - return btn; + return toolbar; } Evas_Object *pwlock_add_layout_from_edj(Evas_Object *parent, const char *file, @@ -401,7 +410,7 @@ static void _done_button_changed(void *data, Evas_Object * obj, void *e) const char* entry_str = NULL; int length = 0; - entry_str =elm_entry_entry_get(_editfield_entry_get(ad->layout_entry)); + entry_str =elm_entry_entry_get(_editfield_entry_get(ad->layout_entry)); if (entry_str) { length = strlen(entry_str); @@ -579,7 +588,7 @@ static void _pp_rsp_ok_cb(void *data, Evas_Object * e, void *ei) ad->pin_changed = 0; } } - if (ad->ui_type == _UI_LANG || ad->ui_type == _UI_TIME || ad->ui_type == _UI_DIALER) { /* for IMF show problems */ + if (ad->ui_type == _UI_LANG || ad->ui_type == _UI_TIME) { /* for IMF show problems */ return; } if (ad->layout_entry) { @@ -618,7 +627,7 @@ static void _pp_rsp_cancel_cb(void *data, Evas_Object * e, void *ei) ad->pin_changed = 0; } } - if (ad->ui_type == _UI_LANG || ad->ui_type == _UI_TIME || ad->ui_type == _UI_DIALER) { /* for IMF show problems */ + if (ad->ui_type == _UI_LANG || ad->ui_type == _UI_TIME) { /* for IMF show problems */ return; } if (ad->layout_entry) { @@ -654,7 +663,7 @@ static void _destroy_previous_ugs(void *data) _DBG("%s,%d", __func__, __LINE__); - /* when last UG or SIM changed with fisrt UG, destroy the view + /* when last UG or SIM changed with fisrt UG, destroy the view if (((ad->sim_changed == 1) && (ad->ui_type == _UI_LANG)) || (ad->ui_type == _UI_TIME)) { _DBG("%s,%d", __func__, __LINE__); @@ -754,7 +763,7 @@ static char *_gl_label_get_title1(void *data, Evas_Object * obj, if (!strcmp(part, "elm.text")) { _DBG("retry_cnt = %d", ad->retry_cnt); if (ad->retry_cnt == 1) { - snprintf(buf, sizeof(buf), "%s (%s)", _get_tip(ad->ui_type), + snprintf(buf, sizeof(buf), "%s (%s)", _get_tip(ad->ui_type), pwlock_get_string(IDS_IDLE_BODY_1_ATTEMPT_LEFT)); } else if (ad->retry_cnt > 1) { snprintf(buf2, sizeof(buf2), pwlock_get_string(IDS_IDLE_BODY_PD_ATTEMPTS_LEFT), ad->retry_cnt); @@ -763,7 +772,7 @@ static char *_gl_label_get_title1(void *data, Evas_Object * obj, } else { snprintf(buf, sizeof(buf), "%s", _get_tip(ad->ui_type)); } - + return strdup(buf); } return NULL; @@ -872,6 +881,8 @@ void load_main(struct appdata *ad, int ui_type) set_win_prop(ad, ECORE_X_WINDOW_TYPE_NOTIFICATION); + ad->ui_type = ui_type; + ad->layout_contents = pwlock_add_layout_from_edj(ad->elm_navigation_frame, EDJFILE, "pwlock-lock-ui"); genlist = elm_genlist_add(ad->layout_contents); @@ -1124,12 +1135,9 @@ static void _ug_layout_cb(ui_gadget_h ug, enum ug_mode mode, void *priv) case UG_MODE_FULLVIEW: evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(ug_get_window(), base); + //elm_win_resize_object_add(ug_get_window(), base); //ug_disable_effect(ug); - if(_UI_TIME == ad->ui_type) { - ad->time_ug_layout = base; - } evas_object_show(base); break; default: @@ -1169,11 +1177,14 @@ static void _ug_result_cb(ui_gadget_h ug, service_h service, void *priv) _DBG("_ST_LANG language result = %s", retv); char *path = (char *)vconf_get_str(VCONFKEY_LANGSET); if (path) { + int r; _DBG("VCONFKEY_LANGSET value = %s", path); setenv("LANG", path, 1); - setenv("LC_ALL", path, 1); - setenv("LANGUAGE", path, 1); - setlocale(LC_ALL, ""); + setenv("LC_MESSAGES", path, 1); + r = setlocale(LC_ALL, ""); + if (r == NULL) { + r = setlocale(LC_ALL, path); + } bindtextdomain(PACKAGE, LOCALEDIR); textdomain(PACKAGE); free(path); @@ -1181,20 +1192,6 @@ static void _ug_result_cb(ui_gadget_h ug, service_h service, void *priv) } } break; - case _ST_TIME: - { - service_get_extra_data(service, "result", &retv); - if (retv) - _DBG("_ST_TIME name = %s", retv); - if (retv && !strcmp(retv, "lbutton_click")) { - ad->btn_evt_state = BUTTON_STATE_PREV_CLICKED; - ad->kill_ug = 1; - } else if (retv && !strcmp(retv, "rbutton_click")) { - ad->btn_evt_state = BUTTON_STATE_NEXT_CLICKED; - ad->kill_ug = 0; - } - } - break; default: break; } @@ -1219,40 +1216,21 @@ static void _ug_destroy_cb(ui_gadget_h ug, void *priv) if (ad == NULL) return; - if (ad->ui_type != _UI_DIALER) { - if (ug) { - ug_destroy(ug); - ug = NULL; - } + if (ug) { + ug_destroy(ug); + ug = NULL; } _DBG("%s, %d ad->state: %d", __func__, __LINE__, ad->state); switch (ad->state) { case _ST_LANG: + case _ST_TIME: { ad->state = _ST_GREETING; //show_waiting_popup(ad, NULL); do_state(ad); } break; - case _ST_TIME: - { - if (ad->kill_ug) { /* Previous button clicked */ - ad->date_and_time_previous = 1; - //show_waiting_popup(ad, NULL); - if (ad->is_no_sim == 1) { - do_state_directly(_ST_NOSIM, ad); - } else { - do_state_directly(_ST_GREETING, ad); - } - ad->kill_ug = 0; - return; - } else { - do_state_directly(_ST_CONNECTION, ad); - return; - } - } - break; default: { if (ad->win) @@ -1260,41 +1238,6 @@ static void _ug_destroy_cb(ui_gadget_h ug, void *priv) } break; } - if (ug) { - if (ad->ui_type == _UI_DIALER) { - ad->ui_type = ad->previous_ui_type; - ug_destroy(ug); - ug = NULL; - - if(ad->layout_entry) { - elm_entry_input_panel_enabled_set( - _editfield_entry_get(ad->layout_entry), - EINA_TRUE); - elm_entry_input_panel_show( - _editfield_entry_get(ad->layout_entry)); - } - - if(ad->layout_second_entry) { - elm_entry_input_panel_enabled_set( - _editfield_entry_get(ad->layout_second_entry), - EINA_TRUE); - } - - elm_object_disabled_set(ad->elm_button_dial, EINA_FALSE); - - if (_UI_PIN == ad->ui_type || _UI_PUK == ad->ui_type || - _UI_PUK_PIN == ad->ui_type - || _UI_SIM_LOCK == ad->ui_type) { - if (ad->layout_entry) { - evas_object_show(_editfield_entry_get - (ad->layout_entry)); - elm_object_focus_set - (_editfield_entry_get - (ad->layout_entry), EINA_TRUE); - } - } - } - } } static void _menu_greeting_button_lang_cb(void *data, Evas_Object * obj, void *e) { @@ -1309,6 +1252,18 @@ static void _menu_greeting_button_lang_cb(void *data, Evas_Object * obj, void *e /* TODO: */ } +static void _menu_greeting_button_dt_cb(void *data, Evas_Object * obj, void *e) { + _DBG("%s,%d", __func__, __LINE__); + struct appdata *ad = data; + + if (!ad) + return; + + ad->state = _ST_TIME; + show_time(ad); + /* TODO: */ +} + static void _nosim_retry_cb(void *data, Evas_Object * obj, void *event_info) { _DBG("%s,%d", __func__, __LINE__); struct appdata *ad = data; @@ -1328,11 +1283,11 @@ int show_greeting(struct appdata *ad) { Elm_Object_Item *navi_it = NULL; Evas_Object *contents = NULL; Evas_Object *button = NULL; - Evas_Object *emergency_btn = NULL; - Evas_Object *start_btn = NULL; + Evas_Object *dt_btn = NULL; + Evas_Object *toolbar = NULL; int ret_val; - + if (!ad) return 0; @@ -1356,14 +1311,12 @@ int show_greeting(struct appdata *ad) { _DBG("SYSTEM_INFO_KEY_PLATFORM_NAME = %s\n", model_name); } + elm_object_part_text_set(contents, "text.greeting.1", pwlock_get_string(IDS_SCM_BODY_WELCOME_E)); if (model_name != NULL) { _DBG("Device Name = %s\n", model_name); - elm_object_part_text_set(contents, "text.greeting.1", pwlock_get_string(IDS_IDLE_BODY_GREETING_WELCOME)); + //elm_object_part_text_set(contents, "text.greeting.1", pwlock_get_string(IDS_IDLE_BODY_GREETING_WELCOME)); elm_object_part_text_set(contents, "text.greeting.2", model_name); } - else { - elm_object_part_text_set(contents, "text.greeting.1", pwlock_get_string(IDS_SCM_BODY_WELCOME_E)); - } PWLOCK_MEMFREE(model_name); @@ -1371,28 +1324,31 @@ int show_greeting(struct appdata *ad) { pwlock_get_string(IDS_STU_BODY_SELECT_LANGUAGE)); button = elm_button_add(navi); - elm_object_style_set(button, "pwlock/lang_btn"); + //elm_object_style_set(button, "pwlock/lang_btn"); elm_object_part_content_set(contents, "button.select.lang", button); elm_object_text_set(button, pwlock_get_lang_title()); evas_object_smart_callback_add(button, "clicked", _menu_greeting_button_lang_cb, ad); - emergency_btn = elm_button_add(navi); - elm_object_style_set(emergency_btn, "pwlock/bottom_btn"); - elm_object_part_content_set(contents, "button.select.emergency", emergency_btn); + elm_object_part_text_set(contents, "text.dt", "Set date and time"); - elm_object_text_set(emergency_btn, pwlock_get_string(IDS_ST_SK_EMERGENCY_CALL)); - evas_object_smart_callback_add(emergency_btn, "clicked", _dial_cb, ad); + dt_btn = elm_button_add(navi); + //elm_object_style_set(dt_btn, "pwlock/lang_btn"); + elm_object_part_content_set(contents, "button.select.dt", dt_btn); - start_btn = elm_button_add(navi); - elm_object_style_set(start_btn, "pwlock/bottom_btn"); - elm_object_part_content_set(contents, "button.select.start", start_btn); + elm_object_text_set(dt_btn, "Date and time"); + evas_object_smart_callback_add(dt_btn, "clicked", _menu_greeting_button_dt_cb, ad); - elm_object_text_set(start_btn, pwlock_get_string(IDS_COM_SK_START)); - evas_object_smart_callback_add(start_btn, "clicked", pwlock_greeting_next_cb, ad); + toolbar = _create_toolbar_btn(navi); + elm_toolbar_item_append(toolbar, NULL, pwlock_get_string(IDS_ST_SK_EMERGENCY_CALL), _dial_cb, ad); + elm_toolbar_item_append(toolbar, NULL, pwlock_get_string(IDS_COM_SK_START), pwlock_greeting_next_cb, ad); navi_it = elm_naviframe_item_push(navi, NULL, NULL, NULL, contents, NULL); + + elm_object_item_part_content_set(navi_it, "toolbar", toolbar); + elm_naviframe_item_title_visible_set(navi_it, EINA_FALSE); + elm_naviframe_item_pop_cb_set(navi_it, pwlock_back_cb, ad); evas_object_show(ad->win); _destroy_previous_ugs(ad); @@ -1403,15 +1359,20 @@ int show_greeting(struct appdata *ad) { int show_connection(struct appdata *ad) { _DBG("%s", __func__); ad->ui_type = _UI_CONNECTION; - service_h service; - - set_win_prop(ad, ECORE_X_WINDOW_TYPE_NOTIFICATION); + ui_gadget_h ug; + service_h service; //if (ad->connection_ug) { // evas_object_show(ad->wifi_ug_layout); // return 1; //} + if (ad->wifi_ug_loaded) { + return 1; + } else { + ad->wifi_ug_loaded = 1; + } + UG_INIT_EFL(ad->win, UG_OPT_INDICATOR_ENABLE); struct ug_cbs *cbs = (struct ug_cbs *)calloc(1, sizeof(struct ug_cbs)); @@ -1434,25 +1395,22 @@ int show_connection(struct appdata *ad) { service_add_extra_data(service, "lbutton", pwlock_get_string(IDS_COM_BODY_PREVIOUS)); service_add_extra_data(service, "rbutton_next", pwlock_get_string(IDS_COM_SK_NEXT)); service_add_extra_data(service, "rbutton_skip", pwlock_get_string(IDS_COM_SK_SKIP)); - service_add_extra_data(service, "lbutton_icon", IMAGEDIR"/A01-9_controlbar_icon_Previous.png"); - service_add_extra_data(service, "rbutton_next_icon", IMAGEDIR"/A01-9_controlbar_icon_Next.png"); - service_add_extra_data(service, "rbutton_skip_icon", IMAGEDIR"/A01-9_controlbar_icon_Skip.png"); - service_add_extra_data(service, "scan_icon", IMAGEDIR"/A01-9_controlbar_icon_scan.png"); - ad->connection_ug = - ug_create(NULL, "wifi-efl-UG", UG_MODE_FULLVIEW, service, cbs); + ug = ug_create(NULL, "wifi-efl-UG", UG_MODE_FULLVIEW, service, cbs); service_destroy(service); free(cbs); - if (!ad->connection_ug) { + if (!ug) { _DBG("Get connection ug failed."); + ad->wifi_ug_loaded = 0; if (ad->btn_evt_state == BUTTON_STATE_PREV_CLICKED) - ad->state = _ST_TIME; + ad->state = _ST_GREETING; else ad->state = _ST_FINISH; do_state(ad); return 0; } - ad->current_ug = ad->connection_ug; + set_win_prop(ad, ECORE_X_WINDOW_TYPE_NOTIFICATION); + ad->current_ug = ad->connection_ug = ug; evas_object_show(ad->win); _destroy_previous_ugs(ad); return 1; @@ -1477,8 +1435,8 @@ int show_tutorial(struct appdata *ad) { init_ui(ad); navi = ad->elm_navigation_frame; - prev_btn = _create_toolbar_btn(navi, pwlock_get_string(IDS_COM_BODY_PREVIOUS), pwlock_tutorial_prev_cb, ad); - next_btn = _create_toolbar_btn(navi, pwlock_get_string(IDS_COM_SK_CANCEL), pwlock_tutorial_next_cb,ad); + prev_btn = _create_toolbar_btn(navi); + next_btn = _create_toolbar_btn(navi); navi_it = elm_naviframe_item_push(navi, (const char *)_("TUTORIAL"), @@ -1497,7 +1455,11 @@ int show_lang(struct appdata *ad) { _DBG("%s", __func__); ad->ui_type = _UI_LANG; + ui_gadget_h ug; service_h service; + + set_win_prop(ad, ECORE_X_WINDOW_TYPE_NOTIFICATION); + UG_INIT_EFL(ad->win, UG_OPT_INDICATOR_ENABLE); struct ug_cbs *cbs = (struct ug_cbs *)calloc(1, sizeof(struct ug_cbs)); @@ -1519,17 +1481,16 @@ int show_lang(struct appdata *ad) service_add_extra_data(service, "caller", "pwlock"); service_add_extra_data(service, "viewtype", "language"); - ad->language_ug = - ug_create(NULL, "setting-phone-efl", UG_MODE_FULLVIEW, service, cbs); + ug = ug_create(NULL, "setting-phone-efl", UG_MODE_FULLVIEW, service, cbs); service_destroy(service); free(cbs); - if (!ad->language_ug) { + if (!ug) { _DBG("Get phone ug failed."); ad->state = _ST_GREETING; do_state(ad); return 0; } - ad->current_ug = ad->language_ug; + ad->current_ug = ad->language_ug = ug; evas_object_show(ad->win); return 1; } @@ -1540,8 +1501,7 @@ int show_nosim(struct appdata *ad) Evas_Object *layout = NULL; Evas_Object *navi = NULL; Evas_Object *button = NULL; - Evas_Object *prev_btn = NULL; - Evas_Object *skip_btn = NULL; + Evas_Object *toolbar = NULL; Elm_Object_Item *navi_it = NULL; if (!ad) @@ -1565,15 +1525,17 @@ int show_nosim(struct appdata *ad) evas_object_smart_callback_add(button, "clicked", _nosim_retry_cb, ad); elm_object_part_content_set(layout, "button.select.retry", button); - prev_btn = _create_toolbar_btn(navi, pwlock_get_string(IDS_COM_BODY_PREVIOUS), pwlock_nosim_prev_cb, ad); - skip_btn = _create_toolbar_btn(navi, pwlock_get_string(IDS_COM_SK_SKIP), pwlock_nosim_skip_cb, ad); + toolbar = _create_toolbar_btn(navi); + elm_toolbar_item_append(toolbar, NULL, pwlock_get_string(IDS_COM_BODY_PREVIOUS), pwlock_nosim_prev_cb, ad); + elm_toolbar_item_append(toolbar, NULL, pwlock_get_string(IDS_COM_SK_SKIP), pwlock_nosim_skip_cb, ad); navi_it = elm_naviframe_item_push(navi, (const char *)_(pwlock_get_string(IDS_COM_BODY_NO_SIM_CARD_IN_DEVICE)), NULL, NULL, layout, NULL); - elm_object_item_part_content_set(navi_it, "toolbar_button1", prev_btn); - elm_object_item_part_content_set(navi_it, "toolbar_button2", skip_btn); + elm_object_item_part_content_set(navi_it, "toolbar", toolbar); + + elm_naviframe_item_pop_cb_set(navi_it, pwlock_back_cb, ad); evas_object_show(ad->win); _destroy_previous_ugs(ad); @@ -1587,14 +1549,10 @@ int show_time(struct appdata *ad) if (!ad) return 0; ad->ui_type = _UI_TIME; + ui_gadget_h ug; set_win_prop(ad, ECORE_X_WINDOW_TYPE_NOTIFICATION); - //if (ad->date_ug) { - // evas_object_hide(ad->wifi_ug_layout); - // return 1; - //} - ad->date_and_time_settings_loaded = 1; service_h service; UG_INIT_EFL(ad->win, UG_OPT_INDICATOR_ENABLE); @@ -1616,23 +1574,19 @@ int show_time(struct appdata *ad) return 0; } service_add_extra_data(service, "caller", "pwlock"); - service_add_extra_data(service, "lbutton", pwlock_get_string(IDS_COM_BODY_PREVIOUS)); - service_add_extra_data(service, "rbutton", pwlock_get_string(IDS_COM_SK_NEXT)); + //service_add_extra_data(service, "lbutton", pwlock_get_string(IDS_COM_BODY_PREVIOUS)); + //service_add_extra_data(service, "rbutton", pwlock_get_string(IDS_COM_SK_NEXT)); - ad->date_ug = - ug_create(NULL, "setting-time-efl", UG_MODE_FULLVIEW, service, cbs); + ug = ug_create(NULL, "setting-time-efl", UG_MODE_FULLVIEW, service, cbs); service_destroy(service); free(cbs); - if (!ad->date_ug) { + if (!ug) { _DBG("?????Get time ug failed."); - if (ad->btn_evt_state == BUTTON_STATE_PREV_CLICKED) - ad->state = _ST_GREETING; - else - ad->state = _ST_CONNECTION; + ad->state = _ST_GREETING; do_state(ad); return 0; } - ad->current_ug = ad->date_ug; + ad->current_ug = ad->date_ug = ug; evas_object_show(ad->win); _destroy_previous_ugs(ad); return 1; @@ -1642,8 +1596,7 @@ int show_finish(struct appdata *ad) { _DBG("%s,%d", __func__, __LINE__); Evas_Object *navi = NULL; - Evas_Object *prev_btn = NULL; - Evas_Object *finish_btn = NULL; + Evas_Object *toolbar = NULL; Elm_Object_Item *navi_it = NULL; Evas_Object *contents = NULL; Evas_Object *label = NULL; @@ -1652,6 +1605,8 @@ int show_finish(struct appdata *ad) { if (!ad) return 0; + set_win_prop(ad, ECORE_X_WINDOW_TYPE_NOTIFICATION); + ad->ui_type = _UI_FINISH; pwlock_destroy(ad); @@ -1669,7 +1624,7 @@ int show_finish(struct appdata *ad) { evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL); if (finish_text != NULL && eina_strbuf_append_printf(finish_text, - "<font size=32 color=#7C7C7C align=center><br> %s </font>", + "<font size=32 color=#d7d7d7 align=center><br> %s </font>", pwlock_get_string(IDS_STU_BODY_DEVICE_IS_SET_UP_AND_READY_TO_USE)) == EINA_TRUE) { elm_object_text_set(label, eina_strbuf_string_get(finish_text)); } @@ -1680,13 +1635,15 @@ int show_finish(struct appdata *ad) { elm_object_part_content_set(contents, "swl/label", label); - prev_btn = _create_toolbar_btn(navi, pwlock_get_string(IDS_COM_BODY_PREVIOUS), pwlock_finish_prev_cb, ad); - finish_btn = _create_toolbar_btn(navi, pwlock_get_string(IDS_ST_BODY_INSTALTAB_FINISH), pwlock_finish_cb, ad); + toolbar = _create_toolbar_btn(navi); + elm_toolbar_item_append(toolbar, NULL, pwlock_get_string(IDS_COM_BODY_PREVIOUS), pwlock_finish_prev_cb, ad); + elm_toolbar_item_append(toolbar, NULL, pwlock_get_string(IDS_ST_BODY_INSTALTAB_FINISH), pwlock_finish_cb, ad); navi_it = elm_naviframe_item_push(navi, _get_header(ad->ui_type), NULL, NULL, contents, NULL); - elm_object_item_part_content_set(navi_it, "toolbar_button1", prev_btn); - elm_object_item_part_content_set(navi_it, "toolbar_button2", finish_btn); + elm_object_item_part_content_set(navi_it, "toolbar", toolbar); + + elm_naviframe_item_pop_cb_set(navi_it, pwlock_back_cb, ad); evas_object_show(ad->win); _destroy_previous_ugs(ad); @@ -1801,7 +1758,7 @@ void show_waiting_popup(struct appdata *ad, const char *msg_str) label = elm_label_add(popup); elm_label_line_wrap_set(label, EINA_TRUE); if (popup_str != NULL && eina_strbuf_append_printf(popup_str, - "<font color=#000000>%s</font>", msg_str) == EINA_TRUE) { + "<font color=#ffffff>%s</font>", msg_str) == EINA_TRUE) { elm_object_text_set(label, eina_strbuf_string_get(popup_str)); } evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, |