mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-29 08:21:07 +02:00
channellist: limit context-menu on non-unlocked bouquets
don't allow adding of channels from locked bouquets to favorites
or unlocked bouquets to avoit circumvention of bouquet locks
Origin commit data
------------------
Branch: ni/coolstream
Commit: 3875af11de
Author: Stefan Seyfried <seife@tuxbox-git.slipkontur.de>
Date: 2012-08-14 (Tue, 14 Aug 2012)
------------------
This commit was generated by Migit
This commit is contained in:
@@ -322,6 +322,7 @@ int CChannelList::doChannelMenu(void)
|
||||
static int old_selected = 0;
|
||||
char cnt[5];
|
||||
bool enabled = true;
|
||||
bool unlocked = true;
|
||||
|
||||
if(!bouquetList || g_settings.minimode)
|
||||
return 0;
|
||||
@@ -338,14 +339,21 @@ int CChannelList::doChannelMenu(void)
|
||||
menu->enableSaveScreen(true);
|
||||
CMenuSelectorTarget * selector = new CMenuSelectorTarget(&select);
|
||||
|
||||
/* Allow bouquet manipulation only if the bouquet is unlocked. Without this,
|
||||
* a channel could be added/removed to/from an unlocked bouquet and so made
|
||||
* accessible. */
|
||||
if (g_settings.parentallock_prompt == PARENTALLOCK_PROMPT_CHANGETOLOCKED &&
|
||||
chanlist[selected]->bAlwaysLocked != g_settings.parentallock_defaultlocked)
|
||||
unlocked = (chanlist[selected]->last_unlocked_time + 3600 > time_monotonic());
|
||||
|
||||
snprintf(cnt, sizeof(cnt), "%d", i);
|
||||
menu->addItem(new CMenuForwarder(LOCALE_BOUQUETEDITOR_DELETE, enabled, NULL, selector, cnt, CRCInput::RC_red, NEUTRINO_ICON_BUTTON_RED), old_selected == i++);
|
||||
menu->addItem(new CMenuForwarder(LOCALE_BOUQUETEDITOR_DELETE, enabled && unlocked, NULL, selector, cnt, CRCInput::RC_red, NEUTRINO_ICON_BUTTON_RED), old_selected == i++);
|
||||
snprintf(cnt, sizeof(cnt), "%d", i);
|
||||
menu->addItem(new CMenuForwarder(LOCALE_BOUQUETEDITOR_MOVE, enabled, NULL, selector, cnt, CRCInput::RC_green, NEUTRINO_ICON_BUTTON_GREEN), old_selected == i++);
|
||||
menu->addItem(new CMenuForwarder(LOCALE_BOUQUETEDITOR_MOVE, enabled && unlocked, NULL, selector, cnt, CRCInput::RC_green, NEUTRINO_ICON_BUTTON_GREEN), old_selected == i++);
|
||||
snprintf(cnt, sizeof(cnt), "%d", i);
|
||||
menu->addItem(new CMenuForwarder(LOCALE_EXTRA_ADD_TO_BOUQUET, true, NULL, selector, cnt, CRCInput::RC_yellow, NEUTRINO_ICON_BUTTON_YELLOW), old_selected == i++);
|
||||
menu->addItem(new CMenuForwarder(LOCALE_EXTRA_ADD_TO_BOUQUET, unlocked, NULL, selector, cnt, CRCInput::RC_yellow, NEUTRINO_ICON_BUTTON_YELLOW), old_selected == i++);
|
||||
snprintf(cnt, sizeof(cnt), "%d", i);
|
||||
menu->addItem(new CMenuForwarder(LOCALE_FAVORITES_MENUEADD, true, NULL, selector, cnt, CRCInput::RC_blue, NEUTRINO_ICON_BUTTON_BLUE), old_selected == i++);
|
||||
menu->addItem(new CMenuForwarder(LOCALE_FAVORITES_MENUEADD, unlocked, NULL, selector, cnt, CRCInput::RC_blue, NEUTRINO_ICON_BUTTON_BLUE), old_selected == i++);
|
||||
snprintf(cnt, sizeof(cnt), "%d", i);
|
||||
menu->addItem(new CMenuForwarder(LOCALE_MAINMENU_SETTINGS, true, NULL, selector, cnt, CRCInput::convertDigitToKey(0)), old_selected == i++);
|
||||
menu->exec(NULL, "");
|
||||
|
Reference in New Issue
Block a user