diff options
author | Martin Schirrmacher <vdr.skinflatplus@schirrmacher.eu> | 2014-07-12 17:13:16 +0200 |
---|---|---|
committer | Martin Schirrmacher <vdr.skinflatplus@schirrmacher.eu> | 2014-07-12 17:13:16 +0200 |
commit | 32ca7bd14120e0fd003279cd66463212216e1efd (patch) | |
tree | 913f0228b25042824d8762acc5250b30262c1ac0 | |
parent | 832141b47e33629cea33411f70185196b93fd1cd (diff) | |
download | skin-flatplus-32ca7bd14120e0fd003279cd66463212216e1efd.tar.gz skin-flatplus-32ca7bd14120e0fd003279cd66463212216e1efd.tar.bz2 |
new types for scrollbar
-rw-r--r-- | HISTORY | 13 | ||||
-rw-r--r-- | baserender.c | 138 | ||||
-rw-r--r-- | config.c | 25 | ||||
-rw-r--r-- | config.h | 16 | ||||
-rw-r--r-- | decors/10_rect_sml.decor | 4 | ||||
-rw-r--r-- | decors/11_rect_mid.decor | 4 | ||||
-rw-r--r-- | decors/12_rect_big.decor | 4 | ||||
-rw-r--r-- | decors/20_round_sml.decor | 4 | ||||
-rw-r--r-- | decors/21_round_mid.decor | 4 | ||||
-rw-r--r-- | decors/22_round_big.decor | 4 | ||||
-rw-r--r-- | decors/30_invert-round_sml.decor | 4 | ||||
-rw-r--r-- | decors/31_invert-round_mid.decor | 4 | ||||
-rw-r--r-- | decors/32_invert-round_big.decor | 4 | ||||
-rw-r--r-- | decors/40_rect-alpha_sml.decor | 4 | ||||
-rw-r--r-- | decors/41_rect-alpha_mid.decor | 4 | ||||
-rw-r--r-- | decors/42_rect-alpha_big.decor | 4 | ||||
-rw-r--r-- | decors/50_round-alpha_sml.decor | 4 | ||||
-rw-r--r-- | decors/51_round-alpha_mid.decor | 4 | ||||
-rw-r--r-- | decors/52_round-alpha_big.decor | 4 | ||||
-rw-r--r-- | decors/60_invert-round-alpha_sml.decor | 4 | ||||
-rw-r--r-- | decors/61_invert-round-alpha_mid.decor | 4 | ||||
-rw-r--r-- | decors/62_invert-round-alpha_big.decor | 4 | ||||
-rw-r--r-- | decors/99_none.decor | 4 | ||||
-rw-r--r-- | po/de_DE.po | 35 | ||||
-rw-r--r-- | setup.c | 28 |
25 files changed, 318 insertions, 13 deletions
@@ -15,6 +15,19 @@ VDR Plugin 'skinflatplus' Revision History - [add] new option "diskusage short display" for only show percantage and free hours - [add] image _cur version for recording_cutted, recording_new, timer_full, timer_partial, vps if it is the current/selected menu item the cur version of the image will be loaded +- [add] Support for scrollbar type and size like border and progressbar + You can specify the scrollbar type and size in the decor file (ScrollBarType & ScrollBarSize) + You can also override the type and size in the setup + 8 Types: + * 0 = left line + rect bar + * 1 = left line + round bar + * 2 = middle line + rect bar + * 3 = middle line + round bar + * 4 = outline + rect bar + * 5 = outline + round bar + * 6 = rect bar + * 7 = round bar +- [update] decor-files for new scrollbar options 2014-06-19: Version 0.3.1 - [fix] epg image position on channel info diff --git a/baserender.c b/baserender.c index 8cfee1ac..84daef32 100644 --- a/baserender.c +++ b/baserender.c @@ -25,7 +25,7 @@ cFlatBaseRender::cFlatBaseRender(void) { marginItem = 5; - scrollBarWidth = 10; + scrollBarWidth = Config.decorScrollBarSize; buttonsHeight = 0; buttonsDrawn = false; @@ -893,20 +893,136 @@ void cFlatBaseRender::ScrollbarDraw(cPixmap *Pixmap, int Left, int Top, int Heig if( !Pixmap ) return; - if (Total > 0 && Total > Shown) { - int scrollHeight = max(int((Height) * double(Shown) / Total + 0.5), 5); - int scrollTop = min(int(Top + (Height) * double(Offset) / Total + 0.5), Top + Height - scrollHeight); + int scrollHeight = max(int((Height) * double(Shown) / Total + 0.5), 5); + int scrollTop = min(int(Top + (Height) * double(Offset) / Total + 0.5), Top + Height - scrollHeight); + + /* Types + * 0 = left line + rect bar + * 1 = left line + round bar + * 2 = middle line + rect bar + * 3 = middle line + round bar + * 4 = outline + rect bar + * 5 = outline + round bar + * 6 = rect bar + * 7 = round bar + */ + int Type = Config.decorScrollBarType; + if (Total > 0 && Total > Shown) { Pixmap->Fill(clrTransparent); Pixmap->DrawRectangle(cRect(Left, Top, scrollBarWidth, Height), Theme.Color(clrScrollbarBg)); + switch( Type ) { + default: + case 0: + if( scrollBarWidth <= 10 ) + Pixmap->DrawRectangle(cRect(Left, Top, 2, Height), Theme.Color(clrScrollbarFg)); + else if( scrollBarWidth <= 20 ) + Pixmap->DrawRectangle(cRect(Left, Top, 4, Height), Theme.Color(clrScrollbarFg)); + else + Pixmap->DrawRectangle(cRect(Left, Top, 6, Height), Theme.Color(clrScrollbarFg)); + Pixmap->DrawRectangle(cRect(Left, scrollTop, scrollBarWidth, scrollHeight), Theme.Color(clrScrollbarBarFg)); + break; + case 1: + { + int dotHeight = scrollBarWidth / 2; + if( scrollBarWidth <= 10 ) + Pixmap->DrawRectangle(cRect(Left, Top, 2, Height), Theme.Color(clrScrollbarFg)); + else if( scrollBarWidth <= 20 ) + Pixmap->DrawRectangle(cRect(Left, Top, 4, Height), Theme.Color(clrScrollbarFg)); + else + Pixmap->DrawRectangle(cRect(Left, Top, 6, Height), Theme.Color(clrScrollbarFg)); + + Pixmap->DrawRectangle(cRect(Left, scrollTop + dotHeight, scrollBarWidth, scrollHeight - dotHeight*2), Theme.Color(clrScrollbarBarFg)); + // dot + Pixmap->DrawEllipse(cRect( Left, scrollTop, scrollBarWidth, scrollBarWidth), Theme.Color(clrScrollbarBarFg), 0); + Pixmap->DrawEllipse(cRect( Left, scrollTop + scrollHeight - dotHeight*2, scrollBarWidth, scrollBarWidth), Theme.Color(clrScrollbarBarFg), 0); + + break; + } + case 2: + { + int Middle = Left + scrollBarWidth / 2; + int lineWidth = 6; + if( scrollBarWidth <= 10 ) + lineWidth = 2; + else if( scrollBarWidth <= 20 ) + lineWidth = 4; + + Pixmap->DrawRectangle(cRect(Middle - lineWidth/2, Top, lineWidth, Height), Theme.Color(clrScrollbarFg)); + Pixmap->DrawRectangle(cRect(Left, scrollTop, scrollBarWidth, scrollHeight), Theme.Color(clrScrollbarBarFg)); + break; + } + case 3: + { + int dotHeight = scrollBarWidth / 2; + int Middle = Left + scrollBarWidth / 2; + int lineWidth = 6; + if( scrollBarWidth <= 10 ) + lineWidth = 2; + else if( scrollBarWidth <= 20 ) + lineWidth = 4; + + Pixmap->DrawRectangle(cRect(Middle - lineWidth/2, Top, lineWidth, Height), Theme.Color(clrScrollbarFg)); + + Pixmap->DrawRectangle(cRect(Left, scrollTop + dotHeight, scrollBarWidth, scrollHeight - dotHeight*2), Theme.Color(clrScrollbarBarFg)); + // dot + Pixmap->DrawEllipse(cRect( Left, scrollTop, scrollBarWidth, scrollBarWidth), Theme.Color(clrScrollbarBarFg), 0); + Pixmap->DrawEllipse(cRect( Left, scrollTop + scrollHeight - dotHeight*2, scrollBarWidth, scrollBarWidth), Theme.Color(clrScrollbarBarFg), 0); + + break; + } + case 4: + { + int out = 1; + if( scrollBarWidth > 10 ) + out = 2; + // outline + Pixmap->DrawRectangle(cRect( Left, Top, scrollBarWidth, out), Theme.Color(clrScrollbarBarFg)); + Pixmap->DrawRectangle(cRect( Left, Top + Height - out, scrollBarWidth, out), Theme.Color(clrScrollbarBarFg)); + Pixmap->DrawRectangle(cRect( Left, Top, out, Height), Theme.Color(clrScrollbarBarFg)); + Pixmap->DrawRectangle(cRect( Left + scrollBarWidth - out, Top, out, Height), Theme.Color(clrScrollbarBarFg)); + + // bar + Pixmap->DrawRectangle(cRect(Left + out, scrollTop + out, scrollBarWidth - out*2, scrollHeight - out*2), Theme.Color(clrScrollbarBarFg)); + break; + } + case 5: + { + int dotHeight = scrollBarWidth / 2; + int out = 1; + if( scrollBarWidth > 10 ) + out = 2; + // outline + Pixmap->DrawRectangle(cRect( Left, Top, scrollBarWidth, out), Theme.Color(clrScrollbarBarFg)); + Pixmap->DrawRectangle(cRect( Left, Top + Height - out, scrollBarWidth, out), Theme.Color(clrScrollbarBarFg)); + Pixmap->DrawRectangle(cRect( Left, Top, out, Height), Theme.Color(clrScrollbarBarFg)); + Pixmap->DrawRectangle(cRect( Left + scrollBarWidth - out, Top, out, Height), Theme.Color(clrScrollbarBarFg)); + + // bar + Pixmap->DrawRectangle(cRect(Left + out, scrollTop + dotHeight + out, scrollBarWidth - out*2, scrollHeight - dotHeight*2 - out*2), Theme.Color(clrScrollbarBarFg)); + // dot + Pixmap->DrawEllipse(cRect( Left + out, scrollTop + out, scrollBarWidth - out*2, scrollBarWidth - out*2), Theme.Color(clrScrollbarBarFg), 0); + Pixmap->DrawEllipse(cRect( Left + out, scrollTop + scrollHeight - dotHeight*2 + out, scrollBarWidth - out*2, scrollBarWidth - out*2), Theme.Color(clrScrollbarBarFg), 0); + break; + } + case 6: + { + Pixmap->DrawRectangle(cRect(Left, scrollTop, scrollBarWidth, scrollHeight), Theme.Color(clrScrollbarBarFg)); + break; + } + case 7: + { + int dotHeight = scrollBarWidth / 2; + + Pixmap->DrawRectangle(cRect(Left, scrollTop + dotHeight, scrollBarWidth, scrollHeight - dotHeight*2), Theme.Color(clrScrollbarBarFg)); + // dot + Pixmap->DrawEllipse(cRect( Left, scrollTop, scrollBarWidth, scrollBarWidth), Theme.Color(clrScrollbarBarFg), 0); + Pixmap->DrawEllipse(cRect( Left, scrollTop + scrollHeight - dotHeight*2, scrollBarWidth, scrollBarWidth), Theme.Color(clrScrollbarBarFg), 0); + + break; + } + } - if( scrollBarWidth <= 10 ) - Pixmap->DrawRectangle(cRect(Left, Top, 2, Height), Theme.Color(clrScrollbarFg)); - else if( scrollBarWidth <= 20 ) - Pixmap->DrawRectangle(cRect(Left, Top, 4, Height), Theme.Color(clrScrollbarFg)); - else - Pixmap->DrawRectangle(cRect(Left, Top, 6, Height), Theme.Color(clrScrollbarFg)); - Pixmap->DrawRectangle(cRect(Left, scrollTop, scrollBarWidth, scrollHeight), Theme.Color(clrScrollbarBarFg)); } } @@ -136,6 +136,12 @@ cFlatConfig::cFlatConfig(void) { decorProgressSignalTypeUser = 0; decorProgressSignalSizeUser = 20; + decorScrollBarByTheme = 0; + decorScrollBarTypeTheme = 0; + decorScrollBarSizeTheme = 20; + decorScrollBarTypeUser = 0; + decorScrollBarSizeUser = 20; + ThemeCurrent = ""; } @@ -191,6 +197,9 @@ bool cFlatConfig::SetupParse(const char *Name, const char *Value) { else if (strcmp(Name, "decorProgressSignalByTheme") == 0) decorProgressSignalByTheme = atoi(Value); else if (strcmp(Name, "decorProgressSignalTypeUser") == 0) decorProgressSignalTypeUser = atoi(Value); else if (strcmp(Name, "decorProgressSignalSizeUser") == 0) decorProgressSignalSizeUser = atoi(Value); + else if (strcmp(Name, "decorScrollBarByTheme") == 0) decorScrollBarByTheme = atoi(Value); + else if (strcmp(Name, "decorScrollBarTypeUser") == 0) decorScrollBarTypeUser = atoi(Value); + else if (strcmp(Name, "decorScrollBarSizeUser") == 0) decorScrollBarSizeUser = atoi(Value); else if (strcmp(Name, "ButtonsShowEmpty") == 0) ButtonsShowEmpty = atoi(Value); else if (strcmp(Name, "ChannelIconsShow") == 0) ChannelIconsShow = atoi(Value); else if (strcmp(Name, "SignalQualityShow") == 0) SignalQualityShow = atoi(Value); @@ -384,6 +393,14 @@ void cFlatConfig::DecorCheckAndInit(void) { decorProgressSignalSize = decorProgressSignalSizeUser; } + if( decorScrollBarByTheme ) { + decorScrollBarType = decorScrollBarTypeTheme; + decorScrollBarSize = decorScrollBarSizeTheme; + } else { + decorScrollBarType = decorScrollBarTypeUser; + decorScrollBarSize = decorScrollBarSizeUser; + } + if( decorBorderChannelType == 0 ) decorBorderChannelSize = 0; if( decorBorderTopBarType == 0 ) @@ -470,6 +487,10 @@ void cFlatConfig::ThemeInit(void) { decorProgressSignalFg = Theme.Color(clrChannelSignalProgressFg); decorProgressSignalBarFg = Theme.Color(clrChannelSignalProgressBarFg); decorProgressSignalBg = Theme.Color(clrChannelSignalProgressBg); + + decorScrollBarFg = Theme.Color(clrScrollbarFg); + decorScrollBarBarFg = Theme.Color(clrScrollbarBarFg); + decorScrollBarBg = Theme.Color(clrScrollbarBg); } void cFlatConfig::Init(void) { @@ -652,6 +673,10 @@ void cFlatConfig::DecorLoadFile(cString File) { decorProgressSignalTypeTheme = value; continue; } if( strstr(n, "ChannelSignalProgressSize") == n ) { decorProgressSignalSizeTheme = value; continue; } + if( strstr(n, "ScrollBarType") == n ) { + decorScrollBarTypeTheme = value; continue; } + if( strstr(n, "ScrollBarSize") == n ) { + decorScrollBarSizeTheme = value; continue; } } } } @@ -157,6 +157,22 @@ class cFlatConfig int decorProgressSignalType, decorProgressSignalSize; tColor decorProgressSignalFg, decorProgressSignalBarFg, decorProgressSignalBg; + /* Types + * 0 = left line + rect bar + * 1 = left line + round bar + * 2 = middle line + rect bar + * 3 = middle line + round bar + * 4 = outline + rect bar + * 5 = outline + round bar + * 6 = rect bar + * 7 = round bar + */ + int decorScrollBarByTheme; + int decorScrollBarTypeTheme, decorScrollBarSizeTheme; + int decorScrollBarTypeUser, decorScrollBarSizeUser; + int decorScrollBarType, decorScrollBarSize; + tColor decorScrollBarFg, decorScrollBarBarFg, decorScrollBarBg; + // General Config int ButtonsShowEmpty; int ChannelIconsShow; diff --git a/decors/10_rect_sml.decor b/decors/10_rect_sml.decor index ca5d7351..6d3fdfe4 100644 --- a/decors/10_rect_sml.decor +++ b/decors/10_rect_sml.decor @@ -67,3 +67,7 @@ VolumeBorderType = 1 VolumeBorderSize = 5 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 0 +ScrollBarSize = 10
\ No newline at end of file diff --git a/decors/11_rect_mid.decor b/decors/11_rect_mid.decor index cd4523ad..2dc8c7b1 100644 --- a/decors/11_rect_mid.decor +++ b/decors/11_rect_mid.decor @@ -67,3 +67,7 @@ VolumeBorderType = 1 VolumeBorderSize = 10 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 0 +ScrollBarSize = 15
\ No newline at end of file diff --git a/decors/12_rect_big.decor b/decors/12_rect_big.decor index 75bba8ca..b6af43dc 100644 --- a/decors/12_rect_big.decor +++ b/decors/12_rect_big.decor @@ -67,3 +67,7 @@ VolumeBorderType = 1 VolumeBorderSize = 20 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 0 +ScrollBarSize = 20
\ No newline at end of file diff --git a/decors/20_round_sml.decor b/decors/20_round_sml.decor index 34612afc..bb753cfd 100644 --- a/decors/20_round_sml.decor +++ b/decors/20_round_sml.decor @@ -67,3 +67,7 @@ VolumeBorderType = 2 VolumeBorderSize = 5 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 3 +ScrollBarSize = 10
\ No newline at end of file diff --git a/decors/21_round_mid.decor b/decors/21_round_mid.decor index 6ee68415..c5fa200e 100644 --- a/decors/21_round_mid.decor +++ b/decors/21_round_mid.decor @@ -67,3 +67,7 @@ VolumeBorderType = 2 VolumeBorderSize = 10 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 3 +ScrollBarSize = 15
\ No newline at end of file diff --git a/decors/22_round_big.decor b/decors/22_round_big.decor index f147c706..7ce7bbd1 100644 --- a/decors/22_round_big.decor +++ b/decors/22_round_big.decor @@ -67,3 +67,7 @@ VolumeBorderType = 2 VolumeBorderSize = 20 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 3 +ScrollBarSize = 20
\ No newline at end of file diff --git a/decors/30_invert-round_sml.decor b/decors/30_invert-round_sml.decor index 5550d339..4830553f 100644 --- a/decors/30_invert-round_sml.decor +++ b/decors/30_invert-round_sml.decor @@ -67,3 +67,7 @@ VolumeBorderType = 3 VolumeBorderSize = 5 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 0 +ScrollBarSize = 10
\ No newline at end of file diff --git a/decors/31_invert-round_mid.decor b/decors/31_invert-round_mid.decor index 54b9d482..f61d1789 100644 --- a/decors/31_invert-round_mid.decor +++ b/decors/31_invert-round_mid.decor @@ -67,3 +67,7 @@ VolumeBorderType = 3 VolumeBorderSize = 10 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 0 +ScrollBarSize = 15
\ No newline at end of file diff --git a/decors/32_invert-round_big.decor b/decors/32_invert-round_big.decor index 03e7b218..aa5db8d8 100644 --- a/decors/32_invert-round_big.decor +++ b/decors/32_invert-round_big.decor @@ -67,3 +67,7 @@ VolumeBorderType = 3 VolumeBorderSize = 20 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 0 +ScrollBarSize = 20
\ No newline at end of file diff --git a/decors/40_rect-alpha_sml.decor b/decors/40_rect-alpha_sml.decor index f673a04a..832d2c60 100644 --- a/decors/40_rect-alpha_sml.decor +++ b/decors/40_rect-alpha_sml.decor @@ -67,3 +67,7 @@ VolumeBorderType = 4 VolumeBorderSize = 5 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 0 +ScrollBarSize = 10
\ No newline at end of file diff --git a/decors/41_rect-alpha_mid.decor b/decors/41_rect-alpha_mid.decor index 0ebc356a..92fd1bb5 100644 --- a/decors/41_rect-alpha_mid.decor +++ b/decors/41_rect-alpha_mid.decor @@ -67,3 +67,7 @@ VolumeBorderType = 4 VolumeBorderSize = 10 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 0 +ScrollBarSize = 15
\ No newline at end of file diff --git a/decors/42_rect-alpha_big.decor b/decors/42_rect-alpha_big.decor index 62e81cae..523fad20 100644 --- a/decors/42_rect-alpha_big.decor +++ b/decors/42_rect-alpha_big.decor @@ -67,3 +67,7 @@ VolumeBorderType = 4 VolumeBorderSize = 20 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 0 +ScrollBarSize = 20
\ No newline at end of file diff --git a/decors/50_round-alpha_sml.decor b/decors/50_round-alpha_sml.decor index dee6083e..396bad6a 100644 --- a/decors/50_round-alpha_sml.decor +++ b/decors/50_round-alpha_sml.decor @@ -67,3 +67,7 @@ VolumeBorderType = 5 VolumeBorderSize = 5 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 3 +ScrollBarSize = 10
\ No newline at end of file diff --git a/decors/51_round-alpha_mid.decor b/decors/51_round-alpha_mid.decor index 97c6ab82..73406ace 100644 --- a/decors/51_round-alpha_mid.decor +++ b/decors/51_round-alpha_mid.decor @@ -67,3 +67,7 @@ VolumeBorderType = 5 VolumeBorderSize = 10 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 3 +ScrollBarSize = 15
\ No newline at end of file diff --git a/decors/52_round-alpha_big.decor b/decors/52_round-alpha_big.decor index 8555ea85..77351591 100644 --- a/decors/52_round-alpha_big.decor +++ b/decors/52_round-alpha_big.decor @@ -67,3 +67,7 @@ VolumeBorderType = 5 VolumeBorderSize = 20 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 3 +ScrollBarSize = 20
\ No newline at end of file diff --git a/decors/60_invert-round-alpha_sml.decor b/decors/60_invert-round-alpha_sml.decor index bfb92b28..9eb7470d 100644 --- a/decors/60_invert-round-alpha_sml.decor +++ b/decors/60_invert-round-alpha_sml.decor @@ -67,3 +67,7 @@ VolumeBorderType = 6 VolumeBorderSize = 5 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 0 +ScrollBarSize = 10
\ No newline at end of file diff --git a/decors/61_invert-round-alpha_mid.decor b/decors/61_invert-round-alpha_mid.decor index 367607dd..37fd7291 100644 --- a/decors/61_invert-round-alpha_mid.decor +++ b/decors/61_invert-round-alpha_mid.decor @@ -67,3 +67,7 @@ VolumeBorderType = 6 VolumeBorderSize = 10 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 0 +ScrollBarSize = 15
\ No newline at end of file diff --git a/decors/62_invert-round-alpha_big.decor b/decors/62_invert-round-alpha_big.decor index a2195e54..ea71a592 100644 --- a/decors/62_invert-round-alpha_big.decor +++ b/decors/62_invert-round-alpha_big.decor @@ -67,3 +67,7 @@ VolumeBorderType = 6 VolumeBorderSize = 20 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 0 +ScrollBarSize = 20
\ No newline at end of file diff --git a/decors/99_none.decor b/decors/99_none.decor index 4e1a6262..99143ecf 100644 --- a/decors/99_none.decor +++ b/decors/99_none.decor @@ -67,3 +67,7 @@ VolumeBorderType = 0 VolumeBorderSize = 0 VolumeProgressType = 3 VolumeProgressSize = 10 + +# Scrollbar +ScrollBarType = 0 +ScrollBarSize = 10
\ No newline at end of file diff --git a/po/de_DE.po b/po/de_DE.po index 25e5094e..09b10f3f 100644 --- a/po/de_DE.po +++ b/po/de_DE.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: vdr-skinflat 0.3.1\n" "Report-Msgid-Bugs-To: <see README>\n" -"POT-Creation-Date: 2014-07-07 23:24+0200\n" +"POT-Creation-Date: 2014-07-12 16:34+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n" @@ -225,6 +225,30 @@ msgstr "carriage return" msgid "left-right-left" msgstr "links-rechts-links" +msgid "left line + rect bar" +msgstr "" + +msgid "left line + round bar" +msgstr "" + +msgid "middle line + rect bar" +msgstr "" + +msgid "middle line + round bar" +msgstr "" + +msgid "outline + rect bar" +msgstr "" + +msgid "outline + round bar" +msgstr "" + +msgid "rect bar" +msgstr "" + +msgid "round bar" +msgstr "" + msgid "General settings" msgstr "Allgemeine Einstellungen" @@ -420,6 +444,15 @@ msgstr "Menü Programm Ansicht" msgid "Menu recording view" msgstr "Menü Aufzeichnungen Ansicht" +msgid "Scrollbar by decor-file?" +msgstr "Scrollbar von Decordatei?" + +msgid "Scrollbar type" +msgstr "Scrollbar Typ" + +msgid "Scrollbar size" +msgstr "Scrollbar Größe" + msgid "Menuitem border by decor-file?" msgstr "Menüitem Rand von Decordatei?" @@ -10,6 +10,7 @@ cStringList MenuRecordingViews; cStringList DecorDescriptions; cStringList MessageColorPositions; cStringList ScrollerTypes; +cStringList ScrollBarTypes; cFlatSetup::cFlatSetup(void) { SetupConfig = Config; @@ -86,6 +87,16 @@ void cFlatSetup::Setup(void) { ScrollerTypes.Append( strdup( tr("carriage return")) ); ScrollerTypes.Append( strdup( tr("left-right-left")) ); + ScrollBarTypes.Clear(); + ScrollBarTypes.Append( strdup( tr("left line + rect bar")) ); + ScrollBarTypes.Append( strdup( tr("left line + round bar")) ); + ScrollBarTypes.Append( strdup( tr("middle line + rect bar")) ); + ScrollBarTypes.Append( strdup( tr("middle line + round bar")) ); + ScrollBarTypes.Append( strdup( tr("outline + rect bar")) ); + ScrollBarTypes.Append( strdup( tr("outline + round bar")) ); + ScrollBarTypes.Append( strdup( tr("rect bar")) ); + ScrollBarTypes.Append( strdup( tr("round bar")) ); + Add(new cOsdItem(tr("General settings"), osUnknown, true)); Add(new cOsdItem(tr("Channelinfo settings"), osUnknown, true)); Add(new cOsdItem(tr("Menu settings"), osUnknown, true)); @@ -187,6 +198,9 @@ void cFlatSetup::Store(void) { SetupStore("decorProgressSignalByTheme", Config.decorProgressSignalByTheme); SetupStore("decorProgressSignalTypeUser", Config.decorProgressSignalTypeUser); SetupStore("decorProgressSignalSizeUser", Config.decorProgressSignalSizeUser); + SetupStore("decorScrollBarByTheme", Config.decorScrollBarByTheme); + SetupStore("decorScrollBarTypeUser", Config.decorScrollBarTypeUser); + SetupStore("decorScrollBarSizeUser", Config.decorScrollBarSizeUser); SetupStore("ButtonsShowEmpty", Config.ButtonsShowEmpty); SetupStore("ChannelIconsShow", Config.ChannelIconsShow); SetupStore("SignalQualityShow", Config.SignalQualityShow); @@ -477,6 +491,17 @@ void cFlatSetupMenu::Setup(void) { Add(new cMenuEditStraItem(tr("Menu event view"), &SetupConfig->MenuEventView, MenuEventViews.Size(), &MenuEventViews[0])); Add(new cMenuEditStraItem(tr("Menu recording view"), &SetupConfig->MenuRecordingView, MenuRecordingViews.Size(), &MenuRecordingViews[0])); + Add(new cMenuEditBoolItem(tr("Scrollbar by decor-file?"), &SetupConfig->decorScrollBarByTheme)); + if( SetupConfig->decorScrollBarByTheme ) { + cString type = cString::sprintf("%s:\t%s", tr("Scrollbar type"), ScrollBarTypes[SetupConfig->decorScrollBarTypeTheme]); + Add(new cOsdItem(type, osUnknown, false)); + cString size = cString::sprintf("%s:\t%d", tr("Scrollbar size"), SetupConfig->decorScrollBarSizeTheme); + Add(new cOsdItem(size, osUnknown, false)); + } else { + Add(new cMenuEditStraItem(tr("Scrollbar type"), &SetupConfig->decorScrollBarTypeUser, ScrollBarTypes.Size(), &ScrollBarTypes[0])); + Add(new cMenuEditIntItem(tr("Scrollbar size"), &SetupConfig->decorScrollBarSizeUser)); + } + Add(new cMenuEditBoolItem(tr("Menuitem border by decor-file?"), &SetupConfig->decorBorderMenuItemByTheme)); if( SetupConfig->decorBorderMenuItemByTheme ) { cString type = cString::sprintf("%s:\t%s", tr("Menuitem border type"), Bordertypes[SetupConfig->decorBorderMenuItemTypeTheme]); @@ -544,7 +569,8 @@ eOSState cFlatSetupMenu::ProcessKey(eKeys Key) { if( strstr(ItemText, tr("Menuitem border by decor-file?")) != NULL || strstr(ItemText, tr("Menucont. border by decor-file?")) != NULL || strstr(ItemText, tr("Menucont. head border by decor-file?")) != NULL || - strstr(ItemText, tr("Menuitem progress by decor-file?")) != NULL + strstr(ItemText, tr("Menuitem progress by decor-file?")) != NULL || + strstr(ItemText, tr("Scrollbar by decor-file?")) != NULL ) { ItemLastSel = Current(); Setup(); |