diff options
author | Christian <zerov83@gmail.com> | 2016-03-25 10:30:23 +0100 |
---|---|---|
committer | Christian <zerov83@gmail.com> | 2016-03-25 10:30:23 +0100 |
commit | 2c6f8aa0d218980a35a86499875fad290d1dfd1c (patch) | |
tree | 354b6a48c074947ceccaabf829c3b8231f820933 | |
parent | de768eeec1692df5dbd114129ec772749df12bf6 (diff) | |
download | vdr-plugin-plex-2c6f8aa0d218980a35a86499875fad290d1dfd1c.tar.gz vdr-plugin-plex-2c6f8aa0d218980a35a86499875fad290d1dfd1c.tar.bz2 |
New token {hasscrollbar} in rootview & detailview
-rw-r--r-- | browserGrid.cpp | 32 | ||||
-rw-r--r-- | detailView.cpp | 31 | ||||
-rw-r--r-- | plexSdOsd.cpp | 2 | ||||
-rw-r--r-- | templates/plug-plex-detail.xml | 1 | ||||
-rw-r--r-- | templates/plug-plex-root.xml | 1 | ||||
-rw-r--r-- | tokendefinitions.h | 32 |
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 |