Skip to content

Commit

Permalink
Merge pull request #5303 from Glenn-1990/pvr_diskspace
Browse files Browse the repository at this point in the history
[pvr] diskspace indicator in recordings view
  • Loading branch information
xhaggi committed Sep 25, 2014
2 parents d14625c + e3799df commit 667d2e0
Show file tree
Hide file tree
Showing 6 changed files with 66 additions and 23 deletions.
25 changes: 24 additions & 1 deletion addons/skin.confluence/720p/MyPVRRecordings.xml
Expand Up @@ -270,13 +270,36 @@
<left>10</left>
<top>270</top>
<width>290</width>
<height>280</height>
<height>225</height>
<font>font13</font>
<align>justify</align>
<textcolor>white</textcolor>
<label>$INFO[Container(50).ListItem.Plot]</label>
<autoscroll time="2000" delay="3000" repeat="5000">Skin.HasSetting(AutoScroll)</autoscroll>
</control>
<control type="label">
<description>Disk usage text</description>
<left>10</left>
<top>525</top>
<width>290</width>
<height>20</height>
<label>$INFO[PVR.backenddiskspace]</label>
<align>center</align>
<aligny>center</aligny>
<textcolor>grey</textcolor>
<shadowcolor>black</shadowcolor>
<font>font12</font>
<visible>!IntegerGreaterThan(PVR.backenddiskspaceprogr,100)</visible>
</control>
<control type="progress">
<description>Disk usage bar</description>
<left>10</left>
<top>548</top>
<width>290</width>
<height>12</height>>
<info>PVR.backenddiskspaceprogr</info>
<visible>!IntegerGreaterThan(PVR.backenddiskspaceprogr,100)</visible>
</control>
</control>
</control>

Expand Down
8 changes: 7 additions & 1 deletion language/English/strings.po
Expand Up @@ -3303,7 +3303,13 @@ msgctxt "#801"
msgid "Would you like to scan now?"
msgstr ""

#empty strings from id 802 to 849
#. Label of progess bar which shows the available/total space of pvr backend
#: xbmc/pvr/PVRGUIInfo.cpp
msgctxt "#802"
msgid "%s of %s available"
msgstr ""

#empty strings from id 803 to 849

msgctxt "#850"
msgid "Invalid port number entered"
Expand Down
2 changes: 2 additions & 0 deletions xbmc/GUIInfoManager.cpp
Expand Up @@ -652,6 +652,7 @@ const infomap pvr[] = {{ "isrecording", PVR_IS_RECORDING
{ "backendversion", PVR_BACKEND_VERSION },
{ "backendhost", PVR_BACKEND_HOST },
{ "backenddiskspace", PVR_BACKEND_DISKSPACE },
{ "backenddiskspaceprogr", PVR_BACKEND_DISKSPACE_PROGR },
{ "backendchannels", PVR_BACKEND_CHANNELS },
{ "backendtimers", PVR_BACKEND_TIMERS },
{ "backendrecordings", PVR_BACKEND_RECORDINGS },
Expand Down Expand Up @@ -2158,6 +2159,7 @@ bool CGUIInfoManager::GetInt(int &value, int info, int contextWindow, const CGUI
case PVR_PLAYING_PROGRESS:
case PVR_ACTUAL_STREAM_SIG_PROGR:
case PVR_ACTUAL_STREAM_SNR_PROGR:
case PVR_BACKEND_DISKSPACE_PROGR:
value = g_PVRManager.TranslateIntInfo(info);
return true;
case SYSTEM_BATTERY_LEVEL:
Expand Down
1 change: 1 addition & 0 deletions xbmc/GUIInfoManager.h
Expand Up @@ -488,6 +488,7 @@ namespace INFO
#define PVR_ACTUAL_STREAM_SERVICE (PVR_STRINGS_START + 34)
#define PVR_ACTUAL_STREAM_MUX (PVR_STRINGS_START + 35)
#define PVR_ACTUAL_STREAM_PROVIDER (PVR_STRINGS_START + 36)
#define PVR_BACKEND_DISKSPACE_PROGR (PVR_STRINGS_START + 37)
#define PVR_STRINGS_END PVR_ACTUAL_STREAM_PROVIDER

#define WINDOW_PROPERTY 9993
Expand Down
49 changes: 30 additions & 19 deletions xbmc/pvr/PVRGUIInfo.cpp
Expand Up @@ -70,11 +70,11 @@ void CPVRGUIInfo::ResetProperties(void)
m_strBackendName .clear();
m_strBackendVersion .clear();
m_strBackendHost .clear();
m_strBackendDiskspace .clear();
m_strBackendTimers .clear();
m_strBackendRecordings .clear();
m_strBackendChannels .clear();
m_strTotalDiskspace .clear();
m_iBackendUsedDiskspace = 0;
m_iBackendTotalDiskspace = 0;
m_iAddonInfoToggleStart = 0;
m_iAddonInfoToggleCurrent = 0;
m_iTimerInfoToggleStart = 0;
Expand Down Expand Up @@ -446,6 +446,13 @@ int CPVRGUIInfo::TranslateIntInfo(DWORD dwInfo) const
iReturn = (int) ((float) m_qualityInfo.iSignal / 0xFFFF * 100);
else if (dwInfo == PVR_ACTUAL_STREAM_SNR_PROGR)
iReturn = (int) ((float) m_qualityInfo.iSNR / 0xFFFF * 100);
else if (dwInfo == PVR_BACKEND_DISKSPACE_PROGR)
{
if (m_iBackendTotalDiskspace > 0)
iReturn = (int) (100 * m_iBackendUsedDiskspace / m_iBackendTotalDiskspace);
else
iReturn = 0xFF;
}

return iReturn;
}
Expand Down Expand Up @@ -515,7 +522,7 @@ void CPVRGUIInfo::CharInfoBackendNumber(std::string &strValue) const

void CPVRGUIInfo::CharInfoTotalDiskSpace(std::string &strValue) const
{
strValue = m_strTotalDiskspace;
strValue = StringUtils::SizeToString(m_iBackendTotalDiskspace).c_str();
}

void CPVRGUIInfo::CharInfoVideoBR(std::string &strValue) const
Expand Down Expand Up @@ -595,10 +602,14 @@ void CPVRGUIInfo::CharInfoBackendHost(std::string &strValue) const

void CPVRGUIInfo::CharInfoBackendDiskspace(std::string &strValue) const
{
if (m_strBackendDiskspace.empty())
strValue = g_localizeStrings.Get(13205);
if (m_iBackendTotalDiskspace > 0)
{
strValue = StringUtils::Format(g_localizeStrings.Get(802).c_str(),
StringUtils::SizeToString(m_iBackendTotalDiskspace-m_iBackendUsedDiskspace).c_str(),
StringUtils::SizeToString(m_iBackendTotalDiskspace).c_str());
}
else
strValue = m_strBackendDiskspace;
strValue = g_localizeStrings.Get(13205);
}

void CPVRGUIInfo::CharInfoBackendChannels(std::string &strValue) const
Expand Down Expand Up @@ -675,34 +686,33 @@ void CPVRGUIInfo::UpdateBackendCache(void)
std::string strBackendTimers;
std::string strBackendRecordings;
std::string strBackendChannels;
long long iBackendkBUsed(0);
long long iBackendkBTotal(0);
int iActiveClients(0);

if (!AddonInfoToggle())
return;

CPVRClients *clients = g_PVRClients;
PVR_CLIENTMAP activeClients;
iActiveClients = clients->GetConnectedClients(activeClients);

if (iActiveClients > 1 && !AddonInfoToggle())
return;

if (iActiveClients > 0)
{
PVR_CLIENTMAP_CITR activeClient = activeClients.begin();
/* safe to read unlocked */
for (unsigned int i = 0; i < m_iAddonInfoToggleCurrent; i++)
activeClient++;

long long kBTotal = 0;
long long kBUsed = 0;

if (activeClient->second->GetDriveSpace(&kBTotal, &kBUsed) == PVR_ERROR_NO_ERROR)
if (activeClient->second->GetDriveSpace(&iBackendkBTotal, &iBackendkBUsed) == PVR_ERROR_NO_ERROR)
{
kBTotal /= 1024; // Convert to MBytes
kBUsed /= 1024; // Convert to MBytes
strBackendDiskspace = StringUtils::Format("%s %.1f GByte - %s: %.1f GByte",
g_localizeStrings.Get(20161).c_str(), (float) kBTotal / 1024, g_localizeStrings.Get(20162).c_str(), (float) kBUsed / 1024);
iBackendkBUsed *= 1024; // Convert to Bytes
iBackendkBTotal *= 1024; // Convert to Bytes
}
else
{
strBackendDiskspace = g_localizeStrings.Get(19055);
iBackendkBUsed = 0;
iBackendkBTotal = 0;
}

int NumChannels = activeClient->second->GetChannelsAmount();
Expand Down Expand Up @@ -732,11 +742,12 @@ void CPVRGUIInfo::UpdateBackendCache(void)
m_strBackendName = strBackendName;
m_strBackendVersion = strBackendVersion;
m_strBackendHost = strBackendHost;
m_strBackendDiskspace = strBackendDiskspace;
m_strBackendTimers = strBackendTimers;
m_strBackendRecordings = strBackendRecordings;
m_strBackendChannels = strBackendChannels;
m_iActiveClients = iActiveClients;
m_iBackendUsedDiskspace = iBackendkBUsed;
m_iBackendTotalDiskspace = iBackendkBTotal;
}

void CPVRGUIInfo::UpdateTimersCache(void)
Expand Down
4 changes: 2 additions & 2 deletions xbmc/pvr/PVRGUIInfo.h
Expand Up @@ -153,11 +153,11 @@ namespace PVR
std::string m_strBackendName;
std::string m_strBackendVersion;
std::string m_strBackendHost;
std::string m_strBackendDiskspace;
std::string m_strBackendTimers;
std::string m_strBackendRecordings;
std::string m_strBackendChannels;
std::string m_strTotalDiskspace;
long long m_iBackendUsedDiskspace;
long long m_iBackendTotalDiskspace;
unsigned int m_iDuration;

bool m_bHasNonRecordingTimers;
Expand Down

0 comments on commit 667d2e0

Please sign in to comment.