The new functions SetItemEvent(), SetItemTimer(), SetItemChannel() and SetItemRecording() of the cSkinDisplayMenu class can be reimplemented by skin plugins to display these items in a more elaborate way than just a simple line of text

This commit is contained in:
Klaus Schmidinger 2012-12-08 11:05:39 +01:00
parent bc0b67e630
commit 83fe591f32
37 changed files with 259 additions and 212 deletions

View File

@ -7339,7 +7339,7 @@ Video Disk Recorder Revision History
- Modified editing marks are now written to disk whenever the replay progress display
gets hidden (thanks to Christoph Haubrich).
2012-12-06: Version 1.7.33
2012-12-08: Version 1.7.33
- In order to be able to play TS recordings from other sources, in which there is
more than one PMT PID in the PAT, 'int cPatPmtParser::PatPmt(void)' has been changed
@ -7412,3 +7412,7 @@ Video Disk Recorder Revision History
export LC_NUMERIC=C
before running VDR. Otherwise your plugin's configuration data may not be read or
written correctly.
- The new functions SetItemEvent(), SetItemTimer(), SetItemChannel() and
SetItemRecording() of the cSkinDisplayMenu class can be reimplemented by skin
plugins to display these items in a more elaborate way than just a simple line of
text.

View File

@ -111,6 +111,10 @@ Skins:
"LCARS" is the new default skin of VDR. It requires at least a 4bpp (16 color) full
screen OSD, but you can still operate it if your OSD can handle only fewer colors
(in which case you may want to switch to the "ST:TNG" or "Classic VDR" skin).
- The new functions SetItemEvent(), SetItemTimer(), SetItemChannel() and
SetItemRecording() of the cSkinDisplayMenu class can be reimplemented by skin
plugins to display these items in a more elaborate way than just a simple line of
text.
Remote control:

155
menu.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: menu.c 2.70 2012/12/06 11:08:56 kls Exp $
* $Id: menu.c 2.71 2012/12/07 13:48:15 kls Exp $
*/
#include "menu.h"
@ -284,6 +284,7 @@ public:
virtual int Compare(const cListObject &ListObject) const;
virtual void Set(void);
cChannel *Channel(void) { return channel; }
virtual void SetMenuItem(cSkinDisplayMenu *DisplayMenu, int Index, bool Current, bool Selectable);
};
cMenuChannelItem::eChannelSortMode cMenuChannelItem::sortMode = csmNumber;
@ -323,6 +324,12 @@ void cMenuChannelItem::Set(void)
SetText(buffer);
}
void cMenuChannelItem::SetMenuItem(cSkinDisplayMenu *DisplayMenu, int Index, bool Current, bool Selectable)
{
if (!DisplayMenu->SetItemChannel(channel, Index, Current, Selectable, sortMode == csmProvider))
DisplayMenu->SetItem(Text(), Index, Current, Selectable);
}
// --- cMenuChannels ---------------------------------------------------------
#define CHANNELNUMBERTIMEOUT 1000 //ms
@ -1001,6 +1008,7 @@ public:
virtual int Compare(const cListObject &ListObject) const;
virtual void Set(void);
cTimer *Timer(void) { return timer; }
virtual void SetMenuItem(cSkinDisplayMenu *DisplayMenu, int Index, bool Current, bool Selectable);
};
cMenuTimerItem::cMenuTimerItem(cTimer *Timer)
@ -1049,6 +1057,12 @@ void cMenuTimerItem::Set(void)
File));
}
void cMenuTimerItem::SetMenuItem(cSkinDisplayMenu *DisplayMenu, int Index, bool Current, bool Selectable)
{
if (!DisplayMenu->SetItemTimer(timer, Index, Current, Selectable))
DisplayMenu->SetItem(Text(), Index, Current, Selectable);
}
// --- cMenuTimers -----------------------------------------------------------
class cMenuTimers : public cOsdMenu {
@ -1215,7 +1229,7 @@ cMenuEvent::cMenuEvent(const cEvent *Event, bool CanSwitch, bool Buttons)
cChannel *channel = Channels.GetByChannelID(event->ChannelID(), true);
if (channel) {
SetTitle(channel->Name());
int TimerMatch = tmNone;
eTimerMatch TimerMatch = tmNone;
Timers.GetMatch(event, &TimerMatch);
if (Buttons)
SetHelp(TimerMatch == tmFull ? tr("Button$Timer") : tr("Button$Record"), NULL, NULL, CanSwitch ? tr("Button$Switch") : NULL);
@ -1273,13 +1287,14 @@ public:
const cEvent *event;
const cChannel *channel;
bool withDate;
int timerMatch;
eTimerMatch timerMatch;
cMenuScheduleItem(const cEvent *Event, cChannel *Channel = NULL, bool WithDate = false);
static void SetSortMode(eScheduleSortMode SortMode) { sortMode = SortMode; }
static void IncSortMode(void) { sortMode = eScheduleSortMode((sortMode == ssmAllAll) ? ssmAllThis : sortMode + 1); }
static eScheduleSortMode SortMode(void) { return sortMode; }
virtual int Compare(const cListObject &ListObject) const;
bool Update(bool Force = false);
virtual void SetMenuItem(cSkinDisplayMenu *DisplayMenu, int Index, bool Current, bool Selectable);
};
cMenuScheduleItem::eScheduleSortMode cMenuScheduleItem::sortMode = ssmAllThis;
@ -1309,7 +1324,7 @@ static const char *TimerMatchChars = " tT";
bool cMenuScheduleItem::Update(bool Force)
{
bool result = false;
int OldTimerMatch = timerMatch;
eTimerMatch OldTimerMatch = timerMatch;
Timers.GetMatch(event, &timerMatch);
if (Force || timerMatch != OldTimerMatch) {
cString buffer;
@ -1330,6 +1345,12 @@ bool cMenuScheduleItem::Update(bool Force)
return result;
}
void cMenuScheduleItem::SetMenuItem(cSkinDisplayMenu *DisplayMenu, int Index, bool Current, bool Selectable)
{
if (!DisplayMenu->SetItemEvent(event, Index, Current, Selectable, channel, withDate, timerMatch))
DisplayMenu->SetItem(Text(), Index, Current, Selectable);
}
// --- cMenuWhatsOn ----------------------------------------------------------
class cMenuWhatsOn : public cOsdMenu {
@ -1430,7 +1451,7 @@ eOSState cMenuWhatsOn::Record(void)
cMenuScheduleItem *item = (cMenuScheduleItem *)Get(Current());
if (item) {
if (item->timerMatch == tmFull) {
int tm = tmNone;
eTimerMatch tm = tmNone;
cTimer *timer = Timers.GetMatch(item->event, &tm);
if (timer)
return AddSubMenu(new cMenuEditTimer(timer));
@ -1676,7 +1697,7 @@ eOSState cMenuSchedule::Record(void)
cMenuScheduleItem *item = (cMenuScheduleItem *)Get(Current());
if (item) {
if (item->timerMatch == tmFull) {
int tm = tmNone;
eTimerMatch tm = tmNone;
cTimer *timer = Timers.GetMatch(item->event, &tm);
if (timer)
return AddSubMenu(new cMenuEditTimer(timer));
@ -2153,7 +2174,8 @@ eOSState cMenuRecording::ProcessKey(eKeys Key)
class cMenuRecordingItem : public cOsdItem {
private:
char *fileName;
cRecording *recording;
int level;
char *name;
int totalEntries, newEntries;
public:
@ -2161,13 +2183,15 @@ public:
~cMenuRecordingItem();
void IncrementCounter(bool New);
const char *Name(void) { return name; }
const char *FileName(void) { return fileName; }
cRecording *Recording(void) { return recording; }
bool IsDirectory(void) { return name != NULL; }
virtual void SetMenuItem(cSkinDisplayMenu *DisplayMenu, int Index, bool Current, bool Selectable);
};
cMenuRecordingItem::cMenuRecordingItem(cRecording *Recording, int Level)
{
fileName = strdup(Recording->FileName());
recording = Recording;
level = Level;
name = NULL;
totalEntries = newEntries = 0;
SetText(Recording->Title('\t', true, Level));
@ -2177,7 +2201,6 @@ cMenuRecordingItem::cMenuRecordingItem(cRecording *Recording, int Level)
cMenuRecordingItem::~cMenuRecordingItem()
{
free(fileName);
free(name);
}
@ -2189,6 +2212,12 @@ void cMenuRecordingItem::IncrementCounter(bool New)
SetText(cString::sprintf("%d\t\t%d\t%s", totalEntries, newEntries, name));
}
void cMenuRecordingItem::SetMenuItem(cSkinDisplayMenu *DisplayMenu, int Index, bool Current, bool Selectable)
{
if (!DisplayMenu->SetItemRecording(recording, Index, Current, Selectable, level, totalEntries, newEntries))
DisplayMenu->SetItem(Text(), Index, Current, Selectable);
}
// --- cMenuRecordings -------------------------------------------------------
cMenuRecordings::cMenuRecordings(const char *Base, int Level, bool OpenSubMenus)
@ -2224,8 +2253,7 @@ void cMenuRecordings::SetHelpKeys(void)
NewHelpKeys = 1;
else {
NewHelpKeys = 2;
cRecording *recording = GetRecording(ri);
if (recording && recording->Info()->Title())
if (ri->Recording()->Info()->Title())
NewHelpKeys = 3;
}
}
@ -2248,12 +2276,8 @@ void cMenuRecordings::Set(bool Refresh)
char *LastItemText = NULL;
cThreadLock RecordingsLock(&Recordings);
if (Refresh) {
cMenuRecordingItem *ri = (cMenuRecordingItem *)Get(Current());
if (ri) {
cRecording *Recording = Recordings.GetByName(ri->FileName());
if (Recording)
CurrentRecording = Recording->FileName();
}
if (cMenuRecordingItem *ri = (cMenuRecordingItem *)Get(Current()))
CurrentRecording = ri->Recording()->FileName();
}
Clear();
GetRecordingsSortMode(DirectoryName());
@ -2293,14 +2317,6 @@ cString cMenuRecordings::DirectoryName(void)
return d;
}
cRecording *cMenuRecordings::GetRecording(cMenuRecordingItem *Item)
{
cRecording *recording = Recordings.GetByName(Item->FileName());
if (!recording)
Skins.Message(mtError, tr("Error while accessing recording!"));
return recording;
}
bool cMenuRecordings::Open(bool OpenSubMenus)
{
cMenuRecordingItem *ri = (cMenuRecordingItem *)Get(Current());
@ -2324,11 +2340,8 @@ eOSState cMenuRecordings::Play(void)
if (ri->IsDirectory())
Open();
else {
cRecording *recording = GetRecording(ri);
if (recording) {
cReplayControl::SetRecording(recording->FileName());
return osReplay;
}
cReplayControl::SetRecording(ri->Recording()->FileName());
return osReplay;
}
}
return osContinue;
@ -2340,13 +2353,10 @@ eOSState cMenuRecordings::Rewind(void)
return osContinue;
cMenuRecordingItem *ri = (cMenuRecordingItem *)Get(Current());
if (ri && !ri->IsDirectory()) {
cRecording *recording = GetRecording(ri);
if (recording) {
cDevice::PrimaryDevice()->StopReplay(); // must do this first to be able to rewind the currently replayed recording
cResumeFile ResumeFile(ri->FileName(), recording->IsPesRecording());
ResumeFile.Delete();
return Play();
}
cDevice::PrimaryDevice()->StopReplay(); // must do this first to be able to rewind the currently replayed recording
cResumeFile ResumeFile(ri->Recording()->FileName(), ri->Recording()->IsPesRecording());
ResumeFile.Delete();
return Play();
}
return osContinue;
}
@ -2358,7 +2368,7 @@ eOSState cMenuRecordings::Delete(void)
cMenuRecordingItem *ri = (cMenuRecordingItem *)Get(Current());
if (ri && !ri->IsDirectory()) {
if (Interface->Confirm(tr("Delete recording?"))) {
cRecordControl *rc = cRecordControls::GetRecordControl(ri->FileName());
cRecordControl *rc = cRecordControls::GetRecordControl(ri->Recording()->FileName());
if (rc) {
if (Interface->Confirm(tr("Timer still recording - really delete?"))) {
cTimer *timer = rc->Timer();
@ -2375,33 +2385,32 @@ eOSState cMenuRecordings::Delete(void)
else
return osContinue;
}
cRecording *recording = GetRecording(ri);
if (recording) {
if (cCutter::Active(ri->FileName())) {
if (Interface->Confirm(tr("Recording is being edited - really delete?"))) {
cCutter::Stop();
recording = Recordings.GetByName(ri->FileName()); // cCutter::Stop() might have deleted it if it was the edited version
// we continue with the code below even if recording is NULL,
// in order to have the menu updated etc.
}
else
return osContinue;
}
if (cReplayControl::NowReplaying() && strcmp(cReplayControl::NowReplaying(), ri->FileName()) == 0)
cControl::Shutdown();
if (!recording || recording->Delete()) {
cReplayControl::ClearLastReplayed(ri->FileName());
Recordings.DelByName(ri->FileName());
cOsdMenu::Del(Current());
SetHelpKeys();
cVideoDiskUsage::ForceCheck();
Display();
if (!Count())
return osBack;
cRecording *recording = ri->Recording();
cString FileName = recording->FileName();
if (cCutter::Active(ri->Recording()->FileName())) {
if (Interface->Confirm(tr("Recording is being edited - really delete?"))) {
cCutter::Stop();
recording = Recordings.GetByName(FileName); // cCutter::Stop() might have deleted it if it was the edited version
// we continue with the code below even if recording is NULL,
// in order to have the menu updated etc.
}
else
Skins.Message(mtError, tr("Error while deleting recording!"));
return osContinue;
}
if (cReplayControl::NowReplaying() && strcmp(cReplayControl::NowReplaying(), FileName) == 0)
cControl::Shutdown();
if (!recording || recording->Delete()) {
cReplayControl::ClearLastReplayed(FileName);
Recordings.DelByName(FileName);
cOsdMenu::Del(Current());
SetHelpKeys();
cVideoDiskUsage::ForceCheck();
Display();
if (!Count())
return osBack;
}
else
Skins.Message(mtError, tr("Error while deleting recording!"));
}
}
return osContinue;
@ -2412,11 +2421,8 @@ eOSState cMenuRecordings::Info(void)
if (HasSubMenu() || Count() == 0)
return osContinue;
cMenuRecordingItem *ri = (cMenuRecordingItem *)Get(Current());
if (ri && !ri->IsDirectory()) {
cRecording *recording = GetRecording(ri);
if (recording && recording->Info()->Title())
return AddSubMenu(new cMenuRecording(recording, true));
}
if (ri && !ri->IsDirectory() && ri->Recording()->Info()->Title())
return AddSubMenu(new cMenuRecording(ri->Recording(), true));
return osContinue;
}
@ -2426,14 +2432,11 @@ eOSState cMenuRecordings::Commands(eKeys Key)
return osContinue;
cMenuRecordingItem *ri = (cMenuRecordingItem *)Get(Current());
if (ri && !ri->IsDirectory()) {
cRecording *recording = GetRecording(ri);
if (recording) {
cMenuCommands *menu;
eOSState state = AddSubMenu(menu = new cMenuCommands(tr("Recording commands"), &RecordingCommands, cString::sprintf("\"%s\"", *strescape(recording->FileName(), "\\\"$"))));
if (Key != kNone)
state = menu->ProcessKey(Key);
return state;
}
cMenuCommands *menu;
eOSState state = AddSubMenu(menu = new cMenuCommands(tr("Recording commands"), &RecordingCommands, cString::sprintf("\"%s\"", *strescape(ri->Recording()->FileName(), "\\\"$"))));
if (Key != kNone)
state = menu->ProcessKey(Key);
return state;
}
return osContinue;
}

3
menu.h
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: menu.h 2.12 2012/09/07 08:48:34 kls Exp $
* $Id: menu.h 2.13 2012/12/07 13:44:13 kls Exp $
*/
#ifndef __MENU_H
@ -208,7 +208,6 @@ private:
eOSState Commands(eKeys Key = kNone);
protected:
cString DirectoryName(void);
cRecording *GetRecording(cMenuRecordingItem *Item);
public:
cMenuRecordings(const char *Base = NULL, int Level = 0, bool OpenSubMenus = false);
~cMenuRecordings();

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: osdbase.c 2.6 2012/04/23 09:41:22 kls Exp $
* $Id: osdbase.c 2.7 2012/12/07 09:50:47 kls Exp $
*/
#include "osdbase.h"
@ -55,6 +55,11 @@ void cOsdItem::SetFresh(bool Fresh)
fresh = Fresh;
}
void cOsdItem::SetMenuItem(cSkinDisplayMenu *DisplayMenu, int Index, bool Current, bool Selectable)
{
DisplayMenu->SetItem(Text(), Index, Current, Selectable);
}
eOSState cOsdItem::ProcessKey(eKeys Key)
{
return Key == kOk ? state : osUnknown;
@ -246,7 +251,7 @@ void cOsdMenu::Display(void)
int n = 0;
for (cOsdItem *item = Get(first); item; item = Next(item)) {
bool CurrentSelectable = (i == current) && item->Selectable();
displayMenu->SetItem(item->Text(), i - first, CurrentSelectable, item->Selectable());
item->SetMenuItem(displayMenu, i - first, CurrentSelectable, item->Selectable());
if (CurrentSelectable)
cStatus::MsgOsdCurrentItem(item->Text());
if (++n == displayMenuItems)
@ -275,7 +280,7 @@ void cOsdMenu::DisplayCurrent(bool Current)
{
cOsdItem *item = Get(current);
if (item) {
displayMenu->SetItem(item->Text(), current - first, Current && item->Selectable(), item->Selectable());
item->SetMenuItem(displayMenu, current - first, Current && item->Selectable(), item->Selectable());
if (Current && item->Selectable())
cStatus::MsgOsdCurrentItem(item->Text());
if (!Current)
@ -296,7 +301,7 @@ void cOsdMenu::DisplayItem(cOsdItem *Item)
int Offset = Index - first;
if (Offset >= 0 && Offset < first + displayMenuItems) {
bool Current = Index == current;
displayMenu->SetItem(Item->Text(), Offset, Current && Item->Selectable(), Item->Selectable());
Item->SetMenuItem(displayMenu, Offset, Current && Item->Selectable(), Item->Selectable());
if (Current && Item->Selectable())
cStatus::MsgOsdCurrentItem(Item->Text());
}

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: osdbase.h 2.4 2012/04/23 09:40:07 kls Exp $
* $Id: osdbase.h 2.5 2012/12/07 09:49:35 kls Exp $
*/
#ifndef __OSDBASE_H
@ -63,6 +63,7 @@ public:
void SetFresh(bool Fresh);
const char *Text(void) const { return text; }
virtual void Set(void) {}
virtual void SetMenuItem(cSkinDisplayMenu *DisplayMenu, int Index, bool Current, bool Selectable);
virtual eOSState ProcessKey(eKeys Key);
};

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2008-10-16 11:16-0400\n"
"Last-Translator: Osama Alrawab <alrawab@hotmail.com>\n"
"Language-Team: Arabic <ar@li.org>\n"
@ -753,9 +753,6 @@ msgstr "افتح"
msgid "Commands"
msgstr "الاوامر"
msgid "Error while accessing recording!"
msgstr "حدث خطاء عند محاولة الوصول لتسجيلات"
msgid "Delete recording?"
msgstr "حذف التسجيل"
@ -1421,3 +1418,6 @@ msgstr "القرص الصلب"
msgid "free"
msgstr "مساحة حرة"
#~ msgid "Error while accessing recording!"
#~ msgstr "حدث خطاء عند محاولة الوصول لتسجيلات"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2008-03-02 19:02+0100\n"
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
"Language-Team: Catalan <vdr@linuxtv.org>\n"
@ -744,9 +744,6 @@ msgstr "Obrir"
msgid "Commands"
msgstr "Ordres"
msgid "Error while accessing recording!"
msgstr "Error a l'accedir a la gravació!"
msgid "Delete recording?"
msgstr "Esborrar gravació?"
@ -1395,3 +1392,6 @@ msgstr "Disc"
msgid "free"
msgstr "lliure"
#~ msgid "Error while accessing recording!"
#~ msgstr "Error a l'accedir a la gravació!"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.14\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2010-05-06 11:00+0200\n"
"Last-Translator: Radek Šťastný <dedkus@gmail.com>\n"
"Language-Team: Czech <vdr@linuxtv.org>\n"
@ -743,9 +743,6 @@ msgstr "Otevřít"
msgid "Commands"
msgstr "Příkazy"
msgid "Error while accessing recording!"
msgstr "Chyba při přístupu k nahrávkám!"
msgid "Delete recording?"
msgstr "Smazat nahrávku?"
@ -1394,3 +1391,6 @@ msgstr "Disk"
msgid "free"
msgstr "volno"
#~ msgid "Error while accessing recording!"
#~ msgstr "Chyba při přístupu k nahrávkám!"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
"Language-Team: Danish <vdr@linuxtv.org>\n"
@ -741,9 +741,6 @@ msgstr "
msgid "Commands"
msgstr "Kommandoer"
msgid "Error while accessing recording!"
msgstr "Fejl ved læsning af optagelse!"
msgid "Delete recording?"
msgstr "Slet optagelse?"
@ -1392,3 +1389,6 @@ msgstr "Disk"
msgid "free"
msgstr "fri"
#~ msgid "Error while accessing recording!"
#~ msgstr "Fejl ved læsning af optagelse!"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2010-01-16 16:46+0100\n"
"Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
"Language-Team: German <vdr@linuxtv.org>\n"
@ -741,9 +741,6 @@ msgstr "
msgid "Commands"
msgstr "Befehle"
msgid "Error while accessing recording!"
msgstr "Fehler beim Ansprechen der Aufzeichnung!"
msgid "Delete recording?"
msgstr "Aufzeichnung löschen?"
@ -1392,3 +1389,6 @@ msgstr "Disk"
msgid "free"
msgstr "frei"
#~ msgid "Error while accessing recording!"
#~ msgstr "Fehler beim Ansprechen der Aufzeichnung!"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
"Language-Team: Greek <vdr@linuxtv.org>\n"
@ -741,9 +741,6 @@ msgstr "
msgid "Commands"
msgstr "ÅíôïëÝò"
msgid "Error while accessing recording!"
msgstr "Ðñüâëçìá óôÞí ðñïóðÝëáóç åããñáöÞò!"
msgid "Delete recording?"
msgstr "ÄéáãñáöÞ åããñáöÞò?"
@ -1392,3 +1389,6 @@ msgstr "
msgid "free"
msgstr "Åëåýèåñïò"
#~ msgid "Error while accessing recording!"
#~ msgstr "Ðñüâëçìá óôÞí ðñïóðÝëáóç åããñáöÞò!"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2008-03-02 19:02+0100\n"
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
"Language-Team: Spanish <vdr@linuxtv.org>\n"
@ -742,9 +742,6 @@ msgstr "Abrir"
msgid "Commands"
msgstr "Órdenes"
msgid "Error while accessing recording!"
msgstr "¡Error al acceder a la grabación!"
msgid "Delete recording?"
msgstr "¿Eliminar grabacion?"
@ -1393,3 +1390,6 @@ msgstr "Disco"
msgid "free"
msgstr "libre"
#~ msgid "Error while accessing recording!"
#~ msgstr "¡Error al acceder a la grabación!"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Arthur Konovalov <artlov@gmail.com>\n"
"Language-Team: Estonian <vdr@linuxtv.org>\n"
@ -741,9 +741,6 @@ msgstr "Avada"
msgid "Commands"
msgstr "Käsud"
msgid "Error while accessing recording!"
msgstr "Salvestuse taasesitus nurjus!"
msgid "Delete recording?"
msgstr "Kustutada salvestus?"
@ -1392,3 +1389,6 @@ msgstr "Ketas"
msgid "free"
msgstr "vaba"
#~ msgid "Error while accessing recording!"
#~ msgstr "Salvestuse taasesitus nurjus!"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2007-08-15 15:52+0200\n"
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
"Language-Team: Finnish <vdr@linuxtv.org>\n"
@ -744,9 +744,6 @@ msgstr "Avaa"
msgid "Commands"
msgstr "Komennot"
msgid "Error while accessing recording!"
msgstr "Tallenteen toistaminen epäonnistui!"
msgid "Delete recording?"
msgstr "Poistetaanko tallenne?"
@ -1395,3 +1392,6 @@ msgstr "Levy"
msgid "free"
msgstr "vapaana"
#~ msgid "Error while accessing recording!"
#~ msgstr "Tallenteen toistaminen epäonnistui!"

View File

@ -13,7 +13,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2008-02-27 18:14+0100\n"
"Last-Translator: Jean-Claude Repetto <jc@repetto.org>\n"
"Language-Team: French <vdr@linuxtv.org>\n"
@ -747,9 +747,6 @@ msgstr "Ouvrir"
msgid "Commands"
msgstr "Commandes"
msgid "Error while accessing recording!"
msgstr "Impossible d'accéder à l'enregistrement"
msgid "Delete recording?"
msgstr "Supprimer l'enregistrement ?"
@ -1398,3 +1395,6 @@ msgstr "Disque"
msgid "free"
msgstr "restant"
#~ msgid "Error while accessing recording!"
#~ msgstr "Impossible d'accéder à l'enregistrement"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2008-03-17 19:00+0100\n"
"Last-Translator: Adrian Caval <anrxc@sysphere.org>\n"
"Language-Team: Croatian <vdr@linuxtv.org>\n"
@ -743,9 +743,6 @@ msgstr "Otvori"
msgid "Commands"
msgstr "Naredbe"
msgid "Error while accessing recording!"
msgstr "Gre¹ka pri pristupanju snimke!"
msgid "Delete recording?"
msgstr "Obrisati snimku?"
@ -1394,3 +1391,6 @@ msgstr "Disk"
msgid "free"
msgstr "slobodno"
#~ msgid "Error while accessing recording!"
#~ msgstr "Gre¹ka pri pristupanju snimke!"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2012-01-02 11:54+0200\n"
"Last-Translator: István Füley <ifuley@tigercomp.ro>\n"
"Language-Team: Hungarian <vdr@linuxtv.org>\n"
@ -744,9 +744,6 @@ msgstr "Kinyitni"
msgid "Commands"
msgstr "Parancsok"
msgid "Error while accessing recording!"
msgstr "Hiba a felvétel hozzáférésénél"
msgid "Delete recording?"
msgstr "Felvétel törlése?"
@ -1396,3 +1393,6 @@ msgstr "Lemez"
msgid "free"
msgstr "szabad"
#~ msgid "Error while accessing recording!"
#~ msgstr "Hiba a felvétel hozzáférésénél"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2012-06-06 22:50+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian <vdr@linuxtv.org>\n"
@ -748,9 +748,6 @@ msgstr "Apri"
msgid "Commands"
msgstr "Comandi"
msgid "Error while accessing recording!"
msgstr "Errore accesso alla registrazione!"
msgid "Delete recording?"
msgstr "Eliminare la registrazione?"
@ -1399,3 +1396,6 @@ msgstr "Disco"
msgid "free"
msgstr "disponibili"
#~ msgid "Error while accessing recording!"
#~ msgstr "Errore accesso alla registrazione!"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.16\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2010-10-30 11:55+0200\n"
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
"Language-Team: Lithuanian <vdr@linuxtv.org>\n"
@ -741,9 +741,6 @@ msgstr "Atidaryti"
msgid "Commands"
msgstr "Komandos"
msgid "Error while accessing recording!"
msgstr "Klaida atidarant įrašą!"
msgid "Delete recording?"
msgstr "Ištrinti įrašą?"
@ -1392,3 +1389,6 @@ msgstr "Diskas"
msgid "free"
msgstr "laisva"
#~ msgid "Error while accessing recording!"
#~ msgstr "Klaida atidarant įrašą!"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR-1.7.14\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2012-11-19 15:18+0100\n"
"Last-Translator: Dimitar Petrovski <dimeptr@gmail.com>\n"
"Language-Team: Macedonian <en@li.org>\n"
@ -742,9 +742,6 @@ msgstr "Отвори"
msgid "Commands"
msgstr "Наредби"
msgid "Error while accessing recording!"
msgstr "Грешка при пристап до снимката!"
msgid "Delete recording?"
msgstr "Избриши снимка?"
@ -1393,3 +1390,6 @@ msgstr "Диск"
msgid "free"
msgstr "слободен"
#~ msgid "Error while accessing recording!"
#~ msgstr "Грешка при пристап до снимката!"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2008-02-26 17:20+0100\n"
"Last-Translator: Johan Schuring <johan.schuring@vetteblei.nl>\n"
"Language-Team: Dutch <vdr@linuxtv.org>\n"
@ -745,9 +745,6 @@ msgstr "Openen"
msgid "Commands"
msgstr "Commando's"
msgid "Error while accessing recording!"
msgstr "Fout bij lezen opname!"
msgid "Delete recording?"
msgstr "Opname verwijderen?"
@ -1396,3 +1393,6 @@ msgstr "Schijf"
msgid "free"
msgstr "vrij"
#~ msgid "Error while accessing recording!"
#~ msgstr "Fout bij lezen opname!"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
"Language-Team: Norwegian Nynorsk <vdr@linuxtv.org>\n"
@ -742,9 +742,6 @@ msgstr "
msgid "Commands"
msgstr "Kommandoer"
msgid "Error while accessing recording!"
msgstr "Feil under lesing av opptak!"
msgid "Delete recording?"
msgstr "Slette opptak?"
@ -1393,3 +1390,6 @@ msgstr "Disk"
msgid "free"
msgstr "ledig"
#~ msgid "Error while accessing recording!"
#~ msgstr "Feil under lesing av opptak!"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2008-03-09 12:59+0100\n"
"Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
"Language-Team: Polish <vdr@linuxtv.org>\n"
@ -742,9 +742,6 @@ msgstr "Otw
msgid "Commands"
msgstr "Polecenia"
msgid "Error while accessing recording!"
msgstr "Bl±d podczas dostêpu do nagrania!"
msgid "Delete recording?"
msgstr "Usun±æ nagranie?"
@ -1393,3 +1390,6 @@ msgstr "Dysk"
msgid "free"
msgstr "wolnego"
#~ msgid "Error while accessing recording!"
#~ msgstr "Bl±d podczas dostêpu do nagrania!"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.15\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2010-03-28 22:49+0100\n"
"Last-Translator: Cris Silva <hudokkow@gmail.com>\n"
"Language-Team: Portuguese <vdr@linuxtv.org>\n"
@ -742,9 +742,6 @@ msgstr "Abrir"
msgid "Commands"
msgstr "Comandos"
msgid "Error while accessing recording!"
msgstr "Erro a aceder às gravações!"
msgid "Delete recording?"
msgstr "Eliminar gravação?"
@ -1393,3 +1390,6 @@ msgstr "Disco"
msgid "free"
msgstr "livre"
#~ msgid "Error while accessing recording!"
#~ msgstr "Erro a aceder às gravações!"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.12\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2012-11-05 01:28+0100\n"
"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
"Language-Team: Romanian <vdr@linuxtv.org>\n"
@ -744,9 +744,6 @@ msgstr "Deschide"
msgid "Commands"
msgstr "Comenzi"
msgid "Error while accessing recording!"
msgstr "Eroare la accesarea înregistrării"
msgid "Delete recording?"
msgstr "Şterg înregistrarea?"
@ -1395,3 +1392,6 @@ msgstr "Disc"
msgid "free"
msgstr "liber"
#~ msgid "Error while accessing recording!"
#~ msgstr "Eroare la accesarea înregistrării"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2008-12-15 14:37+0100\n"
"Last-Translator: Oleg Roitburd <oleg@roitburd.de>\n"
"Language-Team: Russian <vdr@linuxtv.org>\n"
@ -742,9 +742,6 @@ msgstr "
msgid "Commands"
msgstr "ºÞÜÐÝÔë"
msgid "Error while accessing recording!"
msgstr "¾èØÑÚÐ ÔÞáâãßÐ Ú ×ÐßØáØ!"
msgid "Delete recording?"
msgstr "ÁâÕàÕâì ×ÐßØáì?"
@ -1393,3 +1390,6 @@ msgstr "
msgid "free"
msgstr "áÒÞÑÞÔÝÞ"
#~ msgid "Error while accessing recording!"
#~ msgstr "¾èØÑÚÐ ÔÞáâãßÐ Ú ×ÐßØáØ!"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.16\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2011-02-15 16:29+0100\n"
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
"Language-Team: Slovak <vdr@linuxtv.org>\n"
@ -741,9 +741,6 @@ msgstr "Otvori
msgid "Commands"
msgstr "Príkazy"
msgid "Error while accessing recording!"
msgstr "Chyba pri prístupe k nahrávkam!"
msgid "Delete recording?"
msgstr "Zmaza» nahrávku?"
@ -1392,3 +1389,6 @@ msgstr "Disk"
msgid "free"
msgstr "volne"
#~ msgid "Error while accessing recording!"
#~ msgstr "Chyba pri prístupe k nahrávkam!"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2008-02-28 19:44+0100\n"
"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
"Language-Team: Slovenian <vdr@linuxtv.org>\n"
@ -742,9 +742,6 @@ msgstr "Odpri"
msgid "Commands"
msgstr "Ukazi"
msgid "Error while accessing recording!"
msgstr "Napaka pri dostopu do posnetka!"
msgid "Delete recording?"
msgstr "Izbri¹i posnetek?"
@ -1393,3 +1390,6 @@ msgstr "Disk"
msgid "free"
msgstr "prosto"
#~ msgid "Error while accessing recording!"
#~ msgstr "Napaka pri dostopu do posnetka!"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.1\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2011-01-09 15:57+0100\n"
"Last-Translator: Milan Cvijanoviæ <elcom_cvijo@hotmail.com>\n"
"Language-Team: Serbian <vdr@linuxtv.org>\n"
@ -750,9 +750,6 @@ msgstr "Meni"
msgid "Commands"
msgstr "Naredbe"
msgid "Error while accessing recording!"
msgstr "Gre¹ka prilikom pristupa snimanju!"
msgid "Delete recording?"
msgstr "Obri¹i snimku?"
@ -1419,3 +1416,6 @@ msgstr "Disk"
msgid "free"
msgstr "slobodno"
#~ msgid "Error while accessing recording!"
#~ msgstr "Gre¹ka prilikom pristupa snimanju!"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2008-03-12 18:25+0100\n"
"Last-Translator: Magnus Andersson <svankan@bahnhof.se>\n"
"Language-Team: Swedish <vdr@linuxtv.org>\n"
@ -744,9 +744,6 @@ msgstr "
msgid "Commands"
msgstr "Kommandon"
msgid "Error while accessing recording!"
msgstr "Inspelningen går inte att läsa!"
msgid "Delete recording?"
msgstr "Ta bort inspelningen?"
@ -1395,3 +1392,6 @@ msgstr "Disk"
msgid "free"
msgstr "ledigt"
#~ msgid "Error while accessing recording!"
#~ msgstr "Inspelningen går inte att läsa!"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2008-02-28 00:33+0100\n"
"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n"
"Language-Team: Turkish <vdr@linuxtv.org>\n"
@ -741,9 +741,6 @@ msgstr "A
msgid "Commands"
msgstr "Komutlar"
msgid "Error while accessing recording!"
msgstr "Kayýt okuma hatasý!"
msgid "Delete recording?"
msgstr "Kayýtý sil?"
@ -1392,3 +1389,6 @@ msgstr "Disk"
msgid "free"
msgstr "boþ"
#~ msgid "Error while accessing recording!"
#~ msgstr "Kayýt okuma hatasý!"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.7.7\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2010-04-25 16:35+0200\n"
"Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n"
"Language-Team: Ukrainian <vdr@linuxtv.org>\n"
@ -741,9 +741,6 @@ msgstr "Відкрити"
msgid "Commands"
msgstr "Команди"
msgid "Error while accessing recording!"
msgstr "Помилка доступу до запису!"
msgid "Delete recording?"
msgstr "Витерти запис?"
@ -1392,3 +1389,6 @@ msgstr "Диск"
msgid "free"
msgstr "вільно"
#~ msgid "Error while accessing recording!"
#~ msgstr "Помилка доступу до запису!"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2012-12-05 12:48+0100\n"
"POT-Creation-Date: 2012-12-07 14:59+0100\n"
"PO-Revision-Date: 2009-09-23 23:50+0800\n"
"Last-Translator: Nan Feng <nfgx@21cn.com>\n"
"Language-Team: Chinese (simplified) <vdr@linuxtv.org>\n"
@ -744,9 +744,6 @@ msgstr "打开"
msgid "Commands"
msgstr "常用操作命令"
msgid "Error while accessing recording!"
msgstr "存取录像错误!"
msgid "Delete recording?"
msgstr "是否删除录像?"
@ -1395,3 +1392,6 @@ msgstr "硬盘已使用"
msgid "free"
msgstr "可录像时间"
#~ msgid "Error while accessing recording!"
#~ msgstr "存取录像错误!"

47
skins.h
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: skins.h 2.6 2012/12/02 13:23:44 kls Exp $
* $Id: skins.h 2.7 2012/12/07 17:18:44 kls Exp $
*/
#ifndef __SKINS_H
@ -17,6 +17,7 @@
#include "recording.h"
#include "themes.h"
#include "thread.h"
#include "timers.h"
#include "tools.h"
enum eMessageType { mtStatus = 0, mtInfo, mtWarning, mtError }; // will be used to calculate color offsets!
@ -152,13 +153,43 @@ public:
///< this function will be first called for the old current item
///< with Current set to false, and then for the new current item
///< with Current set to true.
/*TODO
virtual void SetItem(const cEvent *Event, int Index, bool Current, bool Selectable, bool NowNext???, bool Schedule???);
virtual void SetItem(const cTimer *Timer, int Index, bool Current, bool Selectable);
virtual void SetItem(const cChannel *Channel, int Index, bool Current, bool Selectable);
virtual void SetItem(const cRecording *Recording, int Index, bool Current, bool Selectable);
--> false: call SetItem(text)
*/
virtual bool SetItemEvent(const cEvent *Event, int Index, bool Current, bool Selectable, const cChannel *Channel, bool WithDate, int TimerMatch) { return false; }
///< Sets the item at the given Index to Event. See SetItem() for more information.
///< If a derived skin class implements this function, it can display an Event item
///< in a more elaborate way than just a simple line of text.
///< If Channel is not NULL, the channel's name and/or number shall be displayed.
///< If WithDate is true, the date of the Event shall be displayed (in addition to the time).
///< TimerMatch tells how much of this event will be recorded by a timer.
///< If the skin displays the Event item in its own way, it shall return true.
///< The default implementation does nothing and returns false, which results in
///< a call to SetItem() with a proper text.
virtual bool SetItemTimer(const cTimer *Timer, int Index, bool Current, bool Selectable) { return false; }
///< Sets the item at the given Index to Timer. See SetItem() for more information.
///< If a derived skin class implements this function, it can display a Timer item
///< in a more elaborate way than just a simple line of text.
///< If the skin displays the Timer item in its own way, it shall return true.
///< The default implementation does nothing and returns false, which results in
///< a call to SetItem() with a proper text.
virtual bool SetItemChannel(const cChannel *Channel, int Index, bool Current, bool Selectable, bool WithProvider) { return false; }
///< Sets the item at the given Index to Channel. See SetItem() for more information.
///< If a derived skin class implements this function, it can display a Channel item
///< in a more elaborate way than just a simple line of text.
///< If WithProvider ist true, the provider shall be displayed in addition to the
///< channel's name.
///< If the skin displays the Channel item in its own way, it shall return true.
///< The default implementation does nothing and returns false, which results in
///< a call to SetItem() with a proper text.
virtual bool SetItemRecording(const cRecording *Recording, int Index, bool Current, bool Selectable, int Level, int Total, int New) { return false; }
///< Sets the item at the given Index to Recording. See SetItem() for more information.
///< If a derived skin class implements this function, it can display a Recording item
///< in a more elaborate way than just a simple line of text.
///< Level is the currently displayed level of the video directory, where 0 is the
///< top level. A value of -1 means that the full path names of the recordings
///< shall be displayed. If Total is greater than 0, this is a directory with the given
///< total number of entries, and New contains the number of new (unwatched) recordings.
///< If the skin displays the Recording item in its own way, it shall return true.
///< The default implementation does nothing and returns false, which results in
///< a call to SetItem() with a proper text.
virtual void SetScrollbar(int Total, int Offset);
///< Sets the Total number of items in the currently displayed list, and the
///< Offset of the first item that is currently displayed (the skin knows how

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: timers.c 2.14 2012/10/16 08:22:39 kls Exp $
* $Id: timers.c 2.15 2012/12/07 13:14:00 kls Exp $
*/
#include "timers.h"
@ -480,7 +480,7 @@ bool cTimer::Matches(time_t t, bool Directly, int Margin) const
#define FULLMATCH 1000
int cTimer::Matches(const cEvent *Event, int *Overlap) const
eTimerMatch cTimer::Matches(const cEvent *Event, int *Overlap) const
{
// Overlap is the percentage of the Event's duration that is covered by
// this timer (based on FULLMATCH for finer granularity than just 100).
@ -758,12 +758,12 @@ cTimer *cTimers::GetMatch(time_t t)
return t0;
}
cTimer *cTimers::GetMatch(const cEvent *Event, int *Match)
cTimer *cTimers::GetMatch(const cEvent *Event, eTimerMatch *Match)
{
cTimer *t = NULL;
int m = tmNone;
eTimerMatch m = tmNone;
for (cTimer *ti = First(); ti; ti = Next(ti)) {
int tm = ti->Matches(Event);
eTimerMatch tm = ti->Matches(Event);
if (tm > m) {
t = ti;
m = tm;

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: timers.h 2.4 2012/06/02 12:10:00 kls Exp $
* $Id: timers.h 2.5 2012/12/07 13:13:40 kls Exp $
*/
#ifndef __TIMERS_H
@ -77,7 +77,7 @@ public:
static time_t SetTime(time_t t, int SecondsFromMidnight);
void SetFile(const char *File);
bool Matches(time_t t = 0, bool Directly = false, int Margin = 0) const;
int Matches(const cEvent *Event, int *Overlap = NULL) const;
eTimerMatch Matches(const cEvent *Event, int *Overlap = NULL) const;
bool Expired(void) const;
time_t StartTime(void) const;
time_t StopTime(void) const;
@ -116,7 +116,7 @@ public:
cTimers(void);
cTimer *GetTimer(cTimer *Timer);
cTimer *GetMatch(time_t t);
cTimer *GetMatch(const cEvent *Event, int *Match = NULL);
cTimer *GetMatch(const cEvent *Event, eTimerMatch *Match = NULL);
cTimer *GetNextActiveTimer(void);
int BeingEdited(void) { return beingEdited; }
void IncBeingEdited(void) { beingEdited++; }