From 59a0a39c2143dacc31177c14afe4c48bd380f373 Mon Sep 17 00:00:00 2001 From: Pawel Date: Mon, 3 Apr 2017 11:10:36 +0200 Subject: [PATCH] New look of Tint Button in Picture Settings. Change-Id: I77d1e2d0bdd14ccf037637ce496c6d02bf509723 Signed-off-by: Pawel --- include/define.h | 5 +- ...n.9.png => img_tizen_settings_tint_green.#.png} | Bin ...red.9.png => img_tizen_settings_tint_red.#.png} | Bin res/widget/button.edc | 167 ++++++++++++++++++++- res/widget/progressbar.edc | 135 +++++++++++++++++ src/common/menumgr.c | 38 ++++- src/layout/layout_picture.c | 20 +-- 7 files changed, 345 insertions(+), 20 deletions(-) rename res/images/4.0/{img_tizen_settings_tint_green.9.png => img_tizen_settings_tint_green.#.png} (100%) rename res/images/4.0/{img_tizen_settings_tint_red.9.png => img_tizen_settings_tint_red.#.png} (100%) diff --git a/include/define.h b/include/define.h index 6ce391a..c26b970 100644 --- a/include/define.h +++ b/include/define.h @@ -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" @@ -118,6 +120,8 @@ #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" @@ -223,7 +227,6 @@ #define RESET_TUT "Reset tutorial" #define NET_TUT "Network tutorial" - /* Size */ #define SIZE_STR 1024 diff --git a/res/images/4.0/img_tizen_settings_tint_green.9.png b/res/images/4.0/img_tizen_settings_tint_green.#.png similarity index 100% rename from res/images/4.0/img_tizen_settings_tint_green.9.png rename to res/images/4.0/img_tizen_settings_tint_green.#.png diff --git a/res/images/4.0/img_tizen_settings_tint_red.9.png b/res/images/4.0/img_tizen_settings_tint_red.#.png similarity index 100% rename from res/images/4.0/img_tizen_settings_tint_red.9.png rename to res/images/4.0/img_tizen_settings_tint_red.#.png diff --git a/res/widget/button.edc b/res/widget/button.edc index ca7ed23..aa1ba5d 100644 --- a/res/widget/button.edc +++ b/res/widget/button.edc @@ -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" diff --git a/res/widget/progressbar.edc b/res/widget/progressbar.edc index 00fdfe7..ba33729 100644 --- a/res/widget/progressbar.edc +++ b/res/widget/progressbar.edc @@ -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; + } + } + } +} diff --git a/src/common/menumgr.c b/src/common/menumgr.c index 2403e24..4952b00 100755 --- a/src/common/menumgr.c +++ b/src/common/menumgr.c @@ -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; diff --git a/src/layout/layout_picture.c b/src/layout/layout_picture.c index 1646e44..edfcd53 100644 --- a/src/layout/layout_picture.c +++ b/src/layout/layout_picture.c @@ -30,6 +30,13 @@ #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); } -- 2.7.4