From 9ff8826acbc868d6d5907969a62beb879f5b6e92 Mon Sep 17 00:00:00 2001 From: Olliver Schinagl Date: Fri, 3 Apr 2015 07:18:09 +0200 Subject: Count text from 1 - n, rather then 0 - (n - 1) Signed-off-by: Olliver Schinagl --- src/eulogium.c | 36 +++++++++++++++++++++++------------- src/eulogium.h | 1 + 2 files changed, 24 insertions(+), 13 deletions(-) diff --git a/src/eulogium.c b/src/eulogium.c index dd7e3ae..2432ca2 100644 --- a/src/eulogium.c +++ b/src/eulogium.c @@ -407,22 +407,32 @@ struct multi_text { const char *text[]; }; -Evas_Object *eulogium_multi_text_menu(Evas_Object *parent, struct multi_text *data, const uint_fast8_t i) +Evas_Object *eulogium_multi_text_menu(struct eulogium_data *eulogium, Evas_Object *parent, struct multi_text *data, const uint_fast8_t pagenum, Eina_Bool pageindex) { Evas_Object *object; Evas_Object *_top, *_bottom; + int i; char buf[6]; + if (pagenum < 1) + i = 0; + else if (pagenum >= data->count) + i = data->count - 1; + else + i = pagenum - 1; + + _top = elm_box_add(parent); evas_object_show(_top); - object = elm_label_add(_top); - snprintf(buf, sizeof(buf), "%d/%d", i, data->count); - elm_object_text_set(object, buf); - evas_object_show(object); - evas_object_size_hint_align_set(object, 1.0, 0); - - elm_box_pack_end(_top, object); + if (pageindex) { + object = elm_label_add(_top); + snprintf(buf, sizeof(buf), "%d/%d", i + 1, data->count); + elm_object_text_set(object, buf); + evas_object_show(object); + evas_object_size_hint_align_set(object, 1.0, 0); + elm_box_pack_end(_top, object); + } object = elm_label_add(_top); elm_object_text_set(object, data->text[i]); @@ -589,12 +599,12 @@ static struct button_def but_main_maintanance = { static struct multi_text data = { .text = { "line1
" - "line2
" - "line3
", - "test
test
test
test
test", - "line2", + "line1
" + "line1
", + "line2
test
test
test
test
test", "line3", "line4", + "line5", NULL, }, .count = 5, @@ -612,7 +622,7 @@ Evas_Object *eulogium_main_menu(Evas_Object *window, struct eulogium_data *eulog // elm_naviframe_item_title_visible_set(eulogium->layout, EINA_FALSE); // content = eulogium_tripple_button_menu(eulogium->layout, &but_main_print, &but_main_material, &but_main_maintanance); - content = eulogium_multi_text_menu(eulogium->layout, &data, 0); + content = eulogium_multi_text_menu(eulogium, eulogium->layout, &data, 1, EINA_TRUE); if (!content) return NULL; elm_naviframe_item_simple_push(eulogium->layout, content); diff --git a/src/eulogium.h b/src/eulogium.h index 038090f..b0dfb20 100644 --- a/src/eulogium.h +++ b/src/eulogium.h @@ -42,5 +42,6 @@ Evas_Object *eulogium_split_screen(Evas_Object *parent, Evas_Object *top, Evas_O Evas_Object *eulogium_tripple_button_menu(Evas_Object *parent, const struct button_def *left, const struct button_def *right, const struct button_def *bottom); Evas_Object *eulogium_print_menu(struct eulogium_data *eulogium, char *filepath); Evas_Object *eulogium_print_progress(struct eulogium_data *eulogium); +Evas_Object *eulogium_multi_text_menu(Evas_Object *parent, struct multi_text *data, const uint_fast8_t pagenum, Eina_Bool pageindex); #endif /* _EULOGIUM_H */ -- cgit v0.12