summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--HISTORY2
-rw-r--r--displaychannel.c7
-rw-r--r--displaychannelview.c54
-rw-r--r--displaychannelview.h4
-rw-r--r--po/ca_ES.po9
-rw-r--r--po/de_DE.po6
-rw-r--r--po/it_IT.po4
-rw-r--r--po/sk_SK.po9
-rw-r--r--setup.c2
9 files changed, 69 insertions, 28 deletions
diff --git a/HISTORY b/HISTORY
index 363c6bc..5a7c42e 100644
--- a/HISTORY
+++ b/HISTORY
@@ -405,3 +405,5 @@ Version 1.0.3
gets closed (closes Ticket 1675)
- Fixed bug that messages are not displayed during replay of a recording
if DisplayReplay is active (closes Ticket 1698)
+- Added information about running recordings in DisplayChannel (thanks
+ @Soeren Moch for providing a patch)
diff --git a/displaychannel.c b/displaychannel.c
index 7beed49..fa6964e 100644
--- a/displaychannel.c
+++ b/displaychannel.c
@@ -78,8 +78,6 @@ void cNopacityDisplayChannel::SetChannel(const cChannel *Channel, int Number) {
channelView->DrawChannelLogo(Channel);
if (Channel)
channelView->DrawStatusIcons(Channel);
- if (Channel && config.GetValue("displaySourceInfo"))
- channelView->DrawSourceInfo(Channel);
} else {
channelView->HideSignalMeter();
channelView->ClearProgressBar();
@@ -166,6 +164,11 @@ void cNopacityDisplayChannel::Flush(void) {
} else
channelView->HideSignalMeter();
+ if (config.GetValue("displaySourceInfo") && !groupSep)
+ channelView->DrawSourceInfo();
+ else
+ channelView->ClearSourceInfo();
+
if (initial) {
if (config.GetValue("channelFadeTime"))
Start();
diff --git a/displaychannelview.c b/displaychannelview.c
index 0b8a5ed..7ace1a7 100644
--- a/displaychannelview.c
+++ b/displaychannelview.c
@@ -137,15 +137,15 @@ void cNopacityDisplayChannelView::CreatePixmaps(void) {
statusIconsWidth + 3*statusIconBorder,
geoManager->channelFooterHeight - 2)
);
- int sourceInfoX = geoManager->channelContentX + 2 * statusIconBorder;
- if (config.GetValue("displaySignalStrength"))
+ int sourceInfoX = geoManager->channelX + geoManager->channelContentX + 10;
+ if (config.GetValue("displaySignalStrength"))
sourceInfoX +=geoManager->channelWidth * 0.2;
pixmapSourceInfo = osd->CreatePixmap(2,
cRect(sourceInfoX,
geoManager->channelTop + geoManager->channelHeaderHeight +
geoManager->channelProgressBarHeight +
geoManager->channelEpgInfoHeight,
- geoManager->channelContentWidth * 0.3,
+ statusIconX - sourceInfoX,
geoManager->channelFooterHeight)
);
@@ -625,21 +625,21 @@ void cNopacityDisplayChannelView::DrawSignalMeter(void) {
fontInfoline->Width(*signalQuality)) + 2;
signalX = geoManager->channelFooterHeight / 2 + labelWidth;
pixmapSignalStrength = osd->CreatePixmap(3,
- cRect(geoManager->channelContentX + signalX,
+ cRect(geoManager->channelContentX + 10 + signalX,
signalMeterY + 2,
signalWidth + 2,
signalHeight + 2));
pixmapSignalQuality = osd->CreatePixmap(3,
- cRect(geoManager->channelContentX + signalX,
+ cRect(geoManager->channelContentX + 10 + signalX,
signalMeterY + signalHeight + 5,
signalWidth + 2,
signalHeight + 2));
pixmapSignalMeter = osd->CreatePixmap(4,
- cRect(geoManager->channelContentX + signalX + 1,
+ cRect(geoManager->channelContentX + 10 + signalX + 1,
signalMeterY + 3, signalWidth,
2*signalHeight + 3));
pixmapSignalLabel = osd->CreatePixmap(3,
- cRect(geoManager->channelContentX
+ cRect(geoManager->channelContentX + 10
+ geoManager->channelFooterHeight / 2,
signalMeterY + 2,
labelWidth,
@@ -784,12 +784,42 @@ std::string cNopacityDisplayChannelView::GetChannelSep(const cChannel *channel,
return sepName;
}
-void cNopacityDisplayChannelView::DrawSourceInfo(const cChannel *Channel) {
- const cSource *source = Sources.Get(Channel->Source());
+void cNopacityDisplayChannelView::DrawSourceInfo(void) {
+ const cChannel *channel = cDevice::ActualDevice()->GetCurrentlyTunedTransponder();
+ const cSource *source = (channel) ? Sources.Get(channel->Source()) : NULL;
cString channelInfo = "";
- if (source)
- channelInfo = cString::sprintf("%s - %s", *cSource::ToString(source->Code()), source->Description());
+ if (source) {
+ channelInfo = cString::sprintf("%s #%d", source->Description(), cDevice::ActualDevice()->DeviceNumber());
+ }
+ if (cRecordControls::Active()) {
+ cSortedTimers SortedTimers;
+ bool first = true;
+ int truncPos = 0;
+ for (int i = 0; i < SortedTimers.Size(); i++)
+ if (const cTimer *Timer = SortedTimers[i])
+ if (Timer->Recording()) {
+ if (cRecordControl *RecordControl = cRecordControls::GetRecordControl(Timer))
+ if (const cDevice *Device = RecordControl->Device()) {
+ cString name(Timer->File());
+ if (first) {
+ truncPos = strlen(*channelInfo) + 30;
+ } else {
+ name.Truncate(15);
+ if (truncPos) {
+ channelInfo.Truncate(truncPos);
+ truncPos = 0;
+ ClearSourceInfo();
+ }
+ }
+ channelInfo = cString::sprintf("%s%s #%i: %s", *channelInfo, (first)?" - Rec:":",", Device->DeviceNumber(), *name);
+ first = false;
+ }
+ } else if ((Timer->Flags() & tfActive) && !Timer->Pending())
+ break;
+ }
int textY = (geoManager->channelFooterHeight - fontManager->channelSourceInfo->Height()) / 2;
+ if (fontManager->channelSourceInfo->Width(*channelInfo) > pixmapSourceInfo->ViewPort().Width())
+ channelInfo = CutText(*channelInfo, pixmapSourceInfo->ViewPort().Width(), fontManager->channelSourceInfo).c_str();
pixmapSourceInfo->DrawText(cPoint(0, textY), channelInfo, Theme.Color(clrChannelHead), clrTransparent, fontManager->channelSourceInfo);
}
@@ -804,4 +834,4 @@ void cNopacityDisplayChannelView::DisplayMessage(const char *Text) {
int x = (geoManager->channelContentWidth - textWidth)/2;
int y = (geoManager->channelEpgInfoHeight - fontManager->channelEPG->Height())/2;
pixmapEPGInfo->DrawText(cPoint(x, y), Text, Theme.Color(clrChannelEPG), clrTransparent, fontManager->channelEPG);
-} \ No newline at end of file
+}
diff --git a/displaychannelview.h b/displaychannelview.h
index 4b28e04..7a3fd91 100644
--- a/displaychannelview.h
+++ b/displaychannelview.h
@@ -61,9 +61,9 @@ public:
void ShowSignalMeter(void);
void HideSignalMeter(void);
void DrawChannelGroups(const cChannel *Channel, cString ChannelName);
- void DrawSourceInfo(const cChannel *Channel);
+ void DrawSourceInfo(void);
void ClearSourceInfo(void);
void DisplayMessage(const char *Text);
void Flush(void) { osd->Flush(); };
};
-#endif //__NOPACITY_DISPLAYCHANNELVIEW_H \ No newline at end of file
+#endif //__NOPACITY_DISPLAYCHANNELVIEW_H
diff --git a/po/ca_ES.po b/po/ca_ES.po
index cd190bc..0bb4bd2 100644
--- a/po/ca_ES.po
+++ b/po/ca_ES.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: skinnopacity 0.0.1\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-02-01 12:43+0100\n"
+"POT-Creation-Date: 2014-02-01 14:51+0100\n"
"PO-Revision-Date: 2013-03-19 22:56+0100\n"
"Last-Translator: Gabychan <gbonich@gmail.com>\n"
"Language-Team: \n"
@@ -452,8 +452,8 @@ msgstr "Tipus de visualització per la programació actual"
msgid "Display Signal Strength & Quality"
msgstr "Mostra qualitat i intensitat del senyal"
-msgid "Display Channel Source information"
-msgstr "Mostra informació del canal"
+msgid "Display Channel Source & Rec. Info"
+msgstr ""
msgid "Display Poster or Fanart from TVScraper"
msgstr "Mostra Poster o Fanart de TVScraper"
@@ -556,3 +556,6 @@ msgstr "conflicte"
msgid "conflicts"
msgstr "conflictes"
+
+#~ msgid "Display Channel Source information"
+#~ msgstr "Mostra informació del canal"
diff --git a/po/de_DE.po b/po/de_DE.po
index 4ff72ee..ada4ecd 100644
--- a/po/de_DE.po
+++ b/po/de_DE.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: skinnopacity 0.0.1\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-02-01 12:43+0100\n"
+"POT-Creation-Date: 2014-02-01 14:51+0100\n"
"PO-Revision-Date: 2012-11-11 17:49+0200\n"
"Last-Translator: louis\n"
"Language-Team: \n"
@@ -449,8 +449,8 @@ msgstr "Art der Zeitanzeige für die laufende Sendung"
msgid "Display Signal Strength & Quality"
msgstr "Signalstärke- und Qualität anzeigen"
-msgid "Display Channel Source information"
-msgstr "Quellinformationen für Kanal anzeigen"
+msgid "Display Channel Source & Rec. Info"
+msgstr "Kanal- und Aufnahmeinfo anzeigen"
msgid "Display Poster or Fanart from TVScraper"
msgstr "Poster bzw. Fanart von TVScraper anzeigen"
diff --git a/po/it_IT.po b/po/it_IT.po
index 89c23c8..9a0e60d 100644
--- a/po/it_IT.po
+++ b/po/it_IT.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: skinnopacity 0.0.1\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-02-01 12:43+0100\n"
+"POT-Creation-Date: 2014-02-01 14:51+0100\n"
"PO-Revision-Date: 2013-03-19 22:56+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: \n"
@@ -452,7 +452,7 @@ msgstr ""
msgid "Display Signal Strength & Quality"
msgstr "Mostra qualità e intensità segnale"
-msgid "Display Channel Source information"
+msgid "Display Channel Source & Rec. Info"
msgstr ""
msgid "Display Poster or Fanart from TVScraper"
diff --git a/po/sk_SK.po b/po/sk_SK.po
index 38c0b0a..499c79b 100644
--- a/po/sk_SK.po
+++ b/po/sk_SK.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: vdr-skinnopacity\n"
"Report-Msgid-Bugs-To: <see README>\n"
-"POT-Creation-Date: 2014-02-01 12:43+0100\n"
+"POT-Creation-Date: 2014-02-01 14:51+0100\n"
"PO-Revision-Date: 2013-11-11 20:52+0100\n"
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
"Language-Team: \n"
@@ -449,8 +449,8 @@ msgstr "Druh zobrazenia èasu pre aktuálnu reláciu"
msgid "Display Signal Strength & Quality"
msgstr "Zobrazi» silu a kvalitu signálu"
-msgid "Display Channel Source information"
-msgstr "Zobrazi» zdroj kanálu"
+msgid "Display Channel Source & Rec. Info"
+msgstr ""
msgid "Display Poster or Fanart from TVScraper"
msgstr "Zobrazenie plagátu alebo Fanartu z TVScraper"
@@ -553,3 +553,6 @@ msgstr "konflikt"
msgid "conflicts"
msgstr "konflikty"
+
+#~ msgid "Display Channel Source information"
+#~ msgstr "Zobrazi» zdroj kanálu"
diff --git a/setup.c b/setup.c
index ac3f3d8..ddabdfd 100644
--- a/setup.c
+++ b/setup.c
@@ -391,7 +391,7 @@ void cNopacitySetupChannelDisplay::Set(void) {
}
Add(new cMenuEditStraItem(tr("Kind of time display for current schedule"), tmpConf->GetValueRef("progressCurrentSchedule"), 2, progressStyleCurrentSchedule));
Add(new cMenuEditBoolItem(tr("Display Signal Strength & Quality"), tmpConf->GetValueRef("displaySignalStrength")));
- Add(new cMenuEditBoolItem(tr("Display Channel Source information"), tmpConf->GetValueRef("displaySourceInfo")));
+ Add(new cMenuEditBoolItem(tr("Display Channel Source & Rec. Info"), tmpConf->GetValueRef("displaySourceInfo")));
Add(new cMenuEditBoolItem(tr("Display Poster or Fanart from TVScraper"), tmpConf->GetValueRef("displayPoster")));
if (tmpConf->GetValue("displayPoster")) {
Add(new cMenuEditIntItem(cString::sprintf("%s%s", *spacer, tr("Border in Pixel")), tmpConf->GetValueRef("channelPosterBorder"), 0, 200));