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:
parent
25f44c2e1f
commit
470226dbbf
6 changed files with 41 additions and 107 deletions
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue