mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-31 17:31:11 +02:00
- move keyhelper class into new file user_menue.h
This class is made to manage only colorkeys, but has the same name like
CKeyHelper in file keyhelper.h. This class is managing the other keys and
it could easily lead to confusion.
- add modul subchannel/director menu, removed unused functions
The subchannel_select.cpp/h modul contains the getNVODMenu() member, moved from neutrino_menue.cpp
into its own class.
Also removed member SelectAPID() and SelectNVOD()from neutrino.cpp this
members were unused.
git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-beta@1639 e54a6e83-5905-42d5-8d5c-058d10e6a962
Origin commit data
------------------
Branch: ni/coolstream
Commit: f81f41400c
Author: Thilo Graf <dbt@novatux.de>
Date: 2011-08-31 (Wed, 31 Aug 2011)
Origin message was:
------------------
*neutrino subchannel_menu: own modul for subchannel menu and clean up keyhelper class
- move keyhelper class into new file user_menue.h
This class is made to manage only colorkeys, but has the same name like
CKeyHelper in file keyhelper.h. This class is managing the other keys and
it could easily lead to confusion.
- add modul subchannel/director menu, removed unused functions
The subchannel_select.cpp/h modul contains the getNVODMenu() member, moved from neutrino_menue.cpp
into its own class.
Also removed member SelectAPID() and SelectNVOD()from neutrino.cpp this
members were unused.
git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-beta@1639 e54a6e83-5905-42d5-8d5c-058d10e6a962
------------------
This commit was generated by Migit
129 lines
3.6 KiB
C++
129 lines
3.6 KiB
C++
/*
|
|
$id$
|
|
|
|
user_menue setup implementation - Neutrino-GUI
|
|
based up implementation by Günther
|
|
|
|
Copyright (C) 2001 Steffen Hehn 'McClean'
|
|
and some other guys
|
|
Homepage: http://dbox.cyberphoria.org/
|
|
|
|
Copyright (C) 2011 T. Graf 'dbt'
|
|
Homepage: http://www.dbox2-tuning.net/
|
|
|
|
License: GPL
|
|
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation; either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
|
|
*/
|
|
|
|
#ifndef __user_menue__
|
|
#define __user_menue__
|
|
|
|
#include <gui/widget/menue.h>
|
|
#include <system/settings.h>
|
|
#include <system/setting_helpers.h>
|
|
|
|
#include <string>
|
|
|
|
// USERMENU: colorbuttons only
|
|
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 COL_BUTTONMAX SNeutrinoSettings::BUTTON_MAX
|
|
static user_menu_data_t user_menu[COL_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.
|
|
class CColorKeyHelper
|
|
{
|
|
private:
|
|
int number_key;
|
|
bool color_key_used[COL_BUTTONMAX];
|
|
public:
|
|
CColorKeyHelper()
|
|
{
|
|
reset();
|
|
};
|
|
|
|
void reset(void)
|
|
{
|
|
number_key = 1;
|
|
for (int i= 0; i < COL_BUTTONMAX; i++ )
|
|
color_key_used[i] = false;
|
|
};
|
|
|
|
/* Returns the next available button, to be used in menu as 'direct' keys. Appropriate
|
|
* definitions are returnd in msp and icon
|
|
* A color button could be requested as prefered button (other buttons are not supported yet).
|
|
* If the appropriate button is already in used, the next number_key button is returned instead
|
|
* (first 1-9 and than 0). */
|
|
bool get(neutrino_msg_t* msg, const char** icon, neutrino_msg_t prefered_key = CRCInput::RC_nokey)
|
|
{
|
|
bool result = false;
|
|
int button = -1;
|
|
if (prefered_key == CRCInput::RC_red)
|
|
button = 0;
|
|
if (prefered_key == CRCInput::RC_green)
|
|
button = 1;
|
|
if (prefered_key == CRCInput::RC_yellow)
|
|
button = 2;
|
|
if (prefered_key == CRCInput::RC_blue)
|
|
button = 3;
|
|
|
|
*msg = CRCInput::RC_nokey;
|
|
*icon = "";
|
|
if (button >= 0 && button < COL_BUTTONMAX)
|
|
{ // try to get color button
|
|
if ( color_key_used[button] == false)
|
|
{
|
|
color_key_used[button] = true;
|
|
*msg = user_menu[button].key_helper_msg_def;
|
|
*icon = user_menu[button].key_helper_icon_def;
|
|
result = true;
|
|
}
|
|
}
|
|
|
|
if ( result == false && number_key < 10) // no key defined yet, at least try to get a numbered key
|
|
{
|
|
// there is still a available number_key
|
|
*msg = CRCInput::convertDigitToKey(number_key);
|
|
*icon = "";
|
|
if (number_key == 9)
|
|
number_key = 0;
|
|
else if (number_key == 0)
|
|
number_key = 10;
|
|
else
|
|
number_key++;
|
|
result = true;
|
|
}
|
|
return (result);
|
|
};
|
|
};
|
|
|
|
#endif
|