From 1a2da2da0a3d9144db1fc1ecb993bb2b40fc4229 Mon Sep 17 00:00:00 2001 From: kamel5 Date: Mon, 17 Jun 2019 12:12:18 +0200 Subject: Eliminate AddSubMenu in cRecMenuSearchTimerEdit --- recmenus.c | 61 ++++++++++++------------------------------------------------- recmenus.h | 6 ------ 2 files changed, 12 insertions(+), 55 deletions(-) diff --git a/recmenus.c b/recmenus.c index f828105..c664e93 100644 --- a/recmenus.c +++ b/recmenus.c @@ -778,26 +778,6 @@ cRecMenuSearchTimerEdit::~cRecMenuSearchTimerEdit(void) { delete *it; } mainMenuItems.clear(); - for (std::vector::iterator it = useChannelSubMenu.begin(); it != useChannelSubMenu.end(); it++) { - delete *it; - } - useChannelSubMenu.clear(); - for (std::vector::iterator it = useGroupSubMenu.begin(); it != useGroupSubMenu.end(); it++) { - delete *it; - } - useGroupSubMenu.clear(); - for (std::vector::iterator it = useTimeSubMenu.begin(); it != useTimeSubMenu.end(); it++) { - delete *it; - } - useTimeSubMenu.clear(); - for (std::vector::iterator it = useDayOfWeekSubMenu.begin(); it != useDayOfWeekSubMenu.end(); it++) { - delete *it; - } - useDayOfWeekSubMenu.clear(); - for (std::vector::iterator it = avoidRepeatSubMenu.begin(); it != avoidRepeatSubMenu.end(); it++) { - delete *it; - } - avoidRepeatSubMenu.clear(); currentMenuItems.clear(); } @@ -858,23 +838,23 @@ void cRecMenuSearchTimerEdit::InitMenuItems(void) { stopChannel = 1; #if VDRVERSNUM >= 20301 LOCK_CHANNELS_READ; - useChannelSubMenu.push_back(new cRecMenuItemChannelChooser(tr("Start Channel"), Channels->GetByNumber(startChannel), false, &startChannel, rmsSearchTimerSave)); - useChannelSubMenu.push_back(new cRecMenuItemChannelChooser(tr("Stop Channel"), Channels->GetByNumber(stopChannel), false, &stopChannel, rmsSearchTimerSave)); + mainMenuItems.push_back(new cRecMenuItemChannelChooser(tr("Start Channel"), Channels->GetByNumber(startChannel), false, &startChannel, rmsSearchTimerSave)); + mainMenuItems.push_back(new cRecMenuItemChannelChooser(tr("Stop Channel"), Channels->GetByNumber(stopChannel), false, &stopChannel, rmsSearchTimerSave)); #else - useChannelSubMenu.push_back(new cRecMenuItemChannelChooser(tr("Start Channel"), Channels.GetByNumber(startChannel), false, &startChannel, rmsSearchTimerSave)); - useChannelSubMenu.push_back(new cRecMenuItemChannelChooser(tr("Stop Channel"), Channels.GetByNumber(stopChannel), false, &stopChannel, rmsSearchTimerSave)); + mainMenuItems.push_back(new cRecMenuItemChannelChooser(tr("Start Channel"), Channels.GetByNumber(startChannel), false, &startChannel, rmsSearchTimerSave)); + mainMenuItems.push_back(new cRecMenuItemChannelChooser(tr("Stop Channel"), Channels.GetByNumber(stopChannel), false, &stopChannel, rmsSearchTimerSave)); #endif - useGroupSubMenu.push_back(new cRecMenuItemSelect(tr("Channel Group"), channelgroups, channelgroupIndex, false, &channelgroupIndex, rmsSearchTimerSave)); + mainMenuItems.push_back(new cRecMenuItemSelect(tr("Channel Group"), channelgroups, channelgroupIndex, false, &channelgroupIndex, rmsSearchTimerSave)); - useTimeSubMenu.push_back(new cRecMenuItemTime(tr("Start after"), startTime, false, &startTime, rmsSearchTimerSave)); - useTimeSubMenu.push_back(new cRecMenuItemTime(tr("Start before"), stopTime, false, &stopTime, rmsSearchTimerSave)); + mainMenuItems.push_back(new cRecMenuItemTime(tr("Start after"), startTime, false, &startTime, rmsSearchTimerSave)); + mainMenuItems.push_back(new cRecMenuItemTime(tr("Start before"), stopTime, false, &stopTime, rmsSearchTimerSave)); - useDayOfWeekSubMenu.push_back(new cRecMenuItemDayChooser(tr("Select Days"), dayOfWeek, false, &dayOfWeek)); - avoidRepeatSubMenu.push_back(new cRecMenuItemInt(tr("Number of allowed repeats"), allowedRepeats, 0, 30, false, &allowedRepeats, rmsSearchTimerSave)); - avoidRepeatSubMenu.push_back(new cRecMenuItemBool(tr("Compare Title"), compareTitle, false, false, &compareTitle, rmsSearchTimerSave)); - avoidRepeatSubMenu.push_back(new cRecMenuItemBool(tr("Compare Subtitle"), compareSubtitle, false, false, &compareSubtitle, rmsSearchTimerSave)); - avoidRepeatSubMenu.push_back(new cRecMenuItemBool(tr("Compare Description"), compareSummary, false, false, &compareSummary, rmsSearchTimerSave)); + mainMenuItems.push_back(new cRecMenuItemDayChooser(tr("Select Days"), dayOfWeek, false, &dayOfWeek)); + mainMenuItems.push_back(new cRecMenuItemInt(tr("Number of allowed repeats"), allowedRepeats, 0, 30, false, &allowedRepeats, rmsSearchTimerSave)); + mainMenuItems.push_back(new cRecMenuItemBool(tr("Compare Title"), compareTitle, false, false, &compareTitle, rmsSearchTimerSave)); + mainMenuItems.push_back(new cRecMenuItemBool(tr("Compare Subtitle"), compareSubtitle, false, false, &compareSubtitle, rmsSearchTimerSave)); + mainMenuItems.push_back(new cRecMenuItemBool(tr("Compare Description"), compareSummary, false, false, &compareSummary, rmsSearchTimerSave)); } @@ -891,16 +871,6 @@ void cRecMenuSearchTimerEdit::CreateMenuItems(void) { for (int i = 0; i < numMainMenuItems; i++) { currentMenuItems.push_back(mainMenuItems[i]); - if ((i == useChannelPos) && (useChannel == 1)) - AddSubMenu(&useChannelSubMenu); - else if ((i == useChannelPos) && (useChannel == 2) && (channelgroups.size() > 0)) - AddSubMenu(&useGroupSubMenu); - else if ((i == useTimePos) && useTime) - AddSubMenu(&useTimeSubMenu); - else if ((i == useDayOfWeekPos) && useDayOfWeek) - AddSubMenu(&useDayOfWeekSubMenu); - else if ((i == avoidRepeatsPos) && avoidRepeats) - AddSubMenu(&avoidRepeatSubMenu); } int numMenuItemsAll = currentMenuItems.size(); @@ -919,13 +889,6 @@ void cRecMenuSearchTimerEdit::CreateMenuItems(void) { Arrange(); } -void cRecMenuSearchTimerEdit::AddSubMenu(std::vector *subMenu) { - for (std::vector::iterator it = subMenu->begin(); it < subMenu->end(); it++) { - currentMenuItems.push_back(*it); - } -} - - cTVGuideSearchTimer cRecMenuSearchTimerEdit::GetSearchTimer(void) { dsyslog ("%s %s %d\n", __FILE__, __func__, __LINE__); searchTimer.SetSearchString(searchString); diff --git a/recmenus.h b/recmenus.h index 9d5bde8..e506a9e 100644 --- a/recmenus.h +++ b/recmenus.h @@ -210,11 +210,6 @@ private: cTVGuideSearchTimer searchTimer; std::vector channelGroups; std::vector mainMenuItems; - std::vector useChannelSubMenu; - std::vector useGroupSubMenu; - std::vector useTimeSubMenu; - std::vector useDayOfWeekSubMenu; - std::vector avoidRepeatSubMenu; std::vector currentMenuItems; int numMenuItems; int useChannelPos; @@ -252,7 +247,6 @@ private: bool compareSummary; bool useInFavorites; void InitMenuItems(void); - void AddSubMenu(std::vector *subMenu); int SplitChannelGroups(std::vector *channelGroups, std::vector *channelgroups); public: cRecMenuSearchTimerEdit(cTVGuideSearchTimer searchTimer, std::vector channelGroups); -- cgit v1.2.3