diff options
Diffstat (limited to 'menu_recsdone.c')
-rw-r--r-- | menu_recsdone.c | 190 |
1 files changed, 96 insertions, 94 deletions
diff --git a/menu_recsdone.c b/menu_recsdone.c index 062f93d..14dbcc8 100644 --- a/menu_recsdone.c +++ b/menu_recsdone.c @@ -28,15 +28,15 @@ int sortModeRecDone = 0; cMenuRecDoneItem::cMenuRecDoneItem(cRecDone* RecDone, bool ShowEpisodeOnly) { - recDone = RecDone; - showEpisodeOnly = ShowEpisodeOnly; - Set(); + recDone = RecDone; + showEpisodeOnly = ShowEpisodeOnly; + Set(); } void cMenuRecDoneItem::Set() { if (!recDone) - return; + return; char *buffer = NULL; char buf[32]; @@ -44,8 +44,8 @@ void cMenuRecDoneItem::Set() tm *tm = localtime_r(&recDone->startTime, &tm_r); strftime(buf, sizeof(buf), "%d.%m.%y %H:%M", tm); - msprintf(&buffer, "%s\t%s~%s", buf, recDone->title && !showEpisodeOnly?recDone->title:"", - recDone->shortText?recDone->shortText:""); + msprintf(&buffer, "%s\t%s~%s", buf, recDone->title && !showEpisodeOnly ? recDone->title : "", + recDone->shortText ? recDone->shortText : ""); SetText(buffer, false); } @@ -53,13 +53,13 @@ int cMenuRecDoneItem::Compare(const cListObject &ListObject) const { cMenuRecDoneItem *p = (cMenuRecDoneItem *)&ListObject; if (sortModeRecDone == 0) // sort by Date - if (recDone->startTime < p->recDone->startTime) return 1; else return -1; - else - { - cString s1 = cString::sprintf("%s~%s", recDone->title?recDone->title:"", recDone->shortText?recDone->shortText:""); - cString s2 = cString::sprintf("%s~%s", p->recDone->title?p->recDone->title:"", p->recDone->shortText?p->recDone->shortText:""); - int res = strcasecmp(s1, s2); - return res; + if (recDone->startTime < p->recDone->startTime) return 1; + else return -1; + else { + cString s1 = cString::sprintf("%s~%s", recDone->title ? recDone->title : "", recDone->shortText ? recDone->shortText : ""); + cString s2 = cString::sprintf("%s~%s", p->recDone->title ? p->recDone->title : "", p->recDone->shortText ? p->recDone->shortText : ""); + int res = strcasecmp(s1, s2); + return res; } } @@ -69,9 +69,9 @@ int cMenuRecDoneItem::Compare(const cListObject &ListObject) const #define SHOW_RECDONE_ORPHANED 2 cMenuRecsDone::cMenuRecsDone(cSearchExt* Search) -:cOsdMenu("", 16) + : cOsdMenu("", 16) { - SetMenuCategory(mcUnknown); + SetMenuCategory(mcUnknown); search = Search; showMode = SHOW_RECDONE_ALL; showEpisodeOnly = false; @@ -83,12 +83,12 @@ cMenuRecsDone::cMenuRecsDone(cSearchExt* Search) const char* cMenuRecsDone::ButtonBlue(cSearchExt* Search) { - if (showMode==SHOW_RECDONE_SEARCH && Search) - return tr("Button$Show all"); - else if (showMode==SHOW_RECDONE_ALL) - return tr("Button$Orphaned"); - else - return Search->search; + if (showMode == SHOW_RECDONE_SEARCH && Search) + return tr("Button$Show all"); + else if (showMode == SHOW_RECDONE_ALL) + return tr("Button$Orphaned"); + else + return Search->search; } void cMenuRecsDone::Set() @@ -97,14 +97,14 @@ void cMenuRecsDone::Set() cMutexLock RecsDoneLock(&RecsDone); cRecDone* recDone = RecsDone.First(); while (recDone) { - if (showMode == SHOW_RECDONE_ALL || - (showMode == SHOW_RECDONE_SEARCH && search && recDone->searchID == search->ID) || - (showMode == SHOW_RECDONE_ORPHANED && recDone->searchID == -1)) - Add(new cMenuRecDoneItem(recDone, showEpisodeOnly)); - recDone = RecsDone.Next(recDone); + if (showMode == SHOW_RECDONE_ALL || + (showMode == SHOW_RECDONE_SEARCH && search && recDone->searchID == search->ID) || + (showMode == SHOW_RECDONE_ORPHANED && recDone->searchID == -1)) + Add(new cMenuRecDoneItem(recDone, showEpisodeOnly)); + recDone = RecsDone.Next(recDone); } UpdateTitle(); - SetHelp(sortModeRecDone==0?tr("Button$by name"):tr("Button$by date"), tr("Button$Delete all"), trVDR("Button$Delete"), ButtonBlue(search)); + SetHelp(sortModeRecDone == 0 ? tr("Button$by name") : tr("Button$by date"), tr("Button$Delete all"), trVDR("Button$Delete"), ButtonBlue(search)); Sort(); } @@ -116,24 +116,24 @@ cRecDone *cMenuRecsDone::CurrentRecDone(void) void cMenuRecsDone::UpdateTitle() { - cString buffer = cString::sprintf("%d %s%s%s", Count(), tr("Recordings"), showMode == SHOW_RECDONE_ALL?"":" ", showMode != SHOW_RECDONE_SEARCH ? "":search->search); - SetTitle(buffer); - Display(); + cString buffer = cString::sprintf("%d %s%s%s", Count(), tr("Recordings"), showMode == SHOW_RECDONE_ALL ? "" : " ", showMode != SHOW_RECDONE_SEARCH ? "" : search->search); + SetTitle(buffer); + Display(); } eOSState cMenuRecsDone::Delete(void) { cRecDone *curRecDone = CurrentRecDone(); if (curRecDone) { - if (Interface->Confirm(tr("Edit$Delete entry?"))) { - LogFile.Log(1,"deleted recording done: '%s~%s'", curRecDone->title?curRecDone->title:"unknown title", curRecDone->shortText?curRecDone->shortText:"unknown subtitle"); - cMutexLock RecsDoneLock(&RecsDone); - RecsDone.Del(curRecDone); - RecsDone.Save(); - cOsdMenu::Del(Current()); - Display(); - UpdateTitle(); - } + if (Interface->Confirm(tr("Edit$Delete entry?"))) { + LogFile.Log(1, "deleted recording done: '%s~%s'", curRecDone->title ? curRecDone->title : "unknown title", curRecDone->shortText ? curRecDone->shortText : "unknown subtitle"); + cMutexLock RecsDoneLock(&RecsDone); + RecsDone.Del(curRecDone); + RecsDone.Save(); + cOsdMenu::Del(Current()); + Display(); + UpdateTitle(); + } } return osContinue; } @@ -141,18 +141,17 @@ eOSState cMenuRecsDone::Delete(void) eOSState cMenuRecsDone::DeleteAll(void) { if (Interface->Confirm(tr("Edit$Delete all entries?"))) { - cMutexLock RecsDoneLock(&RecsDone); - while(Count()>0) - { - cMenuRecDoneItem *item = (cMenuRecDoneItem *)Get(0); - if (!item) break; - cRecDone *curRecDone = item->recDone; - RecsDone.Del(curRecDone); - cOsdMenu::Del(0); - } - RecsDone.Save(); - Display(); - UpdateTitle(); + cMutexLock RecsDoneLock(&RecsDone); + while (Count() > 0) { + cMenuRecDoneItem *item = (cMenuRecDoneItem *)Get(0); + if (!item) break; + cRecDone *curRecDone = item->recDone; + RecsDone.Del(curRecDone); + cOsdMenu::Del(0); + } + RecsDone.Save(); + Display(); + UpdateTitle(); } return osContinue; @@ -161,70 +160,73 @@ eOSState cMenuRecsDone::DeleteAll(void) eOSState cMenuRecsDone::Summary(void) { if (HasSubMenu() || Count() == 0) - return osContinue; + return osContinue; cRecDone* recDone = CurrentRecDone(); if (recDone && !isempty(recDone->description)) - return AddSubMenu(new cMenuTextDone(tr("Summary"), recDone)); + return AddSubMenu(new cMenuTextDone(tr("Summary"), recDone)); return osContinue; } eOSState cMenuRecsDone::ProcessKey(eKeys Key) { - eOSState state = cOsdMenu::ProcessKey(Key); - if (state == osUnknown) { - switch (Key) { - case kOk: - state = Summary(); - break; - case kGreen: - state = DeleteAll(); - break; - case kYellow: - state = Delete(); - break; - case kBlue: - showMode = (showMode+1)%3; - Set(); - Display(); - break; - case k0: - showEpisodeOnly = !showEpisodeOnly; - Set(); - Display(); - break; - case kRed: - sortModeRecDone = 1-sortModeRecDone; - Set(); - Display(); - break; - case k8: - return osContinue; - default: break; + eOSState state = cOsdMenu::ProcessKey(Key); + if (state == osUnknown) { + switch (Key) { + case kOk: + state = Summary(); + break; + case kGreen: + state = DeleteAll(); + break; + case kYellow: + state = Delete(); + break; + case kBlue: + showMode = (showMode + 1) % 3; + Set(); + Display(); + break; + case k0: + showEpisodeOnly = !showEpisodeOnly; + Set(); + Display(); + break; + case kRed: + sortModeRecDone = 1 - sortModeRecDone; + Set(); + Display(); + break; + case k8: + return osContinue; + default: + break; + } } - } - return state; + return state; } eOSState cMenuTextDone::ProcessKey(eKeys Key) { eOSState state = cMenuText::ProcessKey(Key); if (state == osContinue) { - switch (Key) { - case kBlue: - if (recDone->aux) return AddSubMenu(new cMenuText(tr("Auxiliary info"), recDone->aux)); - break; - case kOk: return osBack; - default: state = osContinue; - } + switch (Key) { + case kBlue: + if (recDone->aux) return AddSubMenu(new cMenuText(tr("Auxiliary info"), recDone->aux)); + break; + case kOk: + return osBack; + default: + state = osContinue; + } } return state; } // --- cMenuTextDone ---------------------------------------------------------- cMenuTextDone::cMenuTextDone(const char *Title, cRecDone* RecDone, eDvbFont Font) -: cMenuText(Title, RecDone->description, Font), recDone(RecDone) + : cMenuText(Title, RecDone->description, Font), recDone(RecDone) { - if (recDone->aux) SetHelp(NULL, NULL, NULL, tr("Button$Aux info")); + if (recDone->aux) SetHelp(NULL, NULL, NULL, tr("Button$Aux info")); } |