mirror of
https://github.com/tuxbox-neutrino/neutrino.git
synced 2025-08-31 09:21:18 +02:00
*neutrino usermenu: struct for some menu properties added
git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@1534 e54a6e83-5905-42d5-8d5c-058d10e6a962
This commit is contained in:
@@ -370,10 +370,25 @@ const CMenuOptionChooser::keyval MAINMENU_RECORDING_OPTIONS[MAINMENU_RECORDING_O
|
|||||||
};
|
};
|
||||||
|
|
||||||
// USERMENU
|
// USERMENU
|
||||||
|
typedef struct user_menu_data_t
|
||||||
|
{
|
||||||
|
neutrino_locale_t caption;
|
||||||
|
const neutrino_msg_t key_helper_msg_def;
|
||||||
|
const char * key_helper_icon_def;
|
||||||
|
const char * menu_icon_def;
|
||||||
|
int selected;
|
||||||
|
} user_menu_data_struct;
|
||||||
|
|
||||||
|
#define BUTTONMAX SNeutrinoSettings::BUTTON_MAX
|
||||||
|
static user_menu_data_t user_menu[BUTTONMAX]=
|
||||||
|
{
|
||||||
|
{LOCALE_INFOVIEWER_EVENTLIST , CRCInput::RC_red , NEUTRINO_ICON_BUTTON_RED , NEUTRINO_ICON_RED, -1},
|
||||||
|
{LOCALE_INFOVIEWER_LANGUAGES , CRCInput::RC_green , NEUTRINO_ICON_BUTTON_GREEN , NEUTRINO_ICON_GREEN, -1},
|
||||||
|
{NONEXISTANT_LOCALE , CRCInput::RC_yellow , NEUTRINO_ICON_BUTTON_YELLOW , NEUTRINO_ICON_YELLOW, -1},
|
||||||
|
{LOCALE_INFOVIEWER_STREAMINFO , CRCInput::RC_blue , NEUTRINO_ICON_BUTTON_BLUE , NEUTRINO_ICON_FEATURES, -1}
|
||||||
|
};
|
||||||
|
|
||||||
// This is just a quick helper for the usermenu only. I already made it a class for future use.
|
// This is just a quick helper for the usermenu only. I already made it a class for future use.
|
||||||
#define BUTTONMAX 4
|
|
||||||
const neutrino_msg_t key_helper_msg_def[BUTTONMAX]={CRCInput::RC_red,CRCInput::RC_green,CRCInput::RC_yellow,CRCInput::RC_blue};
|
|
||||||
const char * key_helper_icon_def[BUTTONMAX]={NEUTRINO_ICON_BUTTON_RED,NEUTRINO_ICON_BUTTON_GREEN,NEUTRINO_ICON_BUTTON_YELLOW,NEUTRINO_ICON_BUTTON_BLUE};
|
|
||||||
class CKeyHelper
|
class CKeyHelper
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
@@ -415,8 +430,8 @@ public:
|
|||||||
if ( color_key_used[button] == false)
|
if ( color_key_used[button] == false)
|
||||||
{
|
{
|
||||||
color_key_used[button] = true;
|
color_key_used[button] = true;
|
||||||
*msg = key_helper_msg_def[button];
|
*msg = user_menu[button].key_helper_msg_def;
|
||||||
*icon = key_helper_icon_def[button];
|
*icon = user_menu[button].key_helper_icon_def;
|
||||||
result = true;
|
result = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -439,10 +454,9 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
// USERMENU
|
// USERMENU
|
||||||
static int selected[SNeutrinoSettings::BUTTON_MAX] = {-1, -1, -1, -1};
|
|
||||||
bool CNeutrinoApp::showUserMenu(int button)
|
bool CNeutrinoApp::showUserMenu(int button)
|
||||||
{
|
{
|
||||||
if (button < 0 || button >= SNeutrinoSettings::BUTTON_MAX)
|
if (button < 0 || button >= BUTTONMAX)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
CMenuItem* menu_item = NULL;
|
CMenuItem* menu_item = NULL;
|
||||||
@@ -463,29 +477,22 @@ bool CNeutrinoApp::showUserMenu(int button)
|
|||||||
CEventListHandler* tmpEventListHandler = NULL;
|
CEventListHandler* tmpEventListHandler = NULL;
|
||||||
CEPGplusHandler* tmpEPGplusHandler = NULL;
|
CEPGplusHandler* tmpEPGplusHandler = NULL;
|
||||||
CEPGDataHandler* tmpEPGDataHandler = NULL;
|
CEPGDataHandler* tmpEPGDataHandler = NULL;
|
||||||
|
|
||||||
std::string txt = g_settings.usermenu_text[button];
|
std::string txt = g_settings.usermenu_text[button];
|
||||||
if (button == SNeutrinoSettings::BUTTON_RED) {
|
neutrino_locale_t caption = user_menu[button].caption;
|
||||||
if ( txt.empty() )
|
|
||||||
txt = g_Locale->getText(LOCALE_INFOVIEWER_EVENTLIST);
|
//ensure correct caption for yellow menue
|
||||||
}
|
if ( button == SNeutrinoSettings::BUTTON_YELLOW)
|
||||||
else if ( button == SNeutrinoSettings::BUTTON_GREEN) {
|
caption = g_RemoteControl->are_subchannels ? LOCALE_INFOVIEWER_SUBSERVICE : LOCALE_INFOVIEWER_SELECTTIME;
|
||||||
if ( txt.empty() )
|
|
||||||
txt = g_Locale->getText(LOCALE_INFOVIEWER_LANGUAGES);
|
if ( txt.empty() )
|
||||||
}
|
txt = g_Locale->getText(caption);
|
||||||
else if ( button == SNeutrinoSettings::BUTTON_YELLOW) {
|
|
||||||
if ( txt.empty() )
|
CMenuWidget *menu = new CMenuWidget(txt.c_str() , user_menu[button].menu_icon_def, 35);
|
||||||
txt = g_Locale->getText((g_RemoteControl->are_subchannels) ? LOCALE_INFOVIEWER_SUBSERVICE : LOCALE_INFOVIEWER_SELECTTIME);
|
|
||||||
//txt = g_Locale->getText(LOCALE_NVODSELECTOR_DIRECTORMODE);
|
|
||||||
}
|
|
||||||
else if ( button == SNeutrinoSettings::BUTTON_BLUE) {
|
|
||||||
if ( txt.empty() )
|
|
||||||
txt = g_Locale->getText(LOCALE_INFOVIEWER_STREAMINFO);
|
|
||||||
}
|
|
||||||
CMenuWidget *menu = new CMenuWidget(txt.c_str() , NEUTRINO_ICON_FEATURES);
|
|
||||||
if (menu == NULL)
|
if (menu == NULL)
|
||||||
return 0;
|
return 0;
|
||||||
menu->setSelected(selected[button]);
|
|
||||||
|
menu->setSelected(user_menu[button].selected);
|
||||||
|
|
||||||
menu->addIntroItems(NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, CMenuWidget::BTN_TYPE_CANCEL);
|
menu->addIntroItems(NONEXISTANT_LOCALE, NONEXISTANT_LOCALE, CMenuWidget::BTN_TYPE_CANCEL);
|
||||||
|
|
||||||
@@ -740,7 +747,7 @@ bool CNeutrinoApp::showUserMenu(int button)
|
|||||||
else if (menu_item != NULL)
|
else if (menu_item != NULL)
|
||||||
menu_item->exec( NULL );
|
menu_item->exec( NULL );
|
||||||
|
|
||||||
selected[button] = menu->getSelected();
|
user_menu[button].selected = menu->getSelected();
|
||||||
|
|
||||||
// restore mute symbol
|
// restore mute symbol
|
||||||
//AudioMute(current_muted, true);
|
//AudioMute(current_muted, true);
|
||||||
|
Reference in New Issue
Block a user