Quickscreen: 4th item

This adds a 4th top item to the quickscreen. It's as configurable as the existing three items.
This patch goes along with optimisations for small screens for better displaying of all four items. 14px font is very usable on a 64px height display for example.
Left and Top items go through the items in the opposite direction, so that you can mirror a setting and toggle through it in both directions.
Default item is party mode, as it's target independant.

Flyspray: FS#9706

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22532 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Thomas Martitz 2009-08-29 14:42:03 +00:00
parent 5226a89cce
commit e454a39852
34 changed files with 190 additions and 126 deletions

View file

@ -191,13 +191,11 @@ enum {
/* bookmark screen */ /* bookmark screen */
ACTION_BMS_DELETE, ACTION_BMS_DELETE,
/* alarm menu screen */
/* quickscreen */ /* quickscreen */
ACTION_QS_LEFT, ACTION_QS_LEFT,
ACTION_QS_RIGHT, ACTION_QS_RIGHT,
ACTION_QS_DOWN, ACTION_QS_DOWN,
ACTION_QS_DOWNINV, /* why is this not called up?? :p */ ACTION_QS_TOP,
/* pitchscreen */ /* pitchscreen */
/* obviously ignore if you dont have thise screen */ /* obviously ignore if you dont have thise screen */

View file

@ -38,17 +38,18 @@
#include "talk.h" #include "talk.h"
#include "list.h" #include "list.h"
#include "option_select.h" #include "option_select.h"
#include "debug.h"
static struct viewport vps[NB_SCREENS][QUICKSCREEN_ITEM_COUNT]; static struct viewport vps[NB_SCREENS][QUICKSCREEN_ITEM_COUNT];
static struct viewport vp_icons[NB_SCREENS]; static struct viewport vp_icons[NB_SCREENS];
/* vp_icons will be used like this: /* 1 top, 1 bottom, 2 on either side, 1 for the icons
the side icons will be aligned to the top of this vp and to their sides * if enough space, top and bottom have 2 lines */
the bottom icon will be aligned center and at the bottom of this vp */ #define MIN_LINES 5
#define MAX_NEEDED_LINES 10
#define MIN_LINES 4 /* pixels between the 2 center items minimum or between text and icons,
#define MAX_NEEDED_LINES 8 * and between text and parent boundaries */
#define CENTER_MARGIN 10 /* pixels between the 2 center items minimum */ #define MARGIN 10
#define CENTER_ICONAREA_WIDTH (CENTER_MARGIN+8*2) #define CENTER_ICONAREA_SIZE (MARGIN+8*2)
static void quickscreen_fix_viewports(struct gui_quickscreen *qs, static void quickscreen_fix_viewports(struct gui_quickscreen *qs,
struct screen *display, struct screen *display,
@ -59,9 +60,8 @@ static void quickscreen_fix_viewports(struct gui_quickscreen *qs,
#else #else
const int screen = 0; const int screen = 0;
#endif #endif
int char_height, width, pad = 0;
int char_height, i, width, pad = 0; int left_width, right_width, vert_lines;
int left_width, right_width, bottom_lines = 2;
unsigned char *s; unsigned char *s;
int nb_lines = viewport_get_nb_lines(parent); 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 */ /* center the icons VP first */
vp_icons[screen] = *parent; vp_icons[screen] = *parent;
vp_icons[screen].width = CENTER_ICONAREA_WIDTH; /* absolute smallest allowed */ vp_icons[screen].width = CENTER_ICONAREA_SIZE; /* abosulte smallest allowed */
vp_icons[screen].x = parent->x + (parent->width / 2 - CENTER_ICONAREA_WIDTH / 2); vp_icons[screen].x = parent->x;
vp_icons[screen].x += (parent->width-CENTER_ICONAREA_SIZE)/2;
vps[screen][QUICKSCREEN_BOTTOM] = *parent; vps[screen][QUICKSCREEN_BOTTOM] = *parent;
if (nb_lines <= MIN_LINES) /* make the bottom item use 1 line */ vps[screen][QUICKSCREEN_TOP] = *parent;
bottom_lines = 1; /* depending on the space the top/buttom items use 1 or 2 lines */
if (nb_lines < MIN_LINES)
vert_lines = 1;
else else
bottom_lines = 2; vert_lines = 2;
vps[screen][QUICKSCREEN_BOTTOM].height = bottom_lines*char_height; vps[screen][QUICKSCREEN_TOP].y = parent->y;
vps[screen][QUICKSCREEN_BOTTOM].y = vps[screen][QUICKSCREEN_TOP].height = vps[screen][QUICKSCREEN_BOTTOM].height
parent->y + parent->height - bottom_lines*char_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) 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 */ /* adjust the left/right items widths to fit the screen nicely */
s = P2STR(ID2P(qs->items[QUICKSCREEN_LEFT]->lang_id)); s = P2STR(ID2P(qs->items[QUICKSCREEN_LEFT]->lang_id));
left_width = display->getstringsize(s, NULL, NULL); left_width = display->getstringsize(s, NULL, NULL);
s = P2STR(ID2P(qs->items[QUICKSCREEN_RIGHT]->lang_id)); s = P2STR(ID2P(qs->items[QUICKSCREEN_RIGHT]->lang_id));
right_width = display->getstringsize(s, NULL, NULL); right_width = display->getstringsize(s, NULL, NULL);
nb_lines -= bottom_lines;
width = MAX(left_width, right_width); width = MAX(left_width, right_width);
if (width*2 + vp_icons[screen].width > display->lcdwidth) if (width*2 + vp_icons[screen].width > display->lcdwidth)
width = (display->lcdwidth - vp_icons[screen].width)/2; width = (display->lcdwidth - vp_icons[screen].width)/2;
else /* add more gap in icons vp */ else /* add more gap in icons vp */
{ {
int excess = display->lcdwidth - vp_icons[screen].width - width*2; int excess = display->lcdwidth - vp_icons[screen].width - width*2;
if (excess > CENTER_MARGIN*4) if (excess > MARGIN*4)
{ {
pad = CENTER_MARGIN; pad = MARGIN;
excess -= CENTER_MARGIN*2; excess -= MARGIN*2;
} }
vp_icons[screen].x -= excess/2; vp_icons[screen].x -= excess/2;
vp_icons[screen].width += excess; vp_icons[screen].width += excess;
} }
vps[screen][QUICKSCREEN_LEFT] = *parent; vps[screen][QUICKSCREEN_LEFT] = *parent;
vps[screen][QUICKSCREEN_LEFT].x = parent->x + pad; vps[screen][QUICKSCREEN_LEFT].x = parent->x + pad;
vps[screen][QUICKSCREEN_LEFT].width = width; 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] = *parent;
vps[screen][QUICKSCREEN_RIGHT].x = parent->x + parent->width - width - pad; vps[screen][QUICKSCREEN_RIGHT].x = parent->x + parent->width - width - pad;
vps[screen][QUICKSCREEN_RIGHT].width = width; 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 /* shrink the icons vp by a few pixels if there is room so the arrows
aren't drawn right next to the text */ 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].width -= CENTER_ICONAREA_SIZE*2/3;
vp_icons[screen].x += 4; 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, 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; line = 1;
switch (item) switch (item)
{ {
case QUICKSCREEN_TOP:
case QUICKSCREEN_BOTTOM: case QUICKSCREEN_BOTTOM:
x = (vp->width - w)/2; x = (vp->width - w)/2;
break; break;
@ -219,13 +227,18 @@ static void gui_quickscreen_draw(struct gui_quickscreen *qs,
} }
/* draw the icons */ /* draw the icons */
display->set_viewport(&vp_icons[screen]); 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], display->mono_bitmap(bitmap_icons_7x8[Icon_FastForward],
vp_icons[screen].width - 8, 0, 7, 8); vp_icons[screen].width - 8,
display->mono_bitmap(bitmap_icons_7x8[Icon_FastBackward], 0, 0, 7, 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], display->mono_bitmap(bitmap_icons_7x8[Icon_DownArrow],
(vp_icons[screen].width/2) - 4, (vp_icons[screen].width/2) - 4,
vp_icons[screen].height - 7, 7, 8); vp_icons[screen].height - 8, 7, 8);
display->update_viewport();
display->set_viewport(parent); display->set_viewport(parent);
display->update_viewport(); display->update_viewport();
@ -254,12 +267,15 @@ static bool gui_quickscreen_do_button(struct gui_quickscreen * qs, int button)
bool invert = false; bool invert = false;
switch(button) switch(button)
{ {
case ACTION_QS_TOP:
invert = true;
item = QUICKSCREEN_TOP;
break;
case ACTION_QS_LEFT: case ACTION_QS_LEFT:
invert = true;
item = QUICKSCREEN_LEFT; item = QUICKSCREEN_LEFT;
break; break;
case ACTION_QS_DOWNINV:
invert = true; /* fallthrough */
case ACTION_QS_DOWN: case ACTION_QS_DOWN:
item = QUICKSCREEN_BOTTOM; item = QUICKSCREEN_BOTTOM;
break; break;
@ -367,6 +383,9 @@ bool quick_screen_quick(int button_enter)
bool oldshuffle = global_settings.playlist_shuffle; bool oldshuffle = global_settings.playlist_shuffle;
int oldrepeat = global_settings.repeat_mode; 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] = qs.items[QUICKSCREEN_LEFT] =
get_setting(global_settings.qs_item_left, get_setting(global_settings.qs_item_left,
find_setting(&global_settings.playlist_shuffle, NULL)); find_setting(&global_settings.playlist_shuffle, NULL));
@ -452,6 +471,9 @@ void set_as_qs_item(const struct settings_list *setting,
} }
switch (item) switch (item)
{ {
case QUICKSCREEN_TOP:
global_settings.qs_item_top = i;
break;
case QUICKSCREEN_LEFT: case QUICKSCREEN_LEFT:
global_settings.qs_item_left = i; global_settings.qs_item_left = i;
break; break;
@ -461,7 +483,7 @@ void set_as_qs_item(const struct settings_list *setting,
case QUICKSCREEN_BOTTOM: case QUICKSCREEN_BOTTOM:
global_settings.qs_item_bottom = i; global_settings.qs_item_bottom = i;
break; break;
default: /* shut the copiler up */ default: /* shut the compiler up */
break; break;
} }
} }

View file

@ -29,7 +29,8 @@
#include "screen_access.h" #include "screen_access.h"
enum quickscreen_item { enum quickscreen_item {
QUICKSCREEN_LEFT = 0, QUICKSCREEN_TOP = 0,
QUICKSCREEN_LEFT,
QUICKSCREEN_RIGHT, QUICKSCREEN_RIGHT,
QUICKSCREEN_BOTTOM, QUICKSCREEN_BOTTOM,
QUICKSCREEN_ITEM_COUNT, QUICKSCREEN_ITEM_COUNT,

View file

@ -135,8 +135,8 @@ static const struct button_mapping button_context_yesno[] = {
LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
}; };
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },

View file

@ -142,8 +142,8 @@ static const struct button_mapping button_context_yesno[] = {
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE }, { ACTION_STD_CANCEL, BUTTON_POWER, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, 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_REL, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE },

View file

@ -147,8 +147,8 @@ static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE }, { ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, 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_REL, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },

View file

@ -164,8 +164,8 @@ static const struct button_mapping button_context_yesno[] = {
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE }, { ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_HOME, BUTTON_NONE }, { ACTION_STD_CANCEL, BUTTON_HOME, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, 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_REL, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE },

View file

@ -177,8 +177,8 @@ static const struct button_mapping button_context_time[] = {
}; /* button_context_time */ }; /* button_context_time */
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },

View file

@ -176,8 +176,8 @@ static const struct button_mapping button_context_time[] = {
}; /* button_context_time */ }; /* button_context_time */
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },

View file

@ -152,8 +152,8 @@ static const struct button_mapping button_context_yesno[] = {
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE }, { ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, 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_REL, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE },

View file

@ -152,8 +152,8 @@ static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE }, { ACTION_STD_CANCEL, BUTTON_SELECT|BUTTON_REL, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_STD_CANCEL, BUTTON_HOME|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, 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_REL, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_LEFT|BUTTON_REL, BUTTON_NONE },

View file

@ -227,8 +227,8 @@ static const struct button_mapping button_context_time[] = {
}; /* button_context_time */ }; /* button_context_time */
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT, 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 */ }; /* button_context_settings_yesno */
static const struct button_mapping remote_button_context_quickscreen[] = { static const struct button_mapping remote_button_context_quickscreen[] = {
{ ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE }, { ACTION_QS_TOP, 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_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE },

View file

@ -215,8 +215,8 @@ static const struct button_mapping button_context_time[] = {
}; /* button_context_time */ }; /* button_context_time */
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },

View file

@ -207,8 +207,8 @@ static const struct button_mapping button_context_yesno[] = {
}; /* button_context_settings_yesno */ }; /* button_context_settings_yesno */
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_QS_DOWNINV, BUTTON_SCROLL_UP, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_SCROLL_UP, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_SCROLL_UP|BUTTON_REPEAT, 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_NONE },
{ ACTION_QS_DOWN, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_SCROLL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_REW, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_REW, BUTTON_NONE },
@ -220,8 +220,8 @@ static const struct button_mapping button_context_quickscreen[] = {
}; /* button_context_quickscreen */ }; /* button_context_quickscreen */
static const struct button_mapping remote_button_context_quickscreen[] = { static const struct button_mapping remote_button_context_quickscreen[] = {
{ ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE }, { ACTION_QS_TOP, 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_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE },

View file

@ -205,8 +205,8 @@ static const struct button_mapping button_context_time[] = {
}; /* button_context_settings_bmark */ }; /* button_context_settings_bmark */
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT, 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; button_context_bmark_h100remote;
static const struct button_mapping button_context_quickscreen_nonlcdremote[] = { static const struct button_mapping button_context_quickscreen_nonlcdremote[] = {
{ ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE }, { ACTION_QS_TOP, 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_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_RC_REW, 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 */ }; /* button_context_quickscreen */
static const struct button_mapping button_context_quickscreen_h100lcdremote[] = { static const struct button_mapping button_context_quickscreen_h100lcdremote[] = {
{ ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE }, { ACTION_QS_TOP, 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_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_RC_REW, 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 */ }; /* button_context_quickscreen */
static const struct button_mapping button_context_quickscreen_h300lcdremote[] = { static const struct button_mapping button_context_quickscreen_h300lcdremote[] = {
{ ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE }, { ACTION_QS_TOP, 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_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE },

View file

@ -215,8 +215,8 @@ static const struct button_mapping button_context_time[] = {
}; /* button_context_time */ }; /* button_context_time */
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },

View file

@ -154,8 +154,8 @@ static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_MENU|BUTTON_REL, BUTTON_NONE }, { ACTION_STD_CANCEL, BUTTON_MENU|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_VOLUP|BUTTON_REL, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_VOLUP|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_VOLUP|BUTTON_REPEAT, 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_REL, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_VOLDOWN|BUTTON_REPEAT, BUTTON_NONE },

View file

@ -109,8 +109,8 @@ static const struct button_mapping button_context_bmark[] = {
}; /* button_context_settings_bmark */ }; /* button_context_settings_bmark */
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },

View file

@ -147,8 +147,8 @@ static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_MODE|BUTTON_REL, BUTTON_NONE }, { ACTION_STD_CANCEL, BUTTON_MODE|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, 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_REL, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },

View file

@ -165,8 +165,8 @@ static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE }, { ACTION_STD_CANCEL, BUTTON_POWER|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, 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_REL, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },

View file

@ -188,8 +188,8 @@ static const struct button_mapping remote_button_context_pitchscreen[] = {
/** Quickscreen **/ /** Quickscreen **/
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_QS_DOWNINV, BUTTON_VOL_UP, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_VOL_UP, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_VOL_UP|BUTTON_REPEAT, 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_NONE },
{ ACTION_QS_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
@ -202,8 +202,8 @@ static const struct button_mapping button_context_quickscreen[] = {
}; /* button_context_quickscreen */ }; /* button_context_quickscreen */
static const struct button_mapping remote_button_context_quickscreen[] = { static const struct button_mapping remote_button_context_quickscreen[] = {
{ ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE }, { ACTION_QS_TOP, 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_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE },

View file

@ -202,8 +202,8 @@ static const struct button_mapping button_context_time[] = {
}; /* button_context_time */ }; /* button_context_time */
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },

View file

@ -212,8 +212,8 @@ static const struct button_mapping button_context_time[] = {
}; /* button_context_time */ }; /* button_context_time */
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },

View file

@ -164,7 +164,7 @@ static const struct button_mapping button_context_time[] = {
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_STD_CANCEL, BUTTON_RC_MODE, BUTTON_NONE }, { 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_DOWN, BUTTON_RC_DOWN, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE },
{ ACTION_QS_RIGHT, BUTTON_RC_FF, BUTTON_NONE }, { ACTION_QS_RIGHT, BUTTON_RC_FF, BUTTON_NONE },

View file

@ -137,8 +137,8 @@ static const struct button_mapping button_context_yesno[] = {
LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD) LAST_ITEM_IN_LIST__NEXTLIST(CONTEXT_STD)
}; };
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },

View file

@ -203,8 +203,8 @@ static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
{ ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE }, { ACTION_STD_CANCEL, BUTTON_MENU, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REL, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, 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_REL, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },

View file

@ -183,8 +183,8 @@ static const struct button_mapping button_context_time[] = {
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_STD_CANCEL, BUTTON_CENTER|BUTTON_REL, BUTTON_NONE }, { ACTION_STD_CANCEL, BUTTON_CENTER|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_TOPMIDDLE|BUTTON_REL, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_TOPMIDDLE|BUTTON_REL, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_TOPMIDDLE|BUTTON_REPEAT, 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_REL, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_BOTTOMMIDDLE|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_BOTTOMMIDDLE|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_MIDLEFT|BUTTON_REL, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_MIDLEFT|BUTTON_REL, BUTTON_NONE },

View file

@ -195,8 +195,8 @@ static const struct button_mapping remote_button_context_pitchscreen[] = {
/** Quickscreen **/ /** Quickscreen **/
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_LEFT, BUTTON_NONE },
@ -209,8 +209,8 @@ static const struct button_mapping button_context_quickscreen[] = {
}; /* button_context_quickscreen */ }; /* button_context_quickscreen */
static const struct button_mapping remote_button_context_quickscreen[] = { static const struct button_mapping remote_button_context_quickscreen[] = {
{ ACTION_QS_DOWNINV, BUTTON_RC_VOL_UP, BUTTON_NONE }, { ACTION_QS_TOP, 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_REPEAT, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_RC_VOL_DOWN|BUTTON_REPEAT, BUTTON_NONE },
{ ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE }, { ACTION_QS_LEFT, BUTTON_RC_REW, BUTTON_NONE },

View file

@ -212,8 +212,8 @@ static const struct button_mapping button_context_time[] = {
static const struct button_mapping button_context_quickscreen[] = { static const struct button_mapping button_context_quickscreen[] = {
{ ACTION_NONE, BUTTON_LEFT, BUTTON_NONE }, { ACTION_NONE, BUTTON_LEFT, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP, BUTTON_NONE }, { ACTION_QS_TOP, BUTTON_UP, BUTTON_NONE },
{ ACTION_QS_DOWNINV, BUTTON_UP|BUTTON_REPEAT, 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_REL, BUTTON_NONE },
{ ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE }, { ACTION_QS_DOWN, BUTTON_DOWN|BUTTON_REPEAT, BUTTON_NONE },

View file

@ -12464,3 +12464,20 @@
swcodec: "Geschwindigkeit" swcodec: "Geschwindigkeit"
</voice> </voice>
</phrase> </phrase>
<phrase>
id: LANG_TOP_QS_ITEM
desc: used for the submenu name for the quickscreen items
user: core
<source>
*: none
quickscreen: "Set as Top Quickscreen Item"
</source>
<dest>
*: none
quickscreen: "Als obere Schnelleinstellung verwenden"
</dest>
<voice>
*: none
quickscreen: "Als obere Schnelleinstellung verwenden"
</voice>
</phrase>

View file

@ -12718,3 +12718,20 @@
swcodec: "Limiter Preamp" swcodec: "Limiter Preamp"
</voice> </voice>
</phrase> </phrase>
<phrase>
id: LANG_TOP_QS_ITEM
desc: used for the submenu name for the quickscreen items
user: core
<source>
*: none
quickscreen: "Set as Top Quickscreen Item"
</source>
<dest>
*: none
quickscreen: "Set as Top Quickscreen Item"
</dest>
<voice>
*: none
quickscreen: "Set as Top Quickscreen Item"
</voice>
</phrase>

View file

@ -455,6 +455,7 @@ int do_menu(const struct menu_item_ex *start_menu, int *start_selected,
MENUITEM_STRINGLIST(quickscreen_able_option, MENUITEM_STRINGLIST(quickscreen_able_option,
ID2P(LANG_ONPLAY_MENU_TITLE), NULL, ID2P(LANG_ONPLAY_MENU_TITLE), NULL,
ID2P(LANG_RESET_SETTING), ID2P(LANG_RESET_SETTING),
ID2P(LANG_TOP_QS_ITEM),
ID2P(LANG_LEFT_QS_ITEM), ID2P(LANG_LEFT_QS_ITEM),
ID2P(LANG_BOTTOM_QS_ITEM), ID2P(LANG_BOTTOM_QS_ITEM),
ID2P(LANG_RIGHT_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; break;
#ifdef HAVE_QUICKSCREEN #ifdef HAVE_QUICKSCREEN
break; 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); set_as_qs_item(setting, QUICKSCREEN_LEFT);
break; break;
case 2: /* set as bottom QS item */ case 3: /* set as bottom QS item */
set_as_qs_item(setting, QUICKSCREEN_BOTTOM); set_as_qs_item(setting, QUICKSCREEN_BOTTOM);
break; break;
case 3: /* set as right QS item */ case 4: /* set as right QS item */
set_as_qs_item(setting, QUICKSCREEN_RIGHT); set_as_qs_item(setting, QUICKSCREEN_RIGHT);
break; break;
#endif #endif

View file

@ -503,6 +503,7 @@ struct user_settings
#ifdef HAVE_QUICKSCREEN #ifdef HAVE_QUICKSCREEN
/* these are split because settings_list cant handle arrays */ /* these are split because settings_list cant handle arrays */
int qs_item_top;
int qs_item_left; int qs_item_left;
int qs_item_right; int qs_item_right;
int qs_item_bottom; int qs_item_bottom;

View file

@ -1525,6 +1525,10 @@ const struct settings_list settings[] = {
ID2P(LANG_NORMAL), ID2P(LANG_HIGH)), ID2P(LANG_NORMAL), ID2P(LANG_HIGH)),
#endif #endif
#ifdef HAVE_QUICKSCREEN #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, CUSTOM_SETTING(0, qs_item_left, LANG_LEFT_QS_ITEM,
&global_settings.playlist_shuffle, "qs left", &global_settings.playlist_shuffle, "qs left",
qs_load_from_cfg, qs_write_to_cfg, qs_load_from_cfg, qs_write_to_cfg,