New look of Tint Button in Picture Settings. 55/122755/20
authorPawel <p.aksiutowic@partner.samsung.com>
Mon, 3 Apr 2017 09:10:36 +0000 (11:10 +0200)
committerKiseok Chang <kiso.chang@samsung.com>
Tue, 11 Apr 2017 07:36:56 +0000 (00:36 -0700)
Change-Id: I77d1e2d0bdd14ccf037637ce496c6d02bf509723
Signed-off-by: Pawel <p.aksiutowic@partner.samsung.com>
include/define.h
res/images/4.0/img_tizen_settings_tint_green.#.png [moved from res/images/4.0/img_tizen_settings_tint_green.9.png with 100% similarity]
res/images/4.0/img_tizen_settings_tint_red.#.png [moved from res/images/4.0/img_tizen_settings_tint_red.9.png with 100% similarity]
res/widget/button.edc
res/widget/progressbar.edc
src/common/menumgr.c
src/layout/layout_picture.c

index 6ce391a..c26b970 100644 (file)
@@ -65,6 +65,8 @@
 #define PART_BUTTON "part.button"
 #define PART_PROGRESSBAR "part.progressbar"
 #define PART_CHANNEL_COUNT "part.channel.count"
+#define PART_MENU_MIN_VALUE "part.text.value.min"
+#define PART_MENU_MAX_VALUE "part.text.value.max"
 #define PART_MENU_VALUE "part.menu.value"
 #define PART_FAV_STAR "part.star"
 #define PART_MENU_PROGRESS "part.menu.progress"
 #define STYLE_STATUS_BTN "style.status.button"
 #define STYLE_TEXTBLOCK_BTN "style.textblock.button"
 #define STYLE_PROGRESS_BTN "style.progress.button"
+#define STYLE_DOUBLE_VALUE_PROGRESS_BTN "style.image.progress.button"
+#define STYLE_IMAGE_PROGRESS_BAR "style.image.progressbar"
 #define STYLE_OPTION_BTN "style.option.button"
 #define STYLE_OPTION_LIST_BTN "style.option.list.button"
 #define STYLE_CTXPOPUP "style.ctxpopup"
 #define         RESET_TUT "Reset tutorial"
 #define         NET_TUT "Network tutorial"
 
-
 /* Size */
 #define SIZE_STR 1024
 
index ca7ed23..aa1ba5d 100644 (file)
@@ -737,7 +737,7 @@ group {
 
                                text {
                                        align, 0.5 0.0;
-                                       style, style.subtext2;
+                                       style, "style.subtext2";
                                }
                        }
                        description {
@@ -956,6 +956,171 @@ group {
        }
 }
 
+group {
+       name, "elm/button/base/style.image.progress.button";
+       inherit, "elm/button/base/style.status.button";
+       styles {
+               style {
+                       name, "style.font1";
+                       base, "font=BreezeSansLight:style=Light font_size=32 color=#5C5C5C wrap=word align=center";
+                       tag, "br" "\n";
+               }
+               style {
+                       name, "style.font2";
+                       base, "font=BreezeSansLight:style=Light font_size=46 color=#0081C6 wrap=word align=right";
+                       tag, "br" "\n";
+               }
+               style {
+                       name, "style.font3";
+                       base, "font=BreezeSansLight:style=Light font_size=46 color=#0081C6 wrap=word align=left";
+                       tag, "br" "\n";
+               }
+       }
+       parts {
+               part {
+                       name, "elm.text";
+                       description {
+                               state, "default" 0.0;
+                               rel1 {
+                                       to, "bg";
+                                       relative, 0.0 0.2653;
+                               }
+                               rel2 {
+                                       to, "bg";
+                                       relative, 1.0 0.3878;
+                               }
+                               text {
+                                       style, "style.font1";
+                                       fit, 1 1;
+                               }
+                       }
+                       description {
+                               state, "focused" 0.0;
+                               inherit, "default" 0.0;
+                               color, COLOR_TEXT_FOCUS;
+                       }
+                       description {
+                               state, "disabled" 0.0;
+                               inherit, "default" 0.0;
+                               color, COLOR_TEXT_DISABLE;
+                       }
+               }
+               part {
+                       name, "button.progress.content";
+                       type, SWALLOW;
+                       repeat_events, 1;
+                       scale, 1;
+                       description {
+                               state, "default" 0.0;
+                               rel1 {
+                                       to, "bg.content";
+                                       relative, 0.0 0.5102;
+                               }
+                               rel2 {
+                                       to, "bg.content";
+                                       relative, 1.0 0.6871;
+                               }
+                               fixed, 1 1;
+                       }
+               }
+               part {
+                       name, PART_MENU_MIN_VALUE;
+                       type, TEXTBLOCK;
+                       mouse_events, 0;
+                       scale, 1;
+                       description {
+                               state, "default" 0.0;
+                               fixed, 1 1;
+                               rel1 {
+                                       to, "button.progress.content";
+                                       relative, 0.0 0.0;
+                               }
+                               rel2 {
+                                       to, "button.progress.content";
+                                       relative, 0.2474 1.0;
+                               }
+                               text {
+                                       style, "style.font2";
+                                       fit: 1 1;
+                               }
+                       }
+               }
+               part {
+                       name, PART_MENU_PROGRESS;
+                       type: SWALLOW;
+                       mouse_events, 0;
+                       scale, 1;
+                       description {
+                               state, "default" 0.0;
+                               fixed, 1 1;
+                               rel1 {
+                                       to, "button.progress.content";
+                                       relative, 0.2474 0.0;
+                               }
+                               rel2 {
+                                       to, "button.progress.content";
+                                       relative, 0.7526 1.0;
+                               }
+                 }
+               }
+               part {
+                       name, PART_MENU_MAX_VALUE;
+                       type, TEXTBLOCK;
+                       mouse_events, 0;
+                       scale, 1;
+                       description {
+                               state, "default" 0.0;
+                               fixed, 1 1;
+                               rel1 {
+                                       to, "button.progress.content";
+                                       relative, 0.7526 0.0;
+                               }
+                               rel2 {
+                                       to, "button.progress.content";
+                                       relative, 1.0 1.0;
+                               }
+                               text {
+                                       style, "style.font3";
+                                       fit: 1 1;
+                               }
+                       }
+               }
+               part {
+                       name, PART_MENU_VALUE;
+                       description {
+                               state, "default" 0.0;
+                               visible, 0;
+                               rel1 {
+                                       to, "bg.content";
+                                       relative, 0.0 0.0;
+                               }
+                               rel2 {
+                                       to, "bg.content";
+                                       relative, 0.5 0.5;
+                               }
+                       }
+                       description {
+                               state, "focused" 0.0;
+                               visible, 0;
+                               inherit, "default" 0.0;
+                               color, COLOR_TEXT_VALUE_FOCUS;
+                       }
+                       description {
+                               state, "disabled" 0.0;
+                               visible, 0;
+                               inherit, "default" 0.0;
+                               color, COLOR_TEXT_VALUE_DISABLE;
+                       }
+                       description {
+                               state, "notavailable" 0.0;
+                               visible, 0;
+                               inherit, "default" 0.0;
+                               color, COLOR_TEXT_DISABLE;
+                       }
+               }
+       }
+}
+
 #define BTN_ACT_MENU_CIRCLE_BG_PNG "btn_act_menu_circle_bg.png"
 #define BTN_ACT_MENU_CIRCLE_SMALL_BG_PNG "btn_act_menu_circle_small_bg.png"
 
index 00fdfe7..ba33729 100644 (file)
@@ -96,3 +96,138 @@ group {
                }
        }
 }
+
+#define IMG_TINT_GREEN_PNG "images/4.0/img_tizen_settings_tint_green.#.png"
+#define IMG_TINT_RED_PNG "images/4.0/img_tizen_settings_tint_red.#.png"
+
+group {
+       images {
+               image: IMG_TINT_GREEN_PNG COMP;
+               image: IMG_TINT_RED_PNG COMP;
+       }
+       name, "elm/progressbar/horizontal/style.image.progressbar";
+       parts {
+               part {
+                       name, "bg";
+                       type, RECT;
+                       mouse_events, 0;
+                       scale, 1;
+                       description {
+                               state, "default" 0.0;
+                               min, 160 52;
+                               max, 160 52;
+                               color, 255 255 255 0;
+                       }
+               }
+               part {
+                       name: "padding.left.progressbar";
+                       type: SPACER;
+                       description {
+                               state: "default" 0.0;
+                               rel1 {
+                                       to: "bg";
+                                       relative, 0.0 0.0;
+                          }
+                          rel2 {
+                                       to:"bg";
+                                       relative, 0.0918 1.0;
+                               }
+                               align: 0.0 0.0;
+                       }
+               }
+               part {
+                       name, "client.area.progressbar";
+                       type, RECT;
+                       mouse_events, 0;
+                       scale, 1;
+                       description {
+                               state, "default" 0.0;
+                               rel1 {
+                                       to, "bg";
+                                       relative, 0.0918 0.423;
+                               }
+                               rel2 {
+                                       to, "bg";
+                                       relative, 0.9081 0.5;
+                               }
+                       }
+               }
+               part {
+                       name: "padding.right.progressbar";
+                       type: SPACER;
+                       description {
+                               state: "default" 0.0;
+                               rel1 {
+                                       to: "bg";
+                                       relative, 0.9081 0.0;
+                               }
+                               rel2 {
+                                       to:"bg";
+                                       relative, 1.0 1.0;
+                               }
+                               align: 0.0 0.0;
+                       }
+               }
+               part {
+                       name, "elm.progress.progressbar";
+                       type, IMAGE;
+                       mouse_events, 0;
+                       scale, 1;
+                       description {
+                               state, "default" 0.0;
+                               image.normal, IMG_TINT_GREEN_PNG;
+                               fixed, 0 0;
+                               rel1 {
+                                       to, "client.area.progressbar";
+                                       relative, 0.0 0.0;
+                               }
+                               rel2 {
+                                       to_y, "client.area.progressbar";
+                                       to_x, "elm.cur.progressbar";
+                               }
+                       }
+               }
+               part {
+                       name, "elm.progress.remained";
+                       type, IMAGE;
+                       mouse_events, 0;
+                       scale, 1;
+                       description {
+                               state, "default" 0.0;
+                               image.normal, IMG_TINT_RED_PNG;
+                               fixed, 0 0;
+                               rel1 {
+                                       to_y, "client.area.progressbar";
+                                       to_x, "elm.cur.progressbar";
+                               }
+                               rel2 {
+                                       to, "client.area.progressbar";
+                                       relative, 1.0 1.0;
+                               }
+                       }
+               }
+               part {
+                       name, "elm.cur.progressbar";
+                       mouse_events, 0;
+                       scale, 1;
+                       dragable {
+                               confine, "client.area.progressbar";
+                               x, 1 1 1;
+                               y, 0 0 0;
+                       }
+                       description {
+                               state, "default" 0.0;
+                               visible, 1;
+                               fixed, 0 0;
+                               rel1 {
+                                       to, "client.area.progressbar";
+                                       relative, 0.0 0.0;
+                               }
+                               rel2 {
+                                       relative, 1.0 1.0;
+                               }
+                               color, 255 255 255 255;
+                       }
+               }
+       }
+}
index 2403e24..4952b00 100755 (executable)
@@ -134,6 +134,10 @@ void menumgr_update(struct menumgr *m)
 {
        int i;
        char *str = NULL;
+       char *token = NULL;
+       char *save_ptr = NULL;
+       char value_str[32] = {0,};
+       const char *delimiters = " ";
 
        if (!m) {
                _ERR("Invalid parameter.");
@@ -146,15 +150,31 @@ void menumgr_update(struct menumgr *m)
                                str = m->info[i]->status(m->data, m->info[i]->id);
 
                                if (!str) {
+                                       elm_object_part_text_set(m->btn[i], PART_MENU_MIN_VALUE, STATUS_DEFAULT);
+                                       elm_object_part_text_set(m->btn[i], PART_MENU_MAX_VALUE, STATUS_DEFAULT);
                                        elm_object_part_text_set(m->btn[i], PART_MENU_VALUE, STATUS_DEFAULT);
+
                                        elm_object_signal_emit(m->btn[i], SIG_NOTAVAILABLE, "");
                                } else {
-                                       elm_object_part_text_set(m->btn[i], PART_MENU_VALUE, str);
+                                       token = strtok_r(str, delimiters, &save_ptr);
+                                       if(token) {
+                                               strncpy(value_str, token, sizeof(value_str)-1);
+                                               token = strtok_r(NULL, delimiters, &save_ptr);
+                                               if(token) {
+                                                       elm_object_part_text_set(m->btn[i], PART_MENU_MIN_VALUE, value_str);
+                                                       strncpy(value_str, token, sizeof(value_str)-1);
+                                                       elm_object_part_text_set(m->btn[i], PART_MENU_MAX_VALUE, value_str);
+                                               }
+                                               else {
+                                                       elm_object_part_text_set(m->btn[i], PART_MENU_VALUE, value_str);
+                                               }
+                                       }
+
                                        free(str);
                                }
                        }
 
-                       if (m->info[i]->progress_evas) 
+                       if (m->info[i]->progress_evas)
                                elm_progressbar_value_set(m->info[i]->progress_evas, m->info[i]->progress_value());
                }
        }
@@ -213,12 +233,13 @@ struct menumgr *menumgr_create(Evas_Object *table, Evas_Object *tab_menu_btn,
                evas_object_size_hint_align_set(btn, 0, 0);
 
                if (info[i].progress_value) {
-                       info[i].progress_evas = utils_add_progressbar(btn, PART_MENU_PROGRESS, NULL);
-                       if (!info[i].progress_evas) {
-                               _ERR("Add progress bar failed.");
-                       } else {
-                               elm_progressbar_value_set(info[i].progress_evas, info[i].progress_value());
-                       }
+                               info[i].progress_evas = utils_add_progressbar(btn, PART_MENU_PROGRESS, STYLE_IMAGE_PROGRESS_BAR);
+
+                               if (!info[i].progress_evas) {
+                                       _ERR("Add progress bar failed.");
+                               } else {
+                                       elm_progressbar_value_set(info[i].progress_evas, info[i].progress_value());
+                               }
                }
 
                inputmgr_add_callback(btn, info[i].id, &_handler, m);
@@ -239,6 +260,7 @@ struct menumgr *menumgr_create(Evas_Object *table, Evas_Object *tab_menu_btn,
        return m;
 }
 
+
 void menumgr_destroy(struct menumgr *m)
 {
        SETTING_TRACE_BEGIN;
index 1646e44..edfcd53 100644 (file)
 #define PADDING_X 4
 #define PADDING_Y 0
 
+enum {
+       MENU_CONTRAST,
+       MENU_BRIGHTNESS,
+       MENU_COLOR,
+       MENU_TINT,
+};
+
 struct _priv {
        Evas_Object *base;
        Evas_Object *ly;
@@ -38,13 +45,6 @@ struct _priv {
        struct menumgr *menu;
 };
 
-enum {
-       MENU_CONTRAST,
-       MENU_BRIGHTNESS,
-       MENU_COLOR,
-       MENU_TINT,
-};
-
 static char *_get_contrast(void *data, int id);
 static char *_get_brightness(void *data, int id);
 static char *_get_color(void *data, int id);
@@ -103,7 +103,7 @@ static struct menumgr_info menu_info[] = {
        {
                .id = MENU_TINT,
                .title = STR_TINT,
-               .style = STYLE_PROGRESS_BTN,
+               .style = STYLE_DOUBLE_VALUE_PROGRESS_BTN,
                .disabled = EINA_FALSE,
                .status = _get_tint,
                .progress_value = settings_picture_get_tint_relative,
@@ -165,10 +165,10 @@ static char *_get_color(void *data, int id)
 
 static char *_get_tint(void *data, int id)
 {
-       char tint_str[10] = {0, };
+       char tint_str[8] = {0, };
        int tint_val = settings_picture_get_tint_g();
 
-       snprintf(tint_str, sizeof(tint_str), "G%d R%d", tint_val, 100 - tint_val);
+       snprintf(tint_str, sizeof(tint_str), "%d %d", tint_val, 100 - tint_val);
 
        return strdup(tint_str);
 }