summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/action.h4
-rw-r--r--apps/gui/quickscreen.c130
-rw-r--r--apps/gui/quickscreen.h3
-rw-r--r--apps/keymaps/keymap-av300.c4
-rw-r--r--apps/keymaps/keymap-c100.c4
-rw-r--r--apps/keymaps/keymap-c200.c4
-rw-r--r--apps/keymaps/keymap-clip.c4
-rw-r--r--apps/keymaps/keymap-creativezv.c4
-rw-r--r--apps/keymaps/keymap-creativezvm.c4
-rw-r--r--apps/keymaps/keymap-e200.c4
-rw-r--r--apps/keymaps/keymap-fuze.c4
-rw-r--r--apps/keymaps/keymap-gigabeat-s.c8
-rw-r--r--apps/keymaps/keymap-gigabeat.c4
-rw-r--r--apps/keymaps/keymap-h10.c8
-rw-r--r--apps/keymaps/keymap-h1x0_h3x0.c16
-rw-r--r--apps/keymaps/keymap-hdd1630.c4
-rw-r--r--apps/keymaps/keymap-iaudio67.c4
-rw-r--r--apps/keymaps/keymap-ifp7xx.c4
-rw-r--r--apps/keymaps/keymap-logikdax.c4
-rw-r--r--apps/keymaps/keymap-m200.c4
-rw-r--r--apps/keymaps/keymap-m3.c8
-rw-r--r--apps/keymaps/keymap-meizu-m6sl.c4
-rw-r--r--apps/keymaps/keymap-mr100.c4
-rw-r--r--apps/keymaps/keymap-mr500.c2
-rw-r--r--apps/keymaps/keymap-recorder.c4
-rw-r--r--apps/keymaps/keymap-sa9200.c4
-rw-r--r--apps/keymaps/keymap-touchscreen.c4
-rw-r--r--apps/keymaps/keymap-x5.c8
-rwxr-xr-xapps/keymaps/keymap-yh8xx_yh9xx.c4
-rw-r--r--apps/lang/deutsch.lang17
-rw-r--r--apps/lang/english.lang17
-rw-r--r--apps/menu.c10
-rw-r--r--apps/settings.h1
-rw-r--r--apps/settings_list.c4
34 files changed, 190 insertions, 126 deletions
diff --git a/apps/action.h b/apps/action.h
index eae5f1249b..5df8639cdf 100644
--- a/apps/action.h
+++ b/apps/action.h
@@ -191,13 +191,11 @@ enum {
191 /* bookmark screen */ 191 /* bookmark screen */
192 ACTION_BMS_DELETE, 192 ACTION_BMS_DELETE,
193 193
194 /* alarm menu screen */
195
196 /* quickscreen */ 194 /* quickscreen */
197 ACTION_QS_LEFT, 195 ACTION_QS_LEFT,
198 ACTION_QS_RIGHT, 196 ACTION_QS_RIGHT,
199 ACTION_QS_DOWN, 197 ACTION_QS_DOWN,
200 ACTION_QS_DOWNINV, /* why is this not called up?? :p */ 198 ACTION_QS_TOP,
201 199
202 /* pitchscreen */ 200 /* pitchscreen */
203 /* obviously ignore if you dont have thise screen */ 201 /* obviously ignore if you dont have thise screen */
diff --git a/apps/gui/quickscreen.c b/apps/gui/quickscreen.c
index d6d662b1f1..ab13e67a81 100644
--- a/apps/gui/quickscreen.c
+++ b/apps/gui/quickscreen.c
@@ -38,17 +38,18 @@
38#include "talk.h" 38#include "talk.h"
39#include "list.h" 39#include "list.h"
40#include "option_select.h" 40#include "option_select.h"
41#include "debug.h"
41 42
42static struct viewport vps[NB_SCREENS][QUICKSCREEN_ITEM_COUNT]; 43static struct viewport vps[NB_SCREENS][QUICKSCREEN_ITEM_COUNT];
43static struct viewport vp_icons[NB_SCREENS]; 44static struct viewport vp_icons[NB_SCREENS];
44/* vp_icons will be used like this: 45 /* 1 top, 1 bottom, 2 on either side, 1 for the icons
45 the side icons will be aligned to the top of this vp and to their sides 46 * if enough space, top and bottom have 2 lines */
46 the bottom icon will be aligned center and at the bottom of this vp */ 47#define MIN_LINES 5
47 48#define MAX_NEEDED_LINES 10
48#define MIN_LINES 4 49 /* pixels between the 2 center items minimum or between text and icons,
49#define MAX_NEEDED_LINES 8 50 * and between text and parent boundaries */
50#define CENTER_MARGIN 10 /* pixels between the 2 center items minimum */ 51#define MARGIN 10
51#define CENTER_ICONAREA_WIDTH (CENTER_MARGIN+8*2) 52#define CENTER_ICONAREA_SIZE (MARGIN+8*2)
52 53
53static void quickscreen_fix_viewports(struct gui_quickscreen *qs, 54static void quickscreen_fix_viewports(struct gui_quickscreen *qs,
54 struct screen *display, 55 struct screen *display,
@@ -59,9 +60,8 @@ static void quickscreen_fix_viewports(struct gui_quickscreen *qs,
59#else 60#else
60 const int screen = 0; 61 const int screen = 0;
61#endif 62#endif
62 63 int char_height, width, pad = 0;
63 int char_height, i, width, pad = 0; 64 int left_width, right_width, vert_lines;
64 int left_width, right_width, bottom_lines = 2;
65 unsigned char *s; 65 unsigned char *s;
66 int nb_lines = viewport_get_nb_lines(parent); 66 int nb_lines = viewport_get_nb_lines(parent);
67 67
@@ -75,43 +75,57 @@ static void quickscreen_fix_viewports(struct gui_quickscreen *qs,
75 75
76 /* center the icons VP first */ 76 /* center the icons VP first */
77 vp_icons[screen] = *parent; 77 vp_icons[screen] = *parent;
78 vp_icons[screen].width = CENTER_ICONAREA_WIDTH; /* absolute smallest allowed */ 78 vp_icons[screen].width = CENTER_ICONAREA_SIZE; /* abosulte smallest allowed */
79 vp_icons[screen].x = parent->x + (parent->width / 2 - CENTER_ICONAREA_WIDTH / 2); 79 vp_icons[screen].x = parent->x;
80 vp_icons[screen].x += (parent->width-CENTER_ICONAREA_SIZE)/2;
81
80 82
81 vps[screen][QUICKSCREEN_BOTTOM] = *parent; 83 vps[screen][QUICKSCREEN_BOTTOM] = *parent;
82 if (nb_lines <= MIN_LINES) /* make the bottom item use 1 line */ 84 vps[screen][QUICKSCREEN_TOP] = *parent;
83 bottom_lines = 1; 85 /* depending on the space the top/buttom items use 1 or 2 lines */
86 if (nb_lines < MIN_LINES)
87 vert_lines = 1;
84 else 88 else
85 bottom_lines = 2; 89 vert_lines = 2;
86 vps[screen][QUICKSCREEN_BOTTOM].height = bottom_lines*char_height; 90 vps[screen][QUICKSCREEN_TOP].y = parent->y;
87 vps[screen][QUICKSCREEN_BOTTOM].y = 91 vps[screen][QUICKSCREEN_TOP].height = vps[screen][QUICKSCREEN_BOTTOM].height
88 parent->y + parent->height - bottom_lines*char_height; 92 = vert_lines*char_height;
93 vps[screen][QUICKSCREEN_BOTTOM].y
94 = parent->y + parent->height - vps[screen][QUICKSCREEN_BOTTOM].height;
95
96 /* enough space vertically, so put a nice margin */
89 if (nb_lines >= MAX_NEEDED_LINES) 97 if (nb_lines >= MAX_NEEDED_LINES)
90 { 98 {
91 vps[screen][QUICKSCREEN_BOTTOM].y -= char_height; 99 vps[screen][QUICKSCREEN_TOP].y += MARGIN;
100 vps[screen][QUICKSCREEN_BOTTOM].y -= MARGIN;
92 } 101 }
93 102
103 vp_icons[screen].y = vps[screen][QUICKSCREEN_TOP].y
104 + vps[screen][QUICKSCREEN_TOP].height;
105 vp_icons[screen].height = parent->height - vp_icons[screen].y;
106 vp_icons[screen].height -= parent->height - vps[screen][QUICKSCREEN_BOTTOM].y;
107
94 /* adjust the left/right items widths to fit the screen nicely */ 108 /* adjust the left/right items widths to fit the screen nicely */
95 s = P2STR(ID2P(qs->items[QUICKSCREEN_LEFT]->lang_id)); 109 s = P2STR(ID2P(qs->items[QUICKSCREEN_LEFT]->lang_id));
96 left_width = display->getstringsize(s, NULL, NULL); 110 left_width = display->getstringsize(s, NULL, NULL);
97 s = P2STR(ID2P(qs->items[QUICKSCREEN_RIGHT]->lang_id)); 111 s = P2STR(ID2P(qs->items[QUICKSCREEN_RIGHT]->lang_id));
98 right_width = display->getstringsize(s, NULL, NULL); 112 right_width = display->getstringsize(s, NULL, NULL);
99 nb_lines -= bottom_lines; 113
100
101 width = MAX(left_width, right_width); 114 width = MAX(left_width, right_width);
102 if (width*2 + vp_icons[screen].width > display->lcdwidth) 115 if (width*2 + vp_icons[screen].width > display->lcdwidth)
103 width = (display->lcdwidth - vp_icons[screen].width)/2; 116 width = (display->lcdwidth - vp_icons[screen].width)/2;
104 else /* add more gap in icons vp */ 117 else /* add more gap in icons vp */
105 { 118 {
106 int excess = display->lcdwidth - vp_icons[screen].width - width*2; 119 int excess = display->lcdwidth - vp_icons[screen].width - width*2;
107 if (excess > CENTER_MARGIN*4) 120 if (excess > MARGIN*4)
108 { 121 {
109 pad = CENTER_MARGIN; 122 pad = MARGIN;
110 excess -= CENTER_MARGIN*2; 123 excess -= MARGIN*2;
111 } 124 }
112 vp_icons[screen].x -= excess/2; 125 vp_icons[screen].x -= excess/2;
113 vp_icons[screen].width += excess; 126 vp_icons[screen].width += excess;
114 } 127 }
128
115 vps[screen][QUICKSCREEN_LEFT] = *parent; 129 vps[screen][QUICKSCREEN_LEFT] = *parent;
116 vps[screen][QUICKSCREEN_LEFT].x = parent->x + pad; 130 vps[screen][QUICKSCREEN_LEFT].x = parent->x + pad;
117 vps[screen][QUICKSCREEN_LEFT].width = width; 131 vps[screen][QUICKSCREEN_LEFT].width = width;
@@ -119,32 +133,25 @@ static void quickscreen_fix_viewports(struct gui_quickscreen *qs,
119 vps[screen][QUICKSCREEN_RIGHT] = *parent; 133 vps[screen][QUICKSCREEN_RIGHT] = *parent;
120 vps[screen][QUICKSCREEN_RIGHT].x = parent->x + parent->width - width - pad; 134 vps[screen][QUICKSCREEN_RIGHT].x = parent->x + parent->width - width - pad;
121 vps[screen][QUICKSCREEN_RIGHT].width = width; 135 vps[screen][QUICKSCREEN_RIGHT].width = width;
122 136
137 vps[screen][QUICKSCREEN_LEFT].height = vps[screen][QUICKSCREEN_RIGHT].height
138 = 2*char_height;
139
140 vps[screen][QUICKSCREEN_LEFT].y = vps[screen][QUICKSCREEN_RIGHT].y
141 = parent->y + (parent->height/2) - char_height;
142
123 /* shrink the icons vp by a few pixels if there is room so the arrows 143 /* shrink the icons vp by a few pixels if there is room so the arrows
124 aren't drawn right next to the text */ 144 aren't drawn right next to the text */
125 if (vp_icons[screen].width > CENTER_ICONAREA_WIDTH+8) 145 if (vp_icons[screen].width > CENTER_ICONAREA_SIZE*2)
126 { 146 {
127 vp_icons[screen].width -= 8; 147 vp_icons[screen].width -= CENTER_ICONAREA_SIZE*2/3;
128 vp_icons[screen].x += 4; 148 vp_icons[screen].x += CENTER_ICONAREA_SIZE*2/6;
149 }
150 if (vp_icons[screen].height > CENTER_ICONAREA_SIZE*2)
151 {
152 vp_icons[screen].height -= CENTER_ICONAREA_SIZE*2/3;
153 vp_icons[screen].y += CENTER_ICONAREA_SIZE*2/6;
129 } 154 }
130
131
132 if (nb_lines <= MIN_LINES)
133 i = 0;
134 else
135 i = nb_lines/2;
136 vps[screen][QUICKSCREEN_LEFT].y = parent->y + (i*char_height);
137 vps[screen][QUICKSCREEN_RIGHT].y = parent->y + (i*char_height);
138 if (nb_lines >= 3)
139 i = 3*char_height;
140 else
141 i = nb_lines*char_height;
142
143 vps[screen][QUICKSCREEN_LEFT].height = i;
144 vps[screen][QUICKSCREEN_RIGHT].height = i;
145 vp_icons[screen].y = vps[screen][QUICKSCREEN_LEFT].y + (char_height/2);
146 vp_icons[screen].height =
147 vps[screen][QUICKSCREEN_BOTTOM].y - vp_icons[screen].y;
148} 155}
149 156
150static void quickscreen_draw_text(const char *s, int item, bool title, 157static void quickscreen_draw_text(const char *s, int item, bool title,
@@ -158,6 +165,7 @@ static void quickscreen_draw_text(const char *s, int item, bool title,
158 line = 1; 165 line = 1;
159 switch (item) 166 switch (item)
160 { 167 {
168 case QUICKSCREEN_TOP:
161 case QUICKSCREEN_BOTTOM: 169 case QUICKSCREEN_BOTTOM:
162 x = (vp->width - w)/2; 170 x = (vp->width - w)/2;
163 break; 171 break;
@@ -219,13 +227,18 @@ static void gui_quickscreen_draw(struct gui_quickscreen *qs,
219 } 227 }
220 /* draw the icons */ 228 /* draw the icons */
221 display->set_viewport(&vp_icons[screen]); 229 display->set_viewport(&vp_icons[screen]);
230
231 display->mono_bitmap(bitmap_icons_7x8[Icon_UpArrow],
232 (vp_icons[screen].width/2) - 4, 0, 7, 8);
222 display->mono_bitmap(bitmap_icons_7x8[Icon_FastForward], 233 display->mono_bitmap(bitmap_icons_7x8[Icon_FastForward],
223 vp_icons[screen].width - 8, 0, 7, 8); 234 vp_icons[screen].width - 8,
224 display->mono_bitmap(bitmap_icons_7x8[Icon_FastBackward], 0, 0, 7, 8); 235 (vp_icons[screen].height/2) - 4, 7, 8);
236 display->mono_bitmap(bitmap_icons_7x8[Icon_FastBackward], 0,
237 (vp_icons[screen].height/2) - 4, 7, 8);
238
225 display->mono_bitmap(bitmap_icons_7x8[Icon_DownArrow], 239 display->mono_bitmap(bitmap_icons_7x8[Icon_DownArrow],
226 (vp_icons[screen].width/2) - 4, 240 (vp_icons[screen].width/2) - 4,
227 vp_icons[screen].height - 7, 7, 8); 241 vp_icons[screen].height - 8, 7, 8);
228 display->update_viewport();
229 242
230 display->set_viewport(parent); 243 display->set_viewport(parent);
231 display->update_viewport(); 244 display->update_viewport();
@@ -254,12 +267,15 @@ static bool gui_quickscreen_do_button(struct gui_quickscreen * qs, int button)
254 bool invert = false; 267 bool invert = false;
255 switch(button) 268 switch(button)
256 { 269 {
270 case ACTION_QS_TOP:
271 invert = true;
272 item = QUICKSCREEN_TOP;
273 break;
257 case ACTION_QS_LEFT: 274 case ACTION_QS_LEFT:
275 invert = true;
258 item = QUICKSCREEN_LEFT; 276 item = QUICKSCREEN_LEFT;
259 break; 277 break;
260 278
261 case ACTION_QS_DOWNINV:
262 invert = true; /* fallthrough */
263 case ACTION_QS_DOWN: 279 case ACTION_QS_DOWN:
264 item = QUICKSCREEN_BOTTOM; 280 item = QUICKSCREEN_BOTTOM;
265 break; 281 break;
@@ -367,6 +383,9 @@ bool quick_screen_quick(int button_enter)
367 bool oldshuffle = global_settings.playlist_shuffle; 383 bool oldshuffle = global_settings.playlist_shuffle;
368 int oldrepeat = global_settings.repeat_mode; 384 int oldrepeat = global_settings.repeat_mode;
369 385
386 qs.items[QUICKSCREEN_TOP] =
387 get_setting(global_settings.qs_item_top,
388 find_setting(&global_settings.party_mode, NULL));
370 qs.items[QUICKSCREEN_LEFT] = 389 qs.items[QUICKSCREEN_LEFT] =
371 get_setting(global_settings.qs_item_left, 390 get_setting(global_settings.qs_item_left,
372 find_setting(&global_settings.playlist_shuffle, NULL)); 391 find_setting(&global_settings.playlist_shuffle, NULL));
@@ -452,6 +471,9 @@ void set_as_qs_item(const struct settings_list *setting,
452 } 471 }
453 switch (item) 472 switch (item)
454 { 473 {
474 case QUICKSCREEN_TOP:
475 global_settings.qs_item_top = i;
476 break;
455 case QUICKSCREEN_LEFT: 477 case QUICKSCREEN_LEFT:
456 global_settings.qs_item_left = i; 478 global_settings.qs_item_left = i;
457 break; 479 break;
@@ -461,7 +483,7 @@ void set_as_qs_item(const struct settings_list *setting,
461 case QUICKSCREEN_BOTTOM: 483 case QUICKSCREEN_BOTTOM:
462 global_settings.qs_item_bottom = i; 484 global_settings.qs_item_bottom = i;
463 break; 485 break;
464 default: /* shut the copiler up */ 486 default: /* shut the compiler up */
465 break; 487 break;
466 } 488 }
467} 489}
diff --git a/apps/gui/quickscreen.h b/apps/gui/quickscreen.h
index 2a67916d37..c725eae60a 100644
--- a/apps/gui/quickscreen.h
+++ b/apps/gui/quickscreen.h
@@ -29,7 +29,8 @@
29#include "screen_access.h" 29#include "screen_access.h"
30 30
31enum quickscreen_item { 31enum quickscreen_item {
32 QUICKSCREEN_LEFT = 0, 32 QUICKSCREEN_TOP = 0,
33 QUICKSCREEN_LEFT,
33 QUICKSCREEN_RIGHT, 34 QUICKSCREEN_RIGHT,
34 QUICKSCREEN_BOTTOM, 35 QUICKSCREEN_BOTTOM,
35 QUICKSCREEN_ITEM_COUNT, 36 QUICKSCREEN_ITEM_COUNT,
diff --git a/apps/keymaps/keymap-av300.c b/apps/keymaps/keymap-av300.c
index 15fc561f62..7bf5fe1287 100644
--- a/apps/keymaps/keymap-av300.c
+++ b/apps/keymaps/keymap-av300.c
@@ -135,8 +135,8 @@ static const struct button_mapping button_context_yesno[] = {
135 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 135 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
136}; 136};
137static const struct button_mapping button_context_quickscreen[] = { 137static const struct button_mapping button_context_quickscreen[] = {
138 { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, 138 { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
139 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 139 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
140 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, 140 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
141 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 141 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
142 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, 142 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-c100.c b/apps/keymaps/keymap-c100.c
index e40a2df61e..a19549dbd9 100644
--- a/apps/keymaps/keymap-c100.c
+++ b/apps/keymaps/keymap-c100.c
@@ -142,8 +142,8 @@ static const struct button_mapping button_context_yesno[] = {
142 142
143static const struct button_mapping button_context_quickscreen[] = { 143static const struct button_mapping button_context_quickscreen[] = {
144 { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE }, 144 { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE },
145 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE }, 145 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
146 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 146 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
147 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE }, 147 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
148 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 148 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
149 { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, 149 { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-c200.c b/apps/keymaps/keymap-c200.c
index 36345ee4fb..32e5ce5cc0 100644
--- a/apps/keymaps/keymap-c200.c
+++ b/apps/keymaps/keymap-c200.c
@@ -147,8 +147,8 @@ static const struct button_mapping button_context_quickscreen[] = {
147 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 147 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
148 { ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE }, 148 { ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE },
149 149
150 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE }, 150 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
151 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 151 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
152 152
153 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE }, 153 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
154 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 154 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-clip.c b/apps/keymaps/keymap-clip.c
index 7956bbd324..5b45f4fb3d 100644
--- a/apps/keymaps/keymap-clip.c
+++ b/apps/keymaps/keymap-clip.c
@@ -164,8 +164,8 @@ static const struct button_mapping button_context_yesno[] = {
164static const struct button_mapping button_context_quickscreen[] = { 164static const struct button_mapping button_context_quickscreen[] = {
165 { ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE }, 165 { ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE },
166 { ACTION_STD_CANCEL, BUTTON_HOME, BUTTON_NONE }, 166 { ACTION_STD_CANCEL, BUTTON_HOME, BUTTON_NONE },
167 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE }, 167 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
168 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 168 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
169 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE }, 169 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
170 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 170 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
171 { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, 171 { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-creativezv.c b/apps/keymaps/keymap-creativezv.c
index 6004eb2cd2..c75a5b29cd 100644
--- a/apps/keymaps/keymap-creativezv.c
+++ b/apps/keymaps/keymap-creativezv.c
@@ -177,8 +177,8 @@ static const struct button_mapping button_context_time[] = {
177}; /* button_context_time */ 177}; /* button_context_time */
178 178
179static const struct button_mapping button_context_quickscreen[] = { 179static const struct button_mapping button_context_quickscreen[] = {
180 { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, 180 { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
181 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 181 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
182 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, 182 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
183 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 183 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
184 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, 184 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-creativezvm.c b/apps/keymaps/keymap-creativezvm.c
index 8d190f4262..12694bc473 100644
--- a/apps/keymaps/keymap-creativezvm.c
+++ b/apps/keymaps/keymap-creativezvm.c
@@ -176,8 +176,8 @@ static const struct button_mapping button_context_time[] = {
176}; /* button_context_time */ 176}; /* button_context_time */
177 177
178static const struct button_mapping button_context_quickscreen[] = { 178static const struct button_mapping button_context_quickscreen[] = {
179 { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, 179 { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
180 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 180 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
181 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, 181 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
182 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 182 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
183 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, 183 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-e200.c b/apps/keymaps/keymap-e200.c
index 4d5ac65171..86d54b2eb7 100644
--- a/apps/keymaps/keymap-e200.c
+++ b/apps/keymaps/keymap-e200.c
@@ -152,8 +152,8 @@ static const struct button_mapping button_context_yesno[] = {
152static const struct button_mapping button_context_quickscreen[] = { 152static const struct button_mapping button_context_quickscreen[] = {
153 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 153 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
154 { ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE }, 154 { ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE },
155 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE }, 155 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
156 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 156 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
157 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE }, 157 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
158 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 158 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
159 { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, 159 { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-fuze.c b/apps/keymaps/keymap-fuze.c
index b64549b1ba..e44ee518f2 100644
--- a/apps/keymaps/keymap-fuze.c
+++ b/apps/keymaps/keymap-fuze.c
@@ -152,8 +152,8 @@ static const struct button_mapping button_context_quickscreen[] = {
152 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 152 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
153 { ACTION_STD_CANCEL, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, 153 { ACTION_STD_CANCEL, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE },
154 { ACTION_STD_CANCEL, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE }, 154 { ACTION_STD_CANCEL, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE },
155 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE }, 155 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
156 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 156 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
157 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE }, 157 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
158 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 158 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
159 { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, 159 { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-gigabeat-s.c b/apps/keymaps/keymap-gigabeat-s.c
index 5c13bc0efc..4fb7e1b3f1 100644
--- a/apps/keymaps/keymap-gigabeat-s.c
+++ b/apps/keymaps/keymap-gigabeat-s.c
@@ -227,8 +227,8 @@ static const struct button_mapping button_context_time[] = {
227}; /* button_context_time */ 227}; /* button_context_time */
228 228
229static const struct button_mapping button_context_quickscreen[] = { 229static const struct button_mapping button_context_quickscreen[] = {
230 { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, 230 { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
231 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 231 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
232 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, 232 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
233 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 233 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
234 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, 234 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
@@ -422,8 +422,8 @@ static const struct button_mapping remote_button_context_yesno[] = {
422}; /* button_context_settings_yesno */ 422}; /* button_context_settings_yesno */
423 423
424static const struct button_mapping remote_button_context_quickscreen[] = { 424static const struct button_mapping remote_button_context_quickscreen[] = {
425 { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE }, 425 { ACTION_QS_TOP, BUTTON_RC_VOL_UP, BUTTON_NONE },
426 { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 426 { ACTION_QS_TOP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
427 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, 427 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
428 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 428 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
429 { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE }, 429 { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-gigabeat.c b/apps/keymaps/keymap-gigabeat.c
index dbaac6fc49..a1a38a9600 100644
--- a/apps/keymaps/keymap-gigabeat.c
+++ b/apps/keymaps/keymap-gigabeat.c
@@ -215,8 +215,8 @@ static const struct button_mapping button_context_time[] = {
215}; /* button_context_time */ 215}; /* button_context_time */
216 216
217static const struct button_mapping button_context_quickscreen[] = { 217static const struct button_mapping button_context_quickscreen[] = {
218 { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, 218 { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
219 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 219 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
220 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, 220 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
221 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 221 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
222 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, 222 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-h10.c b/apps/keymaps/keymap-h10.c
index 7fef53d55b..ad1ed64c5a 100644
--- a/apps/keymaps/keymap-h10.c
+++ b/apps/keymaps/keymap-h10.c
@@ -207,8 +207,8 @@ static const struct button_mapping button_context_yesno[] = {
207}; /* button_context_settings_yesno */ 207}; /* button_context_settings_yesno */
208 208
209static const struct button_mapping button_context_quickscreen[] = { 209static const struct button_mapping button_context_quickscreen[] = {
210 { ACTION_QS_DOWNINV, BUTTON_SCROLL_UP, BUTTON_NONE }, 210 { ACTION_QS_TOP, BUTTON_SCROLL_UP, BUTTON_NONE },
211 { ACTION_QS_DOWNINV, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE }, 211 { ACTION_QS_TOP, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE },
212 { ACTION_QS_DOWN, BUTTON_SCROLL_DOWN, BUTTON_NONE }, 212 { ACTION_QS_DOWN, BUTTON_SCROLL_DOWN, BUTTON_NONE },
213 { ACTION_QS_DOWN, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 213 { ACTION_QS_DOWN, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
214 { ACTION_QS_LEFT, BUTTON_REW, BUTTON_NONE }, 214 { ACTION_QS_LEFT, BUTTON_REW, BUTTON_NONE },
@@ -220,8 +220,8 @@ static const struct button_mapping button_context_quickscreen[] = {
220}; /* button_context_quickscreen */ 220}; /* button_context_quickscreen */
221 221
222static const struct button_mapping remote_button_context_quickscreen[] = { 222static const struct button_mapping remote_button_context_quickscreen[] = {
223 { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE }, 223 { ACTION_QS_TOP, BUTTON_RC_VOL_UP, BUTTON_NONE },
224 { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 224 { ACTION_QS_TOP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
225 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, 225 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
226 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 226 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
227 { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE }, 227 { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-h1x0_h3x0.c b/apps/keymaps/keymap-h1x0_h3x0.c
index 10139d6356..4e13c7a734 100644
--- a/apps/keymaps/keymap-h1x0_h3x0.c
+++ b/apps/keymaps/keymap-h1x0_h3x0.c
@@ -205,8 +205,8 @@ static const struct button_mapping button_context_time[] = {
205}; /* button_context_settings_bmark */ 205}; /* button_context_settings_bmark */
206 206
207static const struct button_mapping button_context_quickscreen[] = { 207static const struct button_mapping button_context_quickscreen[] = {
208 { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, 208 { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
209 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 209 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
210 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, 210 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
211 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 211 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
212 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, 212 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
@@ -507,8 +507,8 @@ static const struct button_mapping *button_context_bmark_h300lcdremote =
507 button_context_bmark_h100remote; 507 button_context_bmark_h100remote;
508 508
509static const struct button_mapping button_context_quickscreen_nonlcdremote[] = { 509static const struct button_mapping button_context_quickscreen_nonlcdremote[] = {
510 { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE }, 510 { ACTION_QS_TOP, BUTTON_RC_VOL_UP, BUTTON_NONE },
511 { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 511 { ACTION_QS_TOP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
512 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, 512 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
513 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 513 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
514 { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE }, 514 { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE },
@@ -521,8 +521,8 @@ static const struct button_mapping button_context_quickscreen_nonlcdremote[] =
521}; /* button_context_quickscreen */ 521}; /* button_context_quickscreen */
522 522
523static const struct button_mapping button_context_quickscreen_h100lcdremote[] = { 523static const struct button_mapping button_context_quickscreen_h100lcdremote[] = {
524 { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE }, 524 { ACTION_QS_TOP, BUTTON_RC_VOL_UP, BUTTON_NONE },
525 { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 525 { ACTION_QS_TOP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
526 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, 526 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
527 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 527 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
528 { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE }, 528 { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE },
@@ -539,8 +539,8 @@ static const struct button_mapping button_context_quickscreen_h100lcdremote[] =
539}; /* button_context_quickscreen */ 539}; /* button_context_quickscreen */
540 540
541static const struct button_mapping button_context_quickscreen_h300lcdremote[] = { 541static const struct button_mapping button_context_quickscreen_h300lcdremote[] = {
542 { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE }, 542 { ACTION_QS_TOP, BUTTON_RC_VOL_UP, BUTTON_NONE },
543 { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 543 { ACTION_QS_TOP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
544 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, 544 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
545 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 545 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
546 { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE }, 546 { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-hdd1630.c b/apps/keymaps/keymap-hdd1630.c
index 1d1866b4a3..4565c2807b 100644
--- a/apps/keymaps/keymap-hdd1630.c
+++ b/apps/keymaps/keymap-hdd1630.c
@@ -215,8 +215,8 @@ static const struct button_mapping button_context_time[] = {
215}; /* button_context_time */ 215}; /* button_context_time */
216 216
217static const struct button_mapping button_context_quickscreen[] = { 217static const struct button_mapping button_context_quickscreen[] = {
218 { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, 218 { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
219 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 219 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
220 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, 220 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
221 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 221 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
222 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, 222 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-iaudio67.c b/apps/keymaps/keymap-iaudio67.c
index 6679ede293..14bb945527 100644
--- a/apps/keymaps/keymap-iaudio67.c
+++ b/apps/keymaps/keymap-iaudio67.c
@@ -154,8 +154,8 @@ static const struct button_mapping button_context_quickscreen[] = {
154 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 154 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
155 { ACTION_STD_CANCEL, BUTTON_MENU|BUTTON_REL, BUTTON_NONE }, 155 { ACTION_STD_CANCEL, BUTTON_MENU|BUTTON_REL, BUTTON_NONE },
156 156
157 { ACTION_QS_DOWNINV, BUTTON_VOLUP|BUTTON_REL, BUTTON_NONE }, 157 { ACTION_QS_TOP, BUTTON_VOLUP|BUTTON_REL, BUTTON_NONE },
158 { ACTION_QS_DOWNINV, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE }, 158 { ACTION_QS_TOP, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE },
159 159
160 { ACTION_QS_DOWN, BUTTON_VOLDOWN|BUTTON_REL, BUTTON_NONE }, 160 { ACTION_QS_DOWN, BUTTON_VOLDOWN|BUTTON_REL, BUTTON_NONE },
161 { ACTION_QS_DOWN, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE }, 161 { ACTION_QS_DOWN, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-ifp7xx.c b/apps/keymaps/keymap-ifp7xx.c
index 3b09df49fc..23e56e8b6e 100644
--- a/apps/keymaps/keymap-ifp7xx.c
+++ b/apps/keymaps/keymap-ifp7xx.c
@@ -109,8 +109,8 @@ static const struct button_mapping button_context_bmark[] = {
109}; /* button_context_settings_bmark */ 109}; /* button_context_settings_bmark */
110 110
111static const struct button_mapping button_context_quickscreen[] = { 111static const struct button_mapping button_context_quickscreen[] = {
112 { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, 112 { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
113 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 113 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
114 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, 114 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
115 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 115 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
116 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, 116 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-logikdax.c b/apps/keymaps/keymap-logikdax.c
index cda6107b45..95913678d8 100644
--- a/apps/keymaps/keymap-logikdax.c
+++ b/apps/keymaps/keymap-logikdax.c
@@ -147,8 +147,8 @@ static const struct button_mapping button_context_quickscreen[] = {
147 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 147 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
148 { ACTION_STD_CANCEL, BUTTON_MODE|BUTTON_REL, BUTTON_NONE }, 148 { ACTION_STD_CANCEL, BUTTON_MODE|BUTTON_REL, BUTTON_NONE },
149 149
150 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE }, 150 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
151 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 151 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
152 152
153 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE }, 153 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
154 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 154 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-m200.c b/apps/keymaps/keymap-m200.c
index 8a16936525..78a4947b2f 100644
--- a/apps/keymaps/keymap-m200.c
+++ b/apps/keymaps/keymap-m200.c
@@ -165,8 +165,8 @@ static const struct button_mapping button_context_quickscreen[] = {
165 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 165 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
166 { ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE }, 166 { ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE },
167 167
168 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE }, 168 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
169 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 169 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
170 170
171 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE }, 171 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
172 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 172 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-m3.c b/apps/keymaps/keymap-m3.c
index 5bd0f9d258..a8f098b3e3 100644
--- a/apps/keymaps/keymap-m3.c
+++ b/apps/keymaps/keymap-m3.c
@@ -188,8 +188,8 @@ static const struct button_mapping remote_button_context_pitchscreen[] = {
188 188
189/** Quickscreen **/ 189/** Quickscreen **/
190static const struct button_mapping button_context_quickscreen[] = { 190static const struct button_mapping button_context_quickscreen[] = {
191 { ACTION_QS_DOWNINV, BUTTON_VOL_UP, BUTTON_NONE }, 191 { ACTION_QS_TOP, BUTTON_VOL_UP, BUTTON_NONE },
192 { ACTION_QS_DOWNINV, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 192 { ACTION_QS_TOP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
193 { ACTION_QS_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE }, 193 { ACTION_QS_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE },
194 { ACTION_QS_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 194 { ACTION_QS_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
195 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, 195 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
@@ -202,8 +202,8 @@ static const struct button_mapping button_context_quickscreen[] = {
202}; /* button_context_quickscreen */ 202}; /* button_context_quickscreen */
203 203
204static const struct button_mapping remote_button_context_quickscreen[] = { 204static const struct button_mapping remote_button_context_quickscreen[] = {
205 { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE }, 205 { ACTION_QS_TOP, BUTTON_RC_VOL_UP, BUTTON_NONE },
206 { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 206 { ACTION_QS_TOP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
207 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, 207 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
208 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 208 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
209 { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE }, 209 { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-meizu-m6sl.c b/apps/keymaps/keymap-meizu-m6sl.c
index 1d7ca42412..988f8a21fe 100644
--- a/apps/keymaps/keymap-meizu-m6sl.c
+++ b/apps/keymaps/keymap-meizu-m6sl.c
@@ -202,8 +202,8 @@ static const struct button_mapping button_context_time[] = {
202}; /* button_context_time */ 202}; /* button_context_time */
203 203
204static const struct button_mapping button_context_quickscreen[] = { 204static const struct button_mapping button_context_quickscreen[] = {
205 { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, 205 { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
206 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 206 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
207 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, 207 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
208 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 208 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
209 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, 209 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-mr100.c b/apps/keymaps/keymap-mr100.c
index efbbca4d1b..bf9da0de58 100644
--- a/apps/keymaps/keymap-mr100.c
+++ b/apps/keymaps/keymap-mr100.c
@@ -212,8 +212,8 @@ static const struct button_mapping button_context_time[] = {
212}; /* button_context_time */ 212}; /* button_context_time */
213 213
214static const struct button_mapping button_context_quickscreen[] = { 214static const struct button_mapping button_context_quickscreen[] = {
215 { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, 215 { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
216 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 216 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
217 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, 217 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
218 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 218 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
219 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, 219 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-mr500.c b/apps/keymaps/keymap-mr500.c
index b1a3e4aae1..36ffea46de 100644
--- a/apps/keymaps/keymap-mr500.c
+++ b/apps/keymaps/keymap-mr500.c
@@ -164,7 +164,7 @@ static const struct button_mapping button_context_time[] = {
164 164
165static const struct button_mapping button_context_quickscreen[] = { 165static const struct button_mapping button_context_quickscreen[] = {
166 { ACTION_STD_CANCEL, BUTTON_RC_MODE, BUTTON_NONE }, 166 { ACTION_STD_CANCEL, BUTTON_RC_MODE, BUTTON_NONE },
167 { ACTION_QS_DOWNINV, BUTTON_RC_PLAY, BUTTON_NONE }, 167 { ACTION_QS_TOP, BUTTON_RC_PLAY, BUTTON_NONE },
168 { ACTION_QS_DOWN, BUTTON_RC_DOWN, BUTTON_NONE }, 168 { ACTION_QS_DOWN, BUTTON_RC_DOWN, BUTTON_NONE },
169 { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE }, 169 { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE },
170 { ACTION_QS_RIGHT, BUTTON_RC_FF, BUTTON_NONE }, 170 { ACTION_QS_RIGHT, BUTTON_RC_FF, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-recorder.c b/apps/keymaps/keymap-recorder.c
index 60f7f34b6a..6c8ae0460e 100644
--- a/apps/keymaps/keymap-recorder.c
+++ b/apps/keymaps/keymap-recorder.c
@@ -137,8 +137,8 @@ static const struct button_mapping button_context_yesno[] = {
137 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) 137 LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
138}; 138};
139static const struct button_mapping button_context_quickscreen[] = { 139static const struct button_mapping button_context_quickscreen[] = {
140 { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, 140 { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
141 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 141 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
142 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, 142 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
143 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 143 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
144 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, 144 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-sa9200.c b/apps/keymaps/keymap-sa9200.c
index 06e93b085d..3e83932347 100644
--- a/apps/keymaps/keymap-sa9200.c
+++ b/apps/keymaps/keymap-sa9200.c
@@ -203,8 +203,8 @@ static const struct button_mapping button_context_quickscreen[] = {
203 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 203 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
204 { ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE }, 204 { ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE },
205 205
206 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE }, 206 { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
207 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 207 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
208 208
209 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE }, 209 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
210 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 210 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-touchscreen.c b/apps/keymaps/keymap-touchscreen.c
index 0d9595cd1d..dfa4fde39c 100644
--- a/apps/keymaps/keymap-touchscreen.c
+++ b/apps/keymaps/keymap-touchscreen.c
@@ -183,8 +183,8 @@ static const struct button_mapping button_context_time[] = {
183static const struct button_mapping button_context_quickscreen[] = { 183static const struct button_mapping button_context_quickscreen[] = {
184 184
185 { ACTION_STD_CANCEL, BUTTON_CENTER|BUTTON_REL, BUTTON_NONE }, 185 { ACTION_STD_CANCEL, BUTTON_CENTER|BUTTON_REL, BUTTON_NONE },
186 { ACTION_QS_DOWNINV, BUTTON_TOPMIDDLE|BUTTON_REL, BUTTON_NONE }, 186 { ACTION_QS_TOP, BUTTON_TOPMIDDLE|BUTTON_REL, BUTTON_NONE },
187 { ACTION_QS_DOWNINV, BUTTON_TOPMIDDLE|BUTTON_REPEAT, BUTTON_NONE }, 187 { ACTION_QS_TOP, BUTTON_TOPMIDDLE|BUTTON_REPEAT, BUTTON_NONE },
188 { ACTION_QS_DOWN, BUTTON_BOTTOMMIDDLE|BUTTON_REL, BUTTON_NONE }, 188 { ACTION_QS_DOWN, BUTTON_BOTTOMMIDDLE|BUTTON_REL, BUTTON_NONE },
189 { ACTION_QS_DOWN, BUTTON_BOTTOMMIDDLE|BUTTON_REPEAT, BUTTON_NONE }, 189 { ACTION_QS_DOWN, BUTTON_BOTTOMMIDDLE|BUTTON_REPEAT, BUTTON_NONE },
190 { ACTION_QS_LEFT, BUTTON_MIDLEFT|BUTTON_REL, BUTTON_NONE }, 190 { ACTION_QS_LEFT, BUTTON_MIDLEFT|BUTTON_REL, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-x5.c b/apps/keymaps/keymap-x5.c
index 7a7dd9a7c9..8b94118ac1 100644
--- a/apps/keymaps/keymap-x5.c
+++ b/apps/keymaps/keymap-x5.c
@@ -195,8 +195,8 @@ static const struct button_mapping remote_button_context_pitchscreen[] = {
195 195
196/** Quickscreen **/ 196/** Quickscreen **/
197static const struct button_mapping button_context_quickscreen[] = { 197static const struct button_mapping button_context_quickscreen[] = {
198 { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, 198 { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
199 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 199 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
200 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, 200 { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
201 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 201 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
202 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, 202 { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
@@ -209,8 +209,8 @@ static const struct button_mapping button_context_quickscreen[] = {
209}; /* button_context_quickscreen */ 209}; /* button_context_quickscreen */
210 210
211static const struct button_mapping remote_button_context_quickscreen[] = { 211static const struct button_mapping remote_button_context_quickscreen[] = {
212 { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE }, 212 { ACTION_QS_TOP, BUTTON_RC_VOL_UP, BUTTON_NONE },
213 { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE }, 213 { ACTION_QS_TOP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
214 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, 214 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
215 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 215 { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
216 { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE }, 216 { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE },
diff --git a/apps/keymaps/keymap-yh8xx_yh9xx.c b/apps/keymaps/keymap-yh8xx_yh9xx.c
index 2cb7b4b67a..7e65749f52 100755
--- a/apps/keymaps/keymap-yh8xx_yh9xx.c
+++ b/apps/keymaps/keymap-yh8xx_yh9xx.c
@@ -212,8 +212,8 @@ static const struct button_mapping button_context_time[] = {
212 212
213static const struct button_mapping button_context_quickscreen[] = { 213static const struct button_mapping button_context_quickscreen[] = {
214 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, 214 { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
215 { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, 215 { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
216 { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, 216 { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
217 217
218 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE }, 218 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
219 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, 219 { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
diff --git a/apps/lang/deutsch.lang b/apps/lang/deutsch.lang
index 7cd59a5b67..1a9d1e6a65 100644
--- a/apps/lang/deutsch.lang
+++ b/apps/lang/deutsch.lang
@@ -12464,3 +12464,20 @@
12464 swcodec: "Geschwindigkeit" 12464 swcodec: "Geschwindigkeit"
12465 </voice> 12465 </voice>
12466</phrase> 12466</phrase>
12467<phrase>
12468 id: LANG_TOP_QS_ITEM
12469 desc: used for the submenu name for the quickscreen items
12470 user: core
12471 <source>
12472 *: none
12473 quickscreen: "Set as Top Quickscreen Item"
12474 </source>
12475 <dest>
12476 *: none
12477 quickscreen: "Als obere Schnelleinstellung verwenden"
12478 </dest>
12479 <voice>
12480 *: none
12481 quickscreen: "Als obere Schnelleinstellung verwenden"
12482 </voice>
12483</phrase>
diff --git a/apps/lang/english.lang b/apps/lang/english.lang
index 73a3fe9b1b..915c329a39 100644
--- a/apps/lang/english.lang
+++ b/apps/lang/english.lang
@@ -12718,3 +12718,20 @@
12718 swcodec: "Limiter Preamp" 12718 swcodec: "Limiter Preamp"
12719 </voice> 12719 </voice>
12720</phrase> 12720</phrase>
12721<phrase>
12722 id: LANG_TOP_QS_ITEM
12723 desc: used for the submenu name for the quickscreen items
12724 user: core
12725 <source>
12726 *: none
12727 quickscreen: "Set as Top Quickscreen Item"
12728 </source>
12729 <dest>
12730 *: none
12731 quickscreen: "Set as Top Quickscreen Item"
12732 </dest>
12733 <voice>
12734 *: none
12735 quickscreen: "Set as Top Quickscreen Item"
12736 </voice>
12737</phrase>
diff --git a/apps/menu.c b/apps/menu.c
index b442d4423d..1c2df9294c 100644
--- a/apps/menu.c
+++ b/apps/menu.c
@@ -455,6 +455,7 @@ int do_menu(const struct menu_item_ex *start_menu, int *start_selected,
455 MENUITEM_STRINGLIST(quickscreen_able_option, 455 MENUITEM_STRINGLIST(quickscreen_able_option,
456 ID2P(LANG_ONPLAY_MENU_TITLE), NULL, 456 ID2P(LANG_ONPLAY_MENU_TITLE), NULL,
457 ID2P(LANG_RESET_SETTING), 457 ID2P(LANG_RESET_SETTING),
458 ID2P(LANG_TOP_QS_ITEM),
458 ID2P(LANG_LEFT_QS_ITEM), 459 ID2P(LANG_LEFT_QS_ITEM),
459 ID2P(LANG_BOTTOM_QS_ITEM), 460 ID2P(LANG_BOTTOM_QS_ITEM),
460 ID2P(LANG_RIGHT_QS_ITEM)); 461 ID2P(LANG_RIGHT_QS_ITEM));
@@ -481,13 +482,16 @@ int do_menu(const struct menu_item_ex *start_menu, int *start_selected,
481 break; 482 break;
482#ifdef HAVE_QUICKSCREEN 483#ifdef HAVE_QUICKSCREEN
483 break; 484 break;
484 case 1: /* set as left QS item */ 485 case 1: /* set as top QS item */
486 set_as_qs_item(setting, QUICKSCREEN_TOP);
487 break;
488 case 2: /* set as left QS item */
485 set_as_qs_item(setting, QUICKSCREEN_LEFT); 489 set_as_qs_item(setting, QUICKSCREEN_LEFT);
486 break; 490 break;
487 case 2: /* set as bottom QS item */ 491 case 3: /* set as bottom QS item */
488 set_as_qs_item(setting, QUICKSCREEN_BOTTOM); 492 set_as_qs_item(setting, QUICKSCREEN_BOTTOM);
489 break; 493 break;
490 case 3: /* set as right QS item */ 494 case 4: /* set as right QS item */
491 set_as_qs_item(setting, QUICKSCREEN_RIGHT); 495 set_as_qs_item(setting, QUICKSCREEN_RIGHT);
492 break; 496 break;
493#endif 497#endif
diff --git a/apps/settings.h b/apps/settings.h
index bd28b99401..e8ffe91471 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -503,6 +503,7 @@ struct user_settings
503 503
504#ifdef HAVE_QUICKSCREEN 504#ifdef HAVE_QUICKSCREEN
505 /* these are split because settings_list cant handle arrays */ 505 /* these are split because settings_list cant handle arrays */
506 int qs_item_top;
506 int qs_item_left; 507 int qs_item_left;
507 int qs_item_right; 508 int qs_item_right;
508 int qs_item_bottom; 509 int qs_item_bottom;
diff --git a/apps/settings_list.c b/apps/settings_list.c
index 23f07cb24c..db69f6cb9b 100644
--- a/apps/settings_list.c
+++ b/apps/settings_list.c
@@ -1525,6 +1525,10 @@ const struct settings_list settings[] = {
1525 ID2P(LANG_NORMAL), ID2P(LANG_HIGH)), 1525 ID2P(LANG_NORMAL), ID2P(LANG_HIGH)),
1526#endif 1526#endif
1527#ifdef HAVE_QUICKSCREEN 1527#ifdef HAVE_QUICKSCREEN
1528 CUSTOM_SETTING(0, qs_item_top, LANG_TOP_QS_ITEM,
1529 &global_settings.party_mode, "qs top",
1530 qs_load_from_cfg, qs_write_to_cfg,
1531 qs_is_changed, qs_set_default),
1528 CUSTOM_SETTING(0, qs_item_left, LANG_LEFT_QS_ITEM, 1532 CUSTOM_SETTING(0, qs_item_left, LANG_LEFT_QS_ITEM,
1529 &global_settings.playlist_shuffle, "qs left", 1533 &global_settings.playlist_shuffle, "qs left",
1530 qs_load_from_cfg, qs_write_to_cfg, 1534 qs_load_from_cfg, qs_write_to_cfg,