neutrino: add the possibility to lock bouquets by default

This basically inverts the "locked" attribute of bouquets.xml and
allows to selectively enable only favourites or similar.


Origin commit data
------------------
Branch: ni/coolstream
Commit: 3999e8d0e2
Author: Stefan Seyfried <seife@tuxbox-git.slipkontur.de>
Date: 2011-10-30 (Sun, 30 Oct 2011)



------------------
This commit was generated by Migit
This commit is contained in:
Stefan Seyfried
2011-10-30 11:53:44 +01:00
parent a46910dd27
commit af6edcdc68
10 changed files with 29 additions and 4 deletions

View File

@@ -985,9 +985,12 @@ options.off aus
options.on ein options.on ein
options.on.without_messages ohne Msg options.on.without_messages ohne Msg
options.serial seriell options.serial seriell
parentallock.bouquetmode Bouquets sind standardmässig
parentallock.changepin PIN-Code festlegen parentallock.changepin PIN-Code festlegen
parentallock.changepin_hint1 Geben Sie hier Ihren neuen PIN-Code ein! parentallock.changepin_hint1 Geben Sie hier Ihren neuen PIN-Code ein!
parentallock.changetolocked Bei vorgeperrten Bouquets parentallock.changetolocked Bei vorgeperrten Bouquets
parentallock.defaultlocked gesperrt
parentallock.defaultunlocked nicht gesperrt
parentallock.head Jugendschutz PIN parentallock.head Jugendschutz PIN
parentallock.lockage Sendungen parentallock.lockage Sendungen
parentallock.lockage12 ab 12 Jahren sperren parentallock.lockage12 ab 12 Jahren sperren

View File

@@ -985,9 +985,12 @@ options.off off
options.on on options.on on
options.on.without_messages Without msg options.on.without_messages Without msg
options.serial serial options.serial serial
parentallock.bouquetmode Bouquets are default
parentallock.changepin change PIN code parentallock.changepin change PIN code
parentallock.changepin_hint1 Enter your new youth protection pin code here! parentallock.changepin_hint1 Enter your new youth protection pin code here!
parentallock.changetolocked on locked bouquets parentallock.changetolocked on locked bouquets
parentallock.defaultlocked locked
parentallock.defaultunlocked unlocked
parentallock.head Enter Parental Lock PIN code parentallock.head Enter Parental Lock PIN code
parentallock.lockage lock program parentallock.lockage lock program
parentallock.lockage12 from 12 years up parentallock.lockage12 from 12 years up

View File

@@ -149,7 +149,7 @@ int CRemoteControl::handleMsg(const neutrino_msg_t msg, neutrino_msg_data_t data
is_video_started = true; is_video_started = true;
if (channel) { if (channel) {
current_channel_name = channel->getName(); current_channel_name = channel->getName();
if (channel->bAlwaysLocked) if (channel->bAlwaysLocked != g_settings.parentallock_defaultlocked)
stopvideo(); stopvideo();
} }
CVFD::getInstance()->showServicename(current_channel_name); // UTF-8 CVFD::getInstance()->showServicename(current_channel_name); // UTF-8

View File

@@ -106,7 +106,7 @@ void CBEBouquetWidget::paintItem(int pos)
if ((current == selected) && (state == beMoving)) if ((current == selected) && (state == beMoving))
frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_YELLOW, x + 10, ypos, iheight); frameBuffer->paintIcon(NEUTRINO_ICON_BUTTON_YELLOW, x + 10, ypos, iheight);
if ((*Bouquets)[current]->bLocked) if ((*Bouquets)[current]->bLocked != g_settings.parentallock_defaultlocked)
frameBuffer->paintIcon(NEUTRINO_ICON_LOCK, x + 10, ypos, iheight); frameBuffer->paintIcon(NEUTRINO_ICON_LOCK, x + 10, ypos, iheight);
if ((*Bouquets)[current]->bHidden) if ((*Bouquets)[current]->bHidden)

View File

@@ -1191,7 +1191,7 @@ void CChannelList::zapTo(int pos, bool /* forceStoreToLastChannels */)
tuned = pos; tuned = pos;
CVFD::getInstance()->setEPGTitle(""); CVFD::getInstance()->setEPGTitle("");
CVFD::getInstance()->showServicename(chan->name); CVFD::getInstance()->showServicename(chan->name);
g_RemoteControl->zapTo_ChannelID(chan->channel_id, chan->name, !chan->bAlwaysLocked); // UTF-8 g_RemoteControl->zapTo_ChannelID(chan->channel_id, chan->name, (chan->bAlwaysLocked == g_settings.parentallock_defaultlocked));
// TODO check is it possible bouquetList is NULL ? // TODO check is it possible bouquetList is NULL ?
if (bouquetList != NULL) { if (bouquetList != NULL) {
CNeutrinoApp::getInstance()->channelList->adjustToChannelID(chan->channel_id); CNeutrinoApp::getInstance()->channelList->adjustToChannelID(chan->channel_id);
@@ -1231,7 +1231,7 @@ void CChannelList::NewZap(t_channel_id channel_id)
CVFD::getInstance()->setEPGTitle(""); CVFD::getInstance()->setEPGTitle("");
CVFD::getInstance()->showServicename(chan->name); CVFD::getInstance()->showServicename(chan->name);
selected_chid = chan->getChannelID(); selected_chid = chan->getChannelID();
g_RemoteControl->zapTo_ChannelID(chan->getChannelID(), chan->name, !chan->bAlwaysLocked); g_RemoteControl->zapTo_ChannelID(selected_chid, chan->name, (chan->bAlwaysLocked == g_settings.parentallock_defaultlocked));
/* remove recordModeActive from infobar */ /* remove recordModeActive from infobar */
if(g_settings.auto_timeshift && !CNeutrinoApp::getInstance()->recordingstatus) { if(g_settings.auto_timeshift && !CNeutrinoApp::getInstance()->recordingstatus) {
g_InfoViewer->handleMsg(NeutrinoMessages::EVT_RECORDMODE, 0); g_InfoViewer->handleMsg(NeutrinoMessages::EVT_RECORDMODE, 0);

View File

@@ -87,6 +87,14 @@ const CMenuOptionChooser::keyval PARENTALLOCK_LOCKAGE_OPTIONS[PARENTALLOCK_LOCKA
{ 16, LOCALE_PARENTALLOCK_LOCKAGE16 }, { 16, LOCALE_PARENTALLOCK_LOCKAGE16 },
{ 18, LOCALE_PARENTALLOCK_LOCKAGE18 } { 18, LOCALE_PARENTALLOCK_LOCKAGE18 }
}; };
#define PARENTALLOCK_DEFAULTLOCKED_OPTION_COUNT 2
const CMenuOptionChooser::keyval PARENTALLOCK_DEFAULTLOCKED_OPTIONS[PARENTALLOCK_DEFAULTLOCKED_OPTION_COUNT] =
{
{ false, LOCALE_PARENTALLOCK_DEFAULTUNLOCKED },
{ true, LOCALE_PARENTALLOCK_DEFAULTLOCKED }
};
extern bool parentallocked; extern bool parentallocked;
void CParentalSetup::showParentalSetup() void CParentalSetup::showParentalSetup()
{ {
@@ -103,6 +111,8 @@ void CParentalSetup::showParentalSetup()
plock->addItem(new CMenuOptionChooser(LOCALE_PARENTALLOCK_LOCKAGE, &g_settings.parentallock_lockage, PARENTALLOCK_LOCKAGE_OPTIONS, PARENTALLOCK_LOCKAGE_OPTION_COUNT, !parentallocked)); plock->addItem(new CMenuOptionChooser(LOCALE_PARENTALLOCK_LOCKAGE, &g_settings.parentallock_lockage, PARENTALLOCK_LOCKAGE_OPTIONS, PARENTALLOCK_LOCKAGE_OPTION_COUNT, !parentallocked));
plock->addItem(new CMenuOptionChooser(LOCALE_PARENTALLOCK_BOUQUETMODE, &g_settings.parentallock_defaultlocked, PARENTALLOCK_DEFAULTLOCKED_OPTIONS, PARENTALLOCK_DEFAULTLOCKED_OPTION_COUNT, !parentallocked));
CPINChangeWidget pinChangeWidget(LOCALE_PARENTALLOCK_CHANGEPIN, g_settings.parentallock_pincode, 4, LOCALE_PARENTALLOCK_CHANGEPIN_HINT1); CPINChangeWidget pinChangeWidget(LOCALE_PARENTALLOCK_CHANGEPIN, g_settings.parentallock_pincode, 4, LOCALE_PARENTALLOCK_CHANGEPIN_HINT1);
plock->addItem( new CMenuForwarder(LOCALE_PARENTALLOCK_CHANGEPIN, true, g_settings.parentallock_pincode, &pinChangeWidget)); plock->addItem( new CMenuForwarder(LOCALE_PARENTALLOCK_CHANGEPIN, true, g_settings.parentallock_pincode, &pinChangeWidget));

View File

@@ -670,6 +670,7 @@ int CNeutrinoApp::loadSetup(const char * fname)
g_settings.parentallock_prompt = 3; g_settings.parentallock_prompt = 3;
g_settings.parentallock_lockage = 18; g_settings.parentallock_lockage = 18;
} }
g_settings.parentallock_defaultlocked = configfile.getInt32("parentallock_defaultlocked", 0);
strcpy( g_settings.parentallock_pincode, configfile.getString( "parentallock_pincode", "0000" ).c_str() ); strcpy( g_settings.parentallock_pincode, configfile.getString( "parentallock_pincode", "0000" ).c_str() );
for (int i = 0; i < SNeutrinoSettings::TIMING_SETTING_COUNT; i++) for (int i = 0; i < SNeutrinoSettings::TIMING_SETTING_COUNT; i++)
@@ -1067,6 +1068,7 @@ void CNeutrinoApp::saveSetup(const char * fname)
configfile.setInt32( "parentallock_prompt", g_settings.parentallock_prompt ); configfile.setInt32( "parentallock_prompt", g_settings.parentallock_prompt );
configfile.setInt32( "parentallock_lockage", g_settings.parentallock_lockage ); configfile.setInt32( "parentallock_lockage", g_settings.parentallock_lockage );
configfile.setString( "parentallock_pincode", g_settings.parentallock_pincode ); configfile.setString( "parentallock_pincode", g_settings.parentallock_pincode );
configfile.setInt32("parentallock_defaultlocked", g_settings.parentallock_defaultlocked);
//timing //timing
for (int i = 0; i < SNeutrinoSettings::TIMING_SETTING_COUNT; i++) for (int i = 0; i < SNeutrinoSettings::TIMING_SETTING_COUNT; i++)

View File

@@ -1012,9 +1012,12 @@ typedef enum
LOCALE_OPTIONS_ON, LOCALE_OPTIONS_ON,
LOCALE_OPTIONS_ON_WITHOUT_MESSAGES, LOCALE_OPTIONS_ON_WITHOUT_MESSAGES,
LOCALE_OPTIONS_SERIAL, LOCALE_OPTIONS_SERIAL,
LOCALE_PARENTALLOCK_BOUQUETMODE,
LOCALE_PARENTALLOCK_CHANGEPIN, LOCALE_PARENTALLOCK_CHANGEPIN,
LOCALE_PARENTALLOCK_CHANGEPIN_HINT1, LOCALE_PARENTALLOCK_CHANGEPIN_HINT1,
LOCALE_PARENTALLOCK_CHANGETOLOCKED, LOCALE_PARENTALLOCK_CHANGETOLOCKED,
LOCALE_PARENTALLOCK_DEFAULTLOCKED,
LOCALE_PARENTALLOCK_DEFAULTUNLOCKED,
LOCALE_PARENTALLOCK_HEAD, LOCALE_PARENTALLOCK_HEAD,
LOCALE_PARENTALLOCK_LOCKAGE, LOCALE_PARENTALLOCK_LOCKAGE,
LOCALE_PARENTALLOCK_LOCKAGE12, LOCALE_PARENTALLOCK_LOCKAGE12,

View File

@@ -1012,9 +1012,12 @@ const char * locale_real_names[] =
"options.on", "options.on",
"options.on.without_messages", "options.on.without_messages",
"options.serial", "options.serial",
"parentallock.bouquetmode",
"parentallock.changepin", "parentallock.changepin",
"parentallock.changepin_hint1", "parentallock.changepin_hint1",
"parentallock.changetolocked", "parentallock.changetolocked",
"parentallock.defaultlocked",
"parentallock.defaultunlocked",
"parentallock.head", "parentallock.head",
"parentallock.lockage", "parentallock.lockage",
"parentallock.lockage12", "parentallock.lockage12",

View File

@@ -450,6 +450,7 @@ struct SNeutrinoSettings
// parentallock // parentallock
int parentallock_prompt; int parentallock_prompt;
int parentallock_lockage; int parentallock_lockage;
int parentallock_defaultlocked;
char parentallock_pincode[5]; char parentallock_pincode[5];