1
0
Fork 0
forked from len0rd/rockbox

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
This commit is contained in:
Yoshihisa Uchida 2010-06-29 12:23:41 +00:00
parent 25f44c2e1f
commit 470226dbbf
6 changed files with 41 additions and 107 deletions

View file

@ -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);

View file

@ -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;

View file

@ -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)

View file

@ -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;

View file

@ -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;

View file

@ -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;