mirror of
https://projects.vdr-developer.org/git/vdr-plugin-tvguide.git
synced 2023-10-05 15:01:48 +02:00
directories for timers and searchtimers can be edited
This commit is contained in:
parent
2a3eecd99e
commit
ba90eeecb9
5
HISTORY
5
HISTORY
@ -111,4 +111,7 @@ Version 1.1.0
|
|||||||
- left / right scroll page up / down in recmenu result lists
|
- left / right scroll page up / down in recmenu result lists
|
||||||
- Improved favorites menu with whats on now / next and up to four user
|
- Improved favorites menu with whats on now / next and up to four user
|
||||||
defined times
|
defined times
|
||||||
- also check default paths when images and icons are loaded
|
- also check default paths when images and icons are loaded
|
||||||
|
- directory for timers can be edited in timer edit menu
|
||||||
|
- series recording can be configured in searchtimer menus
|
||||||
|
- directory for searchtimers can be set and edited in searchtimer menus
|
||||||
|
14
po/ca_ES.po
14
po/ca_ES.po
@ -3,7 +3,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: vdr-tvguide 0.0.1\n"
|
"Project-Id-Version: vdr-tvguide 0.0.1\n"
|
||||||
"Report-Msgid-Bugs-To: <see README>\n"
|
"Report-Msgid-Bugs-To: <see README>\n"
|
||||||
"POT-Creation-Date: 2014-01-19 12:51+0100\n"
|
"POT-Creation-Date: 2014-01-26 09:25+0100\n"
|
||||||
"PO-Revision-Date: 2013-09-21 17:49+0200\n"
|
"PO-Revision-Date: 2013-09-21 17:49+0200\n"
|
||||||
"Last-Translator: My friend <Sampep> Thanks David <Gabychan> <gbonich@gmail.com>\n"
|
"Last-Translator: My friend <Sampep> Thanks David <Gabychan> <gbonich@gmail.com>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
@ -54,6 +54,9 @@ msgstr ""
|
|||||||
msgid "images"
|
msgid "images"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "root video folder"
|
||||||
|
msgstr "Directori principal per a vídeo"
|
||||||
|
|
||||||
msgid "Transp."
|
msgid "Transp."
|
||||||
msgstr "Transp."
|
msgstr "Transp."
|
||||||
|
|
||||||
@ -141,9 +144,6 @@ msgstr "Cerca a les gravacions"
|
|||||||
msgid "Set Folder for"
|
msgid "Set Folder for"
|
||||||
msgstr "Programa carpeta per"
|
msgstr "Programa carpeta per"
|
||||||
|
|
||||||
msgid "root video folder"
|
|
||||||
msgstr "Directori principal per a vídeo"
|
|
||||||
|
|
||||||
msgid "Timer created"
|
msgid "Timer created"
|
||||||
msgstr "Temporitzador creat"
|
msgstr "Temporitzador creat"
|
||||||
|
|
||||||
@ -234,6 +234,9 @@ msgstr "Inici temporitzador"
|
|||||||
msgid "Timer stop time"
|
msgid "Timer stop time"
|
||||||
msgstr "Final temporitzador"
|
msgstr "Final temporitzador"
|
||||||
|
|
||||||
|
msgid "Folder"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Desa"
|
msgstr "Desa"
|
||||||
|
|
||||||
@ -333,6 +336,9 @@ msgstr ""
|
|||||||
msgid "Time margin for stop in minutes"
|
msgid "Time margin for stop in minutes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Series Recording"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Use VPS"
|
msgid "Use VPS"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
14
po/de_DE.po
14
po/de_DE.po
@ -3,7 +3,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: vdr-tvguide 0.0.1\n"
|
"Project-Id-Version: vdr-tvguide 0.0.1\n"
|
||||||
"Report-Msgid-Bugs-To: <see README>\n"
|
"Report-Msgid-Bugs-To: <see README>\n"
|
||||||
"POT-Creation-Date: 2014-01-19 12:51+0100\n"
|
"POT-Creation-Date: 2014-01-26 09:25+0100\n"
|
||||||
"PO-Revision-Date: 2012-08-25 17:49+0200\n"
|
"PO-Revision-Date: 2012-08-25 17:49+0200\n"
|
||||||
"Last-Translator: Horst\n"
|
"Last-Translator: Horst\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
@ -51,6 +51,9 @@ msgstr "Favoriten"
|
|||||||
msgid "images"
|
msgid "images"
|
||||||
msgstr "Bilder"
|
msgstr "Bilder"
|
||||||
|
|
||||||
|
msgid "root video folder"
|
||||||
|
msgstr "Video Hauptverzeichnis"
|
||||||
|
|
||||||
msgid "Transp."
|
msgid "Transp."
|
||||||
msgstr "Transp."
|
msgstr "Transp."
|
||||||
|
|
||||||
@ -138,9 +141,6 @@ msgstr "In Aufnahmen suchen"
|
|||||||
msgid "Set Folder for"
|
msgid "Set Folder for"
|
||||||
msgstr "Verzeichnis festlegen für"
|
msgstr "Verzeichnis festlegen für"
|
||||||
|
|
||||||
msgid "root video folder"
|
|
||||||
msgstr "Video Hauptverzeichnis"
|
|
||||||
|
|
||||||
msgid "Timer created"
|
msgid "Timer created"
|
||||||
msgstr "Timer angelegt"
|
msgstr "Timer angelegt"
|
||||||
|
|
||||||
@ -231,6 +231,9 @@ msgstr "Timer Start Zeit"
|
|||||||
msgid "Timer stop time"
|
msgid "Timer stop time"
|
||||||
msgstr "Timer Stop Zeit"
|
msgstr "Timer Stop Zeit"
|
||||||
|
|
||||||
|
msgid "Folder"
|
||||||
|
msgstr "Verzeichnis"
|
||||||
|
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Speichern"
|
msgstr "Speichern"
|
||||||
|
|
||||||
@ -330,6 +333,9 @@ msgstr "Zeit vor Start in Minuten"
|
|||||||
msgid "Time margin for stop in minutes"
|
msgid "Time margin for stop in minutes"
|
||||||
msgstr "Zeit nach Ende in Minuten"
|
msgstr "Zeit nach Ende in Minuten"
|
||||||
|
|
||||||
|
msgid "Series Recording"
|
||||||
|
msgstr "Serienaufnahme"
|
||||||
|
|
||||||
msgid "Use VPS"
|
msgid "Use VPS"
|
||||||
msgstr "VPS benutzen"
|
msgstr "VPS benutzen"
|
||||||
|
|
||||||
|
14
po/ru_RU.po
14
po/ru_RU.po
@ -3,7 +3,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: vdr-tvguide 1.0.0\n"
|
"Project-Id-Version: vdr-tvguide 1.0.0\n"
|
||||||
"Report-Msgid-Bugs-To: <see README>\n"
|
"Report-Msgid-Bugs-To: <see README>\n"
|
||||||
"POT-Creation-Date: 2014-01-19 12:51+0100\n"
|
"POT-Creation-Date: 2014-01-26 09:25+0100\n"
|
||||||
"PO-Revision-Date: 2013-09-25 17:49+0400\n"
|
"PO-Revision-Date: 2013-09-25 17:49+0400\n"
|
||||||
"Last-Translator: AmiD, ilya\n"
|
"Last-Translator: AmiD, ilya\n"
|
||||||
"Language-Team: Russia-Cherepovets(wm.amid@gmail.com)\n"
|
"Language-Team: Russia-Cherepovets(wm.amid@gmail.com)\n"
|
||||||
@ -51,6 +51,9 @@ msgstr ""
|
|||||||
msgid "images"
|
msgid "images"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "root video folder"
|
||||||
|
msgstr "Главная видео директория"
|
||||||
|
|
||||||
msgid "Transp."
|
msgid "Transp."
|
||||||
msgstr "Трансп."
|
msgstr "Трансп."
|
||||||
|
|
||||||
@ -138,9 +141,6 @@ msgstr "Искать в записях"
|
|||||||
msgid "Set Folder for"
|
msgid "Set Folder for"
|
||||||
msgstr "Укажите каталог для"
|
msgstr "Укажите каталог для"
|
||||||
|
|
||||||
msgid "root video folder"
|
|
||||||
msgstr "Главная видео директория"
|
|
||||||
|
|
||||||
msgid "Timer created"
|
msgid "Timer created"
|
||||||
msgstr "Таймер создан"
|
msgstr "Таймер создан"
|
||||||
|
|
||||||
@ -231,6 +231,9 @@ msgstr "Время c"
|
|||||||
msgid "Timer stop time"
|
msgid "Timer stop time"
|
||||||
msgstr "Время до"
|
msgstr "Время до"
|
||||||
|
|
||||||
|
msgid "Folder"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Сохранить"
|
msgstr "Сохранить"
|
||||||
|
|
||||||
@ -330,6 +333,9 @@ msgstr ""
|
|||||||
msgid "Time margin for stop in minutes"
|
msgid "Time margin for stop in minutes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Series Recording"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Use VPS"
|
msgid "Use VPS"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
14
po/sk_SK.po
14
po/sk_SK.po
@ -3,7 +3,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: vdr-tvguide 1.1.0\n"
|
"Project-Id-Version: vdr-tvguide 1.1.0\n"
|
||||||
"Report-Msgid-Bugs-To: <see README>\n"
|
"Report-Msgid-Bugs-To: <see README>\n"
|
||||||
"POT-Creation-Date: 2014-01-19 12:51+0100\n"
|
"POT-Creation-Date: 2014-01-26 09:25+0100\n"
|
||||||
"PO-Revision-Date: 2013-09-15 00:12+0100\n"
|
"PO-Revision-Date: 2013-09-15 00:12+0100\n"
|
||||||
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
|
"Last-Translator: Milan Hrala <hrala.milan@gmail.com>\n"
|
||||||
"Language-Team: \n"
|
"Language-Team: \n"
|
||||||
@ -51,6 +51,9 @@ msgstr ""
|
|||||||
msgid "images"
|
msgid "images"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "root video folder"
|
||||||
|
msgstr "Hlavný video adresár"
|
||||||
|
|
||||||
msgid "Transp."
|
msgid "Transp."
|
||||||
msgstr "Transp."
|
msgstr "Transp."
|
||||||
|
|
||||||
@ -138,9 +141,6 @@ msgstr "Vyh
|
|||||||
msgid "Set Folder for"
|
msgid "Set Folder for"
|
||||||
msgstr "Nastavi» adresár pre"
|
msgstr "Nastavi» adresár pre"
|
||||||
|
|
||||||
msgid "root video folder"
|
|
||||||
msgstr "Hlavný video adresár"
|
|
||||||
|
|
||||||
msgid "Timer created"
|
msgid "Timer created"
|
||||||
msgstr "Plán vytvorený"
|
msgstr "Plán vytvorený"
|
||||||
|
|
||||||
@ -231,6 +231,9 @@ msgstr "Pl
|
|||||||
msgid "Timer stop time"
|
msgid "Timer stop time"
|
||||||
msgstr "Plán konèí"
|
msgstr "Plán konèí"
|
||||||
|
|
||||||
|
msgid "Folder"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Save"
|
msgid "Save"
|
||||||
msgstr "Ulo¾i»"
|
msgstr "Ulo¾i»"
|
||||||
|
|
||||||
@ -330,6 +333,9 @@ msgstr ""
|
|||||||
msgid "Time margin for stop in minutes"
|
msgid "Time margin for stop in minutes"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Series Recording"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
msgid "Use VPS"
|
msgid "Use VPS"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -187,12 +187,14 @@ void cRecManager::SaveTimer(cTimer *timer, cTimer newTimerSettings) {
|
|||||||
time_t day = newTimerSettings.Day();
|
time_t day = newTimerSettings.Day();
|
||||||
int start = newTimerSettings.Start();
|
int start = newTimerSettings.Start();
|
||||||
int stop = newTimerSettings.Stop();
|
int stop = newTimerSettings.Stop();
|
||||||
|
std::string fileName = newTimerSettings.File();
|
||||||
|
|
||||||
timer->SetDay(day);
|
timer->SetDay(day);
|
||||||
timer->SetStart(start);
|
timer->SetStart(start);
|
||||||
timer->SetStop(stop);
|
timer->SetStop(stop);
|
||||||
timer->SetPriority(prio);
|
timer->SetPriority(prio);
|
||||||
timer->SetLifetime(lifetime);
|
timer->SetLifetime(lifetime);
|
||||||
|
timer->SetFile(fileName.c_str());
|
||||||
|
|
||||||
if (timer->HasFlags(tfActive) && !active)
|
if (timer->HasFlags(tfActive) && !active)
|
||||||
timer->ClrFlags(tfActive);
|
timer->ClrFlags(tfActive);
|
||||||
|
157
recmenuitem.c
157
recmenuitem.c
@ -588,6 +588,163 @@ eRecMenuState cRecMenuItemSelect::ProcessKey(eKeys Key) {
|
|||||||
return rmsNotConsumed;
|
return rmsNotConsumed;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// --- cRecMenuItemSelectDirectory -------------------------------------------------------
|
||||||
|
cRecMenuItemSelectDirectory::cRecMenuItemSelectDirectory(cString text,
|
||||||
|
std::string originalFolder,
|
||||||
|
bool active,
|
||||||
|
char *callback,
|
||||||
|
eRecMenuState action) {
|
||||||
|
selectable = true;
|
||||||
|
this->text = text;
|
||||||
|
this->originalFolder = originalFolder;
|
||||||
|
seriesFolder = "";
|
||||||
|
this->active = active;
|
||||||
|
this->callback = callback;
|
||||||
|
this->action = action;
|
||||||
|
height = 3 * font->Height() / 2;
|
||||||
|
pixmapVal = NULL;
|
||||||
|
folders.push_back(tr("root video folder"));
|
||||||
|
ReadFolders(NULL, "");
|
||||||
|
numValues = folders.size();
|
||||||
|
this->currentVal = GetInitial();
|
||||||
|
}
|
||||||
|
|
||||||
|
cRecMenuItemSelectDirectory::~cRecMenuItemSelectDirectory(void) {
|
||||||
|
if (pixmapVal)
|
||||||
|
osdManager.releasePixmap(pixmapVal);
|
||||||
|
}
|
||||||
|
|
||||||
|
void cRecMenuItemSelectDirectory::SetPixmaps(void) {
|
||||||
|
if (!pixmap) {
|
||||||
|
pixmap = osdManager.requestPixmap(4, cRect(x, y, width, height));
|
||||||
|
pixmapVal = osdManager.requestPixmap(5, cRect(x, y, width, height));
|
||||||
|
} else {
|
||||||
|
pixmap->SetViewPort(cRect(x, y, width, height));
|
||||||
|
pixmapVal->SetViewPort(cRect(x, y, width, height));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void cRecMenuItemSelectDirectory::Hide(void) {
|
||||||
|
if (pixmap) pixmap->SetLayer(-1);
|
||||||
|
if (pixmapVal) pixmapVal->SetLayer(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
void cRecMenuItemSelectDirectory::Show(void) {
|
||||||
|
if (pixmap) pixmap->SetLayer(4);
|
||||||
|
if (pixmapVal) pixmapVal->SetLayer(5);
|
||||||
|
}
|
||||||
|
|
||||||
|
void cRecMenuItemSelectDirectory::Draw(void) {
|
||||||
|
int textY = (height - font->Height()) / 2;
|
||||||
|
pixmap->DrawText(cPoint(10, textY), *text, colorText, colorTextBack, font);
|
||||||
|
DrawValue();
|
||||||
|
}
|
||||||
|
|
||||||
|
void cRecMenuItemSelectDirectory::DrawValue(void) {
|
||||||
|
pixmapVal->Fill(clrTransparent);
|
||||||
|
int iconSize = min(128, height);
|
||||||
|
int textX = width - font->Width(folders[currentVal].c_str()) - iconSize;
|
||||||
|
int textY = (height - font->Height()) / 2;
|
||||||
|
pixmapVal->DrawText(cPoint(textX, textY), folders[currentVal].c_str(), colorText, clrTransparent, font);
|
||||||
|
int iconLeftX = textX - iconSize;
|
||||||
|
int iconRightX = width - iconSize;
|
||||||
|
int iconY = (height - iconSize) / 2;
|
||||||
|
|
||||||
|
cImage *imgLeft = imgCache.GetIcon("arrow_left", iconSize, iconSize);
|
||||||
|
if (imgLeft) {
|
||||||
|
pixmapVal->DrawImage(cPoint(iconLeftX, iconY), *imgLeft);
|
||||||
|
}
|
||||||
|
cImage *imgRight = imgCache.GetIcon("arrow_right", iconSize, iconSize);
|
||||||
|
if (imgRight) {
|
||||||
|
pixmapVal->DrawImage(cPoint(iconRightX, iconY), *imgRight);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
eRecMenuState cRecMenuItemSelectDirectory::ProcessKey(eKeys Key) {
|
||||||
|
int oldValue = currentVal;
|
||||||
|
switch (Key & ~k_Repeat) {
|
||||||
|
case kLeft:
|
||||||
|
currentVal--;
|
||||||
|
if (currentVal<0)
|
||||||
|
currentVal = numValues - 1;
|
||||||
|
if (callback) {
|
||||||
|
SetCallback();
|
||||||
|
}
|
||||||
|
DrawValue();
|
||||||
|
return rmsConsumed;
|
||||||
|
break;
|
||||||
|
case kRight: {
|
||||||
|
currentVal = (currentVal+1)%numValues;
|
||||||
|
if (callback) {
|
||||||
|
SetCallback();
|
||||||
|
}
|
||||||
|
DrawValue();
|
||||||
|
return rmsConsumed;
|
||||||
|
break; }
|
||||||
|
case kOk:
|
||||||
|
return action;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return rmsNotConsumed;
|
||||||
|
}
|
||||||
|
|
||||||
|
void cRecMenuItemSelectDirectory::SetCallback(void) {
|
||||||
|
std::string newFolder = folders[currentVal];
|
||||||
|
if (!newFolder.compare(tr("root video folder")))
|
||||||
|
newFolder = "";
|
||||||
|
if (seriesFolder.size() > 0) {
|
||||||
|
if (newFolder.size() > 0)
|
||||||
|
newFolder = *cString::sprintf("%s/%s", folders[currentVal].c_str(), seriesFolder.c_str());
|
||||||
|
else
|
||||||
|
newFolder = seriesFolder;
|
||||||
|
}
|
||||||
|
strncpy(callback, newFolder.c_str(), TEXTINPUTLENGTH);
|
||||||
|
}
|
||||||
|
|
||||||
|
void cRecMenuItemSelectDirectory::ReadFolders(cList<cNestedItem> *rootFolders, cString path) {
|
||||||
|
cList<cNestedItem> *foldersLevel = NULL;
|
||||||
|
if (rootFolders) {
|
||||||
|
foldersLevel = rootFolders;
|
||||||
|
} else {
|
||||||
|
foldersLevel = &Folders;
|
||||||
|
}
|
||||||
|
for (cNestedItem *folder = foldersLevel->First(); folder; folder = foldersLevel->Next(folder)) {
|
||||||
|
cString strFolder = cString::sprintf("%s%s", *path, folder->Text());
|
||||||
|
folders.push_back(*strFolder);
|
||||||
|
cList<cNestedItem> *subItems = folder->SubItems();
|
||||||
|
if (subItems) {
|
||||||
|
cString newPath = cString::sprintf("%s%s/", *path, folder->Text());
|
||||||
|
ReadFolders(subItems, newPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int cRecMenuItemSelectDirectory::GetInitial(void) {
|
||||||
|
if (originalFolder.size() == 0)
|
||||||
|
return 0;
|
||||||
|
for (int i=0; i < numValues; i++) {
|
||||||
|
if (!folders[i].compare(originalFolder)) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
size_t found = originalFolder.find_last_of('/');
|
||||||
|
if (found != std::string::npos) {
|
||||||
|
std::string folderSet = originalFolder.substr(0, found);
|
||||||
|
seriesFolder = originalFolder.substr(found + 1);
|
||||||
|
for (int i=0; i < numValues; i++) {
|
||||||
|
if (!folders[i].compare(folderSet)) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
seriesFolder = originalFolder;
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// --- cRecMenuItemText -------------------------------------------------------
|
// --- cRecMenuItemText -------------------------------------------------------
|
||||||
cRecMenuItemText::cRecMenuItemText(cString title,
|
cRecMenuItemText::cRecMenuItemText(cString title,
|
||||||
char *initialVal,
|
char *initialVal,
|
||||||
|
@ -267,6 +267,35 @@ public:
|
|||||||
cString GetStringValue(void) { return strings[currentVal].c_str(); };
|
cString GetStringValue(void) { return strings[currentVal].c_str(); };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// --- cRecMenuItemSelectDirectory -------------------------------------------------------
|
||||||
|
class cRecMenuItemSelectDirectory : public cRecMenuItem {
|
||||||
|
private:
|
||||||
|
cString text;
|
||||||
|
std::string originalFolder;
|
||||||
|
std::string seriesFolder;
|
||||||
|
std::vector<std::string> folders;
|
||||||
|
int currentVal;
|
||||||
|
char *callback;
|
||||||
|
int numValues;
|
||||||
|
cPixmap *pixmapVal;
|
||||||
|
void DrawValue(void);
|
||||||
|
void ReadFolders(cList<cNestedItem> *rootFolders, cString path);
|
||||||
|
int GetInitial(void);
|
||||||
|
void SetCallback(void);
|
||||||
|
public:
|
||||||
|
cRecMenuItemSelectDirectory(cString text,
|
||||||
|
std::string originalFolder,
|
||||||
|
bool active = false,
|
||||||
|
char *callback = NULL,
|
||||||
|
eRecMenuState action = rmsNotConsumed);
|
||||||
|
virtual ~cRecMenuItemSelectDirectory(void);
|
||||||
|
void SetPixmaps(void);
|
||||||
|
void Hide(void);
|
||||||
|
void Show(void);
|
||||||
|
eRecMenuState ProcessKey(eKeys Key);
|
||||||
|
void Draw(void);
|
||||||
|
};
|
||||||
|
|
||||||
// --- cRecMenuItemText -------------------------------------------------------
|
// --- cRecMenuItemText -------------------------------------------------------
|
||||||
class cRecMenuItemText : public cRecMenuItem {
|
class cRecMenuItemText : public cRecMenuItem {
|
||||||
private:
|
private:
|
||||||
|
28
recmenus.c
28
recmenus.c
@ -1,4 +1,5 @@
|
|||||||
#include "services/remotetimers.h"
|
#include "services/remotetimers.h"
|
||||||
|
#include "tools.h"
|
||||||
#include "recmenumanager.h"
|
#include "recmenumanager.h"
|
||||||
#include "recmenus.h"
|
#include "recmenus.h"
|
||||||
|
|
||||||
@ -396,7 +397,7 @@ cRecMenuConfirmRerunUsed::cRecMenuConfirmRerunUsed(const cEvent *original, const
|
|||||||
|
|
||||||
// --- cRecMenuEditTimer ---------------------------------------------------------
|
// --- cRecMenuEditTimer ---------------------------------------------------------
|
||||||
cRecMenuEditTimer::cRecMenuEditTimer(cTimer *timer, eRecMenuState nextState) {
|
cRecMenuEditTimer::cRecMenuEditTimer(cTimer *timer, eRecMenuState nextState) {
|
||||||
SetWidthPercent(60);
|
SetWidthPercent(70);
|
||||||
if (!timer)
|
if (!timer)
|
||||||
return;
|
return;
|
||||||
originalTimer = timer;
|
originalTimer = timer;
|
||||||
@ -428,6 +429,7 @@ cRecMenuEditTimer::cRecMenuEditTimer(cTimer *timer, eRecMenuState nextState) {
|
|||||||
stop = timer->Stop();
|
stop = timer->Stop();
|
||||||
prio = timer->Priority();
|
prio = timer->Priority();
|
||||||
lifetime = timer->Lifetime();
|
lifetime = timer->Lifetime();
|
||||||
|
strncpy(folder, GetDirectoryFromTimer(timer->File()).c_str(), TEXTINPUTLENGTH);
|
||||||
|
|
||||||
AddMenuItem(new cRecMenuItemBool(tr("Timer Active"), timerActive, false, true, &timerActive));
|
AddMenuItem(new cRecMenuItemBool(tr("Timer Active"), timerActive, false, true, &timerActive));
|
||||||
AddMenuItem(new cRecMenuItemInt(tr("Priority"), prio, 0, MAXPRIORITY, false, &prio));
|
AddMenuItem(new cRecMenuItemInt(tr("Priority"), prio, 0, MAXPRIORITY, false, &prio));
|
||||||
@ -435,6 +437,7 @@ cRecMenuEditTimer::cRecMenuEditTimer(cTimer *timer, eRecMenuState nextState) {
|
|||||||
AddMenuItem(new cRecMenuItemDay(tr("Day"), day, false, &day));
|
AddMenuItem(new cRecMenuItemDay(tr("Day"), day, false, &day));
|
||||||
AddMenuItem(new cRecMenuItemTime(tr("Timer start time"), start, false, &start));
|
AddMenuItem(new cRecMenuItemTime(tr("Timer start time"), start, false, &start));
|
||||||
AddMenuItem(new cRecMenuItemTime(tr("Timer stop time"), stop, false, &stop));
|
AddMenuItem(new cRecMenuItemTime(tr("Timer stop time"), stop, false, &stop));
|
||||||
|
AddMenuItem(new cRecMenuItemSelectDirectory(tr("Folder"), std::string(folder), false, folder));
|
||||||
if (nextState == rmsTimelineTimerSave) {
|
if (nextState == rmsTimelineTimerSave) {
|
||||||
AddMenuItem(new cRecMenuItemButton(tr("Delete Timer"), rmsTimelineTimerDelete, false, false));
|
AddMenuItem(new cRecMenuItemButton(tr("Delete Timer"), rmsTimelineTimerDelete, false, false));
|
||||||
AddMenuItem(new cRecMenuItemButtonYesNo(tr("Save"), tr("Cancel"), nextState, rmsTimeline, false));
|
AddMenuItem(new cRecMenuItemButtonYesNo(tr("Save"), tr("Cancel"), nextState, rmsTimeline, false));
|
||||||
@ -461,6 +464,19 @@ cTimer cRecMenuEditTimer::GetTimer(void) {
|
|||||||
t.SetStop(stop);
|
t.SetStop(stop);
|
||||||
t.SetPriority(prio);
|
t.SetPriority(prio);
|
||||||
t.SetLifetime(lifetime);
|
t.SetLifetime(lifetime);
|
||||||
|
std::string newFolder(folder);
|
||||||
|
std::string newFile = originalTimer->File();
|
||||||
|
if (newFolder.size() > 0) {
|
||||||
|
size_t found = newFile.find_last_of('~');
|
||||||
|
if (found != std::string::npos) {
|
||||||
|
std::string fileName = newFile.substr(found+1);
|
||||||
|
newFile = *cString::sprintf("%s/%s", newFolder.c_str(), fileName.c_str());
|
||||||
|
} else {
|
||||||
|
newFile = *cString::sprintf("%s/%s", newFolder.c_str(), newFile.c_str());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
std::replace(newFile.begin(), newFile.end(), '/', '~');
|
||||||
|
t.SetFile(newFile.c_str());
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -693,6 +709,10 @@ cRecMenuSearchTimerEdit::cRecMenuSearchTimerEdit(cTVGuideSearchTimer searchTimer
|
|||||||
dayOfWeek = searchTimer.DayOfWeek();
|
dayOfWeek = searchTimer.DayOfWeek();
|
||||||
priority = searchTimer.Priority();
|
priority = searchTimer.Priority();
|
||||||
lifetime = searchTimer.Lifetime();
|
lifetime = searchTimer.Lifetime();
|
||||||
|
useEpisode = searchTimer.UseEpisode();
|
||||||
|
std::string dir = searchTimer.Directory();
|
||||||
|
std::replace(dir.begin(), dir.end(), '~', '/');
|
||||||
|
strncpy(directory, dir.c_str(), TEXTINPUTLENGTH);
|
||||||
marginStart = searchTimer.MarginStart();
|
marginStart = searchTimer.MarginStart();
|
||||||
marginStop = searchTimer.MarginStop();
|
marginStop = searchTimer.MarginStop();
|
||||||
useVPS = searchTimer.UseVPS();
|
useVPS = searchTimer.UseVPS();
|
||||||
@ -768,6 +788,8 @@ void cRecMenuSearchTimerEdit::InitMenuItems(void) {
|
|||||||
mainMenuItems.push_back(new cRecMenuItemInt(tr("Lifetime"), lifetime, 0, 99, false, &lifetime, rmsSearchTimerSave));
|
mainMenuItems.push_back(new cRecMenuItemInt(tr("Lifetime"), lifetime, 0, 99, false, &lifetime, rmsSearchTimerSave));
|
||||||
mainMenuItems.push_back(new cRecMenuItemInt(tr("Time margin for start in minutes"), marginStart, 0, 30, false, &marginStart, rmsSearchTimerSave));
|
mainMenuItems.push_back(new cRecMenuItemInt(tr("Time margin for start in minutes"), marginStart, 0, 30, false, &marginStart, rmsSearchTimerSave));
|
||||||
mainMenuItems.push_back(new cRecMenuItemInt(tr("Time margin for stop in minutes"), marginStop, 0, 30, false, &marginStop, rmsSearchTimerSave));
|
mainMenuItems.push_back(new cRecMenuItemInt(tr("Time margin for stop in minutes"), marginStop, 0, 30, false, &marginStop, rmsSearchTimerSave));
|
||||||
|
mainMenuItems.push_back(new cRecMenuItemBool(tr("Series Recording"), useEpisode, false, false, &useEpisode, rmsSearchTimerSave));
|
||||||
|
mainMenuItems.push_back(new cRecMenuItemSelectDirectory(tr("Folder"), std::string(directory), false, directory, rmsSearchTimerSave));
|
||||||
mainMenuItems.push_back(new cRecMenuItemBool(tr("Use VPS"), useVPS, false, false, &useVPS, rmsSearchTimerSave));
|
mainMenuItems.push_back(new cRecMenuItemBool(tr("Use VPS"), useVPS, false, false, &useVPS, rmsSearchTimerSave));
|
||||||
mainMenuItems.push_back(new cRecMenuItemBool(tr("Avoid Repeats"), avoidRepeats, true, false, &avoidRepeats, rmsSearchTimerSave));
|
mainMenuItems.push_back(new cRecMenuItemBool(tr("Avoid Repeats"), avoidRepeats, true, false, &avoidRepeats, rmsSearchTimerSave));
|
||||||
mainMenuItems.push_back(new cRecMenuItemBool(tr("Use in Favorites"), useInFavorites, false, false, &useInFavorites, rmsSearchTimerSave));
|
mainMenuItems.push_back(new cRecMenuItemBool(tr("Use in Favorites"), useInFavorites, false, false, &useInFavorites, rmsSearchTimerSave));
|
||||||
@ -863,6 +885,10 @@ cTVGuideSearchTimer cRecMenuSearchTimerEdit::GetSearchTimer(void) {
|
|||||||
}
|
}
|
||||||
searchTimer.SetPriority(priority);
|
searchTimer.SetPriority(priority);
|
||||||
searchTimer.SetLifetime(lifetime);
|
searchTimer.SetLifetime(lifetime);
|
||||||
|
searchTimer.SetUseEpisode(useEpisode);
|
||||||
|
std::string dir(directory);
|
||||||
|
std::replace(dir.begin(), dir.end(), '/', '~');
|
||||||
|
searchTimer.SetDirectory(dir);
|
||||||
searchTimer.SetMarginStart(marginStart);
|
searchTimer.SetMarginStart(marginStart);
|
||||||
searchTimer.SetMarginStop(marginStop);
|
searchTimer.SetMarginStop(marginStop);
|
||||||
searchTimer.SetUseVPS(useVPS);
|
searchTimer.SetUseVPS(useVPS);
|
||||||
|
@ -123,6 +123,7 @@ private:
|
|||||||
int stop;
|
int stop;
|
||||||
int prio;
|
int prio;
|
||||||
int lifetime;
|
int lifetime;
|
||||||
|
char folder[TEXTINPUTLENGTH];
|
||||||
public:
|
public:
|
||||||
cRecMenuEditTimer(cTimer *timer, eRecMenuState nextState);
|
cRecMenuEditTimer(cTimer *timer, eRecMenuState nextState);
|
||||||
virtual ~cRecMenuEditTimer(void) {};
|
virtual ~cRecMenuEditTimer(void) {};
|
||||||
@ -236,6 +237,8 @@ private:
|
|||||||
int dayOfWeek;
|
int dayOfWeek;
|
||||||
int priority;
|
int priority;
|
||||||
int lifetime;
|
int lifetime;
|
||||||
|
bool useEpisode;
|
||||||
|
char directory[TEXTINPUTLENGTH];
|
||||||
int marginStart;
|
int marginStart;
|
||||||
int marginStop;
|
int marginStop;
|
||||||
bool useVPS;
|
bool useVPS;
|
||||||
|
@ -85,6 +85,7 @@ public:
|
|||||||
bool UseDayOfWeek(void) { return useDayOfWeek; };
|
bool UseDayOfWeek(void) { return useDayOfWeek; };
|
||||||
int DayOfWeek(void);
|
int DayOfWeek(void);
|
||||||
int UseEpisode(void) { return useEpisode; };
|
int UseEpisode(void) { return useEpisode; };
|
||||||
|
std::string Directory(void) { return directory; };
|
||||||
int Priority(void) { return priority; };
|
int Priority(void) { return priority; };
|
||||||
int Lifetime(void) { return lifetime; };
|
int Lifetime(void) { return lifetime; };
|
||||||
int MarginStart(void) { return marginStart; };
|
int MarginStart(void) { return marginStart; };
|
||||||
@ -111,6 +112,8 @@ public:
|
|||||||
void SetStopTime(int stopTime) { this->stopTime = stopTime; };
|
void SetStopTime(int stopTime) { this->stopTime = stopTime; };
|
||||||
void SetUseDayOfWeek(bool useDayOfWeek) { this->useDayOfWeek = useDayOfWeek; };
|
void SetUseDayOfWeek(bool useDayOfWeek) { this->useDayOfWeek = useDayOfWeek; };
|
||||||
void SetDayOfWeek(int VDRDayOfWeek);
|
void SetDayOfWeek(int VDRDayOfWeek);
|
||||||
|
void SetUseEpisode(int useEpisode) { this->useEpisode = useEpisode; };
|
||||||
|
void SetDirectory(std::string directory) { this-> directory = directory; };
|
||||||
void SetPriority(int priority) { this->priority = priority; };
|
void SetPriority(int priority) { this->priority = priority; };
|
||||||
void SetLifetime(int lifetime) { this->lifetime = lifetime; };
|
void SetLifetime(int lifetime) { this->lifetime = lifetime; };
|
||||||
void SetMarginStart(int marginStart) { this->marginStart = marginStart; };
|
void SetMarginStart(int marginStart) { this->marginStart = marginStart; };
|
||||||
|
15
tools.c
15
tools.c
@ -1,6 +1,7 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
#include <algorithm>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@ -52,6 +53,20 @@ std::string StrToLowerCase(std::string str) {
|
|||||||
return lowerCase;
|
return lowerCase;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/****************************************************************************************
|
||||||
|
* GetDirectoryFromTimer
|
||||||
|
****************************************************************************************/
|
||||||
|
std::string GetDirectoryFromTimer(std::string file) {
|
||||||
|
std::string dir = "";
|
||||||
|
size_t found = file.find_last_of('~');
|
||||||
|
if (found != std::string::npos) {
|
||||||
|
dir = file.substr(0, found);
|
||||||
|
std::replace(dir.begin(), dir.end(), '~', '/');
|
||||||
|
}
|
||||||
|
return dir;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* DrawRoundedCorners
|
* DrawRoundedCorners
|
||||||
****************************************************************************************/
|
****************************************************************************************/
|
||||||
|
1
tools.h
1
tools.h
@ -8,6 +8,7 @@
|
|||||||
|
|
||||||
std::string CutText(std::string text, int width, const cFont *font);
|
std::string CutText(std::string text, int width, const cFont *font);
|
||||||
std::string StrToLowerCase(std::string str);
|
std::string StrToLowerCase(std::string str);
|
||||||
|
std::string GetDirectoryFromTimer(std::string file);
|
||||||
void DrawRoundedCorners(cPixmap *p, int posX, int posY, int width, int height, int radius, int borderWidth, tColor borderColor);
|
void DrawRoundedCorners(cPixmap *p, int posX, int posY, int width, int height, int radius, int borderWidth, tColor borderColor);
|
||||||
|
|
||||||
class splitstring : public std::string {
|
class splitstring : public std::string {
|
||||||
|
Loading…
Reference in New Issue
Block a user