diff options
author | louis <louis.braun@gmx.de> | 2014-10-07 16:51:33 +0200 |
---|---|---|
committer | louis <louis.braun@gmx.de> | 2014-10-07 16:51:33 +0200 |
commit | 82f2bbd5c4cfb6304b6dd52f8852495555f3ce3c (patch) | |
tree | 65516782635772ab0f8ac51ad6d3084b450cc92f | |
parent | 797e33441e1026c5d71ac824700207dd6464348f (diff) | |
download | vdr-plugin-skindesigner-82f2bbd5c4cfb6304b6dd52f8852495555f3ce3c.tar.gz vdr-plugin-skindesigner-82f2bbd5c4cfb6304b6dd52f8852495555f3ce3c.tar.bz2 |
added discusage icons to menu header view element
-rw-r--r-- | HISTORY | 1 | ||||
-rw-r--r-- | skins/metrixhd/xmlfiles/displaymenu.xml | 6 | ||||
-rw-r--r-- | skinskeleton/xmlfiles/displaymenu.xml | 6 | ||||
-rw-r--r-- | views/displaymenurootview.c | 15 | ||||
-rw-r--r-- | views/displaymenuview.c | 14 |
5 files changed, 42 insertions, 0 deletions
@@ -14,3 +14,4 @@ Version 0.0.2 - added Theme support, each skin can now have various themes - fixed a crash if no skindesigner skins are found and plugin setup menu is called from another skin - added {durationhours} and {durationminutes} tokens in several view elements +- added discusage icons to menu header view element so that it discusage can be displayed in every menu view diff --git a/skins/metrixhd/xmlfiles/displaymenu.xml b/skins/metrixhd/xmlfiles/displaymenu.xml index ed8f7a0..d51cfbf 100644 --- a/skins/metrixhd/xmlfiles/displaymenu.xml +++ b/skins/metrixhd/xmlfiles/displaymenu.xml @@ -33,6 +33,12 @@ {vdrversion} running VDR Version {hasicon} true if a menu icon is available {icon} path of menu icon + {freetime} available disc capacity in hh:mm + {freepercent} available disc capacity in percent + {usedpercent} used disc capacity in percent + {freegb} available disc capacity in gigabytes + {discalert} true if disc usage is > 95% + {vdrusagestring} localized VDR internal usage string --> <header> <area x="0" y="0" width="41%" height="10%" layer="2"> diff --git a/skinskeleton/xmlfiles/displaymenu.xml b/skinskeleton/xmlfiles/displaymenu.xml index fdd2d00..1174ff6 100644 --- a/skinskeleton/xmlfiles/displaymenu.xml +++ b/skinskeleton/xmlfiles/displaymenu.xml @@ -25,6 +25,12 @@ {vdrversion} running VDR Version {hasicon} true if a menu icon is available {icon} path of menu icon + {freetime} available disc capacity in hh:mm + {freepercent} available disc capacity in percent + {usedpercent} used disc capacity in percent + {freegb} available disc capacity in gigabytes + {discalert} true if disc usage is > 95% + {vdrusagestring} localized VDR internal usage string --> <header> </header> diff --git a/views/displaymenurootview.c b/views/displaymenurootview.c index 9ee1bcf..2d878ee 100644 --- a/views/displaymenurootview.c +++ b/views/displaymenurootview.c @@ -1,5 +1,6 @@ #define __STL_CONFIG_H #include <vdr/menu.h> +#include <vdr/videodir.h> #include "displaymenurootview.h" #include "../config.h" #include "../libcore/helpers.h" @@ -380,6 +381,20 @@ void cDisplayMenuRootView::DrawHeader(void) { stringTokens.insert(pair<string,string>("icon", icon)); intTokens.insert(pair<string,int>("hasicon", hasIcon)); + //Disc Usage + string vdrUsageString = *cVideoDiskUsage::String(); + int discUsage = cVideoDiskUsage::UsedPercent(); + bool discAlert = (discUsage > 95) ? true : false; + string freeTime = *cString::sprintf("%02d:%02d", cVideoDiskUsage::FreeMinutes() / 60, cVideoDiskUsage::FreeMinutes() % 60); + int freeGB = cVideoDiskUsage::FreeMB() / 1024; + + intTokens.insert(pair<string, int>("usedpercent", discUsage)); + intTokens.insert(pair<string, int>("freepercent", 100-discUsage)); + intTokens.insert(pair<string, int>("discalert", discAlert)); + intTokens.insert(pair<string, int>("freegb", freeGB)); + stringTokens.insert(pair<string,string>("freetime", freeTime)); + stringTokens.insert(pair<string,string>("vdrusagestring", vdrUsageString)); + ClearViewElement(veHeader); DrawViewElement(veHeader, &stringTokens, &intTokens); } diff --git a/views/displaymenuview.c b/views/displaymenuview.c index 3b8c657..8ed9a3d 100644 --- a/views/displaymenuview.c +++ b/views/displaymenuview.c @@ -46,6 +46,20 @@ bool cDisplayMenuView::DrawHeader(void) { stringTokens.insert(pair<string,string>("icon", icon)); intTokens.insert(pair<string,int>("hasicon", hasIcon)); + //Disc Usage + string vdrUsageString = *cVideoDiskUsage::String(); + int discUsage = cVideoDiskUsage::UsedPercent(); + bool discAlert = (discUsage > 95) ? true : false; + string freeTime = *cString::sprintf("%02d:%02d", cVideoDiskUsage::FreeMinutes() / 60, cVideoDiskUsage::FreeMinutes() % 60); + int freeGB = cVideoDiskUsage::FreeMB() / 1024; + + intTokens.insert(pair<string, int>("usedpercent", discUsage)); + intTokens.insert(pair<string, int>("freepercent", 100-discUsage)); + intTokens.insert(pair<string, int>("discalert", discAlert)); + intTokens.insert(pair<string, int>("freegb", freeGB)); + stringTokens.insert(pair<string,string>("freetime", freeTime)); + stringTokens.insert(pair<string,string>("vdrusagestring", vdrUsageString)); + ClearViewElement(veHeader); DrawViewElement(veHeader, &stringTokens, &intTokens); return true; |