Update clear button 91/42191/2
authorjinwoo.shin <jw0227.shin@samsung.com>
Wed, 24 Jun 2015 09:15:09 +0000 (18:15 +0900)
committerjinwoo.shin <jw0227.shin@samsung.com>
Wed, 24 Jun 2015 09:24:28 +0000 (18:24 +0900)
Change-Id: Ie0feb233f9b5f6388a50b5fe582db2f52f191fb4
Signed-off-by: jinwoo.shin <jw0227.shin@samsung.com>
data/view/notification_view.edc
data/view/square_view.edc
include/define.h
src/notification_view.c
src/square_view.c

index 26f0fc0..96ae15f 100644 (file)
 
 group {
        name: GRP_NOTIFICATION_VIEW;
-       images {
-               image, "btn_bar_clearall_dis.png" COMP;
-               image, "btn_bar_clearall_foc.png" COMP;
-               image, "btn_bar_clearall_nor.png" COMP;
-    }
        parts {
                part {
                        name, PART_NOTIFICATION_TITLE_BG;
@@ -61,10 +56,11 @@ group {
                        }
                }
                part {
-                       name, PART_NOTIFICATION_CLEAR_BG;
-                       type, RECT;
+                       name, PART_NOTIFICATION_CLEAR;
+                       type, SWALLOW;
                        scale, 1;
                        description {
+                               state, "default" 0.0;
                                rel1 {
                                        to, PART_NOTIFICATION_TITLE;
                                        relative, 1.0 0.0;
@@ -76,38 +72,8 @@ group {
                                min, 82 104;
                                align, 1.0 0.0;
                                fixed, 1 1;
-                               visible, 0;
-                       }
-                       description {
-                               state, "focused" 0.0;
-                               inherit, "default" 0.0;
-                               color, 0 119 246 255;
-                               visible, 1;
-                       }
-               }
-               part {
-                       name, PART_NOTIFICATION_CLEAR;
-                       type, IMAGE;
-                       scale, 1;
-                       description {
-                               state, "default" 0.0;
-                               rel1.to, PART_NOTIFICATION_CLEAR_BG;
-                               rel2.to, PART_NOTIFICATION_CLEAR_BG;
-                               image.normal, "btn_bar_clearall_nor.png";
-                               align, 0.0 0.0;
-                               fixed, 1 1;
                                visible, 1;
                        }
-                       description {
-                               state, "disabled" 0.0;
-                               inherit, "default" 0.0;
-                               image.normal, "btn_bar_clearall_dis.png";
-                       }
-                       description {
-                               state, "focused" 0.0;
-                               inherit, "default" 0.0;
-                               image.normal, "btn_bar_clearall_foc.png";
-                       }
                }
                part {
                        name, PART_NOTIFICATION_CONTENT_BG;
@@ -333,3 +299,78 @@ group {
                }
        }
 }
+
+group {
+       name: GRP_NOTIFICATION_CLEAR;
+       images {
+               image, "btn_bar_clearall_dis.png" COMP;
+               image, "btn_bar_clearall_foc.png" COMP;
+               image, "btn_bar_clearall_nor.png" COMP;
+    }
+       parts {
+               part {
+                       name, "bg";
+                       type, RECT;
+                       scale, 1;
+                       description {
+                               state, "default" 0.0;
+                               color, 0 119 246 255;
+                               align, 0.0 0.0;
+                               fixed, 1 1;
+                               visible, 0;
+                       }
+                       description {
+                               state, "focused" 0.0;
+                               inherit, "default" 0.0;
+                               visible, 1;
+                       }
+               }
+               part {
+                       name, PART_ICON;
+                       type, IMAGE;
+                       scale, 1;
+                       description {
+                               state, "default" 0.0;
+                               image.normal, "btn_bar_clearall_nor.png";
+                               align, 0.5 0.5;
+                               fixed, 1 1;
+                       }
+                       description {
+                               state, "disabled" 0.0;
+                               inherit, "default" 0.0;
+                               image.normal, "btn_bar_clearall_dis.png";
+                       }
+                       description {
+                               state, "focused" 0.0;
+                               inherit, "default" 0.0;
+                               image.normal, "btn_bar_clearall_foc.png";
+                       }
+               }
+       }
+       programs {
+               program {
+                       name, "disabled";
+                       signal, SIGNAL_DISABLED;
+                       source, SOURCE_ELM;
+                       action, STATE_SET "disabled" 0.0;
+                       target, "bg";
+                       target, PART_ICON;
+               }
+               program {
+                       name, "focused";
+                       signal, SIGNAL_FOCUSED;
+                       source, SOURCE_ELM;
+                       action, STATE_SET "focused" 0.0;
+                       target, "bg";
+                       target, PART_ICON;
+               }
+               program {
+                       name, "unfocused";
+                       signal, SIGNAL_UNFOCUSED;
+                       source, SOURCE_ELM;
+                       action, STATE_SET "default" 0.0;
+                       target, "bg";
+                       target, PART_ICON;
+               }
+       }
+}
index f0243f7..600d95e 100644 (file)
@@ -758,7 +758,7 @@ group {
 }
 
 group {
-       name: GRP_NOTIFICATION_CLEAR;
+       name: GRP_SQUARE_NOTIFICATION_CLEAR;
        images {
                image, "btn_noti_list_clearall_dis.png" COMP;
                image, "btn_noti_list_clearall_foc.png" COMP;
index 2928002..d9203e6 100644 (file)
@@ -51,6 +51,8 @@
 #define PART_NOTIFICATION_CATEGORY_TITLE "part.notification.category.title"
 #define PART_NOTIFICATION_CATEGORY_CONTENT "part.notification.category.content"
 
+#define GRP_NOTIFICATION_CLEAR "grp.notification.clear"
+
 /* Definitions for infosquare view */
 #define SQUARE_VIEW "SQUARE_VIEW"
 #define GRP_SQUARE_VIEW "grp.square.view"
@@ -72,6 +74,6 @@
 #define PART_NOTIFICATION_ITEM_TITLE "part.notification.item.title"
 
 #define GRP_NOTIFICATION_LAUNCH "grp.notification.launch"
-#define GRP_NOTIFICATION_CLEAR "grp.notification.clear"
+#define GRP_SQUARE_NOTIFICATION_CLEAR "grp.square.notification.clear"
 
 #endif /* __AIR_INFOSQUARE_DEFINE_H__*/
index b4ec9a4..b12e767 100644 (file)
@@ -55,6 +55,16 @@ struct _priv {
        Elm_Gengrid_Item_Class *grid_class;
 };
 
+static void _clear_key_up_cb(int id, void *data,
+               Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev);
+static void _clear_mouse_up_cb(int id, void *data,
+               Evas *e, Evas_Object *obj, Evas_Event_Mouse_Up *ev);
+
+static input_handler clear_handler = {
+       .key_up = _clear_key_up_cb,
+       .mouse_up = _clear_mouse_up_cb
+};
+
 static const char *_get_category_title(int category)
 {
        switch (category) {
@@ -139,11 +149,13 @@ static void _update_list(struct _priv *priv)
        if (noti_list) {
                elm_object_signal_emit(priv->base,
                                SIGNAL_NOTIFICATION, SOURCE_PROGRAM);
+               elm_object_disabled_set(priv->clear_btn, EINA_FALSE);
 
                _draw_category(priv, CATEGORY_TODAY, noti_list);
        } else {
                elm_object_signal_emit(priv->base,
                                SIGNAL_NO_NOTIFICATION, SOURCE_PROGRAM);
+               elm_object_disabled_set(priv->clear_btn, EINA_TRUE);
        }
 }
 
@@ -252,6 +264,14 @@ static Evas_Object *_create(Evas_Object *win, void *data)
                        NOTIFICATION_CATEGORY_PADDING_Y);
        evas_object_show(priv->category_container);
 
+       priv->clear_btn = elm_layout_add(priv->base);
+       elm_layout_file_set(priv->clear_btn, EDJEFILE, GRP_NOTIFICATION_CLEAR);
+       elm_object_focus_allow_set(priv->clear_btn, EINA_TRUE);
+       elm_object_part_content_set(priv->base,
+                       PART_NOTIFICATION_CLEAR, priv->clear_btn);
+       evas_object_show(priv->clear_btn);
+       inputmgr_add_callback(priv->clear_btn, 0, &clear_handler, NULL);
+
        priv->grid_class = elm_gengrid_item_class_new();
        priv->grid_class->item_style = STYLE_GRID_ITEM;
        priv->grid_class->func.text_get = _grid_label_get;
@@ -305,6 +325,8 @@ static void _destroy(void *view_data)
 
        priv = (struct _priv *) view_data;
 
+       inputmgr_remove_callback(priv->clear_btn, &clear_handler);
+
        evas_object_del(priv->base);
 
        elm_gengrid_item_class_free(priv->grid_class);
@@ -320,6 +342,19 @@ static view_class vclass = {
        .destroy = _destroy,
 };
 
+static void _clear_key_up_cb(int id, void *data, Evas *e,
+               Evas_Object *obj, Evas_Event_Key_Up *ev)
+{
+       if (!strcmp(ev->keyname, KEY_ENTER))
+               notification_delete_all(NOTIFICATION_TYPE_NOTI);
+}
+
+static void _clear_mouse_up_cb(int id, void *data, Evas *e,
+               Evas_Object *obj, Evas_Event_Mouse_Up *ev)
+{
+       notification_delete_all(NOTIFICATION_TYPE_NOTI);
+}
+
 view_class *notification_view_get_vclass(void)
 {
        return &vclass;
index 4fda86b..9ddbee3 100644 (file)
@@ -33,7 +33,8 @@
 
 static void _button_key_up_cb(int id, void *data,
                Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev);
-static void _button_clicked_cb(int id, void *data, Evas_Object *obj);
+static void _button_mouse_up_cb(int id, void *data,
+               Evas *e, Evas_Object *obj, Evas_Event_Mouse_Up *ev);
 static void _child_removed_cb(void *data, Evas_Object *obj, void *ei);
 
 struct _priv {
@@ -52,7 +53,7 @@ enum _button_id {
 
 static input_handler button_handler = {
        .key_up = _button_key_up_cb,
-       .clicked = _button_clicked_cb
+       .mouse_up = _button_mouse_up_cb
 };
 
 static void _print_user_message(struct _priv *priv)
@@ -267,7 +268,8 @@ static Evas_Object *_create(Evas_Object *win, void *data)
                        _child_removed_cb, NULL);
 
        priv->clear_btn = elm_layout_add(priv->base);
-       elm_layout_file_set(priv->clear_btn, EDJEFILE, GRP_NOTIFICATION_CLEAR);
+       elm_layout_file_set(priv->clear_btn,
+                       EDJEFILE, GRP_SQUARE_NOTIFICATION_CLEAR);
        elm_object_focus_allow_set(priv->clear_btn, EINA_TRUE);
        elm_object_part_content_set(priv->base,
                        PART_NOTIFICATION_CLEAR, priv->clear_btn);
@@ -372,7 +374,8 @@ static void _button_key_up_cb(int id, void *data, Evas *e,
        }
 }
 
-static void _button_clicked_cb(int id, void *data, Evas_Object *obj)
+static void _button_mouse_up_cb(int id, void *data, Evas *e,
+               Evas_Object *obj, Evas_Event_Mouse_Up *ev)
 {
        switch (id) {
        case BUTTON_CLEAR: