summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY3
-rw-r--r--recmenu.c7
-rw-r--r--recmenu.h1
-rw-r--r--recmenuitem.c67
-rw-r--r--recmenumanager.c5
5 files changed, 34 insertions, 49 deletions
diff --git a/HISTORY b/HISTORY
index 2bac942..7f2fdd4 100644
--- a/HISTORY
+++ b/HISTORY
@@ -124,3 +124,6 @@ Version 1.2.0
- fixed a bug when scrolling page up and the menu footer is active
- order of search timers in search timer list in alphabetical order
- changed order of actions on search timer menu items
+- changed event result lists that it is possible to scroll page up and
+ down directly with left / right. A recording is triggered now with the
+ red key.
diff --git a/recmenu.c b/recmenu.c
index 6dd84dc..1c8166c 100644
--- a/recmenu.c
+++ b/recmenu.c
@@ -574,6 +574,13 @@ void cRecMenu::Show(void) {
}
}
+void cRecMenu::UpdateActiveMenuItem(void) {
+ cRecMenuItem *activeItem = GetActiveMenuItem();
+ if (activeItem)
+ activeItem->Draw();
+}
+
+
void cRecMenu::DrawScrollBar(void) {
pixmapScrollBar->Fill(theme.Color(clrBorder));
pixmapScrollBar->DrawRectangle(cRect(2,2,pixmapScrollBar->ViewPort().Width()-4, pixmapScrollBar->ViewPort().Height() - 4), theme.Color(clrBackground));
diff --git a/recmenu.h b/recmenu.h
index 21123a8..eb819ee 100644
--- a/recmenu.h
+++ b/recmenu.h
@@ -60,6 +60,7 @@ public:
void Display(bool scroll = false);
void Hide(void);
void Show(void);
+ void UpdateActiveMenuItem(void);
virtual eRecMenuState ProcessKey(eKeys Key);
};
#endif //__TVGUIDE_RECMENU_H \ No newline at end of file
diff --git a/recmenuitem.c b/recmenuitem.c
index 928883d..f4efb86 100644
--- a/recmenuitem.c
+++ b/recmenuitem.c
@@ -1846,15 +1846,6 @@ void cRecMenuItemEvent::Draw(void) {
pixmapText->DrawText(cPoint(textX, textHeightLine1), *info, colorText, clrTransparent, fontSmall);
pixmapText->DrawText(cPoint(textX, textHeightLine2), *title, colorText, clrTransparent, font);
pixmapText->DrawText(cPoint(textX, textHeightLine3), *desc, colorText, clrTransparent, fontSmall);
-
- if (event->HasTimer()) {
- int iconSize = height / 2;
- int iconY = (height - iconSize) / 2;
- cImage *imgHasTimer = imgCache.GetIcon("activetimer", iconSize, iconSize);
- if (imgHasTimer) {
- pixmapIcons->DrawImage(cPoint(width - iconSize - 10, iconY), *imgHasTimer);
- }
- }
}
int cRecMenuItemEvent::DrawIcons(void) {
@@ -1862,28 +1853,33 @@ int cRecMenuItemEvent::DrawIcons(void) {
int iconsX = 10;
int iconSize = height / 2;
int iconY = (height - iconSize) / 2;
- std::string iconInfo, iconRecord;
+ std::string iconInfo;
if (active) {
iconInfo = (iconActive==0)?"info_active":"info_inactive";
- if (action2 != rmsDisabled)
- iconRecord = (iconActive==1)?"record_active":"record_inactive";
} else {
iconInfo = "info_inactive";
- if (action2 != rmsDisabled)
- iconRecord = "record_inactive";
}
cImage *imgInfo = imgCache.GetIcon(iconInfo, iconSize, iconSize);
if (imgInfo) {
pixmapIcons->DrawImage(cPoint(iconsX, iconY), *imgInfo);
iconsX += iconSize + 5;
}
- if (action2 != rmsDisabled) {
- cImage *imgRec = imgCache.GetIcon(iconRecord, iconSize, iconSize);
+
+ iconY = height - iconSize - 10;
+ if (event->HasTimer()) {
+ cImage *imgHasTimer = imgCache.GetIcon("activetimer", iconSize, iconSize);
+ if (imgHasTimer) {
+ pixmapIcons->DrawImage(cPoint(width - iconSize - 10, iconY), *imgHasTimer);
+ }
+ } else {
+ std::string iconRec = active ? "record_active" : "record_inactive";
+ cImage *imgRec = imgCache.GetIcon(iconRec, iconSize, iconSize);
if (imgRec) {
- pixmapIcons->DrawImage(cPoint(iconsX, iconY), *imgRec);
- iconsX += iconSize + 5;
+ pixmapIcons->DrawImage(cPoint(width - iconSize - 10, iconY), *imgRec);
}
- }
+ }
+
+
return iconsX;
}
@@ -1902,36 +1898,11 @@ void cRecMenuItemEvent::Show(void) {
eRecMenuState cRecMenuItemEvent::ProcessKey(eKeys Key) {
bool consumed = false;
switch (Key & ~k_Repeat) {
- case kLeft:
- if (action2 == rmsDisabled)
- return rmsNotConsumed;
- if (iconActive == 1) {
- iconActive = 0;
- consumed = true;
- }
- DrawIcons();
- if (consumed)
- return rmsConsumed;
- else
- return rmsNotConsumed;
- break;
- case kRight: {
- if (action2 == rmsDisabled)
- return rmsNotConsumed;
- if (iconActive == 0) {
- iconActive = 1;
- consumed = true;
- }
- DrawIcons();
- if (consumed)
- return rmsConsumed;
- else
- return rmsNotConsumed;
- break; }
case kOk:
- if (iconActive == 0)
- return action;
- else if (iconActive == 1)
+ return action;
+ break;
+ case kRed:
+ if (!event->HasTimer())
return action2;
break;
default:
diff --git a/recmenumanager.c b/recmenumanager.c
index ddd95a8..1fc672b 100644
--- a/recmenumanager.c
+++ b/recmenumanager.c
@@ -544,6 +544,7 @@ eOSState cRecMenuManager::StateMachine(eRecMenuState nextState) {
delete activeMenu;
activeMenu = activeMenuBuffer;
activeMenuBuffer = NULL;
+ activeMenu->UpdateActiveMenuItem();
activeMenu->Show();
break;
/**********************************************************************************************
@@ -718,6 +719,7 @@ eOSState cRecMenuManager::StateMachine(eRecMenuState nextState) {
delete activeMenu;
activeMenu = activeMenuBuffer2;
activeMenuBuffer2 = NULL;
+ activeMenu->UpdateActiveMenuItem();
activeMenu->Show();
break;
case rmsFavoritesNow:
@@ -767,6 +769,7 @@ eOSState cRecMenuManager::StateMachine(eRecMenuState nextState) {
delete activeMenu;
activeMenu = activeMenuBuffer;
activeMenuBuffer = NULL;
+ activeMenu->UpdateActiveMenuItem();
activeMenu->Show();
state = osContinue;
}
@@ -795,7 +798,6 @@ void cRecMenuManager::DisplaySearchTimerList(void) {
delete activeMenu;
std::vector<cTVGuideSearchTimer> searchTimers;
recManager->GetSearchTimers(&searchTimers);
- //std::sort(searchTimers.begin(), searchTimers.end());
activeMenu = new cRecMenuSearchTimers(searchTimers);
activeMenu->Display();
}
@@ -865,6 +867,7 @@ eOSState cRecMenuManager::ProcessKey(eKeys Key) {
delete activeMenu;
activeMenu = activeMenuBuffer;
activeMenuBuffer = NULL;
+ activeMenu->UpdateActiveMenuItem();
activeMenu->Show();
state = osContinue;
osdManager.flush();