1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

The "Edit timer" menu can now set the folder for the recording from a list of folders stored in "folders.conf"

This commit is contained in:
Klaus Schmidinger 2010-01-17 12:08:03 +01:00
parent 61c1df7004
commit a503c6ab3f
38 changed files with 1385 additions and 55 deletions

View File

@ -6276,7 +6276,9 @@ Video Disk Recorder Revision History
- Fixed plugin arguments corruption with glibc 2.11 on x86_64 (thanks to - Fixed plugin arguments corruption with glibc 2.11 on x86_64 (thanks to
Anssi Hannula). Anssi Hannula).
2010-01-10: Version 1.7.12 2010-01-17: Version 1.7.12
- Changed the EVCONTENTMASK_* macros to enums and changed "mask" to "group". - Changed the EVCONTENTMASK_* macros to enums and changed "mask" to "group".
- Updated the Estonian OSD texts (thanks to Arthur Konovalov). - Updated the Estonian OSD texts (thanks to Arthur Konovalov).
- The "Edit timer" menu can now set the folder for the recording from a list of
folders stored in "folders.conf".

17
MANUAL
View File

@ -474,6 +474,23 @@ Version 1.6
A timer can also be programmed by pressing the "Red" key on the "Schedule", A timer can also be programmed by pressing the "Red" key on the "Schedule",
"Now", "Next" or "Event" menus. "Now", "Next" or "Event" menus.
The "Red" key in the "Edit timer" menu opens a list of folders, which can be
used to define the file name in which the recording will be stored.
* Managing folders
The "Select folder" menu, which can be accessed by pressing the "Red" key in
the "Edit timer" menu, offers a list of folders that can be used for storing
a recording. In this menu, the "Green" key allows you to define a new folder
within the current one; if the "Sub folder" option is set to "yes", this will
be a folder that contains other folders (indicated by "..." following the
folder name in the list). The "Yellow" key deletes the current folder (note
that this will merely delete the folder definition stored in 'folders.conf'
and has no effect on existing timers or recordings). The "Blue" key can be
used to edit an existing folder definition. The "Red" key selects the current
folder, or enters a sub folder. Once a folder has been selected, the entire
path of the timer's file name will be replaced with the selected folder.
* Parameters in the "Setup" menu * Parameters in the "Setup" menu
Select "Setup" from the "VDR" menu to enter the setup menu. From there you can Select "Setup" from the "VDR" menu to enter the setup menu. From there you can

146
config.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: config.c 2.6 2009/12/05 15:30:30 kls Exp $ * $Id: config.c 2.7 2010/01/16 14:27:29 kls Exp $
*/ */
#include "config.h" #include "config.h"
@ -123,6 +123,150 @@ bool cSVDRPhost::Accepts(in_addr_t Address)
return (Address & mask) == (addr.s_addr & mask); return (Address & mask) == (addr.s_addr & mask);
} }
// --- cNestedItem -----------------------------------------------------------
cNestedItem::cNestedItem(const char *Text, bool WithSubItems)
{
text = strdup(Text ? Text : "");
subItems = WithSubItems ? new cList<cNestedItem> : NULL;
}
cNestedItem::~cNestedItem()
{
delete subItems;
free(text);
}
int cNestedItem::Compare(const cListObject &ListObject) const
{
return strcasecmp(text, ((cNestedItem *)&ListObject)->text);
}
void cNestedItem::AddSubItem(cNestedItem *Item)
{
if (!subItems)
subItems = new cList<cNestedItem>;
if (Item)
subItems->Add(Item);
}
void cNestedItem::SetText(const char *Text)
{
free(text);
text = strdup(Text ? Text : "");
}
void cNestedItem::SetSubItems(bool On)
{
if (On && !subItems)
subItems = new cList<cNestedItem>;
else if (!On && subItems) {
delete subItems;
subItems = NULL;
}
}
// --- cNestedItemList -------------------------------------------------------
cNestedItemList::cNestedItemList(void)
{
fileName = NULL;
}
cNestedItemList::~cNestedItemList()
{
free(fileName);
}
bool cNestedItemList::Parse(FILE *f, cList<cNestedItem> *List, int &Line)
{
char *s;
cReadLine ReadLine;
while ((s = ReadLine.Read(f)) != NULL) {
Line++;
char *p = strchr(s, '#');
if (p)
*p = 0;
s = skipspace(stripspace(s));
if (!isempty(s)) {
if ((p = strchr(s, '{')) != NULL) {
*p = 0;
stripspace(s);
cNestedItem *Item = new cNestedItem(s, true);
List->Add(Item);
if (!Parse(f, Item->SubItems(), Line))
return false;
}
else if (*s == '}')
break;
else
List->Add(new cNestedItem(s));
}
}
return true;
}
bool cNestedItemList::Write(FILE *f, cList<cNestedItem> *List, int Indent)
{
for (cNestedItem *Item = List->First(); Item; Item = List->Next(Item)) {
if (Item->SubItems()) {
fprintf(f, "%*s%s {\n", Indent, "", Item->Text());
Write(f, Item->SubItems(), Indent + 2);
fprintf(f, "%*s}\n", Indent + 2, "");
}
else
fprintf(f, "%*s%s\n", Indent, "", Item->Text());
}
return true;
}
void cNestedItemList::Clear(void)
{
free(fileName);
fileName = NULL;
cList<cNestedItem>::Clear();
}
bool cNestedItemList::Load(const char *FileName)
{
cList<cNestedItem>::Clear();
if (FileName) {
free(fileName);
fileName = strdup(FileName);
}
bool result = false;
if (fileName && access(fileName, F_OK) == 0) {
isyslog("loading %s", fileName);
FILE *f = fopen(fileName, "r");
if (f) {
int Line = 0;
result = Parse(f, this, Line);
fclose(f);
}
else {
LOG_ERROR_STR(fileName);
result = false;
}
}
return result;
}
bool cNestedItemList::Save(void)
{
bool result = true;
cSafeFile f(fileName);
if (f.Open()) {
result = Write(f, this);
if (!f.Close())
result = false;
}
else
result = false;
return result;
}
cNestedItemList Folders;
// --- cCommands ------------------------------------------------------------- // --- cCommands -------------------------------------------------------------
cCommands Commands; cCommands Commands;

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: config.h 2.17 2010/01/08 15:21:44 kls Exp $ * $Id: config.h 2.18 2010/01/16 13:33:10 kls Exp $
*/ */
#ifndef __CONFIG_H #ifndef __CONFIG_H
@ -158,6 +158,34 @@ public:
} }
}; };
class cNestedItem : public cListObject {
private:
char *text;
cList<cNestedItem> *subItems;
public:
cNestedItem(const char *Text, bool WithSubItems = false);
virtual ~cNestedItem();
virtual int Compare(const cListObject &ListObject) const;
const char *Text(void) const { return text; }
cList<cNestedItem> *SubItems(void) { return subItems; }
void AddSubItem(cNestedItem *Item);
void SetText(const char *Text);
void SetSubItems(bool On);
};
class cNestedItemList : public cList<cNestedItem> {
private:
char *fileName;
bool Parse(FILE *f, cList<cNestedItem> *List, int &Line);
bool Write(FILE *f, cList<cNestedItem> *List, int Indent = 0);
public:
cNestedItemList(void);
virtual ~cNestedItemList();
void Clear(void);
bool Load(const char *FileName);
bool Save(void);
};
class cCommands : public cConfig<cCommand> {}; class cCommands : public cConfig<cCommand> {};
class cSVDRPhosts : public cConfig<cSVDRPhost> { class cSVDRPhosts : public cConfig<cSVDRPhost> {
@ -165,6 +193,7 @@ public:
bool Acceptable(in_addr_t Address); bool Acceptable(in_addr_t Address);
}; };
extern cNestedItemList Folders;
extern cCommands Commands; extern cCommands Commands;
extern cCommands RecordingCommands; extern cCommands RecordingCommands;
extern cSVDRPhosts SVDRPhosts; extern cSVDRPhosts SVDRPhosts;

301
menu.c
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: menu.c 2.10 2009/12/06 11:29:05 kls Exp $ * $Id: menu.c 2.11 2010/01/17 12:08:03 kls Exp $
*/ */
#include "menu.h" #include "menu.h"
@ -623,11 +623,276 @@ eOSState cMenuText::ProcessKey(eKeys Key)
return state; return state;
} }
// --- cMenuFolderItem -------------------------------------------------------
class cMenuFolderItem : public cOsdItem {
private:
cNestedItem *folder;
public:
cMenuFolderItem(cNestedItem *Folder);
cNestedItem *Folder(void) { return folder; }
};
cMenuFolderItem::cMenuFolderItem(cNestedItem *Folder)
:cOsdItem(Folder->Text())
{
folder = Folder;
if (folder->SubItems())
SetText(cString::sprintf("%s...", folder->Text()));
}
// --- cMenuEditFolder -------------------------------------------------------
class cMenuEditFolder : public cOsdMenu {
private:
cList<cNestedItem> *list;
cNestedItem *folder;
char name[PATH_MAX];
int subFolder;
eOSState Confirm(void);
public:
cMenuEditFolder(const char *Dir, cList<cNestedItem> *List, cNestedItem *Folder = NULL);
cString GetFolder(void);
virtual eOSState ProcessKey(eKeys Key);
};
cMenuEditFolder::cMenuEditFolder(const char *Dir, cList<cNestedItem> *List, cNestedItem *Folder)
:cOsdMenu(Folder ? tr("Edit folder") : tr("New folder"), 12)
{
list = List;
folder = Folder;
if (folder) {
strn0cpy(name, folder->Text(), sizeof(name));
subFolder = folder->SubItems() != NULL;
}
else {
*name = 0;
subFolder = 0;
cRemote::Put(kRight, true); // go right into string editing mode
}
if (!isempty(Dir)) {
cOsdItem *DirItem = new cOsdItem(Dir);
DirItem->SetSelectable(false);
Add(DirItem);
}
Add(new cMenuEditStrItem( tr("Name"), name, sizeof(name)));
Add(new cMenuEditBoolItem(tr("Sub folder"), &subFolder));
}
cString cMenuEditFolder::GetFolder(void)
{
return folder ? folder->Text() : "";
}
eOSState cMenuEditFolder::Confirm(void)
{
if (!folder || strcmp(folder->Text(), name) != 0) {
// each name may occur only once in a folder list
for (cNestedItem *Folder = list->First(); Folder; Folder = list->Next(Folder)) {
if (strcmp(Folder->Text(), name) == 0) {
Skins.Message(mtError, tr("Folder name already exists!"));
return osContinue;
}
}
char *p = strpbrk(name, "\\{}#~"); // FOLDERDELIMCHAR
if (p) {
Skins.Message(mtError, cString::sprintf(tr("Folder name must not contain '%c'!"), *p));
return osContinue;
}
}
if (folder) {
folder->SetText(name);
folder->SetSubItems(subFolder);
}
else
list->Add(folder = new cNestedItem(name, subFolder));
return osEnd;
}
eOSState cMenuEditFolder::ProcessKey(eKeys Key)
{
eOSState state = cOsdMenu::ProcessKey(Key);
if (state == osUnknown) {
switch (Key) {
case kOk: return Confirm();
case kRed:
case kGreen:
case kYellow:
case kBlue: return osContinue;
default: break;
}
}
return state;
}
// --- cMenuFolder -----------------------------------------------------------
cMenuFolder::cMenuFolder(const char *Title, cNestedItemList *NestedItemList, const char *Path)
:cOsdMenu(Title)
{
list = nestedItemList = NestedItemList;
firstFolder = NULL;
editing = false;
Set();
SetHelpKeys();
DescendPath(Path);
}
cMenuFolder::cMenuFolder(const char *Title, cList<cNestedItem> *List, cNestedItemList *NestedItemList, const char *Dir, const char *Path)
:cOsdMenu(Title)
{
list = List;
nestedItemList = NestedItemList;
dir = Dir;
firstFolder = NULL;
editing = false;
Set();
SetHelpKeys();
DescendPath(Path);
}
void cMenuFolder::SetHelpKeys(void)
{
SetHelp(firstFolder ? tr("Button$Select") : NULL, tr("Button$New"), firstFolder ? tr("Button$Delete") : NULL, firstFolder ? tr("Button$Edit") : NULL);
}
void cMenuFolder::Set(const char *CurrentFolder)
{
firstFolder = NULL;
Clear();
if (!isempty(dir)) {
cOsdItem *DirItem = new cOsdItem(dir);
DirItem->SetSelectable(false);
Add(DirItem);
}
list->Sort();
for (cNestedItem *Folder = list->First(); Folder; Folder = list->Next(Folder)) {
cOsdItem *FolderItem = new cMenuFolderItem(Folder);
Add(FolderItem, CurrentFolder ? strcmp(Folder->Text(), CurrentFolder) == 0 : false);
if (!firstFolder)
firstFolder = FolderItem;
}
}
void cMenuFolder::DescendPath(const char *Path)
{
if (Path) {
const char *p = strchr(Path, FOLDERDELIMCHAR);
if (p) {
for (cMenuFolderItem *Folder = (cMenuFolderItem *)firstFolder; Folder; Folder = (cMenuFolderItem *)Next(Folder)) {
if (strncmp(Folder->Folder()->Text(), Path, p - Path) == 0) {
SetCurrent(Folder);
if (Folder->Folder()->SubItems())
AddSubMenu(new cMenuFolder(Title(), Folder->Folder()->SubItems(), nestedItemList, !isempty(dir) ? *cString::sprintf("%s%c%s", *dir, FOLDERDELIMCHAR, Folder->Folder()->Text()) : Folder->Folder()->Text(), p + 1));
break;
}
}
}
}
}
eOSState cMenuFolder::Select(void)
{
if (firstFolder) {
cMenuFolderItem *Folder = (cMenuFolderItem *)Get(Current());
if (Folder) {
if (Folder->Folder()->SubItems())
return AddSubMenu(new cMenuFolder(Title(), Folder->Folder()->SubItems(), nestedItemList, !isempty(dir) ? *cString::sprintf("%s%c%s", *dir, FOLDERDELIMCHAR, Folder->Folder()->Text()) : Folder->Folder()->Text()));
else
return osEnd;
}
}
return osContinue;
}
eOSState cMenuFolder::New(void)
{
editing = true;
return AddSubMenu(new cMenuEditFolder(dir, list));
}
eOSState cMenuFolder::Delete(void)
{
if (!HasSubMenu() && firstFolder) {
cMenuFolderItem *Folder = (cMenuFolderItem *)Get(Current());
if (Folder && Interface->Confirm(Folder->Folder()->SubItems() ? tr("Delete folder and all sub folders?") : tr("Delete folder?"))) {
list->Del(Folder->Folder());
Del(Folder->Index());
firstFolder = Get(isempty(dir) ? 0 : 1);
Display();
SetHelpKeys();
nestedItemList->Save();
}
}
return osContinue;
}
eOSState cMenuFolder::Edit(void)
{
if (!HasSubMenu() && firstFolder) {
cMenuFolderItem *Folder = (cMenuFolderItem *)Get(Current());
if (Folder) {
editing = true;
return AddSubMenu(new cMenuEditFolder(dir, list, Folder->Folder()));
}
}
return osContinue;
}
eOSState cMenuFolder::SetFolder(void)
{
cMenuEditFolder *mef = (cMenuEditFolder *)SubMenu();
if (mef) {
Set(mef->GetFolder());
SetHelpKeys();
Display();
nestedItemList->Save();
}
return CloseSubMenu();
}
cString cMenuFolder::GetFolder(void)
{
if (firstFolder) {
cMenuFolderItem *Folder = (cMenuFolderItem *)Get(Current());
if (Folder) {
cMenuFolder *mf = (cMenuFolder *)SubMenu();
if (mf)
return cString::sprintf("%s%c%s", Folder->Folder()->Text(), FOLDERDELIMCHAR, *mf->GetFolder());
return Folder->Folder()->Text();
}
}
return "";
}
eOSState cMenuFolder::ProcessKey(eKeys Key)
{
if (!HasSubMenu())
editing = false;
eOSState state = cOsdMenu::ProcessKey(Key);
if (state == osUnknown) {
switch (Key) {
case kOk:
case kRed: return Select();
case kGreen: return New();
case kYellow: return Delete();
case kBlue: return Edit();
default: state = osContinue;
}
}
else if (state == osEnd && HasSubMenu() && editing)
state = SetFolder();
return state;
}
// --- cMenuEditTimer -------------------------------------------------------- // --- cMenuEditTimer --------------------------------------------------------
cMenuEditTimer::cMenuEditTimer(cTimer *Timer, bool New) cMenuEditTimer::cMenuEditTimer(cTimer *Timer, bool New)
:cOsdMenu(tr("Edit timer"), 12) :cOsdMenu(tr("Edit timer"), 12)
{ {
file = NULL;
firstday = NULL; firstday = NULL;
timer = Timer; timer = Timer;
addIfConfirmed = New; addIfConfirmed = New;
@ -644,9 +909,10 @@ cMenuEditTimer::cMenuEditTimer(cTimer *Timer, bool New)
Add(new cMenuEditBitItem( tr("VPS"), &data.flags, tfVps)); Add(new cMenuEditBitItem( tr("VPS"), &data.flags, tfVps));
Add(new cMenuEditIntItem( tr("Priority"), &data.priority, 0, MAXPRIORITY)); Add(new cMenuEditIntItem( tr("Priority"), &data.priority, 0, MAXPRIORITY));
Add(new cMenuEditIntItem( tr("Lifetime"), &data.lifetime, 0, MAXLIFETIME)); Add(new cMenuEditIntItem( tr("Lifetime"), &data.lifetime, 0, MAXLIFETIME));
Add(new cMenuEditStrItem( tr("File"), data.file, sizeof(data.file))); Add(file = new cMenuEditStrItem( tr("File"), data.file, sizeof(data.file)));
SetFirstDayItem(); SetFirstDayItem();
} }
SetHelpKeys();
Timers.IncBeingEdited(); Timers.IncBeingEdited();
} }
@ -657,6 +923,11 @@ cMenuEditTimer::~cMenuEditTimer()
Timers.DecBeingEdited(); Timers.DecBeingEdited();
} }
void cMenuEditTimer::SetHelpKeys(void)
{
SetHelp(tr("Button$Folder"));
}
void cMenuEditTimer::SetFirstDayItem(void) void cMenuEditTimer::SetFirstDayItem(void)
{ {
if (!firstday && !data.IsSingleEvent()) { if (!firstday && !data.IsSingleEvent()) {
@ -670,6 +941,26 @@ void cMenuEditTimer::SetFirstDayItem(void)
} }
} }
eOSState cMenuEditTimer::SetFolder(void)
{
cMenuFolder *mf = (cMenuFolder *)SubMenu();
if (mf) {
cString Folder = mf->GetFolder();
char *p = strrchr(data.file, FOLDERDELIMCHAR);
if (p)
p++;
else
p = data.file;
if (!isempty(*Folder))
strn0cpy(data.file, cString::sprintf("%s%c%s", *Folder, FOLDERDELIMCHAR, p), sizeof(data.file));
else if (p != data.file)
memmove(data.file, p, strlen(p) + 1);
SetCurrent(file);
Display();
}
return CloseSubMenu();
}
eOSState cMenuEditTimer::ProcessKey(eKeys Key) eOSState cMenuEditTimer::ProcessKey(eKeys Key)
{ {
eOSState state = cOsdMenu::ProcessKey(Key); eOSState state = cOsdMenu::ProcessKey(Key);
@ -699,13 +990,15 @@ eOSState cMenuEditTimer::ProcessKey(eKeys Key)
} }
} }
return osBack; return osBack;
case kRed: case kRed: return AddSubMenu(new cMenuFolder(tr("Select folder"), &Folders, data.file));
case kGreen: case kGreen:
case kYellow: case kYellow:
case kBlue: return osContinue; case kBlue: return osContinue;
default: break; default: break;
} }
} }
else if (state == osEnd && HasSubMenu())
state = SetFolder();
if (Key != kNone) if (Key != kNone)
SetFirstDayItem(); SetFirstDayItem();
return state; return state;
@ -1921,7 +2214,7 @@ void cMenuRecordings::Set(bool Refresh)
Clear(); Clear();
Recordings.Sort(); Recordings.Sort();
for (cRecording *recording = Recordings.First(); recording; recording = Recordings.Next(recording)) { for (cRecording *recording = Recordings.First(); recording; recording = Recordings.Next(recording)) {
if (!base || (strstr(recording->Name(), base) == recording->Name() && recording->Name()[strlen(base)] == '~')) { if (!base || (strstr(recording->Name(), base) == recording->Name() && recording->Name()[strlen(base)] == FOLDERDELIMCHAR)) {
cMenuRecordingItem *Item = new cMenuRecordingItem(recording, level); cMenuRecordingItem *Item = new cMenuRecordingItem(recording, level);
if (*Item->Text() && (!LastItem || strcmp(Item->Text(), LastItemText) != 0)) { if (*Item->Text() && (!LastItem || strcmp(Item->Text(), LastItemText) != 0)) {
Add(Item); Add(Item);

27
menu.h
View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: menu.h 1.91 2008/02/10 16:01:53 kls Exp $ * $Id: menu.h 2.1 2010/01/17 11:21:42 kls Exp $
*/ */
#ifndef __MENU_H #ifndef __MENU_H
@ -31,14 +31,39 @@ public:
virtual eOSState ProcessKey(eKeys Key); virtual eOSState ProcessKey(eKeys Key);
}; };
class cMenuFolder : public cOsdMenu {
private:
cNestedItemList *nestedItemList;
cList<cNestedItem> *list;
cString dir;
cOsdItem *firstFolder;
bool editing;
void SetHelpKeys(void);
void Set(const char *CurrentFolder = NULL);
void DescendPath(const char *Path);
eOSState SetFolder(void);
eOSState Select(void);
eOSState New(void);
eOSState Delete(void);
eOSState Edit(void);
cMenuFolder(const char *Title, cList<cNestedItem> *List, cNestedItemList *NestedItemList, const char *Dir, const char *Path = NULL);
public:
cMenuFolder(const char *Title, cNestedItemList *NestedItemList, const char *Path = NULL);
cString GetFolder(void);
virtual eOSState ProcessKey(eKeys Key);
};
class cMenuEditTimer : public cOsdMenu { class cMenuEditTimer : public cOsdMenu {
private: private:
cTimer *timer; cTimer *timer;
cTimer data; cTimer data;
int channel; int channel;
bool addIfConfirmed; bool addIfConfirmed;
cMenuEditStrItem *file;
cMenuEditDateItem *firstday; cMenuEditDateItem *firstday;
eOSState SetFolder(void);
void SetFirstDayItem(void); void SetFirstDayItem(void);
void SetHelpKeys(void);
public: public:
cMenuEditTimer(cTimer *Timer, bool New = false); cMenuEditTimer(cTimer *Timer, bool New = false);
virtual ~cMenuEditTimer(); virtual ~cMenuEditTimer();

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: osdbase.c 2.1 2009/06/01 11:54:50 kls Exp $ * $Id: osdbase.c 2.2 2010/01/17 11:36:12 kls Exp $
*/ */
#include "osdbase.h" #include "osdbase.h"
@ -41,7 +41,7 @@ cOsdItem::~cOsdItem()
void cOsdItem::SetText(const char *Text, bool Copy) void cOsdItem::SetText(const char *Text, bool Copy)
{ {
free(text); free(text);
text = Copy ? strdup(Text) : (char *)Text; // text assumes ownership! text = Copy ? strdup(Text ? Text : "") : (char *)Text; // text assumes ownership!
} }
void cOsdItem::SetSelectable(bool Selectable) void cOsdItem::SetSelectable(bool Selectable)

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: osdbase.h 1.17 2007/11/03 14:50:52 kls Exp $ * $Id: osdbase.h 2.1 2010/01/16 14:25:31 kls Exp $
*/ */
#ifndef __OSDBASE_H #ifndef __OSDBASE_H
@ -102,6 +102,7 @@ protected:
void SetCols(int c0, int c1 = 0, int c2 = 0, int c3 = 0, int c4 = 0); void SetCols(int c0, int c1 = 0, int c2 = 0, int c3 = 0, int c4 = 0);
void SetHasHotkeys(bool HasHotkeys = true); void SetHasHotkeys(bool HasHotkeys = true);
virtual void Clear(void); virtual void Clear(void);
const char *Title(void) { return title; }
bool SelectableItem(int idx); bool SelectableItem(int idx);
void SetCurrent(cOsdItem *Item); void SetCurrent(cOsdItem *Item);
void RefreshCurrent(void); void RefreshCurrent(void);
@ -116,6 +117,7 @@ protected:
eOSState AddSubMenu(cOsdMenu *SubMenu); eOSState AddSubMenu(cOsdMenu *SubMenu);
eOSState CloseSubMenu(); eOSState CloseSubMenu();
bool HasSubMenu(void) { return subMenu; } bool HasSubMenu(void) { return subMenu; }
cOsdMenu *SubMenu(void) { return subMenu; }
void SetStatus(const char *s); void SetStatus(const char *s);
void SetTitle(const char *Title); void SetTitle(const char *Title);
void SetHelp(const char *Red, const char *Green = NULL, const char *Yellow = NULL, const char *Blue = NULL); void SetHelp(const char *Red, const char *Green = NULL, const char *Yellow = NULL, const char *Blue = NULL);

View File

@ -10,7 +10,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2008-03-02 19:02+0100\n" "PO-Revision-Date: 2008-03-02 19:02+0100\n"
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n" "Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
"Language-Team: Catalanian\n" "Language-Team: Catalanian\n"
@ -586,6 +586,31 @@ msgstr "Canal en
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Esborrar el canal?" msgstr "Esborrar el canal?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Editar temporitzador" msgstr "Editar temporitzador"
@ -616,9 +641,15 @@ msgstr "Durada"
msgid "File" msgid "File"
msgstr "Arxiu" msgstr "Arxiu"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Primer dia" msgstr "Primer dia"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Temporitzadors" msgstr "Temporitzadors"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2008-02-28 15:00+0200\n" "PO-Revision-Date: 2008-02-28 15:00+0200\n"
"Last-Translator: Vladimír Bárta <vladimir.barta@k2atmitec.cz>, Jiøí Dobrý <jdobry@centrum.cz>\n" "Last-Translator: Vladimír Bárta <vladimir.barta@k2atmitec.cz>, Jiøí Dobrý <jdobry@centrum.cz>\n"
"Language-Team: Czech\n" "Language-Team: Czech\n"
@ -584,6 +584,31 @@ msgstr "Kan
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Smazat kanál?" msgstr "Smazat kanál?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Editace èasovaèe" msgstr "Editace èasovaèe"
@ -614,9 +639,15 @@ msgstr "
msgid "File" msgid "File"
msgstr "Soubor" msgstr "Soubor"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "První den" msgstr "První den"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Èasovaèe" msgstr "Èasovaèe"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Mogens Elneff <mogens@elneff.dk>\n" "Last-Translator: Mogens Elneff <mogens@elneff.dk>\n"
"Language-Team: Danish\n" "Language-Team: Danish\n"
@ -583,6 +583,31 @@ msgstr "Kanal anvendes af en timer!"
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Slet kanal?" msgstr "Slet kanal?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Rediger timer" msgstr "Rediger timer"
@ -613,9 +638,15 @@ msgstr "Levetid"
msgid "File" msgid "File"
msgstr "Fil" msgstr "Fil"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Første dag" msgstr "Første dag"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Timere" msgstr "Timere"

View File

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2007-11-25 15:19+0200\n" "PO-Revision-Date: 2010-01-16 16:46+0100\n"
"Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n" "Last-Translator: Klaus Schmidinger <kls@tvdr.de>\n"
"Language-Team: German\n" "Language-Team: German\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -583,6 +583,31 @@ msgstr "Kanal wird von einem Timer benutzt!"
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Kanal löschen?" msgstr "Kanal löschen?"
msgid "Edit folder"
msgstr "Verzeichnis editieren"
msgid "New folder"
msgstr "Neues Verzeichnis"
msgid "Sub folder"
msgstr "Unterverzeichnis"
msgid "Folder name already exists!"
msgstr "Verzeichnisname existiert bereits!"
#, fuzzy, c-format
msgid "Folder name must not contain '%c'!"
msgstr "Verzeichnisname darf kein '{', '}' oder '#' enthalten!"
msgid "Button$Select"
msgstr "Auswählen"
msgid "Delete folder and all sub folders?"
msgstr "Verzeichnis und alle Unterverzeichnisse löschen?"
msgid "Delete folder?"
msgstr "Verzeichnis löschen?"
msgid "Edit timer" msgid "Edit timer"
msgstr "Timer editieren" msgstr "Timer editieren"
@ -613,9 +638,15 @@ msgstr "Lebensdauer"
msgid "File" msgid "File"
msgstr "Datei" msgstr "Datei"
msgid "Button$Folder"
msgstr "Verzeichnis"
msgid "First day" msgid "First day"
msgstr "Erster Tag" msgstr "Erster Tag"
msgid "Select folder"
msgstr "Verzeichnis wählen"
msgid "Timers" msgid "Timers"
msgstr "Timer" msgstr "Timer"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n" "Last-Translator: Dimitrios Dimitrakos <mail@dimitrios.de>\n"
"Language-Team: Greek\n" "Language-Team: Greek\n"
@ -583,6 +583,31 @@ msgstr "
msgid "Delete channel?" msgid "Delete channel?"
msgstr "ÄéáãñáöÞ êáíáëéïý?" msgstr "ÄéáãñáöÞ êáíáëéïý?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Ôñïðïðïßçóç ÷ñïíïðñïãñáììáôéóìïý" msgstr "Ôñïðïðïßçóç ÷ñïíïðñïãñáììáôéóìïý"
@ -613,9 +638,15 @@ msgstr "
msgid "File" msgid "File"
msgstr "Áñ÷åßï" msgstr "Áñ÷åßï"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Ðñþôç ìÝñá" msgstr "Ðñþôç ìÝñá"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "×ñïíïðñïãñáììáôéóìïß" msgstr "×ñïíïðñïãñáììáôéóìïß"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2008-03-02 19:02+0100\n" "PO-Revision-Date: 2008-03-02 19:02+0100\n"
"Last-Translator: Luca Olivetti <luca@ventoso.org>\n" "Last-Translator: Luca Olivetti <luca@ventoso.org>\n"
"Language-Team: Spanish\n" "Language-Team: Spanish\n"
@ -584,6 +584,31 @@ msgstr "
msgid "Delete channel?" msgid "Delete channel?"
msgstr "¿Eliminar canal?" msgstr "¿Eliminar canal?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Modificar programación" msgstr "Modificar programación"
@ -614,9 +639,15 @@ msgstr "Duraci
msgid "File" msgid "File"
msgstr "Fichero" msgstr "Fichero"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Primer día" msgstr "Primer día"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Programar grabaciones" msgstr "Programar grabaciones"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Arthur Konovalov <artlov@gmail.com>\n" "Last-Translator: Arthur Konovalov <artlov@gmail.com>\n"
"Language-Team: Estonian\n" "Language-Team: Estonian\n"
@ -583,6 +583,31 @@ msgstr "Kanal on taimeri kasutuses!"
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Kustutada kanal?" msgstr "Kustutada kanal?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Taimeri redigeerimine" msgstr "Taimeri redigeerimine"
@ -613,9 +638,15 @@ msgstr "Eluiga"
msgid "File" msgid "File"
msgstr "Fail" msgstr "Fail"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Esimene päev" msgstr "Esimene päev"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Taimer" msgstr "Taimer"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2007-08-15 15:52+0200\n" "PO-Revision-Date: 2007-08-15 15:52+0200\n"
"Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n" "Last-Translator: Rolf Ahrenberg <rahrenbe@cc.hut.fi>\n"
"Language-Team: Finnish\n" "Language-Team: Finnish\n"
@ -586,6 +586,31 @@ msgstr "Kanava on ajastimen k
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Poistetaanko kanava?" msgstr "Poistetaanko kanava?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Muokkaa ajastinta" msgstr "Muokkaa ajastinta"
@ -616,9 +641,15 @@ msgstr "Elinik
msgid "File" msgid "File"
msgstr "Tiedosto" msgstr "Tiedosto"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "1. päivä" msgstr "1. päivä"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Ajastimet" msgstr "Ajastimet"

View File

@ -13,7 +13,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2008-02-27 18:14+0100\n" "PO-Revision-Date: 2008-02-27 18:14+0100\n"
"Last-Translator: Jean-Claude Repetto <jc@repetto.org>\n" "Last-Translator: Jean-Claude Repetto <jc@repetto.org>\n"
"Language-Team: French\n" "Language-Team: French\n"
@ -589,6 +589,31 @@ msgstr "Cette cha
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Supprimer la chaîne ?" msgstr "Supprimer la chaîne ?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Changer la programmation" msgstr "Changer la programmation"
@ -619,9 +644,15 @@ msgstr "Dur
msgid "File" msgid "File"
msgstr "Fichier" msgstr "Fichier"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Premier jour" msgstr "Premier jour"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Programmation" msgstr "Programmation"

View File

@ -9,7 +9,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2008-03-17 19:00+0100\n" "PO-Revision-Date: 2008-03-17 19:00+0100\n"
"Last-Translator: Adrian Caval <anrxc@sysphere.org>\n" "Last-Translator: Adrian Caval <anrxc@sysphere.org>\n"
"Language-Team: Croatian\n" "Language-Team: Croatian\n"
@ -585,6 +585,31 @@ msgstr "Program je trenutno zauzet tajmerom!"
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Obrisati program?" msgstr "Obrisati program?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Ureðivanje tajmera" msgstr "Ureðivanje tajmera"
@ -615,9 +640,15 @@ msgstr "Trajanje"
msgid "File" msgid "File"
msgstr "Datoteka" msgstr "Datoteka"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Prvi dan" msgstr "Prvi dan"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Tajmeri" msgstr "Tajmeri"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2007-12-01 21:42+0200\n" "PO-Revision-Date: 2007-12-01 21:42+0200\n"
"Last-Translator: István Füley <ifuley@tigercomp.ro>\n" "Last-Translator: István Füley <ifuley@tigercomp.ro>\n"
"Language-Team: Hungarian\n" "Language-Team: Hungarian\n"
@ -586,6 +586,31 @@ msgstr "Az ad
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Csatorna törlése?" msgstr "Csatorna törlése?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Idõzítõ megváltoztatása" msgstr "Idõzítõ megváltoztatása"
@ -616,9 +641,15 @@ msgstr "
msgid "File" msgid "File"
msgstr "File" msgstr "File"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Elsõ nap" msgstr "Elsõ nap"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Idõzítõ" msgstr "Idõzítõ"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2009-11-28 22:50+0100\n" "PO-Revision-Date: 2009-11-28 22:50+0100\n"
"Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n" "Last-Translator: Diego Pierotto <vdr-italian@tiscali.it>\n"
"Language-Team: Italian\n" "Language-Team: Italian\n"
@ -590,6 +590,31 @@ msgstr "Canale occupato da un timer!"
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Eliminare il canale?" msgstr "Eliminare il canale?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Modifica timer" msgstr "Modifica timer"
@ -620,9 +645,15 @@ msgstr "Scadenza"
msgid "File" msgid "File"
msgstr "Nome" msgstr "Nome"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "1° giorno" msgstr "1° giorno"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Timer" msgstr "Timer"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.7.9\n" "Project-Id-Version: VDR 1.7.9\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2009-10-17 14:19+0200\n" "PO-Revision-Date: 2009-10-17 14:19+0200\n"
"Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n" "Last-Translator: Valdemaras Pipiras <varas@ambernet.lt>\n"
"Language-Team: Lithuanian\n" "Language-Team: Lithuanian\n"
@ -583,6 +583,31 @@ msgstr "Kanalą šiuo metu naudoja laikmačio procesas!"
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Ištrinti kanalą?" msgstr "Ištrinti kanalą?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Koreguoti laikmatį" msgstr "Koreguoti laikmatį"
@ -613,9 +638,15 @@ msgstr "Galiojimas"
msgid "File" msgid "File"
msgstr "Failas" msgstr "Failas"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Pirma diena" msgstr "Pirma diena"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Laikmačiai" msgstr "Laikmačiai"

View File

@ -11,7 +11,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2008-02-26 17:20+0100\n" "PO-Revision-Date: 2008-02-26 17:20+0100\n"
"Last-Translator: Johan Schuring <johan.schuring@vetteblei.nl>\n" "Last-Translator: Johan Schuring <johan.schuring@vetteblei.nl>\n"
"Language-Team: Dutch\n" "Language-Team: Dutch\n"
@ -587,6 +587,31 @@ msgstr "Kanaal wordt gebruikt door een timer!"
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Kanaal verwijderen?" msgstr "Kanaal verwijderen?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Timer veranderen" msgstr "Timer veranderen"
@ -617,9 +642,15 @@ msgstr "Bewaarduur"
msgid "File" msgid "File"
msgstr "Bestandnaam" msgstr "Bestandnaam"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Eerste dag" msgstr "Eerste dag"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Timers" msgstr "Timers"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2007-08-12 14:17+0200\n" "PO-Revision-Date: 2007-08-12 14:17+0200\n"
"Last-Translator: Truls Slevigen <truls@slevigen.no>\n" "Last-Translator: Truls Slevigen <truls@slevigen.no>\n"
"Language-Team: Norwegian\n" "Language-Team: Norwegian\n"
@ -584,6 +584,31 @@ msgstr "Kanalen er i bruk av en timer!"
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Slette kanal?" msgstr "Slette kanal?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Editer timer" msgstr "Editer timer"
@ -614,9 +639,15 @@ msgstr "Levetid"
msgid "File" msgid "File"
msgstr "Filnavn" msgstr "Filnavn"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Første dag" msgstr "Første dag"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Timere" msgstr "Timere"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2008-03-09 12:59+0100\n" "PO-Revision-Date: 2008-03-09 12:59+0100\n"
"Last-Translator: Michael Rakowski <mrak@gmx.de>\n" "Last-Translator: Michael Rakowski <mrak@gmx.de>\n"
"Language-Team: Polish\n" "Language-Team: Polish\n"
@ -584,6 +584,31 @@ msgstr "Kana
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Usun±æ kana³?" msgstr "Usun±æ kana³?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Edycja timera" msgstr "Edycja timera"
@ -614,9 +639,15 @@ msgstr "Czas
msgid "File" msgid "File"
msgstr "Plik" msgstr "Plik"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Pierwszy dzieñ" msgstr "Pierwszy dzieñ"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Timery" msgstr "Timery"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2008-03-18 17:04+0100\n" "PO-Revision-Date: 2008-03-18 17:04+0100\n"
"Last-Translator: anonymous\n" "Last-Translator: anonymous\n"
"Language-Team: Portuguese\n" "Language-Team: Portuguese\n"
@ -583,6 +583,31 @@ msgstr "Canal a ser utilizador por uma grava
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Apagar o canal?" msgstr "Apagar o canal?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Editar gavação programada" msgstr "Editar gavação programada"
@ -613,9 +638,15 @@ msgstr "Dura
msgid "File" msgid "File"
msgstr "Ficheiro" msgstr "Ficheiro"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Primeiro dia" msgstr "Primeiro dia"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Gravações programadas" msgstr "Gravações programadas"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2008-02-25 00:39+0100\n" "PO-Revision-Date: 2008-02-25 00:39+0100\n"
"Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n" "Last-Translator: Lucian Muresan <lucianm@users.sourceforge.net>\n"
"Language-Team: Romanian\n" "Language-Team: Romanian\n"
@ -586,6 +586,31 @@ msgstr "Canalul este utilizat de un timer!"
msgid "Delete channel?" msgid "Delete channel?"
msgstr "ªterg canalul?" msgstr "ªterg canalul?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Modificare timer" msgstr "Modificare timer"
@ -616,9 +641,15 @@ msgstr "Timp de p
msgid "File" msgid "File"
msgstr "Fiºier" msgstr "Fiºier"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Prima zi" msgstr "Prima zi"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Timer-e" msgstr "Timer-e"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2008-12-15 14:37+0100\n" "PO-Revision-Date: 2008-12-15 14:37+0100\n"
"Last-Translator: Oleg Roitburd <oleg@roitburd.de>\n" "Last-Translator: Oleg Roitburd <oleg@roitburd.de>\n"
"Language-Team: Russian\n" "Language-Team: Russian\n"
@ -584,6 +584,31 @@ msgstr "
msgid "Delete channel?" msgid "Delete channel?"
msgstr "ÃÔÐÛØâì ÚÐÝÐÛ?" msgstr "ÃÔÐÛØâì ÚÐÝÐÛ?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "ÃáâÐÝÞÒÚÐ âÐÙÜÕàÐ" msgstr "ÃáâÐÝÞÒÚÐ âÐÙÜÕàÐ"
@ -614,9 +639,15 @@ msgstr "
msgid "File" msgid "File"
msgstr "ÄÐÙÛ" msgstr "ÄÐÙÛ"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "¿ÕàÒëÙ ÔÕÝì" msgstr "¿ÕàÒëÙ ÔÕÝì"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "ÂÐÙÜÕàë" msgstr "ÂÐÙÜÕàë"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2009-09-30 12:50+0100\n" "PO-Revision-Date: 2009-09-30 12:50+0100\n"
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n" "Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
"Language-Team: Slovak\n" "Language-Team: Slovak\n"
@ -584,6 +584,31 @@ msgstr "Pl
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Odstráni» kanál?" msgstr "Odstráni» kanál?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Úprava plánu nahrávania" msgstr "Úprava plánu nahrávania"
@ -614,9 +639,15 @@ msgstr "
msgid "File" msgid "File"
msgstr "Súbor" msgstr "Súbor"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Prvý deò" msgstr "Prvý deò"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Plány nahrávania" msgstr "Plány nahrávania"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2008-02-28 19:44+0100\n" "PO-Revision-Date: 2008-02-28 19:44+0100\n"
"Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n" "Last-Translator: Matjaz Thaler <matjaz.thaler@guest.arnes.si>\n"
"Language-Team: Slovenian\n" "Language-Team: Slovenian\n"
@ -584,6 +584,31 @@ msgstr "Kanal je zavzet s terminom za snemanje!"
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Izbri¹i kanal?" msgstr "Izbri¹i kanal?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Uredi termin" msgstr "Uredi termin"
@ -614,9 +639,15 @@ msgstr "Veljavnost"
msgid "File" msgid "File"
msgstr "Datoteka" msgstr "Datoteka"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Prvi dan" msgstr "Prvi dan"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Termini" msgstr "Termini"

View File

@ -10,7 +10,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2008-03-12 18:25+0100\n" "PO-Revision-Date: 2008-03-12 18:25+0100\n"
"Last-Translator: Magnus Andersson <svankan@bahnhof.se>\n" "Last-Translator: Magnus Andersson <svankan@bahnhof.se>\n"
"Language-Team: Swedish\n" "Language-Team: Swedish\n"
@ -586,6 +586,31 @@ msgstr "Kanalen anv
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Ta bort kanalen?" msgstr "Ta bort kanalen?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Ändra timer" msgstr "Ändra timer"
@ -616,9 +641,15 @@ msgstr "Livstid"
msgid "File" msgid "File"
msgstr "Filnamn" msgstr "Filnamn"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Första dag" msgstr "Första dag"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Timers" msgstr "Timers"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2008-02-28 00:33+0100\n" "PO-Revision-Date: 2008-02-28 00:33+0100\n"
"Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n" "Last-Translator: Oktay Yolgeçen <oktay_73@yahoo.de>\n"
"Language-Team: Turkish\n" "Language-Team: Turkish\n"
@ -583,6 +583,31 @@ msgstr "Kanal zamanlay
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Kanalý sil?" msgstr "Kanalý sil?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Zamanlayýcýyý ayarla" msgstr "Zamanlayýcýyý ayarla"
@ -613,9 +638,15 @@ msgstr "
msgid "File" msgid "File"
msgstr "Kütük" msgstr "Kütük"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Ýlk gün" msgstr "Ýlk gün"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Zamanlayýcý" msgstr "Zamanlayýcý"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.7.7\n" "Project-Id-Version: VDR 1.7.7\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2009-05-31 13:17+0200\n" "PO-Revision-Date: 2009-05-31 13:17+0200\n"
"Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n" "Last-Translator: Yarema aka Knedlyk <yupadmin@gmail.com>\n"
"Language-Team: Ukrainian\n" "Language-Team: Ukrainian\n"
@ -583,6 +583,31 @@ msgstr "Канал зайнятий таймером!"
msgid "Delete channel?" msgid "Delete channel?"
msgstr "Видалити канал?" msgstr "Видалити канал?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "Налаштування таймера" msgstr "Налаштування таймера"
@ -613,9 +638,15 @@ msgstr "Строк зберігання"
msgid "File" msgid "File"
msgstr "Файл" msgstr "Файл"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "Перший день" msgstr "Перший день"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "Таймери" msgstr "Таймери"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: VDR 1.6.0\n" "Project-Id-Version: VDR 1.6.0\n"
"Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n" "Report-Msgid-Bugs-To: <vdr-bugs@tvdr.de>\n"
"POT-Creation-Date: 2010-01-03 15:10+0100\n" "POT-Creation-Date: 2010-01-17 13:05+0100\n"
"PO-Revision-Date: 2009-09-23 23:50+0800\n" "PO-Revision-Date: 2009-09-23 23:50+0800\n"
"Last-Translator: Nan Feng <nfgx@21cn.com>\n" "Last-Translator: Nan Feng <nfgx@21cn.com>\n"
"Language-Team: Chinese\n" "Language-Team: Chinese\n"
@ -586,6 +586,31 @@ msgstr "频道正在录像!"
msgid "Delete channel?" msgid "Delete channel?"
msgstr "是否删除频道?" msgstr "是否删除频道?"
msgid "Edit folder"
msgstr ""
msgid "New folder"
msgstr ""
msgid "Sub folder"
msgstr ""
msgid "Folder name already exists!"
msgstr ""
#, c-format
msgid "Folder name must not contain '%c'!"
msgstr ""
msgid "Button$Select"
msgstr ""
msgid "Delete folder and all sub folders?"
msgstr ""
msgid "Delete folder?"
msgstr ""
msgid "Edit timer" msgid "Edit timer"
msgstr "编辑计时器" msgstr "编辑计时器"
@ -616,9 +641,15 @@ msgstr "终生"
msgid "File" msgid "File"
msgstr "文件" msgstr "文件"
msgid "Button$Folder"
msgstr ""
msgid "First day" msgid "First day"
msgstr "第一天" msgstr "第一天"
msgid "Select folder"
msgstr ""
msgid "Timers" msgid "Timers"
msgstr "录像中列表" msgstr "录像中列表"

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: recording.c 2.21 2010/01/02 13:46:05 kls Exp $ * $Id: recording.c 2.22 2010/01/16 11:18:30 kls Exp $
*/ */
#include "recording.h" #include "recording.h"
@ -524,8 +524,8 @@ bool cRecordingInfo::Write(void) const
struct tCharExchange { char a; char b; }; struct tCharExchange { char a; char b; };
tCharExchange CharExchange[] = { tCharExchange CharExchange[] = {
{ '~', '/' }, { FOLDERDELIMCHAR, '/' },
{ '/', '~' }, { '/', FOLDERDELIMCHAR },
{ ' ', '_' }, { ' ', '_' },
// backwards compatibility: // backwards compatibility:
{ '\'', '\'' }, { '\'', '\'' },
@ -546,10 +546,10 @@ char *ExchangeChars(char *s, bool ToFileSystem)
switch (*p) { switch (*p) {
// characters that can be mapped to other characters: // characters that can be mapped to other characters:
case ' ': *p = '_'; break; case ' ': *p = '_'; break;
case '~': *p = '/'; break; case FOLDERDELIMCHAR: *p = '/'; break;
// characters that have to be encoded: // characters that have to be encoded:
default: default:
if (strchr(InvalidChars, *p) || *p == '.' && (!*(p + 1) || *(p + 1) == '~')) { // Windows can't handle '.' at the end of file/directory names if (strchr(InvalidChars, *p) || *p == '.' && (!*(p + 1) || *(p + 1) == FOLDERDELIMCHAR)) { // Windows can't handle '.' at the end of file/directory names
int l = p - s; int l = p - s;
s = (char *)realloc(s, strlen(s) + 10); s = (char *)realloc(s, strlen(s) + 10);
p = s + l; p = s + l;
@ -565,7 +565,7 @@ char *ExchangeChars(char *s, bool ToFileSystem)
switch (*p) { switch (*p) {
// mapped characters: // mapped characters:
case '_': *p = ' '; break; case '_': *p = ' '; break;
case '/': *p = '~'; break; case '/': *p = FOLDERDELIMCHAR; break;
// encoded characters: // encoded characters:
case '#': { case '#': {
if (strlen(p) > 2 && isxdigit(*(p + 1)) && isxdigit(*(p + 2))) { if (strlen(p) > 2 && isxdigit(*(p + 1)) && isxdigit(*(p + 2))) {
@ -635,7 +635,7 @@ cRecording::cRecording(cTimer *Timer, const cEvent *Event)
// avoid blanks at the end: // avoid blanks at the end:
int l = strlen(name); int l = strlen(name);
while (l-- > 2) { while (l-- > 2) {
if (name[l] == ' ' && name[l - 1] != '~') if (name[l] == ' ' && name[l - 1] != FOLDERDELIMCHAR)
name[l] = 0; name[l] = 0;
else else
break; break;
@ -853,7 +853,7 @@ const char *cRecording::Title(char Delimiter, bool NewIndicator, int Level) cons
struct tm tm_r; struct tm tm_r;
struct tm *t = localtime_r(&start, &tm_r); struct tm *t = localtime_r(&start, &tm_r);
char *s; char *s;
if (Level > 0 && (s = strrchr(name, '~')) != NULL) if (Level > 0 && (s = strrchr(name, FOLDERDELIMCHAR)) != NULL)
s++; s++;
else else
s = name; s = name;
@ -867,18 +867,18 @@ const char *cRecording::Title(char Delimiter, bool NewIndicator, int Level) cons
New, New,
Delimiter, Delimiter,
s)); s));
// let's not display a trailing '~': // let's not display a trailing FOLDERDELIMCHAR:
if (!NewIndicator) if (!NewIndicator)
stripspace(titleBuffer); stripspace(titleBuffer);
s = &titleBuffer[strlen(titleBuffer) - 1]; s = &titleBuffer[strlen(titleBuffer) - 1];
if (*s == '~') if (*s == FOLDERDELIMCHAR)
*s = 0; *s = 0;
} }
else if (Level < HierarchyLevels()) { else if (Level < HierarchyLevels()) {
const char *s = name; const char *s = name;
const char *p = s; const char *p = s;
while (*++s) { while (*++s) {
if (*s == '~') { if (*s == FOLDERDELIMCHAR) {
if (Level--) if (Level--)
p = s + 1; p = s + 1;
else else
@ -911,7 +911,7 @@ int cRecording::HierarchyLevels(void) const
const char *s = name; const char *s = name;
int level = 0; int level = 0;
while (*++s) { while (*++s) {
if (*s == '~') if (*s == FOLDERDELIMCHAR)
level++; level++;
} }
return level; return level;
@ -919,7 +919,7 @@ int cRecording::HierarchyLevels(void) const
bool cRecording::IsEdited(void) const bool cRecording::IsEdited(void) const
{ {
const char *s = strrchr(name, '~'); const char *s = strrchr(name, FOLDERDELIMCHAR);
s = !s ? name : s + 1; s = !s ? name : s + 1;
return *s == '%'; return *s == '%';
} }

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: recording.h 2.12 2010/01/02 12:10:07 kls Exp $ * $Id: recording.h 2.13 2010/01/16 11:16:20 kls Exp $
*/ */
#ifndef __RECORDING_H #ifndef __RECORDING_H
@ -18,6 +18,8 @@
#include "timers.h" #include "timers.h"
#include "tools.h" #include "tools.h"
#define FOLDERDELIMCHAR '~'
extern bool VfatFileSystem; extern bool VfatFileSystem;
extern int InstanceId; extern int InstanceId;

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * how to reach the author.
* *
* $Id: timers.c 2.3 2009/08/09 12:43:20 kls Exp $ * $Id: timers.c 2.4 2010/01/16 11:18:53 kls Exp $
*/ */
#include "timers.h" #include "timers.h"
@ -301,7 +301,7 @@ bool cTimer::Parse(const char *s)
//TODO add more plausibility checks //TODO add more plausibility checks
result = ParseDay(daybuffer, day, weekdays); result = ParseDay(daybuffer, day, weekdays);
if (VfatFileSystem) { if (VfatFileSystem) {
char *p = strrchr(filebuffer, '~'); char *p = strrchr(filebuffer, FOLDERDELIMCHAR);
if (p) if (p)
p++; p++;
else else

42
vdr.5
View File

@ -8,7 +8,7 @@
.\" License as specified in the file COPYING that comes with the .\" License as specified in the file COPYING that comes with the
.\" vdr distribution. .\" vdr distribution.
.\" .\"
.\" $Id: vdr.5 2.11 2010/01/03 13:37:07 kls Exp $ .\" $Id: vdr.5 2.12 2010/01/16 15:45:28 kls Exp $
.\" .\"
.TH vdr 5 "10 Feb 2008" "1.6" "Video Disk Recorder Files" .TH vdr 5 "10 Feb 2008" "1.6" "Video Disk Recorder Files"
.SH NAME .SH NAME
@ -489,6 +489,46 @@ Note that the color keys will only execute their macro function
in "normal viewing" mode (i.e. when no other menu or player is active). The in "normal viewing" mode (i.e. when no other menu or player is active). The
\fIUser1\fR...\fIUser9\fR keys will always execute their macro function. \fIUser1\fR...\fIUser9\fR keys will always execute their macro function.
There may be up to 15 keys in such a key sequence. There may be up to 15 keys in such a key sequence.
.SS FOLDERS
The file \fIfolders.conf\fR contains the definitions of folders that can be used
in the "Edit timer" menu. Each line contains one folder definition. Leading whitespace
and everything after and including a '#' is ignored. A line ending with '{'
defines a sub folder (i.e. a folder that contains other folders), and a line
consisting of only '}' ends the definition of a sub folder.
Example:
Daily {
.br
News
.br
Soaps
.br
}
.br
Archive {
.br
Movies
.br
Sports
.br
Sci-Fi {
.br
Star Trek
.br
U.F.O.
.br
}
.br
}
.br
Comedy
.br
Science
Note that these folder definitions are only used to set the file name under which
a timer will store its recording. Changing these definitions in any way has no
effect on existing timers or recordings.
.SS COMMANDS .SS COMMANDS
The file \fIcommands.conf\fR contains the definitions of commands that can The file \fIcommands.conf\fR contains the definitions of commands that can
be executed from the \fBvdr\fR main menu's "Commands" option. be executed from the \fBvdr\fR main menu's "Commands" option.

3
vdr.c
View File

@ -22,7 +22,7 @@
* *
* The project's page is at http://www.tvdr.de * The project's page is at http://www.tvdr.de
* *
* $Id: vdr.c 2.14 2010/01/02 11:52:40 kls Exp $ * $Id: vdr.c 2.15 2010/01/16 15:11:13 kls Exp $
*/ */
#include <getopt.h> #include <getopt.h>
@ -587,6 +587,7 @@ int main(int argc, char *argv[])
SVDRPhosts.Load(AddDirectory(ConfigDirectory, "svdrphosts.conf"), true); SVDRPhosts.Load(AddDirectory(ConfigDirectory, "svdrphosts.conf"), true);
Keys.Load(AddDirectory(ConfigDirectory, "remote.conf")); Keys.Load(AddDirectory(ConfigDirectory, "remote.conf"));
KeyMacros.Load(AddDirectory(ConfigDirectory, "keymacros.conf"), true); KeyMacros.Load(AddDirectory(ConfigDirectory, "keymacros.conf"), true);
Folders.Load(AddDirectory(ConfigDirectory, "folders.conf"));
if (!*cFont::GetFontFileName(Setup.FontOsd)) { if (!*cFont::GetFontFileName(Setup.FontOsd)) {
const char *msg = "no fonts available - OSD will not show any text!"; const char *msg = "no fonts available - OSD will not show any text!";