Update PO files
[apps/native/ug-mobile-ap.git] / src / mh_view_main.c
index b97aaf9..9ac7f8e 100755 (executable)
 #include "mh_popup.h"
 #include "mh_string.h"
 
+static void __ctx_move_more_ctxpopup(Evas_Object *ctx, mh_appdata_t *ad);
+static void __ctx_delete_more_ctxpopup_cb(void *data, Evas *e, Evas_Object *obj, void *event_info);
+static Eina_Bool rotate_flag = EINA_FALSE;
+
 void _genlist_update_device_item(mh_appdata_t *ad);
 mh_appdata_t *g_ad = NULL;
 #define UPDATE_INTERVAL 1
@@ -619,14 +623,18 @@ static void __select_wifi_item(void *data, Evas_Object *obj, void *event_info)
 {
        __MOBILE_AP_FUNC_ENTER__;
 
+       Evas_Object *content;
+       Elm_Object_Item *item = (Elm_Object_Item *)event_info;
+
        if (data == NULL) {
                ERR("The param is NULL\n");
                return;
        }
-       mh_appdata_t *ad = (mh_appdata_t *)data;
 
-       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
-       mh_draw_wifi_setup_view(ad);
+       elm_genlist_item_selected_set(item, EINA_FALSE);
+
+       content = elm_object_item_part_content_get(item, "elm.icon");
+       __wifi_onoff_changed_cb(data, content, NULL);
 
        __MOBILE_AP_FUNC_EXIT__;
 
@@ -764,7 +772,7 @@ static void  __back_btn_cb(void *data, Elm_Object_Item *navi_item)
 static char *__get_wifi_label(void *data, Evas_Object *obj, const char *part)
 {
        if (!strcmp("elm.text", part))
-               return strdup(STR_WIFI_TETH);
+               return strdup(STR_MOBILE_HOTSPOT);
 
        return NULL;
 }
@@ -937,7 +945,7 @@ static char *__get_help_label(void *data, Evas_Object *obj, const char *part)
                wifi_state = ad->main.hotspot_mode & VCONFKEY_MOBILE_HOTSPOT_MODE_WIFI;
 
                if (wifi_state && ad->setup.visibility == false)
-                       hidden = STR_WIFI_TETH_HIDDEN;
+                       hidden = STR_MOBILE_HOTSPOT_IS_HIDDEN;
 
                if (wifi_state && ad->setup.security_type != TETHERING_WIFI_SECURITY_TYPE_NONE) {
                        snprintf(buf, MH_LABEL_LENGTH_MAX,
@@ -953,7 +961,7 @@ static char *__get_help_label(void *data, Evas_Object *obj, const char *part)
                                        STR_PASSWORD,
                                        passphrase,
                                        security_type,
-                                       STR_PASSWORD_FOR_WIFI_TETH,
+                                       STR_ENTER_THE_PASSWORD_ON_THE_OTHER_DEVICE,
                                        hidden[0] != '\0' ? "<br>" : "",
                                        hidden);
                } else {
@@ -1374,6 +1382,148 @@ void _main_callback_del(mh_appdata_t *ad)
        __MOBILE_AP_FUNC_EXIT__;
 }
 
+static void __ctx_move_more_ctxpopup(Evas_Object *ctx, mh_appdata_t *ad)
+{
+       Evas_Coord w;
+       Evas_Coord h;
+       int pos = -1;
+       __MOBILE_AP_FUNC_ENTER__;
+
+       elm_win_screen_size_get(ad->win, NULL, NULL, &w, &h);
+       pos = elm_win_rotation_get(ad->win);
+
+       switch (pos) {
+               case 0:
+               case 180:
+                       evas_object_move(ctx, w/2, h);
+                       break;
+               case 90:
+                       evas_object_move(ctx, h/2, w);
+                       break;
+               case 270:
+                       evas_object_move(ctx, h/2, w);
+                       break;
+       }
+       __MOBILE_AP_FUNC_EXIT__;
+}
+
+static void __rotate_more_ctxpopup_cb(void *data, Evas_Object *obj, void *event_info)
+{
+       __MOBILE_AP_FUNC_ENTER__;
+
+       mh_appdata_t *ad = (mh_appdata_t *)data;
+       Evas_Object *ctx = ad->ctxpopup;
+
+       __ctx_move_more_ctxpopup(ctx, ad);
+       evas_object_show(ctx);
+
+       __MOBILE_AP_FUNC_EXIT__;
+}
+
+static void __dismissed_more_ctxpopup_cb(void *data, Evas_Object *obj, void *event)
+{
+       __MOBILE_AP_FUNC_ENTER__;
+
+       mh_appdata_t *ad = (mh_appdata_t *)data;
+       Evas_Object *ctx = ad->ctxpopup;
+
+       if (!rotate_flag) {
+               evas_object_del(ctx);
+               ctx = NULL;
+       } else {
+               __ctx_move_more_ctxpopup(ctx, ad);
+               evas_object_show(ctx);
+               rotate_flag = EINA_FALSE;
+       }
+       __MOBILE_AP_FUNC_EXIT__;
+}
+
+static void __ctx_delete_more_ctxpopup_cb(void *data, Evas *e, Evas_Object *obj,
+               void *event_info)
+{
+       Evas_Object *navi = (Evas_Object *)data;
+       Evas_Object *ctx = obj;
+
+       if (navi == NULL) {
+               ERR("data is null\n");
+               return;
+       }
+       __MOBILE_AP_FUNC_ENTER__;
+
+       evas_object_smart_callback_del(ctx, "dismissed",
+                       __dismissed_more_ctxpopup_cb);
+       evas_object_smart_callback_del(elm_object_top_widget_get(ctx),
+                       "rotation,changed", __rotate_more_ctxpopup_cb);
+       evas_object_event_callback_del_full(ctx, EVAS_CALLBACK_DEL,
+                       __ctx_delete_more_ctxpopup_cb, navi);
+       __MOBILE_AP_FUNC_EXIT__;
+}
+
+static void __gl_configure_wifi_tethering(void *data, Evas_Object *obj, void *event_info)
+{
+       __MOBILE_AP_FUNC_ENTER__;
+
+       if (data == NULL) {
+               ERR("The param is NULL\n");
+               return;
+       }
+       mh_appdata_t *ad = (mh_appdata_t *)data;
+
+       evas_object_del(ad->ctxpopup);
+       ad->ctxpopup = NULL;
+
+       elm_genlist_item_selected_set((Elm_Object_Item *)event_info, EINA_FALSE);
+       mh_draw_wifi_setup_view(ad);
+
+       __MOBILE_AP_FUNC_EXIT__;
+
+       return;
+}
+
+static void __create_ctxpopup_more_button(void *data, Evas_Object *obj,
+               void *event_info)
+{
+       mh_appdata_t *ad = (mh_appdata_t *)data;
+       Evas_Object *ctxpopup = NULL;
+
+       if (ad == NULL) {
+               ERR("ad is null\n");
+               return;
+       }
+       __MOBILE_AP_FUNC_ENTER__;
+
+       ctxpopup = elm_ctxpopup_add(ad->win);
+       elm_ctxpopup_auto_hide_disabled_set(ctxpopup, EINA_TRUE);
+
+       eext_object_event_callback_add(ctxpopup, EEXT_CALLBACK_BACK,
+                       eext_ctxpopup_back_cb, ad);
+       eext_object_event_callback_add(ctxpopup, EEXT_CALLBACK_MORE,
+                       eext_ctxpopup_back_cb, ad);
+       elm_object_style_set(ctxpopup, "more/default");
+       evas_object_smart_callback_add(ctxpopup, "dismissed",
+                       __dismissed_more_ctxpopup_cb, ad);
+       evas_object_smart_callback_add(elm_object_top_widget_get(ctxpopup), "rotation,changed",
+                       __rotate_more_ctxpopup_cb, ad);
+       evas_object_event_callback_add(ctxpopup, EVAS_CALLBACK_DEL,
+                       __ctx_delete_more_ctxpopup_cb, ad->naviframe);
+
+       elm_ctxpopup_direction_priority_set(ctxpopup, ELM_CTXPOPUP_DIRECTION_UP,
+                       ELM_CTXPOPUP_DIRECTION_DOWN,
+                       ELM_CTXPOPUP_DIRECTION_UNKNOWN,
+                       ELM_CTXPOPUP_DIRECTION_UNKNOWN);
+
+       __ctx_move_more_ctxpopup(ctxpopup, ad);
+       elm_ctxpopup_item_append(ctxpopup, STR_CONFIGURE_MOBILE_HOTSPOT,
+                       NULL, __gl_configure_wifi_tethering, ad);
+
+       evas_object_show(ctxpopup);
+
+       ad->ctxpopup = ctxpopup;
+
+       __MOBILE_AP_FUNC_EXIT__;
+}
+
+
 void _main_draw_contents(mh_appdata_t *ad)
 {
        INFO("+\n");
@@ -1395,6 +1545,8 @@ void _main_draw_contents(mh_appdata_t *ad)
 
        eext_object_event_callback_add(ad->naviframe, EEXT_CALLBACK_BACK,
                        eext_naviframe_back_cb, NULL);
+       eext_object_event_callback_add(ad->naviframe, EEXT_CALLBACK_MORE,
+                       __create_ctxpopup_more_button, ad);
 
        evas_object_smart_callback_add(ad->main.back_btn, "clicked", (Evas_Smart_Cb)__back_btn_cb, (void *)ad);
        elm_object_focus_allow_set(ad->main.back_btn, EINA_FALSE);