[Telegram] Modify the button style to custom style 01/49501/2
authormoon87.park <moon87.park@samsung.com>
Wed, 14 Oct 2015 05:44:10 +0000 (14:44 +0900)
committermoon87.park <moon87.park@samsung.com>
Wed, 14 Oct 2015 05:45:36 +0000 (14:45 +0900)
Change-Id: I325482c22f6dd5eacc89d86d12b23f873144cdaf

TelegramTizen/res/edje/telegram_start_screen.edc
TelegramTizen/res/images/telegram_button_on_bg.#.png [new file with mode: 0755]
TelegramTizen/src/tg_init_screen.c
TelegramTizen/src/tg_registration.c
TelegramTizen/tg_utils/tg_common.h

index ac5923d..abe35d8 100644 (file)
@@ -8,6 +8,7 @@ images {
        image: "telegram_icon_free.png" COMP;
        image: "telegram_icon_fast.png" COMP;
        image: "telegram_icon_cloud.png" COMP;
+       image: "telegram_button_on_bg.#.png" COMP;
 }
 
 styles {
@@ -47,16 +48,17 @@ collections {
                                        rel2 { relative: 1.0 (657 + INDICATOR_H)/1280; }
                                }
                        }
-
                        part {
                                name: "start,button";
                                type: SWALLOW;
                                description {
                                        state: "default" 0.0;
-                                       rel1 { relative: 0.0 (679 + INDICATOR_H)/1280; }
-                                       rel2 { relative: 1.0 (799 + INDICATOR_H)/1280; }
+                                       rel1 { relative: 0.5 (679 + INDICATOR_H)/1280; }
+                                       rel2 { relative: 0.5 (799 + INDICATOR_H)/1280; }
+                                       fixed: 1 0;
+                                       min: 496 78;
+                                       max: 496 78;
                                        align: 0.5 0.5;
-                                       color: 0 0 0 255*0.17;
                                }
                        }
 
@@ -98,6 +100,93 @@ collections {
        } // setup,layout
 
        group {
+               name: "button,style";
+               parts {
+                       part {
+                               name: "bg";
+                               type: RECT;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 0.0 0.0; }
+                                       rel2 { relative: 1.0 1.0; }
+                                       color: 255 255 255 0;
+                                       visible: 1;
+                               }
+                       }
+                       part {
+                               name: "button,bg";
+                               type: IMAGE;
+                               scale: 1;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 0.0 0.0; to: "bg"; }
+                                       rel2 { relative: 1.0 1.0; to: "bg"; }
+                                       color: 0 0 0 43;
+                                       image {
+                                               normal: "telegram_button_on_bg.#.png";
+                                               border: 30 30 0 0;
+                                       }
+                               }
+                               description {
+                                       state: "pressed" 0.0;
+                                       inherit: "default" 0.0;
+                                       color: 0 0 0 80;
+                               }
+                       }
+                       part {
+                               name: "text";
+                               type: TEXT;
+                               description {
+                                       state: "default" 0.0;
+                                       rel1 { relative: 0.0 0.0; }
+                                       rel2 { relative: 1.0 1.0; }
+                                       align: 0.5 0.5;
+                                       color: 250 250 250 255;
+                                       text {
+                                               align: 0.5 0.5;
+                                               size: 30;
+                                               font: "Tizen=Regular";
+                                               text: "Telegram";
+                                       }
+                               }
+                       }
+                       part {
+                               name: "event";
+                               type: RECT;
+                               description {
+                                       rel1.to: "button,bg";
+                                       rel2.to: "button,bg";
+                                       color: 255 255 255 0;
+                                       visible: 1;
+                               }
+                       }
+               }
+               programs {
+                       program {
+                               name: "btn,pressed";
+                               signal: "mouse,down,1";
+                               source: "event";
+                               action: STATE_SET "pressed" 0.0;
+                               target: "button,bg";
+                       }
+                       program {
+                               name: "btn,release";
+                               signal: "mouse,up,1";
+                               source: "event";
+                               action: STATE_SET "default" 0.0;
+                               target: "button,bg";
+                       }
+                       program {
+                               name: "btn,click";
+                               signal: "mouse,clicked,1";
+                               source: "event";
+                               action: SIGNAL_EMIT "clicked" "button";
+                       }
+               }
+       } // button style
+
+       group {
                name: "button";
                parts {
                        part  {
@@ -107,6 +196,7 @@ collections {
                                        state: "default" 0.0;
                                        rel1 { relative: 0.0 0.0; }
                                        rel2 { relative: 0.5 1.0; }
+                                       max: 320 104;
                                        visible: 0;
                                }
                                description {
@@ -122,6 +212,7 @@ collections {
                                        state: "default" 0.0;
                                        rel1 { relative: 0.5 0.0; }
                                        rel2 { relative: 1.0 1.0; }
+                                       max: 320 104;
                                        visible: 0;
                                }
                                description {
@@ -137,6 +228,7 @@ collections {
                                        state: "default" 0.0;
                                        rel1 { relative: 0.0 0.0; }
                                        rel2 { relative: 1.0 1.0; }
+                                       max: 496 104;
                                        visible: 1;
                                }
                                description {
diff --git a/TelegramTizen/res/images/telegram_button_on_bg.#.png b/TelegramTizen/res/images/telegram_button_on_bg.#.png
new file mode 100755 (executable)
index 0000000..a2fd903
Binary files /dev/null and b/TelegramTizen/res/images/telegram_button_on_bg.#.png differ
index bc1a865..41f3673 100644 (file)
@@ -13,7 +13,7 @@
 
 static void _set_init_screen(Evas_Object *layout);
 
-static void on_start_btn_clicked(void* data, Evas_Object* obj, void* event)
+static void on_start_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
 {
        appdata_s* ad = data;
        elm_naviframe_item_pop(ad->nf);
@@ -80,7 +80,7 @@ static void _set_init_screen(Evas_Object *layout)
                evas_object_color_set(bg, 237, 116, 36, 255);
                elm_object_signal_emit(content_layout, "private", "icon");
                elm_object_signal_emit(button, "1,button", "button");
-               elm_object_translatable_text_set(center_btn, "IDS_TGRAM_BUTTON_PREVIOUS");
+               elm_object_part_text_set(center_btn, "text", i18n_get_text("IDS_TGRAM_BUTTON_PREVIOUS"));
                elm_object_translatable_part_text_set(content_layout, "title", i18n_get_text("IDS_TGRAM_HEADER_PRIVATE"));
                snprintf(value, sizeof(value), elm_entry_utf8_to_markup(i18n_get_text("IDS_TGRAM_SBODY_P1SSTELEGRAMP2SS_MESSAGES_ARE_STRONGLY_ENCRYPTED_NAND_CAN_BE_DELETED_AUTOMATICALLY")), "<b>", "</b>");
                elm_object_translatable_part_text_set(content_layout, "comment", value);
@@ -89,7 +89,7 @@ static void _set_init_screen(Evas_Object *layout)
                evas_object_color_set(bg, 45, 165, 224, 255);
                elm_object_signal_emit(content_layout, "telegram", "icon");
                elm_object_signal_emit(button, "1,button", "button");
-               elm_object_translatable_text_set(center_btn, "IDS_TGRAM_BUTTON_NEXT_ABB5");
+               elm_object_part_text_set(center_btn,"text", i18n_get_text("IDS_TGRAM_BUTTON_NEXT_ABB5"));
                elm_object_translatable_part_text_set(content_layout, "title", i18n_get_text("IDS_TGRAM_HEADER_TELEGRAM"));
                snprintf(value, sizeof(value), elm_entry_utf8_to_markup(i18n_get_text("IDS_TGRAM_SBODY_THE_WORLDS_P1SSFASTESTP2SS_MESSAGING_APP_NIT_IS_P3SSFREEP4SS_AND_P5SSSECUREP6SS")), "<b>", "</b>", "<b>", "</b>", "<b>", "</b>");
                elm_object_translatable_part_text_set(content_layout, "comment", value);
@@ -98,7 +98,7 @@ static void _set_init_screen(Evas_Object *layout)
        index_bring_in(index, page_idx);
 }
 
-static void _bottom_btn_clicked(void* data, Evas_Object* obj, void* event)
+static void _bottom_btn_clicked(void *data, Evas_Object *obj, const char *emission, const char *source)
 {
        Evas_Object *layout = data;
        int kind = 3;
@@ -165,40 +165,40 @@ static Evas_Object *_create_bottom_button(Evas_Object *layout, char *edj_path)
        elm_object_part_content_set(layout, "button", bottom_layout);
        evas_object_show(bottom_layout);
 
-       right_btn = elm_button_add(bottom_layout);
-       //elm_object_style_set(right_btn, "transparent");
+       right_btn = elm_layout_add(bottom_layout);
+       elm_layout_file_set(right_btn, edj_path, "button,style");
        evas_object_size_hint_weight_set(right_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        evas_object_size_hint_align_set(right_btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
        evas_object_size_hint_min_set(right_btn, 320, 104);
        evas_object_size_hint_max_set(right_btn, 320, 104);
        evas_object_show(right_btn);
-       elm_object_translatable_text_set(right_btn, "IDS_TGRAM_BUTTON_NEXT_ABB5");
+       elm_object_part_text_set(right_btn, "text", i18n_get_text("IDS_TGRAM_BUTTON_NEXT_ABB5"));
        elm_object_part_content_set(bottom_layout, "right,button", right_btn);
-       evas_object_smart_callback_add(right_btn, "clicked", _bottom_btn_clicked, layout);
+       elm_object_signal_callback_add(right_btn, "clicked", "button", _bottom_btn_clicked, layout);
        evas_object_data_set(right_btn, "kind", (void *) 1);
 
-       left_btn = elm_button_add(bottom_layout);
-       //elm_object_style_set(right_btn, "transparent");
+       left_btn = elm_layout_add(bottom_layout);
+       elm_layout_file_set(left_btn, edj_path, "button,style");
        evas_object_size_hint_weight_set(left_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        evas_object_size_hint_align_set(left_btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
        evas_object_size_hint_min_set(left_btn, 320, 104);
        evas_object_size_hint_max_set(left_btn, 320, 104);
        evas_object_show(left_btn);
-       elm_object_translatable_text_set(left_btn, "IDS_TGRAM_BUTTON_PREVIOUS");
+       elm_object_part_text_set(left_btn, "text", i18n_get_text("IDS_TGRAM_BUTTON_PREVIOUS"));
        elm_object_part_content_set(bottom_layout, "left,button", left_btn);
-       evas_object_smart_callback_add(left_btn, "clicked", _bottom_btn_clicked, layout);
+       elm_object_signal_callback_add(left_btn, "clicked", "button", _bottom_btn_clicked, layout);
        evas_object_data_set(left_btn, "kind", (void *) 2);
 
-       center_btn = elm_button_add(bottom_layout);
-       //elm_object_style_set(right_btn, "transparent");
+       center_btn = elm_layout_add(bottom_layout);
+       elm_layout_file_set(center_btn, edj_path, "button,style");
        evas_object_size_hint_weight_set(center_btn, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        evas_object_size_hint_align_set(center_btn, EVAS_HINT_FILL, EVAS_HINT_FILL);
        evas_object_size_hint_min_set(center_btn, 496, 104);
        evas_object_size_hint_max_set(center_btn, 656, 104);
        evas_object_show(center_btn);
-       elm_object_translatable_text_set(center_btn, "IDS_TGRAM_BUTTON_NEXT_ABB5");
+       elm_object_part_text_set(center_btn, "text", i18n_get_text("IDS_TGRAM_BUTTON_NEXT_ABB5"));
        elm_object_part_content_set(bottom_layout, "center,button", center_btn);
-       evas_object_smart_callback_add(center_btn, "clicked", _bottom_btn_clicked, layout);
+       elm_object_signal_callback_add(center_btn, "clicked", "button", _bottom_btn_clicked, layout);
        evas_object_data_set(center_btn, "kind", (void *) 3);
 
        return bottom_layout;
@@ -259,16 +259,14 @@ void launch_init_screen(appdata_s* ad)
 
        _set_init_screen(layout);
 
-       pbt = elm_button_add(ad->win);
-       //elm_object_style_set(pbt, "transparent");
+       pbt = elm_layout_add(layout);
+       elm_layout_file_set(pbt, edj_path, "button,style");
        evas_object_size_hint_weight_set(pbt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
        evas_object_size_hint_align_set(pbt, EVAS_HINT_FILL, EVAS_HINT_FILL);
-       evas_object_size_hint_min_set(pbt, 496, 78);
-       evas_object_size_hint_max_set(pbt, 496, 78);
        evas_object_show(pbt);
-       elm_object_translatable_text_set(pbt, "IDS_TGRAM_ACBUTTON_START_MESSAGING");
+       elm_object_part_text_set(pbt, "text", i18n_get_text("IDS_TGRAM_ACBUTTON_START_MESSAGING"));
        elm_object_part_content_set(layout, "start,button", pbt);
-       evas_object_smart_callback_add(pbt, "clicked", on_start_btn_clicked, ad);
+       elm_object_signal_callback_add(pbt, "clicked", "button", on_start_btn_clicked, ad);
 
        index = index_create(layout, MAX_INDEX);
        index_bring_in(index, 0);
index 60d982d..3bea794 100644 (file)
@@ -153,7 +153,7 @@ void launch_registration_cb(appdata_s *ad)
        ad->current_app_state = TG_REGISTRATION_STATE;
 
        char edj_path[PATH_MAX] = {0, };
-       app_get_resource(TELEGRAM_INIT_VIEW_EDJ, edj_path, (int)PATH_MAX);
+       app_get_resource(TELEGRAM_REGISTRATION_VIEW_EDJ, edj_path, (int)PATH_MAX);
 
        Evas_Object* scroller = elm_scroller_add(ad->nf);
        elm_scroller_bounce_set(scroller, EINA_FALSE, EINA_TRUE);
index c9d5f83..602e651 100644 (file)
@@ -34,6 +34,7 @@
 #define TELEGRAM_CUSTOM_WINSET_EDJ     "edje/telegram_theme.edj"
 #define TELEGRAM_CHAT_VIEW_EDJ "edje/telegram_chat_view.edj"
 #define TELEGRAM_INIT_VIEW_EDJ "edje/telegram_start_screen.edj"
+#define TELEGRAM_REGISTRATION_VIEW_EDJ "edje/telegram_init_screen.edj"
 #define TELEGRAM_POPUP_VIEW_EDJ        "edje/telegram_custom_popup.edj"
 #define TELEGRAM_GENLIST_THEME_EDJ     "edje/telegram_genlist_theme.edj"