summaryrefslogtreecommitdiff
path: root/apps/plugins/text_viewer/tv_settings.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/text_viewer/tv_settings.c')
-rw-r--r--apps/plugins/text_viewer/tv_settings.c28
1 files changed, 18 insertions, 10 deletions
diff --git a/apps/plugins/text_viewer/tv_settings.c b/apps/plugins/text_viewer/tv_settings.c
index bf6ae1e74a..b537b3fb40 100644
--- a/apps/plugins/text_viewer/tv_settings.c
+++ b/apps/plugins/text_viewer/tv_settings.c
@@ -47,7 +47,8 @@
47 * scroll_mode 1 47 * scroll_mode 1
48 * autoscroll_speed 1 48 * autoscroll_speed 1
49 * horizontal_scrollbar 1 49 * horizontal_scrollbar 1
50 * (reserved) 15 50 * horizontal_scroll_mode 1
51 * (reserved) 14
51 * font name MAX_PATH 52 * font name MAX_PATH
52 */ 53 */
53 54
@@ -55,7 +56,7 @@
55#define TV_GLOBAL_SETTINGS_FILE VIEWERS_DIR "/tv_global.dat" 56#define TV_GLOBAL_SETTINGS_FILE VIEWERS_DIR "/tv_global.dat"
56 57
57#define TV_GLOBAL_SETTINGS_HEADER "\x54\x56\x47\x53" /* "TVGS" */ 58#define TV_GLOBAL_SETTINGS_HEADER "\x54\x56\x47\x53" /* "TVGS" */
58#define TV_GLOBAL_SETTINGS_VERSION 0x34 59#define TV_GLOBAL_SETTINGS_VERSION 0x35
59#define TV_GLOBAL_SETTINGS_HEADER_SIZE 5 60#define TV_GLOBAL_SETTINGS_HEADER_SIZE 5
60#define TV_GLOBAL_SETTINGS_FIRST_VERSION 0x31 61#define TV_GLOBAL_SETTINGS_FIRST_VERSION 0x31
61 62
@@ -86,7 +87,8 @@
86 * scroll_mode 1 87 * scroll_mode 1
87 * autoscroll_speed 1 88 * autoscroll_speed 1
88 * horizontal_scrollbar 1 89 * horizontal_scrollbar 1
89 * (reserved) 15 90 * horizontal_scroll_mode 1
91 * (reserved) 14
90 * font name MAX_PATH 92 * font name MAX_PATH
91 * bookmark count 1 93 * bookmark count 1
92 * [1st bookmark] 94 * [1st bookmark]
@@ -108,7 +110,7 @@
108#define TV_SETTINGS_TMP_FILE VIEWERS_DIR "/tv_file.tmp" 110#define TV_SETTINGS_TMP_FILE VIEWERS_DIR "/tv_file.tmp"
109 111
110#define TV_SETTINGS_HEADER "\x54\x56\x53" /* "TVS" */ 112#define TV_SETTINGS_HEADER "\x54\x56\x53" /* "TVS" */
111#define TV_SETTINGS_VERSION 0x35 113#define TV_SETTINGS_VERSION 0x36
112#define TV_SETTINGS_HEADER_SIZE 4 114#define TV_SETTINGS_HEADER_SIZE 4
113#define TV_SETTINGS_FIRST_VERSION 0x32 115#define TV_SETTINGS_FIRST_VERSION 0x32
114 116
@@ -149,17 +151,22 @@ static bool tv_read_preferences(int pfd, int version, struct tv_preferences *pre
149 prefs->vertical_scrollbar = *p++; 151 prefs->vertical_scrollbar = *p++;
150 /* skip need_scrollbar */ 152 /* skip need_scrollbar */
151 p++; 153 p++;
152 prefs->page_mode = *p++; 154 prefs->page_mode = *p++;
153 prefs->header_mode = *p++; 155 prefs->header_mode = *p++;
154 prefs->footer_mode = *p++; 156 prefs->footer_mode = *p++;
155 prefs->scroll_mode = *p++; 157 prefs->vertical_scroll_mode = *p++;
156 prefs->autoscroll_speed = *p++; 158 prefs->autoscroll_speed = *p++;
157 159
158 if (version > 2) 160 if (version > 2)
159 prefs->horizontal_scrollbar = *p; 161 prefs->horizontal_scrollbar = *p;
160 else 162 else
161 prefs->horizontal_scrollbar = SB_OFF; 163 prefs->horizontal_scrollbar = SB_OFF;
162 164
165 if (version > 3)
166 prefs->horizontal_scroll_mode = *p++;
167 else
168 prefs->horizontal_scroll_mode = SCREEN;
169
163 rb->memcpy(prefs->font_name, buf + read_size - MAX_PATH, MAX_PATH); 170 rb->memcpy(prefs->font_name, buf + read_size - MAX_PATH, MAX_PATH);
164 171
165#ifdef HAVE_LCD_BITMAP 172#ifdef HAVE_LCD_BITMAP
@@ -185,9 +192,10 @@ static bool tv_write_preferences(int pfd, const struct tv_preferences *prefs)
185 *p++ = prefs->page_mode; 192 *p++ = prefs->page_mode;
186 *p++ = prefs->header_mode; 193 *p++ = prefs->header_mode;
187 *p++ = prefs->footer_mode; 194 *p++ = prefs->footer_mode;
188 *p++ = prefs->scroll_mode; 195 *p++ = prefs->vertical_scroll_mode;
189 *p++ = prefs->autoscroll_speed; 196 *p++ = prefs->autoscroll_speed;
190 *p++ = prefs->horizontal_scrollbar; 197 *p++ = prefs->horizontal_scrollbar;
198 *p++ = prefs->horizontal_scroll_mode;
191 199
192 rb->memcpy(buf + 28, prefs->font_name, MAX_PATH); 200 rb->memcpy(buf + 28, prefs->font_name, MAX_PATH);
193 201