diff options
author | Yoshihisa Uchida <uchida@rockbox.org> | 2010-06-29 12:23:41 +0000 |
---|---|---|
committer | Yoshihisa Uchida <uchida@rockbox.org> | 2010-06-29 12:23:41 +0000 |
commit | 470226dbbfc4ca0b61ca33620c06c695d7e55d57 (patch) | |
tree | 376cf50915bf3440f613ad86f55973ae2bbdf829 | |
parent | 25f44c2e1f9b12c13cab9eb8bde8e0fe0e3ba5da (diff) | |
download | rockbox-470226dbbfc4ca0b61ca33620c06c695d7e55d57.tar.gz rockbox-470226dbbfc4ca0b61ca33620c06c695d7e55d57.zip |
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
-rw-r--r-- | apps/plugins/text_viewer/tv_action.c | 4 | ||||
-rw-r--r-- | apps/plugins/text_viewer/tv_display.c | 11 | ||||
-rw-r--r-- | apps/plugins/text_viewer/tv_menu.c | 56 | ||||
-rw-r--r-- | apps/plugins/text_viewer/tv_preferences.c | 16 | ||||
-rw-r--r-- | apps/plugins/text_viewer/tv_preferences.h | 35 | ||||
-rw-r--r-- | apps/plugins/text_viewer/tv_settings.c | 26 |
6 files changed, 41 insertions, 107 deletions
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) | |||
84 | { | 84 | { |
85 | offset_page--; | 85 | offset_page--; |
86 | #ifdef HAVE_LCD_BITMAP | 86 | #ifdef HAVE_LCD_BITMAP |
87 | offset_line = (preferences->page_mode == PM_OVERLAP)? 1:0; | 87 | offset_line = (preferences->overlap_page_mode)? 1:0; |
88 | #endif | 88 | #endif |
89 | } | 89 | } |
90 | tv_move_screen(offset_page, offset_line, SEEK_CUR); | 90 | tv_move_screen(offset_page, offset_line, SEEK_CUR); |
@@ -100,7 +100,7 @@ void tv_scroll_down(unsigned mode) | |||
100 | { | 100 | { |
101 | offset_page++; | 101 | offset_page++; |
102 | #ifdef HAVE_LCD_BITMAP | 102 | #ifdef HAVE_LCD_BITMAP |
103 | offset_line = (preferences->page_mode == PM_OVERLAP)? -1:0; | 103 | offset_line = (preferences->overlap_page_mode)? -1:0; |
104 | #endif | 104 | #endif |
105 | } | 105 | } |
106 | tv_move_screen(offset_page, offset_line, SEEK_CUR); | 106 | 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; | |||
114 | 114 | ||
115 | static void tv_show_header(void) | 115 | static void tv_show_header(void) |
116 | { | 116 | { |
117 | unsigned header_mode = header_mode; | 117 | if (preferences->header_mode) |
118 | |||
119 | if (preferences->header_mode == HD_PATH) | ||
120 | display->putsxy(header.x, header.y, preferences->file_name); | 118 | display->putsxy(header.x, header.y, preferences->file_name); |
121 | } | 119 | } |
122 | 120 | ||
123 | static void tv_show_footer(const struct tv_screen_pos *pos) | 121 | static void tv_show_footer(const struct tv_screen_pos *pos) |
124 | { | 122 | { |
125 | unsigned char buf[12]; | 123 | unsigned char buf[12]; |
126 | unsigned footer_mode = preferences->footer_mode; | ||
127 | 124 | ||
128 | if (footer_mode == FT_PAGE) | 125 | if (preferences->footer_mode) |
129 | { | 126 | { |
130 | if (pos->line == 0) | 127 | if (pos->line == 0) |
131 | rb->snprintf(buf, sizeof(buf), "%d", pos->page + 1); | 128 | rb->snprintf(buf, sizeof(buf), "%d", pos->page + 1); |
@@ -262,11 +259,11 @@ void tv_set_layout(bool show_scrollbar) | |||
262 | header.x = 0; | 259 | header.x = 0; |
263 | header.y = 1; | 260 | header.y = 1; |
264 | header.w = vp_info.width; | 261 | header.w = vp_info.width; |
265 | header.h = (preferences->header_mode == HD_PATH)? row_height + 1 : 0; | 262 | header.h = (preferences->header_mode)? row_height + 1 : 0; |
266 | 263 | ||
267 | footer.x = 0; | 264 | footer.x = 0; |
268 | footer.w = vp_info.width; | 265 | footer.w = vp_info.width; |
269 | footer.h = (preferences->footer_mode == FT_PAGE)? row_height + 1 : 0; | 266 | footer.h = (preferences->footer_mode)? row_height + 1 : 0; |
270 | footer.y = vp_info.height - 1 - footer.h; | 267 | footer.y = vp_info.height - 1 - footer.h; |
271 | 268 | ||
272 | drawarea.x = scrollbar_width; | 269 | 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; | |||
37 | #ifdef HAVE_LCD_BITMAP | 37 | #ifdef HAVE_LCD_BITMAP |
38 | static bool tv_horizontal_scrollbar_setting(void) | 38 | static bool tv_horizontal_scrollbar_setting(void) |
39 | { | 39 | { |
40 | static const struct opt_items names[] = { | 40 | return rb->set_bool("Horizontal Scrollbar", &new_prefs.horizontal_scrollbar); |
41 | {"No", -1}, | ||
42 | {"Yes", -1}, | ||
43 | }; | ||
44 | |||
45 | return rb->set_option("Horizontal Scrollbar", &new_prefs.horizontal_scrollbar, INT, | ||
46 | names, 2, NULL); | ||
47 | } | 41 | } |
48 | #endif | 42 | #endif |
49 | 43 | ||
@@ -79,13 +73,7 @@ MAKE_MENU(horizontal_scroll_menu, "Horizontal", NULL, Icon_NOICON, | |||
79 | #ifdef HAVE_LCD_BITMAP | 73 | #ifdef HAVE_LCD_BITMAP |
80 | static bool tv_vertical_scrollbar_setting(void) | 74 | static bool tv_vertical_scrollbar_setting(void) |
81 | { | 75 | { |
82 | static const struct opt_items names[] = { | 76 | return rb->set_bool("Vertical Scrollbar", &new_prefs.vertical_scrollbar); |
83 | {"No", -1}, | ||
84 | {"Yes", -1}, | ||
85 | }; | ||
86 | |||
87 | return rb->set_option("Vertical Scrollbar", &new_prefs.vertical_scrollbar, INT, | ||
88 | names, 2, NULL); | ||
89 | } | 77 | } |
90 | #endif | 78 | #endif |
91 | 79 | ||
@@ -100,15 +88,9 @@ static bool tv_vertical_scroll_mode_setting(void) | |||
100 | names, 2, NULL); | 88 | names, 2, NULL); |
101 | } | 89 | } |
102 | 90 | ||
103 | static bool tv_page_mode_setting(void) | 91 | static bool tv_overlap_page_mode_setting(void) |
104 | { | 92 | { |
105 | static const struct opt_items names[] = { | 93 | return rb->set_bool("Overlap Pages", &new_prefs.overlap_page_mode); |
106 | {"No", -1}, | ||
107 | {"Yes", -1}, | ||
108 | }; | ||
109 | |||
110 | return rb->set_option("Overlap Pages", &new_prefs.page_mode, INT, | ||
111 | names, 2, NULL); | ||
112 | } | 94 | } |
113 | 95 | ||
114 | static bool tv_autoscroll_speed_setting(void) | 96 | static bool tv_autoscroll_speed_setting(void) |
@@ -135,7 +117,7 @@ MENUITEM_FUNCTION(vertical_scrollbar_item, 0, "Scrollbar", | |||
135 | #endif | 117 | #endif |
136 | MENUITEM_FUNCTION(vertical_scroll_mode_item, 0, "Scroll Mode", | 118 | MENUITEM_FUNCTION(vertical_scroll_mode_item, 0, "Scroll Mode", |
137 | tv_vertical_scroll_mode_setting, NULL, NULL, Icon_NOICON); | 119 | tv_vertical_scroll_mode_setting, NULL, NULL, Icon_NOICON); |
138 | MENUITEM_FUNCTION(page_mode_item, 0, "Overlap Pages", tv_page_mode_setting, | 120 | MENUITEM_FUNCTION(overlap_page_mode_item, 0, "Overlap Pages", tv_overlap_page_mode_setting, |
139 | NULL, NULL, Icon_NOICON); | 121 | NULL, NULL, Icon_NOICON); |
140 | MENUITEM_FUNCTION(autoscroll_speed_item, 0, "Auto-Scroll Speed", | 122 | MENUITEM_FUNCTION(autoscroll_speed_item, 0, "Auto-Scroll Speed", |
141 | tv_autoscroll_speed_setting, NULL, NULL, Icon_NOICON); | 123 | tv_autoscroll_speed_setting, NULL, NULL, Icon_NOICON); |
@@ -146,7 +128,7 @@ MAKE_MENU(vertical_scroll_menu, "Vertical", NULL, Icon_NOICON, | |||
146 | #ifdef HAVE_LCD_BITMAP | 128 | #ifdef HAVE_LCD_BITMAP |
147 | &vertical_scrollbar_item, | 129 | &vertical_scrollbar_item, |
148 | #endif | 130 | #endif |
149 | &vertical_scroll_mode_item, &page_mode_item, &autoscroll_speed_item, | 131 | &vertical_scroll_mode_item, &overlap_page_mode_item, &autoscroll_speed_item, |
150 | &narrow_mode_item); | 132 | &narrow_mode_item); |
151 | 133 | ||
152 | /* */ | 134 | /* */ |
@@ -219,37 +201,17 @@ static bool tv_alignment_setting(void) | |||
219 | #ifdef HAVE_LCD_BITMAP | 201 | #ifdef HAVE_LCD_BITMAP |
220 | static bool tv_header_setting(void) | 202 | static bool tv_header_setting(void) |
221 | { | 203 | { |
222 | static const struct opt_items names[4] = | 204 | return rb->set_bool("Show Header", &new_prefs.header_mode); |
223 | { | ||
224 | {"None", -1}, | ||
225 | {"File path", -1}, | ||
226 | }; | ||
227 | |||
228 | return rb->set_option("Show Header", &new_prefs.header_mode, INT, | ||
229 | names, 2, NULL); | ||
230 | } | 205 | } |
231 | 206 | ||
232 | static bool tv_footer_setting(void) | 207 | static bool tv_footer_setting(void) |
233 | { | 208 | { |
234 | static const struct opt_items names[4] = | 209 | return rb->set_bool("Show Footer", &new_prefs.footer_mode); |
235 | { | ||
236 | {"None", -1}, | ||
237 | {"Page Num", -1}, | ||
238 | }; | ||
239 | |||
240 | return rb->set_option("Show Footer", &new_prefs.footer_mode, INT, | ||
241 | names, 2, NULL); | ||
242 | } | 210 | } |
243 | 211 | ||
244 | static bool tv_statusbar_setting(void) | 212 | static bool tv_statusbar_setting(void) |
245 | { | 213 | { |
246 | static const struct opt_items names[] = { | 214 | return rb->set_bool("Show Statusbar", &new_prefs.statusbar); |
247 | {"No", -1}, | ||
248 | {"Yes", -1}, | ||
249 | }; | ||
250 | |||
251 | return rb->set_option("Show Statusbar", &new_prefs.statusbar, BOOL, | ||
252 | names, 2, NULL); | ||
253 | } | 215 | } |
254 | 216 | ||
255 | static bool tv_font_setting(void) | 217 | 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) | |||
43 | * - alignment | 43 | * - alignment |
44 | * - horizontal_scroll_mode | 44 | * - horizontal_scroll_mode |
45 | * - vertical_scroll_mode | 45 | * - vertical_scroll_mode |
46 | * - page_mode | 46 | * - overlap_page_mode |
47 | * - font | 47 | * - font |
48 | * - autoscroll_speed | 48 | * - autoscroll_speed |
49 | * - narrow_mode | 49 | * - narrow_mode |
@@ -99,18 +99,18 @@ void tv_set_default_preferences(struct tv_preferences *p) | |||
99 | p->alignment = AL_LEFT; | 99 | p->alignment = AL_LEFT; |
100 | p->horizontal_scroll_mode = HS_SCREEN; | 100 | p->horizontal_scroll_mode = HS_SCREEN; |
101 | p->vertical_scroll_mode = VS_PAGE; | 101 | p->vertical_scroll_mode = VS_PAGE; |
102 | p->page_mode = PM_NO_OVERLAP; | 102 | p->overlap_page_mode = false; |
103 | p->horizontal_scrollbar = SB_OFF; | 103 | p->horizontal_scrollbar = false; |
104 | p->vertical_scrollbar = SB_OFF; | 104 | p->vertical_scrollbar = false; |
105 | #ifdef HAVE_LCD_BITMAP | 105 | #ifdef HAVE_LCD_BITMAP |
106 | p->header_mode = HD_PATH; | 106 | p->header_mode = true; |
107 | p->footer_mode = FT_PAGE; | 107 | p->footer_mode = true; |
108 | p->statusbar = true; | 108 | p->statusbar = true; |
109 | rb->strlcpy(p->font_name, rb->global_settings->font_file, MAX_PATH); | 109 | rb->strlcpy(p->font_name, rb->global_settings->font_file, MAX_PATH); |
110 | p->font = rb->font_get(FONT_UI); | 110 | p->font = rb->font_get(FONT_UI); |
111 | #else | 111 | #else |
112 | p->header_mode = HD_NONE; | 112 | p->header_mode = false; |
113 | p->footer_mode = FT_NONE; | 113 | p->footer_mode = false; |
114 | p->statusbar = false; | 114 | p->statusbar = false; |
115 | #endif | 115 | #endif |
116 | p->autoscroll_speed = 1; | 116 | 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 { | |||
29 | TV_CALLBACK_ERROR, | 29 | TV_CALLBACK_ERROR, |
30 | }; | 30 | }; |
31 | 31 | ||
32 | /* scrollbar_mode */ | ||
33 | enum { | ||
34 | SB_OFF = 0, | ||
35 | SB_ON, | ||
36 | }; | ||
37 | |||
38 | /* word_mode */ | 32 | /* word_mode */ |
39 | enum { | 33 | enum { |
40 | WM_WRAP = 0, | 34 | WM_WRAP = 0, |
@@ -55,25 +49,6 @@ enum { | |||
55 | AL_RIGHT, | 49 | AL_RIGHT, |
56 | }; | 50 | }; |
57 | 51 | ||
58 | /* page_mode */ | ||
59 | enum { | ||
60 | PM_NO_OVERLAP = 0, | ||
61 | PM_OVERLAP, | ||
62 | }; | ||
63 | |||
64 | /* header_mode */ | ||
65 | enum { | ||
66 | HD_NONE = 0, | ||
67 | HD_PATH, | ||
68 | }; | ||
69 | |||
70 | /* footer_mode */ | ||
71 | enum { | ||
72 | |||
73 | FT_NONE = 0, | ||
74 | FT_PAGE, | ||
75 | }; | ||
76 | |||
77 | /* horizontal_scroll_mode */ | 52 | /* horizontal_scroll_mode */ |
78 | enum { | 53 | enum { |
79 | HS_SCREEN = 0, | 54 | HS_SCREEN = 0, |
@@ -99,12 +74,12 @@ struct tv_preferences { | |||
99 | 74 | ||
100 | unsigned encoding; | 75 | unsigned encoding; |
101 | 76 | ||
102 | unsigned horizontal_scrollbar; | 77 | bool horizontal_scrollbar; |
103 | unsigned vertical_scrollbar; | 78 | bool vertical_scrollbar; |
104 | 79 | ||
105 | unsigned page_mode; | 80 | bool overlap_page_mode; |
106 | unsigned header_mode; | 81 | bool header_mode; |
107 | unsigned footer_mode; | 82 | bool footer_mode; |
108 | unsigned horizontal_scroll_mode; | 83 | unsigned horizontal_scroll_mode; |
109 | unsigned vertical_scroll_mode; | 84 | unsigned vertical_scroll_mode; |
110 | 85 | ||
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 @@ | |||
40 | * encoding 1 | 40 | * encoding 1 |
41 | * vertical_scrollbar 1 | 41 | * vertical_scrollbar 1 |
42 | * (unused) 1 (for compatibility) | 42 | * (unused) 1 (for compatibility) |
43 | * page_mode 1 | 43 | * overlap_page_mode 1 |
44 | * header_mode 1 | 44 | * header_mode 1 |
45 | * footer_mode 1 | 45 | * footer_mode 1 |
46 | * scroll_mode 1 | 46 | * scroll_mode 1 |
@@ -83,7 +83,7 @@ | |||
83 | * encoding 1 | 83 | * encoding 1 |
84 | * vertical_scrollbar 1 | 84 | * vertical_scrollbar 1 |
85 | * (unused) 1 (for compatibility) | 85 | * (unused) 1 (for compatibility) |
86 | * page_mode 1 | 86 | * overlap_page_mode 1 |
87 | * header_mode 1 | 87 | * header_mode 1 |
88 | * footer_mode 1 | 88 | * footer_mode 1 |
89 | * scroll_mode 1 | 89 | * scroll_mode 1 |
@@ -153,45 +153,45 @@ static bool tv_read_preferences(int pfd, int version, struct tv_preferences *pre | |||
153 | prefs->alignment = AL_LEFT; | 153 | prefs->alignment = AL_LEFT; |
154 | 154 | ||
155 | prefs->encoding = *p++; | 155 | prefs->encoding = *p++; |
156 | prefs->vertical_scrollbar = *p++; | 156 | prefs->vertical_scrollbar = (*p++ != 0); |
157 | /* skip need_scrollbar */ | 157 | /* skip need_scrollbar */ |
158 | p++; | 158 | p++; |
159 | prefs->page_mode = *p++; | 159 | prefs->overlap_page_mode = (*p++ != 0); |
160 | 160 | ||
161 | if (version < 7) | 161 | if (version < 7) |
162 | { | 162 | { |
163 | prefs->statusbar = false; | 163 | prefs->statusbar = false; |
164 | if (*p > 1) | 164 | if (*p > 1) |
165 | { | 165 | { |
166 | prefs->header_mode = (*p & 1); | 166 | prefs->header_mode = ((*p & 1) != 0); |
167 | prefs->statusbar = true; | 167 | prefs->statusbar = true; |
168 | } | 168 | } |
169 | else | 169 | else |
170 | prefs->header_mode = *p; | 170 | prefs->header_mode = (*p != 0); |
171 | 171 | ||
172 | if (*(++p) > 1) | 172 | if (*(++p) > 1) |
173 | { | 173 | { |
174 | prefs->footer_mode = (*p & 1); | 174 | prefs->footer_mode = ((*p & 1) != 0); |
175 | prefs->statusbar = true; | 175 | prefs->statusbar = true; |
176 | } | 176 | } |
177 | else | 177 | else |
178 | prefs->footer_mode = *p; | 178 | prefs->footer_mode = (*p != 0); |
179 | 179 | ||
180 | p++; | 180 | p++; |
181 | } | 181 | } |
182 | else | 182 | else |
183 | { | 183 | { |
184 | prefs->header_mode = *p++; | 184 | prefs->header_mode = (*p++ != 0); |
185 | prefs->footer_mode = *p++; | 185 | prefs->footer_mode = (*p++ != 0); |
186 | } | 186 | } |
187 | 187 | ||
188 | prefs->vertical_scroll_mode = *p++; | 188 | prefs->vertical_scroll_mode = *p++; |
189 | prefs->autoscroll_speed = *p++; | 189 | prefs->autoscroll_speed = *p++; |
190 | 190 | ||
191 | if (version > 2) | 191 | if (version > 2) |
192 | prefs->horizontal_scrollbar = *p; | 192 | prefs->horizontal_scrollbar = (*p != 0); |
193 | else | 193 | else |
194 | prefs->horizontal_scrollbar = SB_OFF; | 194 | prefs->horizontal_scrollbar = false; |
195 | 195 | ||
196 | if (version > 3) | 196 | if (version > 3) |
197 | prefs->horizontal_scroll_mode = *p++; | 197 | prefs->horizontal_scroll_mode = *p++; |
@@ -233,7 +233,7 @@ static bool tv_write_preferences(int pfd, const struct tv_preferences *prefs) | |||
233 | *p++ = prefs->vertical_scrollbar; | 233 | *p++ = prefs->vertical_scrollbar; |
234 | /* skip need_scrollbar */ | 234 | /* skip need_scrollbar */ |
235 | p++; | 235 | p++; |
236 | *p++ = prefs->page_mode; | 236 | *p++ = prefs->overlap_page_mode; |
237 | *p++ = prefs->header_mode; | 237 | *p++ = prefs->header_mode; |
238 | *p++ = prefs->footer_mode; | 238 | *p++ = prefs->footer_mode; |
239 | *p++ = prefs->vertical_scroll_mode; | 239 | *p++ = prefs->vertical_scroll_mode; |