From 470226dbbfc4ca0b61ca33620c06c695d7e55d57 Mon Sep 17 00:00:00 2001 From: Yoshihisa Uchida Date: Tue, 29 Jun 2010 12:23:41 +0000 Subject: text viewer: some members of preferences change to bool. And simplify menu setting functions. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27174 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/text_viewer/tv_action.c | 4 +-- apps/plugins/text_viewer/tv_display.c | 11 +++--- apps/plugins/text_viewer/tv_menu.c | 56 +++++-------------------------- apps/plugins/text_viewer/tv_preferences.c | 16 ++++----- apps/plugins/text_viewer/tv_preferences.h | 35 +++---------------- apps/plugins/text_viewer/tv_settings.c | 26 +++++++------- 6 files changed, 41 insertions(+), 107 deletions(-) (limited to 'apps') diff --git a/apps/plugins/text_viewer/tv_action.c b/apps/plugins/text_viewer/tv_action.c index 5226d90049..b8542daafe 100644 --- a/apps/plugins/text_viewer/tv_action.c +++ b/apps/plugins/text_viewer/tv_action.c @@ -84,7 +84,7 @@ void tv_scroll_up(unsigned mode) { offset_page--; #ifdef HAVE_LCD_BITMAP - offset_line = (preferences->page_mode == PM_OVERLAP)? 1:0; + offset_line = (preferences->overlap_page_mode)? 1:0; #endif } tv_move_screen(offset_page, offset_line, SEEK_CUR); @@ -100,7 +100,7 @@ void tv_scroll_down(unsigned mode) { offset_page++; #ifdef HAVE_LCD_BITMAP - offset_line = (preferences->page_mode == PM_OVERLAP)? -1:0; + offset_line = (preferences->overlap_page_mode)? -1:0; #endif } tv_move_screen(offset_page, offset_line, SEEK_CUR); diff --git a/apps/plugins/text_viewer/tv_display.c b/apps/plugins/text_viewer/tv_display.c index a4b0b22273..7c6fdcb760 100644 --- a/apps/plugins/text_viewer/tv_display.c +++ b/apps/plugins/text_viewer/tv_display.c @@ -114,18 +114,15 @@ static int totalsize; static void tv_show_header(void) { - unsigned header_mode = header_mode; - - if (preferences->header_mode == HD_PATH) + if (preferences->header_mode) display->putsxy(header.x, header.y, preferences->file_name); } static void tv_show_footer(const struct tv_screen_pos *pos) { unsigned char buf[12]; - unsigned footer_mode = preferences->footer_mode; - if (footer_mode == FT_PAGE) + if (preferences->footer_mode) { if (pos->line == 0) rb->snprintf(buf, sizeof(buf), "%d", pos->page + 1); @@ -262,11 +259,11 @@ void tv_set_layout(bool show_scrollbar) header.x = 0; header.y = 1; header.w = vp_info.width; - header.h = (preferences->header_mode == HD_PATH)? row_height + 1 : 0; + header.h = (preferences->header_mode)? row_height + 1 : 0; footer.x = 0; footer.w = vp_info.width; - footer.h = (preferences->footer_mode == FT_PAGE)? row_height + 1 : 0; + footer.h = (preferences->footer_mode)? row_height + 1 : 0; footer.y = vp_info.height - 1 - footer.h; drawarea.x = scrollbar_width; diff --git a/apps/plugins/text_viewer/tv_menu.c b/apps/plugins/text_viewer/tv_menu.c index 7e706eb06a..1d1e07f3e8 100644 --- a/apps/plugins/text_viewer/tv_menu.c +++ b/apps/plugins/text_viewer/tv_menu.c @@ -37,13 +37,7 @@ static struct tv_preferences new_prefs; #ifdef HAVE_LCD_BITMAP static bool tv_horizontal_scrollbar_setting(void) { - static const struct opt_items names[] = { - {"No", -1}, - {"Yes", -1}, - }; - - return rb->set_option("Horizontal Scrollbar", &new_prefs.horizontal_scrollbar, INT, - names, 2, NULL); + return rb->set_bool("Horizontal Scrollbar", &new_prefs.horizontal_scrollbar); } #endif @@ -79,13 +73,7 @@ MAKE_MENU(horizontal_scroll_menu, "Horizontal", NULL, Icon_NOICON, #ifdef HAVE_LCD_BITMAP static bool tv_vertical_scrollbar_setting(void) { - static const struct opt_items names[] = { - {"No", -1}, - {"Yes", -1}, - }; - - return rb->set_option("Vertical Scrollbar", &new_prefs.vertical_scrollbar, INT, - names, 2, NULL); + return rb->set_bool("Vertical Scrollbar", &new_prefs.vertical_scrollbar); } #endif @@ -100,15 +88,9 @@ static bool tv_vertical_scroll_mode_setting(void) names, 2, NULL); } -static bool tv_page_mode_setting(void) +static bool tv_overlap_page_mode_setting(void) { - static const struct opt_items names[] = { - {"No", -1}, - {"Yes", -1}, - }; - - return rb->set_option("Overlap Pages", &new_prefs.page_mode, INT, - names, 2, NULL); + return rb->set_bool("Overlap Pages", &new_prefs.overlap_page_mode); } static bool tv_autoscroll_speed_setting(void) @@ -135,7 +117,7 @@ MENUITEM_FUNCTION(vertical_scrollbar_item, 0, "Scrollbar", #endif MENUITEM_FUNCTION(vertical_scroll_mode_item, 0, "Scroll Mode", tv_vertical_scroll_mode_setting, NULL, NULL, Icon_NOICON); -MENUITEM_FUNCTION(page_mode_item, 0, "Overlap Pages", tv_page_mode_setting, +MENUITEM_FUNCTION(overlap_page_mode_item, 0, "Overlap Pages", tv_overlap_page_mode_setting, NULL, NULL, Icon_NOICON); MENUITEM_FUNCTION(autoscroll_speed_item, 0, "Auto-Scroll Speed", tv_autoscroll_speed_setting, NULL, NULL, Icon_NOICON); @@ -146,7 +128,7 @@ MAKE_MENU(vertical_scroll_menu, "Vertical", NULL, Icon_NOICON, #ifdef HAVE_LCD_BITMAP &vertical_scrollbar_item, #endif - &vertical_scroll_mode_item, &page_mode_item, &autoscroll_speed_item, + &vertical_scroll_mode_item, &overlap_page_mode_item, &autoscroll_speed_item, &narrow_mode_item); /* */ @@ -219,37 +201,17 @@ static bool tv_alignment_setting(void) #ifdef HAVE_LCD_BITMAP static bool tv_header_setting(void) { - static const struct opt_items names[4] = - { - {"None", -1}, - {"File path", -1}, - }; - - return rb->set_option("Show Header", &new_prefs.header_mode, INT, - names, 2, NULL); + return rb->set_bool("Show Header", &new_prefs.header_mode); } static bool tv_footer_setting(void) { - static const struct opt_items names[4] = - { - {"None", -1}, - {"Page Num", -1}, - }; - - return rb->set_option("Show Footer", &new_prefs.footer_mode, INT, - names, 2, NULL); + return rb->set_bool("Show Footer", &new_prefs.footer_mode); } static bool tv_statusbar_setting(void) { - static const struct opt_items names[] = { - {"No", -1}, - {"Yes", -1}, - }; - - return rb->set_option("Show Statusbar", &new_prefs.statusbar, BOOL, - names, 2, NULL); + return rb->set_bool("Show Statusbar", &new_prefs.statusbar); } static bool tv_font_setting(void) diff --git a/apps/plugins/text_viewer/tv_preferences.c b/apps/plugins/text_viewer/tv_preferences.c index 7d4fd3c2e3..5e6677ea58 100644 --- a/apps/plugins/text_viewer/tv_preferences.c +++ b/apps/plugins/text_viewer/tv_preferences.c @@ -43,7 +43,7 @@ static bool tv_notify_change_preferences(const struct tv_preferences *oldp) * - alignment * - horizontal_scroll_mode * - vertical_scroll_mode - * - page_mode + * - overlap_page_mode * - font * - autoscroll_speed * - narrow_mode @@ -99,18 +99,18 @@ void tv_set_default_preferences(struct tv_preferences *p) p->alignment = AL_LEFT; p->horizontal_scroll_mode = HS_SCREEN; p->vertical_scroll_mode = VS_PAGE; - p->page_mode = PM_NO_OVERLAP; - p->horizontal_scrollbar = SB_OFF; - p->vertical_scrollbar = SB_OFF; + p->overlap_page_mode = false; + p->horizontal_scrollbar = false; + p->vertical_scrollbar = false; #ifdef HAVE_LCD_BITMAP - p->header_mode = HD_PATH; - p->footer_mode = FT_PAGE; + p->header_mode = true; + p->footer_mode = true; p->statusbar = true; rb->strlcpy(p->font_name, rb->global_settings->font_file, MAX_PATH); p->font = rb->font_get(FONT_UI); #else - p->header_mode = HD_NONE; - p->footer_mode = FT_NONE; + p->header_mode = false; + p->footer_mode = false; p->statusbar = false; #endif p->autoscroll_speed = 1; diff --git a/apps/plugins/text_viewer/tv_preferences.h b/apps/plugins/text_viewer/tv_preferences.h index 42d6fb4887..bc871a7255 100644 --- a/apps/plugins/text_viewer/tv_preferences.h +++ b/apps/plugins/text_viewer/tv_preferences.h @@ -29,12 +29,6 @@ enum { TV_CALLBACK_ERROR, }; -/* scrollbar_mode */ -enum { - SB_OFF = 0, - SB_ON, -}; - /* word_mode */ enum { WM_WRAP = 0, @@ -55,25 +49,6 @@ enum { AL_RIGHT, }; -/* page_mode */ -enum { - PM_NO_OVERLAP = 0, - PM_OVERLAP, -}; - -/* header_mode */ -enum { - HD_NONE = 0, - HD_PATH, -}; - -/* footer_mode */ -enum { - - FT_NONE = 0, - FT_PAGE, -}; - /* horizontal_scroll_mode */ enum { HS_SCREEN = 0, @@ -99,12 +74,12 @@ struct tv_preferences { unsigned encoding; - unsigned horizontal_scrollbar; - unsigned vertical_scrollbar; + bool horizontal_scrollbar; + bool vertical_scrollbar; - unsigned page_mode; - unsigned header_mode; - unsigned footer_mode; + bool overlap_page_mode; + bool header_mode; + bool footer_mode; unsigned horizontal_scroll_mode; unsigned vertical_scroll_mode; diff --git a/apps/plugins/text_viewer/tv_settings.c b/apps/plugins/text_viewer/tv_settings.c index 45eac627b2..2419ae0705 100644 --- a/apps/plugins/text_viewer/tv_settings.c +++ b/apps/plugins/text_viewer/tv_settings.c @@ -40,7 +40,7 @@ * encoding 1 * vertical_scrollbar 1 * (unused) 1 (for compatibility) - * page_mode 1 + * overlap_page_mode 1 * header_mode 1 * footer_mode 1 * scroll_mode 1 @@ -83,7 +83,7 @@ * encoding 1 * vertical_scrollbar 1 * (unused) 1 (for compatibility) - * page_mode 1 + * overlap_page_mode 1 * header_mode 1 * footer_mode 1 * scroll_mode 1 @@ -153,45 +153,45 @@ static bool tv_read_preferences(int pfd, int version, struct tv_preferences *pre prefs->alignment = AL_LEFT; prefs->encoding = *p++; - prefs->vertical_scrollbar = *p++; + prefs->vertical_scrollbar = (*p++ != 0); /* skip need_scrollbar */ p++; - prefs->page_mode = *p++; + prefs->overlap_page_mode = (*p++ != 0); if (version < 7) { prefs->statusbar = false; if (*p > 1) { - prefs->header_mode = (*p & 1); + prefs->header_mode = ((*p & 1) != 0); prefs->statusbar = true; } else - prefs->header_mode = *p; + prefs->header_mode = (*p != 0); if (*(++p) > 1) { - prefs->footer_mode = (*p & 1); + prefs->footer_mode = ((*p & 1) != 0); prefs->statusbar = true; } else - prefs->footer_mode = *p; + prefs->footer_mode = (*p != 0); p++; } else { - prefs->header_mode = *p++; - prefs->footer_mode = *p++; + prefs->header_mode = (*p++ != 0); + prefs->footer_mode = (*p++ != 0); } prefs->vertical_scroll_mode = *p++; prefs->autoscroll_speed = *p++; if (version > 2) - prefs->horizontal_scrollbar = *p; + prefs->horizontal_scrollbar = (*p != 0); else - prefs->horizontal_scrollbar = SB_OFF; + prefs->horizontal_scrollbar = false; if (version > 3) prefs->horizontal_scroll_mode = *p++; @@ -233,7 +233,7 @@ static bool tv_write_preferences(int pfd, const struct tv_preferences *prefs) *p++ = prefs->vertical_scrollbar; /* skip need_scrollbar */ p++; - *p++ = prefs->page_mode; + *p++ = prefs->overlap_page_mode; *p++ = prefs->header_mode; *p++ = prefs->footer_mode; *p++ = prefs->vertical_scroll_mode; -- cgit v1.2.3