diff --git a/data/locale/english.locale b/data/locale/english.locale index a54f507f3..9751434b4 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -233,6 +233,7 @@ channellist.nonefound No channels were found!\nPlease execute a scan\n(MENU-key channellist.numeric_adjust Numeric zap adjust channellist.provs Providers channellist.recording_not_possible Recording not possible! +channellist.reset_all Reset 'new' flag for all channels channellist.reset_flags Reset 'new' channel flag channellist.sats Satellites channellist.since since diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index 318eb26b3..dddbb7eac 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -367,6 +367,9 @@ int CChannelList::doChannelMenu(void) bool reset_enabled = chanlist[selected]->flags & CZapitChannel::NEW; menu->addItem(new CMenuForwarder(LOCALE_CHANNELLIST_RESET_FLAGS, reset_enabled, NULL, selector, cnt, CRCInput::convertDigitToKey(shortcut++)), old_selected == i++); snprintf(cnt, sizeof(cnt), "%d", i); + bool reset_all = (name == g_Locale->getText(LOCALE_BOUQUETNAME_NEW)); + menu->addItem(new CMenuForwarder(LOCALE_CHANNELLIST_RESET_ALL, reset_all, NULL, selector, cnt, CRCInput::convertDigitToKey(shortcut++)), old_selected == i++); + snprintf(cnt, sizeof(cnt), "%d", i); menu->addItem(new CMenuSeparator(CMenuSeparator::LINE)); menu->addItem(new CMenuForwarder(LOCALE_MAINMENU_SETTINGS, true, NULL, selector, cnt, CRCInput::convertDigitToKey(shortcut++)), old_selected == i++); menu->exec(NULL, ""); @@ -478,7 +481,14 @@ int CChannelList::doChannelMenu(void) if(g_settings.make_new_list) return 2; break; - case 5: // settings + case 5: // reset all new + for (unsigned int j = 0 ; j < chanlist.size(); j++) { + chanlist[j]->flags &= ~CZapitChannel::NEW; + } + if (g_settings.make_new_list) + return 2; + break; + case 6: // settings { previous_channellist_additional = g_settings.channellist_additional; COsdSetup osd_setup; diff --git a/src/system/locals.h b/src/system/locals.h index cc038bc92..882c15450 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -260,6 +260,7 @@ typedef enum LOCALE_CHANNELLIST_NUMERIC_ADJUST, LOCALE_CHANNELLIST_PROVS, LOCALE_CHANNELLIST_RECORDING_NOT_POSSIBLE, + LOCALE_CHANNELLIST_RESET_ALL, LOCALE_CHANNELLIST_RESET_FLAGS, LOCALE_CHANNELLIST_SATS, LOCALE_CHANNELLIST_SINCE, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 477b78084..e4ff3dd93 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -260,6 +260,7 @@ const char * locale_real_names[] = "channellist.numeric_adjust", "channellist.provs", "channellist.recording_not_possible", + "channellist.reset_all", "channellist.reset_flags", "channellist.sats", "channellist.since",