From 469d06a95a43f6b7319b407fb459c1cc11d6da50 Mon Sep 17 00:00:00 2001 From: micha-bbg Date: Sun, 23 Oct 2011 14:56:54 +0000 Subject: [PATCH] Switchover remote control standard / neo1 - Disable virtual zap when Neo1 remote control - OSD setup (remote control) optimized. git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-beta@1772 e54a6e83-5905-42d5-8d5c-058d10e6a962 --- data/locale/deutsch.locale | 4 +++- data/locale/english.locale | 4 +++- src/gui/keybind_setup.cpp | 8 +++++++- src/gui/keybind_setup.h | 10 +++++++++- src/gui/osd_setup.cpp | 13 ++++++++++++- src/gui/osd_setup.h | 2 +- src/neutrino.cpp | 25 +++++++++++++------------ src/system/locals.h | 4 +++- src/system/locals_intern.h | 4 +++- src/system/settings.h | 2 +- 10 files changed, 55 insertions(+), 21 deletions(-) diff --git a/data/locale/deutsch.locale b/data/locale/deutsch.locale index 73cda82ac..52e5e21dc 100644 --- a/data/locale/deutsch.locale +++ b/data/locale/deutsch.locale @@ -614,7 +614,6 @@ infoviewer.waittime Warte auf Uhrzeit... ipsetup.hint_1 Benutzen Sie 0..9 oder hoch/runter ipsetup.hint_2 OK speichert, EXIT bricht ab keybindingmenu.RC Fernbedienung abstimmen -keybindingmenu.RC_NEO1 Fernbedienung NEO1 keybindingmenu.addrecord Aufnahme-Timer hinzufügen keybindingmenu.addremind Umschalt-Timer hinzufügen keybindingmenu.allchannels_on_ok Kanalliste @@ -635,6 +634,9 @@ keybindingmenu.pagedown Seite weiter keybindingmenu.pageup Seite zurück keybindingmenu.poweroff Umschalter keybindingmenu.quickzap Schnellumschaltung +keybindingmenu.remotecontrol Typ +keybindingmenu.remotecontrol_neo1 Neo1 +keybindingmenu.remotecontrol_standard Standard keybindingmenu.repeatblock Anfangsverzögerung keybindingmenu.repeatblockgeneric Wiederholungsverzögerung keybindingmenu.sort Sortierreihenfolge ändern diff --git a/data/locale/english.locale b/data/locale/english.locale index b88e556ab..3f792d8a9 100644 --- a/data/locale/english.locale +++ b/data/locale/english.locale @@ -614,7 +614,6 @@ infoviewer.waittime Waiting for time... ipsetup.hint_1 Use 0..9, or use Up/Down, ipsetup.hint_2 OK saves, LAME! aborts keybindingmenu.RC Tune Remote-Control -keybindingmenu.RC_NEO1 Remote Control NEO1 keybindingmenu.addrecord add record timer keybindingmenu.addremind add zapto timer keybindingmenu.allchannels_on_ok all-services @@ -635,6 +634,9 @@ keybindingmenu.pagedown page down keybindingmenu.pageup page up keybindingmenu.poweroff Power toggle keybindingmenu.quickzap Quickzap +keybindingmenu.remotecontrol Type +keybindingmenu.remotecontrol_neo1 Neo1 +keybindingmenu.remotecontrol_standard Standard keybindingmenu.repeatblock generic delay keybindingmenu.repeatblockgeneric repeat delay keybindingmenu.sort change sort order diff --git a/src/gui/keybind_setup.cpp b/src/gui/keybind_setup.cpp index 0d7e9a16c..5eab4ae43 100644 --- a/src/gui/keybind_setup.cpp +++ b/src/gui/keybind_setup.cpp @@ -106,6 +106,12 @@ int CKeybindSetup::exec(CMenuTarget* parent, const std::string &actionKey) return res; } +#define KEYBINDINGMENU_REMOTECONTROL_OPTION_COUNT 2 +const CMenuOptionChooser::keyval KEYBINDINGMENU_REMOTECONTROL_OPTIONS[KEYBINDINGMENU_REMOTECONTROL_OPTION_COUNT] = +{ + { CKeybindSetup::REMOTECONTROL_STANDARD, LOCALE_KEYBINDINGMENU_REMOTECONTROL_STANDARD }, + { CKeybindSetup::REMOTECONTROL_NEO1, LOCALE_KEYBINDINGMENU_REMOTECONTROL_NEO1 } +}; #define KEYBINDINGMENU_BOUQUETHANDLING_OPTION_COUNT 3 const CMenuOptionChooser::keyval KEYBINDINGMENU_BOUQUETHANDLING_OPTIONS[KEYBINDINGMENU_BOUQUETHANDLING_OPTION_COUNT] = @@ -184,7 +190,7 @@ void CKeybindSetup::showKeySetup() keySettings->addItem(new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_KEYBINDINGMENU_RC)); keySettings->addItem(new CMenuForwarder(LOCALE_KEYBINDINGMENU_REPEATBLOCK, true, g_settings.repeat_blocker, keySettings_repeatBlocker)); keySettings->addItem(new CMenuForwarder(LOCALE_KEYBINDINGMENU_REPEATBLOCKGENERIC, true, g_settings.repeat_genericblocker, keySettings_repeat_genericblocker)); - keySettings->addItem(new CMenuOptionChooser(LOCALE_KEYBINDINGMENU_RC_NEO1, &g_settings.remote_control_neo1, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true)); + keySettings->addItem(new CMenuOptionChooser(LOCALE_KEYBINDINGMENU_REMOTECONTROL, &g_settings.remote_control_hardware, KEYBINDINGMENU_REMOTECONTROL_OPTIONS, KEYBINDINGMENU_REMOTECONTROL_OPTION_COUNT, true)); //user menues keySettings->addItem(new CMenuSeparator(CMenuSeparator::LINE | CMenuSeparator::STRING, LOCALE_USERMENU_HEAD)); diff --git a/src/gui/keybind_setup.h b/src/gui/keybind_setup.h index 4e7505028..a7a7bc3cb 100644 --- a/src/gui/keybind_setup.h +++ b/src/gui/keybind_setup.h @@ -77,7 +77,15 @@ class CKeybindSetup : public CMenuTarget KEYBINDS_COUNT }; - + + enum remote_control_t + { + REMOTECONTROL_STANDARD = 0, + REMOTECONTROL_NEO1 = 1, + + REMOTECONTROL_COUNT + }; + private: CFrameBuffer *frameBuffer; CKeySetupNotifier *keySetupNotifier; diff --git a/src/gui/osd_setup.cpp b/src/gui/osd_setup.cpp index 4166d6934..eedde1e63 100644 --- a/src/gui/osd_setup.cpp +++ b/src/gui/osd_setup.cpp @@ -49,6 +49,7 @@ #include #include #include +#include #include @@ -171,7 +172,14 @@ int COsdSetup::exec(CMenuTarget* parent, const std::string &actionKey) return menu_return::RETURN_REPAINT; } + // Display virtual zap = off when RC neo1 + tmp_virtual_zap_mode = (g_settings.remote_control_hardware == CKeybindSetup::REMOTECONTROL_STANDARD) ? g_settings.virtual_zap_mode : false; + showOsdSetup(); + + // Restore g_settings.virtual_zap_mode + if (g_settings.remote_control_hardware == CKeybindSetup::REMOTECONTROL_STANDARD) + g_settings.virtual_zap_mode = tmp_virtual_zap_mode; return menu_return::RETURN_REPAINT; } @@ -586,7 +594,10 @@ void COsdSetup::showOsdInfobarSetup(CMenuWidget *menu_infobar) menu_infobar->addItem(new CMenuOptionChooser(LOCALE_MISCSETTINGS_INFOBAR_CASYSTEM_DISPLAY, &g_settings.casystem_display, INFOBAR_CASYSTEM_MODE_OPTIONS, INFOBAR_CASYSTEM_MODE_OPTION_COUNT, true)); menu_infobar->addItem(new CMenuOptionChooser(LOCALE_MISCSETTINGS_INFOBAR_DISP_LOG, &g_settings.infobar_show_channellogo, LOCALE_MISCSETTINGS_INFOBAR_DISP_OPTIONS, LOCALE_MISCSETTINGS_INFOBAR_DISP_OPTIONS_COUNT, true)); menu_infobar->addItem(new CMenuForwarder(LOCALE_MISCSETTINGS_INFOBAR_LOGO_HDD_DIR, true, g_settings.logo_hdd_dir, this, "logo_dir")); - menu_infobar->addItem(new CMenuOptionChooser(LOCALE_MISCSETTINGS_VIRTUAL_ZAP_MODE, &g_settings.virtual_zap_mode, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true)); + + // Disable virtual zap when Neo1 remote control + menu_infobar->addItem(new CMenuOptionChooser(LOCALE_MISCSETTINGS_VIRTUAL_ZAP_MODE, &tmp_virtual_zap_mode, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, (g_settings.remote_control_hardware == CKeybindSetup::REMOTECONTROL_STANDARD))); + menu_infobar->addItem(new CMenuOptionChooser(LOCALE_MISCSETTINGS_INFOBAR_SAT_DISPLAY, &g_settings.infobar_sat_display, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true)); menu_infobar->addItem(new CMenuOptionChooser(LOCALE_MISCSETTINGS_INFOBAR_SHOW_VAR_HDD, &g_settings.infobar_show_var_hdd, OPTIONS_OFF0_ON1_OPTIONS, OPTIONS_OFF0_ON1_OPTION_COUNT, true)); menu_infobar->addItem(new CMenuOptionChooser(LOCALE_MISCSETTINGS_INFOBAR_SHOW_RES, &g_settings.infobar_show_res, INFOBAR_SHOW_RES_MODE_OPTIONS, INFOBAR_SHOW_RES_MODE_OPTION_COUNT, true)); diff --git a/src/gui/osd_setup.h b/src/gui/osd_setup.h index b131b0834..733397982 100644 --- a/src/gui/osd_setup.h +++ b/src/gui/osd_setup.h @@ -46,8 +46,8 @@ CColorSetupNotifier *colorSetupNotifier; CFontSizeNotifier *fontsizenotifier; CRadiotextNotifier *radiotextNotifier; + int tmp_virtual_zap_mode; - int width, selected; bool is_wizard; diff --git a/src/neutrino.cpp b/src/neutrino.cpp index 5416e8fb9..e792741c9 100644 --- a/src/neutrino.cpp +++ b/src/neutrino.cpp @@ -88,6 +88,7 @@ #include "gui/hdd_menu.h" #include "gui/imageinfo.h" #include "gui/infoviewer.h" +#include "gui/keybind_setup.h" #include "gui/mediaplayer.h" #include "gui/motorcontrol.h" #include "gui/movieplayer.h" @@ -726,7 +727,7 @@ int CNeutrinoApp::loadSetup(const char * fname) strcpy(g_settings.repeat_blocker, configfile.getString("repeat_blocker", "150").c_str()); strcpy(g_settings.repeat_genericblocker, configfile.getString("repeat_genericblocker", "100").c_str()); - g_settings.remote_control_neo1 = configfile.getInt32( "remote_control_neo1", 0); + g_settings.remote_control_hardware = configfile.getInt32( "remote_control_hardware", CKeybindSetup::REMOTECONTROL_STANDARD); g_settings.key_bouquet_up = configfile.getInt32( "key_bouquet_up", CRCInput::RC_right); g_settings.key_bouquet_down = configfile.getInt32( "key_bouquet_down", CRCInput::RC_left); g_settings.audiochannel_up_down_enable = configfile.getBool("audiochannel_up_down_enable", false); @@ -1241,7 +1242,7 @@ void CNeutrinoApp::saveSetup(const char * fname) configfile.setInt32("channellist_foot" , g_settings.channellist_foot); configfile.setString( "repeat_blocker", g_settings.repeat_blocker ); configfile.setString( "repeat_genericblocker", g_settings.repeat_genericblocker ); - configfile.setInt32("remote_control_neo1", g_settings.remote_control_neo1); + configfile.setInt32("remote_control_hardware", g_settings.remote_control_hardware); configfile.setBool ( "audiochannel_up_down_enable", g_settings.audiochannel_up_down_enable ); //screen configuration @@ -2198,7 +2199,7 @@ void CNeutrinoApp::RealRun(CMenuWidget &mainMenu) cCA::GetInstance()->Ready(true); while( true ) { - g_RCInput->getMsg(&msg, &data, 100, ((g_settings.remote_control_neo1 == 1) && (g_RemoteControl->subChannels.size() < 1)) ? true : false); // 10 secs.. + g_RCInput->getMsg(&msg, &data, 100, ((g_settings.remote_control_hardware == CKeybindSetup::REMOTECONTROL_NEO1) && (g_RemoteControl->subChannels.size() < 1)) ? true : false); // 10 secs.. if( ( mode == mode_tv ) || ( ( mode == mode_radio ) ) ) { if( (msg == NeutrinoMessages::SHOW_EPG) /* || (msg == CRCInput::RC_info) */ ) { @@ -2271,34 +2272,34 @@ void CNeutrinoApp::RealRun(CMenuWidget &mainMenu) StopSubtitles(); g_RemoteControl->subChannelUp(); g_InfoViewer->showSubchan(); + } else if(g_settings.remote_control_hardware == CKeybindSetup::REMOTECONTROL_NEO1) { + setVolume(msg, true); } else if(g_settings.virtual_zap_mode) { if(channelList->getSize()) { showInfo(); } } else - if (g_settings.remote_control_neo1 == 0) - quickZap( msg ); - else - setVolume(msg, true); + quickZap( msg ); } else if( msg == (neutrino_msg_t) g_settings.key_subchannel_down ) { if(g_RemoteControl->subChannels.size()> 0) { StopSubtitles(); g_RemoteControl->subChannelDown(); g_InfoViewer->showSubchan(); + } else if(g_settings.remote_control_hardware == CKeybindSetup::REMOTECONTROL_NEO1) { + setVolume(msg, true); } else if(g_settings.virtual_zap_mode) { if(channelList->getSize()) { showInfo(); } } else - if (g_settings.remote_control_neo1 == 0) - quickZap( msg ); - else - setVolume(msg, true); + quickZap( msg ); } /* in case key_subchannel_up/down redefined */ else if( msg == CRCInput::RC_left || msg == CRCInput::RC_right) { - if(channelList->getSize()) { + if(g_settings.remote_control_hardware == CKeybindSetup::REMOTECONTROL_NEO1) { + setVolume(msg, true); + } else if(channelList->getSize()) { showInfo(); } } diff --git a/src/system/locals.h b/src/system/locals.h index 25bed2608..cd62edf46 100644 --- a/src/system/locals.h +++ b/src/system/locals.h @@ -641,7 +641,6 @@ typedef enum LOCALE_IPSETUP_HINT_1, LOCALE_IPSETUP_HINT_2, LOCALE_KEYBINDINGMENU_RC, - LOCALE_KEYBINDINGMENU_RC_NEO1, LOCALE_KEYBINDINGMENU_ADDRECORD, LOCALE_KEYBINDINGMENU_ADDREMIND, LOCALE_KEYBINDINGMENU_ALLCHANNELS_ON_OK, @@ -662,6 +661,9 @@ typedef enum LOCALE_KEYBINDINGMENU_PAGEUP, LOCALE_KEYBINDINGMENU_POWEROFF, LOCALE_KEYBINDINGMENU_QUICKZAP, + LOCALE_KEYBINDINGMENU_REMOTECONTROL, + LOCALE_KEYBINDINGMENU_REMOTECONTROL_NEO1, + LOCALE_KEYBINDINGMENU_REMOTECONTROL_STANDARD, LOCALE_KEYBINDINGMENU_REPEATBLOCK, LOCALE_KEYBINDINGMENU_REPEATBLOCKGENERIC, LOCALE_KEYBINDINGMENU_SORT, diff --git a/src/system/locals_intern.h b/src/system/locals_intern.h index 386f865dd..c1f8b1dfe 100644 --- a/src/system/locals_intern.h +++ b/src/system/locals_intern.h @@ -641,7 +641,6 @@ const char * locale_real_names[] = "ipsetup.hint_1", "ipsetup.hint_2", "keybindingmenu.RC", - "keybindingmenu.RC_NEO1", "keybindingmenu.addrecord", "keybindingmenu.addremind", "keybindingmenu.allchannels_on_ok", @@ -662,6 +661,9 @@ const char * locale_real_names[] = "keybindingmenu.pageup", "keybindingmenu.poweroff", "keybindingmenu.quickzap", + "keybindingmenu.remotecontrol", + "keybindingmenu.remotecontrol_neo1", + "keybindingmenu.remotecontrol_standard", "keybindingmenu.repeatblock", "keybindingmenu.repeatblockgeneric", "keybindingmenu.sort", diff --git a/src/system/settings.h b/src/system/settings.h index 41a2f7078..7a518ae82 100644 --- a/src/system/settings.h +++ b/src/system/settings.h @@ -328,7 +328,7 @@ struct SNeutrinoSettings char repeat_blocker[4]; char repeat_genericblocker[4]; - int remote_control_neo1; + int remote_control_hardware; int audiochannel_up_down_enable; //screen configuration