diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index dd38e0578..86fc57ff0 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -309,6 +309,9 @@ ci.ignore_msg CA Meldungen ignorieren ci.init_failed CAM-Init fehlgeschlagen ci.init_ok CAM-Init beendet ci.inserted CAM im Slot +ci.mode CI Kanäle während einer Aufnahme +ci.mode_0 alle Kanäle +ci.mode_1 gleicher Transponder ci.rec_zapto Umschalten bei Aufnahmen mit CAM ci.removed CAM entfernt -> Slot ci.reset Reset @@ -1118,6 +1121,7 @@ menu.hint_channellist_show_empty_favs Zeigt oder versteckt leere Bouquets in den menu.hint_channellist_show_infobox Zeigt oder versteckt das untere Sendungsfenster menu.hint_channels Kanalliste öffnen menu.hint_ci Conditional-Access-Menü zum Einrichten Ihres CI-Moduls oder der eingebetteten Conax-Karte +menu.hint_ci_mode Zu diesen Kanälen kann bei einer laufenden CI-Aufnahme gewechselt werden. menu.hint_clock_background Lassen Sie die Uhr mit Hintergrund anzeigen menu.hint_clock_mode Schalten Sie die Uhr ein oder aus menu.hint_clock_seconds Legen Sie fest, ob die Sekunden angezeigt werden sollen diff --git a/data/locale/english.locale b/data/locale/english.locale index 6950bbd87..094892255 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -309,6 +309,9 @@ ci.ignore_msg Ignore CA messages ci.init_failed CAM init failed ci.init_ok CAM init complete ci.inserted CAM inserted in slot +ci.mode Usable CI channel while recording +ci.mode_0 all channels +ci.mode_1 same transponder ci.rec_zapto Zap when recording needs CAM ci.removed CAM removed from slot ci.reset Reset @@ -1118,6 +1121,7 @@ menu.hint_channellist_show_empty_favs Show / hide empty bouquets in favorites menu.hint_channellist_show_infobox Show or hide bottom infobox of channellist menu.hint_channels Open channel list menu.hint_ci Conditional access menu\nto setup your CI CAM or embeded Conax card +menu.hint_ci_mode Allow switching to these channels while CI recording menu.hint_clock_background Show clock with theme's background color menu.hint_clock_mode Switch clock on or off menu.hint_clock_seconds Show time format with seconds diff --git a/src/gui/cam_menu.cpp b/src/gui/cam_menu.cpp index 2ba4d8a19..32b941047 100644 --- a/src/gui/cam_menu.cpp +++ b/src/gui/cam_menu.cpp @@ -65,6 +65,12 @@ const CMenuOptionChooser::keyval OPTIONS_CA_INIT_OPTIONS[] = { 2, LOCALE_CA_INIT_2 } }; #define OPTIONS_CA_INIT_OPTION_COUNT (sizeof(OPTIONS_CA_INIT_OPTIONS)/sizeof(CMenuOptionChooser::keyval)) +const CMenuOptionChooser::keyval OPTIONS_CI_MODE_OPTIONS[] = +{ + { 0, LOCALE_CI_MODE_0 }, + { 1, LOCALE_CI_MODE_1 } +}; +#define OPTIONS_CI_MODE_OPTION_COUNT (sizeof(OPTIONS_CI_MODE_OPTIONS)/sizeof(CMenuOptionChooser::keyval)) void CCAMMenuHandler::init(void) { @@ -141,6 +147,9 @@ int CCAMMenuHandler::doMainMenu() cammenu->addItem( new CMenuOptionChooser(LOCALE_CI_SAVE_PINCODE, &g_settings.ci_save_pincode, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, this)); //NI cammenu->addItem( new CMenuOptionChooser(LOCALE_CI_REC_ZAPTO, &g_settings.ci_rec_zapto, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true, this)); + CMenuOptionChooser *ci_mode = new CMenuOptionChooser(LOCALE_CI_MODE, &g_settings.ci_mode, OPTIONS_CI_MODE_OPTIONS, OPTIONS_CI_MODE_OPTION_COUNT, true, NULL); + ci_mode->setHint(NEUTRINO_ICON_HINT_IMAGELOGO, LOCALE_MENU_HINT_CI_MODE); + cammenu->addItem(ci_mode); #ifdef BOXMODEL_APOLLO CMenuOptionChooser::keyval_ext feselect[fecount+1]; diff --git a/src/gui/channellist.cpp b/src/gui/channellist.cpp index 100fb7761..c2496e6f1 100644 --- a/src/gui/channellist.cpp +++ b/src/gui/channellist.cpp @@ -2277,8 +2277,10 @@ bool CChannelList::SameTP(CZapitChannel * channel) return true; //NI - if(channel->bUseCI && CRecordManager::getInstance()->getUseCI()) - return false; + if(g_settings.ci_mode == 1) { + if(channel->bUseCI && CRecordManager::getInstance()->getUseCI()) + return (CRecordManager::getInstance()->SameTransponder(channel->getChannelID())); + } iscurrent = CFEManager::getInstance()->canTune(channel); } diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 9db21fb21..e1b896a0b 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -455,6 +455,7 @@ int CNeutrinoApp::loadSetup(const char * fname) g_settings.ci_pincode = configfile.getString("ci_pincode", ""); g_settings.ci_tuner = configfile.getInt32("ci_tuner", -1); g_settings.ci_rec_zapto = configfile.getInt32("ci_rec_zapto", 0); //NI + g_settings.ci_mode = configfile.getInt32("ci_mode", 0); //NI #ifndef CPU_FREQ g_settings.cpufreq = 0; @@ -1102,6 +1103,7 @@ void CNeutrinoApp::saveSetup(const char * fname) configfile.setString("ci_pincode", g_settings.ci_pincode); configfile.setInt32("ci_tuner", g_settings.ci_tuner); configfile.setInt32("ci_rec_zapto", g_settings.ci_rec_zapto); //NI + configfile.setInt32("ci_mode", g_settings.ci_mode); //NI configfile.setInt32( "make_hd_list", g_settings.make_hd_list); configfile.setInt32( "make_webtv_list", g_settings.make_webtv_list); diff --git a/src/system/locals.h b/src/system/locals.h index a354f33d6..5eaadada8 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -336,6 +336,9 @@ typedef enum LOCALE_CI_INIT_FAILED, LOCALE_CI_INIT_OK, LOCALE_CI_INSERTED, + LOCALE_CI_MODE, + LOCALE_CI_MODE_0, + LOCALE_CI_MODE_1, LOCALE_CI_REC_ZAPTO, LOCALE_CI_REMOVED, LOCALE_CI_RESET, @@ -1145,6 +1148,7 @@ typedef enum LOCALE_MENU_HINT_CHANNELLIST_SHOW_INFOBOX, LOCALE_MENU_HINT_CHANNELS, LOCALE_MENU_HINT_CI, + LOCALE_MENU_HINT_CI_MODE, LOCALE_MENU_HINT_CLOCK_BACKGROUND, LOCALE_MENU_HINT_CLOCK_MODE, LOCALE_MENU_HINT_CLOCK_SECONDS, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 91ad74045..b6644acf0 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -336,6 +336,9 @@ const char * locale_real_names[] = "ci.init_failed", "ci.init_ok", "ci.inserted", + "ci.mode", + "ci.mode_0", + "ci.mode_1", "ci.rec_zapto", "ci.removed", "ci.reset", @@ -1145,6 +1148,7 @@ const char * locale_real_names[] = "menu.hint_channellist_show_infobox", "menu.hint_channels", "menu.hint_ci", + "menu.hint_ci_mode", "menu.hint_clock_background", "menu.hint_clock_mode", "menu.hint_clock_seconds", diff --git a/src/system/settings.h b/src/system/settings.h index c2ed5bb41..71d0566ad 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -246,6 +246,7 @@ struct SNeutrinoSettings int ci_save_pincode; int ci_tuner; int ci_rec_zapto; //NI + int ci_mode; //NI std::string ci_pincode; int radiotext_enable; int easymenu;