diff options
author | louis <louis.braun@gmx.de> | 2015-03-12 17:22:16 +0100 |
---|---|---|
committer | louis <louis.braun@gmx.de> | 2015-03-12 17:22:16 +0100 |
commit | 3cc8e78e1bf00e16b49520ac416b74b5fd73c906 (patch) | |
tree | 4425c4eb4b9833d927aae2f65d0f3a99d3792f83 /setup.c | |
download | vdr-plugin-tvguideng-3cc8e78e1bf00e16b49520ac416b74b5fd73c906.tar.gz vdr-plugin-tvguideng-3cc8e78e1bf00e16b49520ac416b74b5fd73c906.tar.bz2 |
Version 0.0.10.0.1
Diffstat (limited to 'setup.c')
-rw-r--r-- | setup.c | 158 |
1 files changed, 158 insertions, 0 deletions
@@ -0,0 +1,158 @@ +#include "setup.h" + +cTvGuideSetup::cTvGuideSetup() { + tmpConfig = config; + displayModeItems[0] = "vertical"; + displayModeItems[1] = "horizontal"; + jumpMode[0] = tr("x channels back / forward"); + jumpMode[1] = tr("previous / next channel group"); + numMode[0] = tr("Timely Jump"); + numMode[1] = tr("Jump to specific channel"); + blueMode[0] = tr("Blue: Channel Switch, Ok: Detailed EPG"); + blueMode[1] = tr("Blue: Detailed EPG, Ok: Channel Switch"); + blueMode[2] = tr("Blue: Favorites / Switch, Ok: Detailed EPG"); + strn0cpy(description1, tmpConfig.descUser1.c_str(), sizeof(description1)); + strn0cpy(description2, tmpConfig.descUser2.c_str(), sizeof(description2)); + strn0cpy(description3, tmpConfig.descUser3.c_str(), sizeof(description3)); + strn0cpy(description4, tmpConfig.descUser4.c_str(), sizeof(description4)); + recFolderMode[0] = tr("Always use root video folder"); + recFolderMode[1] = tr("Select from folder list"); + recFolderMode[2] = tr("Use fixed folder"); + strn0cpy(fixedFolder, tmpConfig.instRecFixedFolder.c_str(), sizeof(fixedFolder)); + useSubtitleRerunTexts[0] = tr("never"); + useSubtitleRerunTexts[1] = tr("if exists"); + useSubtitleRerunTexts[2] = tr("always"); + Setup(); +} + +cTvGuideSetup::~cTvGuideSetup() { +} + +void cTvGuideSetup::Setup(void) { + int current = Current(); + Clear(); + + cString indent = " "; + + Add(new cMenuEditBoolItem(tr("Show Main Menu Entry"), &tmpConfig.showMainMenuEntry)); + Add(new cMenuEditBoolItem(tr("Replace VDR Schedules Menu"), &tmpConfig.replaceOriginalSchedule)); + Add(new cMenuEditStraItem(tr("Display Mode"), &tmpConfig.displayMode, 2, displayModeItems)); + Add(new cMenuEditIntItem(tr("Channels to display in horizontal View"), &tmpConfig.channelsPerPageHorizontal, 3, 12)); + Add(new cMenuEditIntItem(tr("Channels to display in vertical View"), &tmpConfig.channelsPerPageVertical, 3, 12)); + Add(new cMenuEditIntItem(tr("Number of Hours to display"), &tmpConfig.displayHours, 3, 12)); + Add(new cMenuEditIntItem(tr("Big Step (Keys 1 / 3) in hours"), &tmpConfig.bigStepHours, 1, 12)); + Add(new cMenuEditIntItem(tr("Huge Step (Keys 4 / 6) in hours"), &tmpConfig.hugeStepHours, 13, 48)); + Add(new cMenuEditBoolItem(tr("Hide last Channel Group"), &tmpConfig.hideLastChannelGroup)); + Add(new cMenuEditStraItem(tr("Channel Jump Mode (Keys Green / Yellow)"), &tmpConfig.channelJumpMode, 2, jumpMode)); + Add(new cMenuEditBoolItem(tr("Close TVGuide after channel switch"), &tmpConfig.closeOnSwitch)); + Add(new cMenuEditStraItem(tr("Functionality of numeric Keys"), &tmpConfig.numKeyMode, 2, numMode)); + Add(new cMenuEditStraItem(tr("Keys Blue and OK"), &tmpConfig.blueKeyMode, 3, blueMode)); + Add(new cMenuEditIntItem(tr("Maximum number of reruns to display"), &tmpConfig.rerunAmount, 1, 100)); + Add(new cMenuEditIntItem(tr("Minimum timely distance of rerun (in hours)"), &tmpConfig.rerunDistance, 0, 1000)); + Add(new cMenuEditIntItem(tr("Limit Channel Numbers for reruns"), &tmpConfig.rerunMaxChannel, 0, 1000, tr("no limit"))); + + Add(new cMenuEditStraItem(tr("Folder for instant Recordings"), &tmpConfig.instRecFolderMode, 3, recFolderMode)); + if (tmpConfig.instRecFolderMode == eFolderFixed) { + Add(new cMenuEditStrItem(cString::sprintf("%s%s", *indent, tr("Folder")), fixedFolder, sizeof(fixedFolder), trVDR(FileNameChars))); + } + if (pRemoteTimers) + Add(new cMenuEditBoolItem(tr("Use Remotetimers"), &tmpConfig.useRemoteTimers)); + + Add(new cMenuEditBoolItem(tr("Use \"What's on now\" in favorites"), &tmpConfig.favWhatsOnNow)); + Add(new cMenuEditBoolItem(tr("Use \"What's on next\" in favorites"), &tmpConfig.favWhatsOnNext)); + Add(new cMenuEditBoolItem(tr("Use user defined time 1 in favorites"), &tmpConfig.favUseTime1)); + if (tmpConfig.favUseTime1) { + Add(new cMenuEditStrItem(cString::sprintf("%s%s", *indent, tr("Description")), description1, sizeof(description1), trVDR(FileNameChars))); + Add(new cMenuEditTimeItem(cString::sprintf("%s%s", *indent, tr("Time")), &tmpConfig.favTime1)); + } + Add(new cMenuEditBoolItem(tr("Use user defined time 2 in favorites"), &tmpConfig.favUseTime2)); + if (tmpConfig.favUseTime2) { + Add(new cMenuEditStrItem(cString::sprintf("%s%s", *indent, tr("Description")), description2, sizeof(description2), trVDR(FileNameChars))); + Add(new cMenuEditTimeItem(cString::sprintf("%s%s", *indent, tr("Time")), &tmpConfig.favTime2)); + } + Add(new cMenuEditBoolItem(tr("Use user defined time 3 in favorites"), &tmpConfig.favUseTime3)); + if (tmpConfig.favUseTime3) { + Add(new cMenuEditStrItem(cString::sprintf("%s%s", *indent, tr("Description")), description3, sizeof(description3), trVDR(FileNameChars))); + Add(new cMenuEditTimeItem(cString::sprintf("%s%s", *indent, tr("Time")), &tmpConfig.favTime3)); + } + Add(new cMenuEditBoolItem(tr("Use user defined time 4 in favorites"), &tmpConfig.favUseTime4)); + if (tmpConfig.favUseTime4) { + Add(new cMenuEditStrItem(cString::sprintf("%s%s", *indent, tr("Description")), description4, sizeof(description4), trVDR(FileNameChars))); + Add(new cMenuEditTimeItem(cString::sprintf("%s%s", *indent, tr("Time")), &tmpConfig.favTime4)); + } + Add(new cMenuEditBoolItem(tr("Limit channels in favorites"), &tmpConfig.favLimitChannels)); + if (tmpConfig.favLimitChannels) { + Add(new cMenuEditChanItem(tr("Start Channel"), &tmpConfig.favStartChannel)); + Add(new cMenuEditChanItem(tr("Stop Channel"), &tmpConfig.favStopChannel)); + } + + SetCurrent(Get(current)); + Display(); +} + +void cTvGuideSetup::Store(void) { + config = tmpConfig; + SetupStore("showMainMenuEntry", config.showMainMenuEntry); + SetupStore("replaceOriginalSchedule", config.replaceOriginalSchedule); + SetupStore("displayMode", config.displayMode); + SetupStore("channelsPerPageHorizontal", config.channelsPerPageHorizontal); + SetupStore("channelsPerPageVertical", config.channelsPerPageVertical); + SetupStore("displayHours", config.displayHours); + SetupStore("bigStepHours", config.bigStepHours); + SetupStore("hugeStepHours", config.hugeStepHours); + SetupStore("hideLastChannelGroup", config.hideLastChannelGroup); + SetupStore("channelJumpMode", config.channelJumpMode); + SetupStore("closeOnSwitch", config.closeOnSwitch); + SetupStore("numKeyMode", config.numKeyMode); + SetupStore("blueKeyMode", config.blueKeyMode); + SetupStore("rerunAmount", config.rerunAmount); + SetupStore("rerunDistance", config.rerunDistance); + SetupStore("rerunMaxChannel", config.rerunMaxChannel); + SetupStore("useRemoteTimers", config.useRemoteTimers); + SetupStore("instRecFolderMode", config.instRecFolderMode); + SetupStore("instRecFixedFolder", config.instRecFixedFolder.c_str()); + SetupStore("favWhatsOnNow", config.favWhatsOnNow); + SetupStore("favWhatsOnNext", config.favWhatsOnNext); + SetupStore("favUseTime1", config.favUseTime1); + SetupStore("favUseTime2", config.favUseTime2); + SetupStore("favUseTime3", config.favUseTime3); + SetupStore("favUseTime4", config.favUseTime4); + SetupStore("favTime1", config.favTime1); + SetupStore("favTime2", config.favTime2); + SetupStore("favTime3", config.favTime3); + SetupStore("favTime4", config.favTime4); + SetupStore("descUser1", config.descUser1.c_str()); + SetupStore("descUser2", config.descUser2.c_str()); + SetupStore("descUser3", config.descUser3.c_str()); + SetupStore("descUser4", config.descUser4.c_str()); + SetupStore("favLimitChannels", config.favLimitChannels); + SetupStore("favStartChannel", config.favStartChannel); + SetupStore("favStopChannel", config.favStopChannel); +} + +eOSState cTvGuideSetup::ProcessKey(eKeys Key) { + int tmpFavUseTime1 = tmpConfig.favUseTime1; + int tmpFavUseTime2 = tmpConfig.favUseTime2; + int tmpFavUseTime3 = tmpConfig.favUseTime3; + int tmpFavUseTime4 = tmpConfig.favUseTime4; + int tmpFavLimitChannels = tmpConfig.favLimitChannels; + int tmpFolderMode = tmpConfig.instRecFolderMode; + eOSState state = cOsdMenu::ProcessKey(Key); + if (Key == kOk) { + tmpConfig.descUser1 = description1; + tmpConfig.descUser2 = description2; + tmpConfig.descUser3 = description3; + tmpConfig.descUser4 = description4; + tmpConfig.instRecFixedFolder = fixedFolder; + Store(); + } else if ((Key == kLeft)||(Key == kRight)) { + if ((tmpFavUseTime1 != tmpConfig.favUseTime1) || + (tmpFavUseTime2 != tmpConfig.favUseTime2) || + (tmpFavUseTime3 != tmpConfig.favUseTime3) || + (tmpFavUseTime4 != tmpConfig.favUseTime4) || + (tmpFavLimitChannels != tmpConfig.favLimitChannels) || + (tmpFolderMode != tmpConfig.instRecFolderMode) ) + Setup(); + } + return state; +} |