viewer: process back key event 89/43389/1
authorMinkyu Kang <mk7.kang@samsung.com>
Thu, 9 Jul 2015 00:24:22 +0000 (09:24 +0900)
committerMinkyu Kang <mk7.kang@samsung.com>
Thu, 9 Jul 2015 00:24:22 +0000 (09:24 +0900)
Change-Id: I633b86d66247b334d57170dfbf51c31f652310b0
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
src/util/timeout_handler.c
src/view/viewer.c

index e35f571..4d73de1 100644 (file)
@@ -87,7 +87,6 @@ struct timeout_handler *timeout_handler_init(double timeout,
        int i;
        int event_type[] = {
                ECORE_EVENT_KEY_UP,
-               ECORE_EVENT_KEY_DOWN,
                ECORE_EVENT_MOUSE_BUTTON_DOWN,
                ECORE_EVENT_MOUSE_BUTTON_UP,
                ECORE_EVENT_MOUSE_MOVE,
index 4a80d83..8adbea9 100644 (file)
@@ -18,6 +18,7 @@
 #include <app_debug.h>
 #include <viewmgr.h>
 #include <layoutmgr.h>
+#include <inputmgr.h>
 #include <media_content.h>
 #include <media_info.h>
 #include <player.h>
@@ -329,6 +330,9 @@ static void _draw_title_bar(struct _priv *priv, int id, app_media_info *mi)
        if (id == VIEWER_MOVIE) {
                elm_object_part_text_set(priv->base,
                                PART_VIEWER_TITLE, mi->title);
+
+               elm_object_part_text_set(priv->base, PART_VIEWER_DATE, "");
+               elm_object_part_text_set(priv->base, PART_VIEWER_PAGE, "");
        } else {
                strftime(date, sizeof(date), "%d %b, %Y", mi->content_time);
                strftime(day, sizeof(day), "%a", mi->content_time);
@@ -341,6 +345,8 @@ static void _draw_title_bar(struct _priv *priv, int id, app_media_info *mi)
                snprintf(buf, sizeof(buf), "%d / %d", priv->playlist.cur + 1,
                                eina_list_count(priv->playlist.list));
                elm_object_part_text_set(priv->base, PART_VIEWER_PAGE, buf);
+
+               elm_object_part_text_set(priv->base, PART_VIEWER_TITLE, "");
        }
 }
 
@@ -562,6 +568,16 @@ static void _hide_bar(struct _priv *priv)
        ctl->ops->disable(ctl->handle);
 }
 
+static void _pop_view(struct _priv *priv)
+{
+       struct view_update_data vdata;
+
+       vdata.index = priv->playlist.cur;
+
+       viewmgr_update_view(VIEW_BASE, UPDATE_FOCUS, &vdata);
+       viewmgr_pop_view();
+}
+
 static void _timeout_cb(void *data, int type, void *ei)
 {
        _hide_bar(data);
@@ -569,6 +585,30 @@ static void _timeout_cb(void *data, int type, void *ei)
 
 static void _event_cb(void *data, int type, void *ei)
 {
+       struct _priv *priv;
+
+       if (!data)
+               return;
+
+       priv = data;
+
+       if (type == ECORE_EVENT_KEY_UP) {
+               Evas_Event_Key_Up *ev;
+
+               if (!ei)
+                       return;
+
+               ev = ei;
+
+               if (!strcmp(ev->keyname, KEY_BACK) ||
+                               !strcmp(ev->keyname, KEY_BACK_REMOTE)) {
+                       if (priv->bar_show) {
+                               _pop_view(priv);
+                               return;
+                       }
+               }
+       }
+
        _show_bar(data);
 }