summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian <zerov83@gmail.com>2016-03-25 10:30:23 +0100
committerChristian <zerov83@gmail.com>2016-03-25 10:30:23 +0100
commit2c6f8aa0d218980a35a86499875fad290d1dfd1c (patch)
tree354b6a48c074947ceccaabf829c3b8231f820933
parentde768eeec1692df5dbd114129ec772749df12bf6 (diff)
downloadvdr-plugin-plex-2c6f8aa0d218980a35a86499875fad290d1dfd1c.tar.gz
vdr-plugin-plex-2c6f8aa0d218980a35a86499875fad290d1dfd1c.tar.bz2
New token {hasscrollbar} in rootview & detailview
-rw-r--r--browserGrid.cpp32
-rw-r--r--detailView.cpp31
-rw-r--r--plexSdOsd.cpp2
-rw-r--r--templates/plug-plex-detail.xml1
-rw-r--r--templates/plug-plex-root.xml1
-rw-r--r--tokendefinitions.h32
6 files changed, 69 insertions, 30 deletions
diff --git a/browserGrid.cpp b/browserGrid.cpp
index 8b4485b..61c9999 100644
--- a/browserGrid.cpp
+++ b/browserGrid.cpp
@@ -356,24 +356,26 @@ void cBrowserGrid::DrawFooter()
void cBrowserGrid::DrawScrollbar()
{
-
- if (m_vElements.size() == 0)
- return;
-
- int currentRow = SelectedObject()->AbsolutePosition / m_columns;
- int totalRows = ceil((double) m_vElements.size() / m_columns);
-
- int scrollBarHeight = 100.0 / totalRows * m_rows;
-
- int offset = 100.0 / totalRows * currentRow;
- if(offset >= 100 - scrollBarHeight) {
- offset = 100.0 - scrollBarHeight;
- }
m_pScrollbar->Clear();
m_pScrollbar->ClearTokens();
- m_pScrollbar->AddIntToken((int)eTokenScrollbarInt::height, scrollBarHeight);
- m_pScrollbar->AddIntToken((int)eTokenScrollbarInt::offset, offset);
+ if (m_vElements.size() > 0) {
+ int currentRow = SelectedObject()->AbsolutePosition / m_columns;
+ int totalRows = ceil((double) m_vElements.size() / m_columns);
+
+ int scrollBarHeight = 100.0 / totalRows * m_rows;
+
+ int offset = 100.0 / totalRows * currentRow;
+ if(offset >= 100 - scrollBarHeight) {
+ offset = 100.0 - scrollBarHeight;
+ }
+ m_pScrollbar->AddIntToken((int)eTokenScrollbarInt::height, scrollBarHeight);
+ m_pScrollbar->AddIntToken((int)eTokenScrollbarInt::offset, offset);
+ m_pScrollbar->AddIntToken((int)eTokenScrollbarInt::hasscrollbar, true);
+ } else {
+ m_pScrollbar->AddIntToken((int)eTokenScrollbarInt::hasscrollbar, false);
+ }
+
m_pScrollbar->Display();
}
diff --git a/detailView.cpp b/detailView.cpp
index 2fd207f..832956e 100644
--- a/detailView.cpp
+++ b/detailView.cpp
@@ -135,23 +135,26 @@ void cDetailView::DrawInfo()
void cDetailView::DrawScrollbar()
{
- if (m_vElements.size() == 0)
- return;
-
- int currentRow = SelectedObject()->AbsolutePosition / m_columns;
- int totalRows = ceil((double) m_vElements.size() / m_columns);
-
- int scrollBarHeight = 100.0 / totalRows * m_rows;
-
- int offset = 100.0 / totalRows * currentRow;
- if(offset >= 100 - scrollBarHeight) {
- offset = 100.0 - scrollBarHeight;
- }
m_pScrollbar->Clear();
m_pScrollbar->ClearTokens();
- m_pScrollbar->AddIntToken((int)eTokenScrollbarInt::height, scrollBarHeight);
- m_pScrollbar->AddIntToken((int)eTokenScrollbarInt::offset, offset);
+ if (m_vElements.size() > 0) {
+ int currentRow = SelectedObject()->AbsolutePosition / m_columns;
+ int totalRows = ceil((double) m_vElements.size() / m_columns);
+
+ int scrollBarHeight = 100.0 / totalRows * m_rows;
+
+ int offset = 100.0 / totalRows * currentRow;
+ if(offset >= 100 - scrollBarHeight) {
+ offset = 100.0 - scrollBarHeight;
+ }
+ m_pScrollbar->AddIntToken((int)eTokenScrollbarInt::height, scrollBarHeight);
+ m_pScrollbar->AddIntToken((int)eTokenScrollbarInt::offset, offset);
+ m_pScrollbar->AddIntToken((int)eTokenScrollbarInt::hasscrollbar, true);
+ } else {
+ m_pScrollbar->AddIntToken((int)eTokenScrollbarInt::hasscrollbar, false);
+ }
+
m_pScrollbar->Display();
}
diff --git a/plexSdOsd.cpp b/plexSdOsd.cpp
index 5eadc9a..6d9a6aa 100644
--- a/plexSdOsd.cpp
+++ b/plexSdOsd.cpp
@@ -275,6 +275,7 @@ void cPlexSdOsd::DefineTokens(eViewElementsRoot ve, skindesignerapi::cTokenConta
case eViewElementsRoot::scrollbar:
tk->DefineIntToken("{height}", (int)eTokenScrollbarInt::height);
tk->DefineIntToken("{offset}", (int)eTokenScrollbarInt::offset);
+ tk->DefineIntToken("{hasscrollbar}", (int)eTokenScrollbarInt::hasscrollbar);
default:
break;
}
@@ -408,6 +409,7 @@ void cPlexSdOsd::DefineDetailsTokens(eViewElementsDetail ve, skindesignerapi::cT
case eViewElementsDetail::scrollbar:
tk->DefineIntToken("{height}", (int)eTokenScrollbarInt::height);
tk->DefineIntToken("{offset}", (int)eTokenScrollbarInt::offset);
+ tk->DefineIntToken("{hasscrollbar}", (int)eTokenScrollbarInt::hasscrollbar);
break;
default:
break;
diff --git a/templates/plug-plex-detail.xml b/templates/plug-plex-detail.xml
index c202745..2f49953 100644
--- a/templates/plug-plex-detail.xml
+++ b/templates/plug-plex-detail.xml
@@ -78,6 +78,7 @@
<!-- Tokens available for scrollbar
{height} height of the position marker of the scrollbar in percent
{offset} offset for the position marker from the top of the scrollbar in percent
+ {hasscrollbar} bool
-->
<viewelement name="scrollbar">
<!-- example:
diff --git a/templates/plug-plex-root.xml b/templates/plug-plex-root.xml
index efa8ae1..f976546 100644
--- a/templates/plug-plex-root.xml
+++ b/templates/plug-plex-root.xml
@@ -50,6 +50,7 @@
<!-- Tokens available for scrollbar
{height} height of the position marker of the scrollbar in percent
{offset} offset for the position marker from the top of the scrollbar in percent
+ {hasscrollbar} bool
-->
<viewelement name="scrollbar">
<!-- example:
diff --git a/tokendefinitions.h b/tokendefinitions.h
index 55dd270..cebfbac 100644
--- a/tokendefinitions.h
+++ b/tokendefinitions.h
@@ -116,7 +116,8 @@ enum class eTokenMessageStr {
enum class eTokenScrollbarInt {
height = 0,
- offset
+ offset,
+ hasscrollbar
};
enum class eTokenBackgroundInt {
@@ -184,5 +185,34 @@ enum class eTokenFooterStr {
blue
};
+enum class eTokenProgressbarInt {
+
+};
+
+enum class eTokenProgressbarStr {
+
+};
+
+/*<TranscodeSession key="jhul52ltx5lpiudi"
+ * throttled="0"
+ * progress="2.9000000953674316"
+ * speed="3.2999999523162842"
+ * duration="8886000"
+ * remaining="2677"
+ * context="streaming"
+ * videoDecision="copy"
+ * audioDecision="transcode"
+ * subtitleDecision="transcode"
+ * protocol="http"
+ * container="mkv"
+ * videoCodec="h264"
+ * audioCodec="aac"
+ * audioChannels="2"
+ * width="1920"
+ * height="808" />
+ */
+enum class eTokenTranscodeinfoStr {
+
+};
#endif //__TOKENDEFINITIONS_H \ No newline at end of file