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 {
/* bookmark screen */
ACTION_BMS_DELETE,
- /* alarm menu screen */
-
/* quickscreen */
ACTION_QS_LEFT,
ACTION_QS_RIGHT,
ACTION_QS_DOWN,
- ACTION_QS_DOWNINV, /* why is this not called up?? :p */
+ ACTION_QS_TOP,
/* pitchscreen */
/* 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 @@
#include "talk.h"
#include "list.h"
#include "option_select.h"
+#include "debug.h"
static struct viewport vps[NB_SCREENS][QUICKSCREEN_ITEM_COUNT];
static struct viewport vp_icons[NB_SCREENS];
-/* vp_icons will be used like this:
- the side icons will be aligned to the top of this vp and to their sides
- the bottom icon will be aligned center and at the bottom of this vp */
-
-#define MIN_LINES 4
-#define MAX_NEEDED_LINES 8
-#define CENTER_MARGIN 10 /* pixels between the 2 center items minimum */
-#define CENTER_ICONAREA_WIDTH (CENTER_MARGIN+8*2)
+ /* 1 top, 1 bottom, 2 on either side, 1 for the icons
+ * if enough space, top and bottom have 2 lines */
+#define MIN_LINES 5
+#define MAX_NEEDED_LINES 10
+ /* pixels between the 2 center items minimum or between text and icons,
+ * and between text and parent boundaries */
+#define MARGIN 10
+#define CENTER_ICONAREA_SIZE (MARGIN+8*2)
static void quickscreen_fix_viewports(struct gui_quickscreen *qs,
struct screen *display,
@@ -59,9 +60,8 @@ static void quickscreen_fix_viewports(struct gui_quickscreen *qs,
#else
const int screen = 0;
#endif
-
- int char_height, i, width, pad = 0;
- int left_width, right_width, bottom_lines = 2;
+ int char_height, width, pad = 0;
+ int left_width, right_width, vert_lines;
unsigned char *s;
int nb_lines = viewport_get_nb_lines(parent);
@@ -75,43 +75,57 @@ static void quickscreen_fix_viewports(struct gui_quickscreen *qs,
/* center the icons VP first */
vp_icons[screen] = *parent;
- vp_icons[screen].width = CENTER_ICONAREA_WIDTH; /* absolute smallest allowed */
- vp_icons[screen].x = parent->x + (parent->width / 2 - CENTER_ICONAREA_WIDTH / 2);
+ vp_icons[screen].width = CENTER_ICONAREA_SIZE; /* abosulte smallest allowed */
+ vp_icons[screen].x = parent->x;
+ vp_icons[screen].x += (parent->width-CENTER_ICONAREA_SIZE)/2;
+
vps[screen][QUICKSCREEN_BOTTOM] = *parent;
- if (nb_lines <= MIN_LINES) /* make the bottom item use 1 line */
- bottom_lines = 1;
+ vps[screen][QUICKSCREEN_TOP] = *parent;
+ /* depending on the space the top/buttom items use 1 or 2 lines */
+ if (nb_lines < MIN_LINES)
+ vert_lines = 1;
else
- bottom_lines = 2;
- vps[screen][QUICKSCREEN_BOTTOM].height = bottom_lines*char_height;
- vps[screen][QUICKSCREEN_BOTTOM].y =
- parent->y + parent->height - bottom_lines*char_height;
+ vert_lines = 2;
+ vps[screen][QUICKSCREEN_TOP].y = parent->y;
+ vps[screen][QUICKSCREEN_TOP].height = vps[screen][QUICKSCREEN_BOTTOM].height
+ = vert_lines*char_height;
+ vps[screen][QUICKSCREEN_BOTTOM].y
+ = parent->y + parent->height - vps[screen][QUICKSCREEN_BOTTOM].height;
+
+ /* enough space vertically, so put a nice margin */
if (nb_lines >= MAX_NEEDED_LINES)
{
- vps[screen][QUICKSCREEN_BOTTOM].y -= char_height;
+ vps[screen][QUICKSCREEN_TOP].y += MARGIN;
+ vps[screen][QUICKSCREEN_BOTTOM].y -= MARGIN;
}
+ vp_icons[screen].y = vps[screen][QUICKSCREEN_TOP].y
+ + vps[screen][QUICKSCREEN_TOP].height;
+ vp_icons[screen].height = parent->height - vp_icons[screen].y;
+ vp_icons[screen].height -= parent->height - vps[screen][QUICKSCREEN_BOTTOM].y;
+
/* adjust the left/right items widths to fit the screen nicely */
s = P2STR(ID2P(qs->items[QUICKSCREEN_LEFT]->lang_id));
left_width = display->getstringsize(s, NULL, NULL);
s = P2STR(ID2P(qs->items[QUICKSCREEN_RIGHT]->lang_id));
right_width = display->getstringsize(s, NULL, NULL);
- nb_lines -= bottom_lines;
-
+
width = MAX(left_width, right_width);
if (width*2 + vp_icons[screen].width > display->lcdwidth)
width = (display->lcdwidth - vp_icons[screen].width)/2;
else /* add more gap in icons vp */
{
int excess = display->lcdwidth - vp_icons[screen].width - width*2;
- if (excess > CENTER_MARGIN*4)
+ if (excess > MARGIN*4)
{
- pad = CENTER_MARGIN;
- excess -= CENTER_MARGIN*2;
+ pad = MARGIN;
+ excess -= MARGIN*2;
}
vp_icons[screen].x -= excess/2;
vp_icons[screen].width += excess;
}
+
vps[screen][QUICKSCREEN_LEFT] = *parent;
vps[screen][QUICKSCREEN_LEFT].x = parent->x + pad;
vps[screen][QUICKSCREEN_LEFT].width = width;
@@ -119,32 +133,25 @@ static void quickscreen_fix_viewports(struct gui_quickscreen *qs,
vps[screen][QUICKSCREEN_RIGHT] = *parent;
vps[screen][QUICKSCREEN_RIGHT].x = parent->x + parent->width - width - pad;
vps[screen][QUICKSCREEN_RIGHT].width = width;
-
+
+ vps[screen][QUICKSCREEN_LEFT].height = vps[screen][QUICKSCREEN_RIGHT].height
+ = 2*char_height;
+
+ vps[screen][QUICKSCREEN_LEFT].y = vps[screen][QUICKSCREEN_RIGHT].y
+ = parent->y + (parent->height/2) - char_height;
+
/* shrink the icons vp by a few pixels if there is room so the arrows
aren't drawn right next to the text */
- if (vp_icons[screen].width > CENTER_ICONAREA_WIDTH+8)
+ if (vp_icons[screen].width > CENTER_ICONAREA_SIZE*2)
{
- vp_icons[screen].width -= 8;
- vp_icons[screen].x += 4;
+ vp_icons[screen].width -= CENTER_ICONAREA_SIZE*2/3;
+ vp_icons[screen].x += CENTER_ICONAREA_SIZE*2/6;
+ }
+ if (vp_icons[screen].height > CENTER_ICONAREA_SIZE*2)
+ {
+ vp_icons[screen].height -= CENTER_ICONAREA_SIZE*2/3;
+ vp_icons[screen].y += CENTER_ICONAREA_SIZE*2/6;
}
-
-
- if (nb_lines <= MIN_LINES)
- i = 0;
- else
- i = nb_lines/2;
- vps[screen][QUICKSCREEN_LEFT].y = parent->y + (i*char_height);
- vps[screen][QUICKSCREEN_RIGHT].y = parent->y + (i*char_height);
- if (nb_lines >= 3)
- i = 3*char_height;
- else
- i = nb_lines*char_height;
-
- vps[screen][QUICKSCREEN_LEFT].height = i;
- vps[screen][QUICKSCREEN_RIGHT].height = i;
- vp_icons[screen].y = vps[screen][QUICKSCREEN_LEFT].y + (char_height/2);
- vp_icons[screen].height =
- vps[screen][QUICKSCREEN_BOTTOM].y - vp_icons[screen].y;
}
static 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,
line = 1;
switch (item)
{
+ case QUICKSCREEN_TOP:
case QUICKSCREEN_BOTTOM:
x = (vp->width - w)/2;
break;
@@ -219,13 +227,18 @@ static void gui_quickscreen_draw(struct gui_quickscreen *qs,
}
/* draw the icons */
display->set_viewport(&vp_icons[screen]);
+
+ display->mono_bitmap(bitmap_icons_7x8[Icon_UpArrow],
+ (vp_icons[screen].width/2) - 4, 0, 7, 8);
display->mono_bitmap(bitmap_icons_7x8[Icon_FastForward],
- vp_icons[screen].width - 8, 0, 7, 8);
- display->mono_bitmap(bitmap_icons_7x8[Icon_FastBackward], 0, 0, 7, 8);
+ vp_icons[screen].width - 8,
+ (vp_icons[screen].height/2) - 4, 7, 8);
+ display->mono_bitmap(bitmap_icons_7x8[Icon_FastBackward], 0,
+ (vp_icons[screen].height/2) - 4, 7, 8);
+
display->mono_bitmap(bitmap_icons_7x8[Icon_DownArrow],
(vp_icons[screen].width/2) - 4,
- vp_icons[screen].height - 7, 7, 8);
- display->update_viewport();
+ vp_icons[screen].height - 8, 7, 8);
display->set_viewport(parent);
display->update_viewport();
@@ -254,12 +267,15 @@ static bool gui_quickscreen_do_button(struct gui_quickscreen * qs, int button)
bool invert = false;
switch(button)
{
+ case ACTION_QS_TOP:
+ invert = true;
+ item = QUICKSCREEN_TOP;
+ break;
case ACTION_QS_LEFT:
+ invert = true;
item = QUICKSCREEN_LEFT;
break;
- case ACTION_QS_DOWNINV:
- invert = true; /* fallthrough */
case ACTION_QS_DOWN:
item = QUICKSCREEN_BOTTOM;
break;
@@ -367,6 +383,9 @@ bool quick_screen_quick(int button_enter)
bool oldshuffle = global_settings.playlist_shuffle;
int oldrepeat = global_settings.repeat_mode;
+ qs.items[QUICKSCREEN_TOP] =
+ get_setting(global_settings.qs_item_top,
+ find_setting(&global_settings.party_mode, NULL));
qs.items[QUICKSCREEN_LEFT] =
get_setting(global_settings.qs_item_left,
find_setting(&global_settings.playlist_shuffle, NULL));
@@ -452,6 +471,9 @@ void set_as_qs_item(const struct settings_list *setting,
}
switch (item)
{
+ case QUICKSCREEN_TOP:
+ global_settings.qs_item_top = i;
+ break;
case QUICKSCREEN_LEFT:
global_settings.qs_item_left = i;
break;
@@ -461,7 +483,7 @@ void set_as_qs_item(const struct settings_list *setting,
case QUICKSCREEN_BOTTOM:
global_settings.qs_item_bottom = i;
break;
- default: /* shut the copiler up */
+ default: /* shut the compiler up */
break;
}
}
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 @@
#include "screen_access.h"
enum quickscreen_item {
- QUICKSCREEN_LEFT = 0,
+ QUICKSCREEN_TOP = 0,
+ QUICKSCREEN_LEFT,
QUICKSCREEN_RIGHT,
QUICKSCREEN_BOTTOM,
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[] = {
LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
};
static const struct button_mapping button_context_quickscreen[] = {
- { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
{ ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
{ 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[] = {
static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_HOME, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
}; /* button_context_time */
static const struct button_mapping button_context_quickscreen[] = {
- { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
}; /* button_context_time */
static const struct button_mapping button_context_quickscreen[] = {
- { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
{ ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
}; /* button_context_time */
static const struct button_mapping button_context_quickscreen[] = {
- { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
@@ -422,8 +422,8 @@ static const struct button_mapping remote_button_context_yesno[] = {
}; /* button_context_settings_yesno */
static const struct button_mapping remote_button_context_quickscreen[] = {
- { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_RC_VOL_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
}; /* button_context_time */
static const struct button_mapping button_context_quickscreen[] = {
- { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
}; /* button_context_settings_yesno */
static const struct button_mapping button_context_quickscreen[] = {
- { ACTION_QS_DOWNINV, BUTTON_SCROLL_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_SCROLL_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_SCROLL_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_SCROLL_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_REW, BUTTON_NONE },
@@ -220,8 +220,8 @@ static const struct button_mapping button_context_quickscreen[] = {
}; /* button_context_quickscreen */
static const struct button_mapping remote_button_context_quickscreen[] = {
- { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_RC_VOL_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
}; /* button_context_settings_bmark */
static const struct button_mapping button_context_quickscreen[] = {
- { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
@@ -507,8 +507,8 @@ static const struct button_mapping *button_context_bmark_h300lcdremote =
button_context_bmark_h100remote;
static const struct button_mapping button_context_quickscreen_nonlcdremote[] = {
- { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_RC_VOL_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE },
@@ -521,8 +521,8 @@ static const struct button_mapping button_context_quickscreen_nonlcdremote[] =
}; /* button_context_quickscreen */
static const struct button_mapping button_context_quickscreen_h100lcdremote[] = {
- { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_RC_VOL_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE },
@@ -539,8 +539,8 @@ static const struct button_mapping button_context_quickscreen_h100lcdremote[] =
}; /* button_context_quickscreen */
static const struct button_mapping button_context_quickscreen_h300lcdremote[] = {
- { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_RC_VOL_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
}; /* button_context_time */
static const struct button_mapping button_context_quickscreen[] = {
- { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
{ ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_MENU|BUTTON_REL, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_VOLUP|BUTTON_REL, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_VOLUP|BUTTON_REL, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_VOLUP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_VOLDOWN|BUTTON_REL, BUTTON_NONE },
{ 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[] = {
}; /* button_context_settings_bmark */
static const struct button_mapping button_context_quickscreen[] = {
- { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
{ ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_MODE|BUTTON_REL, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
{ 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[] = {
{ ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
{ 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[] = {
/** Quickscreen **/
static const struct button_mapping button_context_quickscreen[] = {
- { ACTION_QS_DOWNINV, BUTTON_VOL_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_VOL_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_VOL_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
@@ -202,8 +202,8 @@ static const struct button_mapping button_context_quickscreen[] = {
}; /* button_context_quickscreen */
static const struct button_mapping remote_button_context_quickscreen[] = {
- { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_RC_VOL_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
}; /* button_context_time */
static const struct button_mapping button_context_quickscreen[] = {
- { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
}; /* button_context_time */
static const struct button_mapping button_context_quickscreen[] = {
- { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_STD_CANCEL, BUTTON_RC_MODE, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_RC_PLAY, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_RC_PLAY, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_DOWN, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE },
{ 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[] = {
LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
};
static const struct button_mapping button_context_quickscreen[] = {
- { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
{ ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
{ 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[] = {
static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_STD_CANCEL, BUTTON_CENTER|BUTTON_REL, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_TOPMIDDLE|BUTTON_REL, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_TOPMIDDLE|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_TOPMIDDLE|BUTTON_REL, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_TOPMIDDLE|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_BOTTOMMIDDLE|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_BOTTOMMIDDLE|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
/** Quickscreen **/
static const struct button_mapping button_context_quickscreen[] = {
- { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
@@ -209,8 +209,8 @@ static const struct button_mapping button_context_quickscreen[] = {
}; /* button_context_quickscreen */
static const struct button_mapping remote_button_context_quickscreen[] = {
- { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_RC_VOL_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_RC_VOL_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ 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[] = {
static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE },
- { ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
+ { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REL, BUTTON_NONE },
{ 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 @@
swcodec: "Geschwindigkeit"
+
+ id: LANG_TOP_QS_ITEM
+ desc: used for the submenu name for the quickscreen items
+ user: core
+
+ *: none
+ quickscreen: "Set as Top Quickscreen Item"
+
+
+ *: none
+ quickscreen: "Als obere Schnelleinstellung verwenden"
+
+
+ *: none
+ quickscreen: "Als obere Schnelleinstellung verwenden"
+
+
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 @@
swcodec: "Limiter Preamp"
+
+ id: LANG_TOP_QS_ITEM
+ desc: used for the submenu name for the quickscreen items
+ user: core
+
+ *: none
+ quickscreen: "Set as Top Quickscreen Item"
+
+
+ *: none
+ quickscreen: "Set as Top Quickscreen Item"
+
+
+ *: none
+ quickscreen: "Set as Top Quickscreen Item"
+
+
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,
MENUITEM_STRINGLIST(quickscreen_able_option,
ID2P(LANG_ONPLAY_MENU_TITLE), NULL,
ID2P(LANG_RESET_SETTING),
+ ID2P(LANG_TOP_QS_ITEM),
ID2P(LANG_LEFT_QS_ITEM),
ID2P(LANG_BOTTOM_QS_ITEM),
ID2P(LANG_RIGHT_QS_ITEM));
@@ -481,13 +482,16 @@ int do_menu(const struct menu_item_ex *start_menu, int *start_selected,
break;
#ifdef HAVE_QUICKSCREEN
break;
- case 1: /* set as left QS item */
+ case 1: /* set as top QS item */
+ set_as_qs_item(setting, QUICKSCREEN_TOP);
+ break;
+ case 2: /* set as left QS item */
set_as_qs_item(setting, QUICKSCREEN_LEFT);
break;
- case 2: /* set as bottom QS item */
+ case 3: /* set as bottom QS item */
set_as_qs_item(setting, QUICKSCREEN_BOTTOM);
break;
- case 3: /* set as right QS item */
+ case 4: /* set as right QS item */
set_as_qs_item(setting, QUICKSCREEN_RIGHT);
break;
#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
#ifdef HAVE_QUICKSCREEN
/* these are split because settings_list cant handle arrays */
+ int qs_item_top;
int qs_item_left;
int qs_item_right;
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[] = {
ID2P(LANG_NORMAL), ID2P(LANG_HIGH)),
#endif
#ifdef HAVE_QUICKSCREEN
+ CUSTOM_SETTING(0, qs_item_top, LANG_TOP_QS_ITEM,
+ &global_settings.party_mode, "qs top",
+ qs_load_from_cfg, qs_write_to_cfg,
+ qs_is_changed, qs_set_default),
CUSTOM_SETTING(0, qs_item_left, LANG_LEFT_QS_ITEM,
&global_settings.playlist_shuffle, "qs left",
qs_load_from_cfg, qs_write_to_cfg,