summaryrefslogtreecommitdiff
path: root/plexSdOsd.cpp
diff options
context:
space:
mode:
authorchriszero <zerov83@gmail.com>2015-04-06 21:40:35 +0200
committerchriszero <zerov83@gmail.com>2015-04-06 21:40:35 +0200
commit376c9f258eba669892c2ab00a0863a195ff9d5e8 (patch)
tree0f9e2593279d6ff03e8d272b91e7980afb4a2850 /plexSdOsd.cpp
parent13605a7c30e5e35f33ba824c92d2e7cf706a0fa9 (diff)
downloadvdr-plugin-plex-376c9f258eba669892c2ab00a0863a195ff9d5e8.tar.gz
vdr-plugin-plex-376c9f258eba669892c2ab00a0863a195ff9d5e8.tar.bz2
Skindesigner
Diffstat (limited to 'plexSdOsd.cpp')
-rw-r--r--plexSdOsd.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/plexSdOsd.cpp b/plexSdOsd.cpp
index 6e3ae17..376f857 100644
--- a/plexSdOsd.cpp
+++ b/plexSdOsd.cpp
@@ -18,7 +18,7 @@ bool cPlexSdOsd::SdSupport()
{
bool skinDesignerAvailable = InitSkindesignerInterface("plex");
if (skinDesignerAvailable) {
-
+
cOsdView *rootView = GetOsdView(eViews::viRootView);
if (!rootView) {
esyslog("[plex]: used skindesigner skin does not support plex");
@@ -54,6 +54,7 @@ void cPlexSdOsd::Flush()
eOSState cPlexSdOsd::ProcessKey(eKeys Key)
{
eOSState state = eOSState::osContinue;
+ plexclient::Video* vid = dynamic_cast<plexclient::Video*>(m_pBrowserGrid->SelectedObject());
switch (Key & ~k_Repeat) {
case kUp:
m_pBrowserGrid->NavigateUp();
@@ -82,15 +83,21 @@ eOSState cPlexSdOsd::ProcessKey(eKeys Key)
Flush();
break;
case kRed:
- // Prev Tab
- m_pBrowserGrid->NextTab();
- Flush();
+ if(vid) {
+ if(vid->m_iViewCount > 0) vid->SetUnwatched();
+ else vid->SetWatched();
+ vid->UpdateFromServer();
+ Flush();
+ }
break;
case kGreen:
- // Next Tab
m_pBrowserGrid->PrevTab();
Flush();
break;
+ case kYellow:
+ m_pBrowserGrid->NextTab();
+ Flush();
+ break;
default:
break;
}