mirror of
https://projects.vdr-developer.org/git/vdr-plugin-skindesigner.git
synced 2023-10-19 17:58:31 +02:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
cbce894c0c
5
HISTORY
5
HISTORY
@ -492,3 +492,8 @@ Version 1.2.13
|
||||
- [kamel5] Add tokens eventstart and eventstop to eDRRecTitleST
|
||||
- [kamel5] Disabled timeshift display for non timeshift recordings
|
||||
- [kamel5] Add element timeShiftTimes with tokens recstart, playbacktime and timeshiftrest to displayreplay
|
||||
|
||||
Version 1.2.14
|
||||
|
||||
- [kamel5] Revert "Disabled timeshift display for non timeshift recordings"
|
||||
- [kamel5] Add a different display mode to timeshift for currently active timer recordings
|
||||
|
@ -154,7 +154,7 @@ void cViewReplay::ClearVariables(void) {
|
||||
lastFlush = 0;
|
||||
lastFlushModeOnly = 0;
|
||||
message = false;
|
||||
timeShiftActive = false;
|
||||
timeShiftActive = NoRec;
|
||||
timeShiftFramesTotal = -1;
|
||||
timeShiftLength = -1;
|
||||
timeShiftDuration = "";
|
||||
@ -181,38 +181,41 @@ void cViewReplay::GetGlobalTimers(void) {
|
||||
void cViewReplay::SetTimeShiftValues(int current, int total) {
|
||||
if (!recording)
|
||||
return;
|
||||
const char *recName = recording->Name();
|
||||
if (recName && *recName != '@')
|
||||
return;
|
||||
timeShiftActive = false;
|
||||
timeShiftActive = NoRec;
|
||||
#if APIVERSNUM >= 20101
|
||||
int usage = recording->IsInUse();
|
||||
if (usage & ruTimer)
|
||||
timeShiftActive = true;
|
||||
timeShiftActive = NormalRec;
|
||||
else {
|
||||
GetGlobalTimers();
|
||||
if (globalTimers.IsRecording(recording))
|
||||
timeShiftActive = true;
|
||||
timeShiftActive = NormalRec;
|
||||
}
|
||||
#endif
|
||||
if (!timeShiftActive)
|
||||
return;
|
||||
const char *recName = recording->Name();
|
||||
if (recName && *recName == '@')
|
||||
timeShiftActive = TimeshiftRec;
|
||||
const cRecordingInfo *recInfo = recording->Info();
|
||||
if (!recInfo)
|
||||
return;
|
||||
const cSchedule *Schedule = NULL;
|
||||
{
|
||||
LOCK_SCHEDULES_READ;
|
||||
Schedule = Schedules->GetSchedule(recInfo->ChannelID());
|
||||
if (timeShiftActive == TimeshiftRec) {
|
||||
{
|
||||
LOCK_SCHEDULES_READ;
|
||||
Schedule = Schedules->GetSchedule(recInfo->ChannelID());
|
||||
}
|
||||
if (!Schedule)
|
||||
return;
|
||||
}
|
||||
if (!Schedule)
|
||||
return;
|
||||
// Get event at actual recording position
|
||||
const cEvent *eventEnde = Schedule->GetEventAround(time(0));
|
||||
if (!eventEnde)
|
||||
const cEvent *event = (timeShiftActive == TimeshiftRec) ? Schedule->GetEventAround(time(0))
|
||||
: recInfo->GetEvent();
|
||||
if (!event)
|
||||
return;
|
||||
// End of live program
|
||||
time_t liveEventStop = eventEnde->EndTime();
|
||||
time_t liveEventStop = event->EndTime();
|
||||
// Begin of timeshift recording
|
||||
time_t recordingStart = time(0) - recording->LengthInSeconds();
|
||||
// actual timeshiftlength in sec
|
||||
@ -221,12 +224,14 @@ void cViewReplay::SetTimeShiftValues(int current, int total) {
|
||||
timeShiftFramesTotal = total * ((double)timeShiftLength / (double)recording->LengthInSeconds());
|
||||
// Get event at actual replay position (add 30sec for a better match)
|
||||
int timeShiftSecondsAfter = (int)(recording->LengthInSeconds() * (1.0 - (double)current / (double)total)) + 30;
|
||||
const cEvent *eventReplay = Schedule->GetEventAround(time(0) - timeShiftSecondsAfter);
|
||||
// Display title at replay position
|
||||
if (eventReplay && eventReplay != lastEvent && veRecTitle) {
|
||||
veRecTitle->Set(recording, eventReplay, true);
|
||||
veRecTitle->Parse();
|
||||
lastEvent = eventReplay;
|
||||
if (timeShiftActive == TimeshiftRec) {
|
||||
const cEvent *eventReplay = Schedule->GetEventAround(time(0) - timeShiftSecondsAfter);
|
||||
// Display title at replay position
|
||||
if (veRecTitle && eventReplay != lastEvent) {
|
||||
veRecTitle->Set(recording, eventReplay, timeShiftActive);
|
||||
veRecTitle->Parse();
|
||||
lastEvent = eventReplay;
|
||||
}
|
||||
}
|
||||
int mins = (timeShiftLength / 60) % 60;
|
||||
int hours = (timeShiftLength / 3600) % 24;
|
||||
|
@ -29,7 +29,7 @@ private:
|
||||
time_t lastFlushModeOnly;
|
||||
bool message;
|
||||
int reclength;
|
||||
bool timeShiftActive;
|
||||
eRecType_t timeShiftActive;
|
||||
int timeShiftFramesTotal;
|
||||
int timeShiftLength;
|
||||
cString timeshiftrest;
|
||||
|
@ -10,7 +10,7 @@ cVeDrRecTitle::cVeDrRecTitle(void) {
|
||||
recording = NULL;
|
||||
event = NULL;
|
||||
title = NULL;
|
||||
timeshiftActive = false;
|
||||
timeShiftActive = NoRec;
|
||||
}
|
||||
|
||||
cVeDrRecTitle::~cVeDrRecTitle(void) {
|
||||
@ -29,8 +29,8 @@ void cVeDrRecTitle::SetTokenContainer(void) {
|
||||
InheritTokenContainer();
|
||||
}
|
||||
|
||||
void cVeDrRecTitle::Set(const cRecording *recording, const cEvent *event, bool timeshiftActive) {
|
||||
this->timeshiftActive = timeshiftActive;
|
||||
void cVeDrRecTitle::Set(const cRecording *recording, const cEvent *event, eRecType_t timeShiftActive) {
|
||||
this->timeShiftActive = timeShiftActive;
|
||||
if (this->title) {
|
||||
free(this->title);
|
||||
this->title = NULL;
|
||||
@ -88,7 +88,7 @@ bool cVeDrRecTitle::Parse(bool force) {
|
||||
tokenContainer->AddStringToken((int)eDRRecTitleST::recsubtitle, recShortText);
|
||||
tokenContainer->AddStringToken((int)eDRRecTitleST::recdate, *ShortDateString(recording->Start()));
|
||||
tokenContainer->AddStringToken((int)eDRRecTitleST::rectime, *TimeString(recording->Start()));
|
||||
tokenContainer->AddIntToken((int)eDRRecTitleIT::timeshift, timeshiftActive);
|
||||
tokenContainer->AddIntToken((int)eDRRecTitleIT::timeshift, timeShiftActive);
|
||||
if (event) {
|
||||
tokenContainer->AddStringToken((int)eDRRecTitleST::eventstart, *TimeString(event->StartTime()));
|
||||
tokenContainer->AddStringToken((int)eDRRecTitleST::eventstop, *TimeString(event->EndTime()));
|
||||
@ -164,7 +164,7 @@ bool cVeDrRecInfo::Parse(bool force) {
|
||||
cVeDrCurrentTime::cVeDrCurrentTime(void) {
|
||||
changed = true;
|
||||
current = NULL;
|
||||
timeshiftActive = false;
|
||||
timeShiftActive = NoRec;
|
||||
}
|
||||
|
||||
cVeDrCurrentTime::~cVeDrCurrentTime(void) {
|
||||
@ -178,12 +178,12 @@ void cVeDrCurrentTime::SetTokenContainer(void) {
|
||||
InheritTokenContainer();
|
||||
}
|
||||
|
||||
void cVeDrCurrentTime::Set(const char *current, bool timeshiftActive) {
|
||||
void cVeDrCurrentTime::Set(const char *current, eRecType_t timeShiftActive) {
|
||||
if (!current)
|
||||
return;
|
||||
free(this->current);
|
||||
this->current = strdup(current);
|
||||
this->timeshiftActive = timeshiftActive;
|
||||
this->timeShiftActive = timeShiftActive;
|
||||
changed = true;
|
||||
}
|
||||
|
||||
@ -192,7 +192,7 @@ bool cVeDrCurrentTime::Parse(bool force) {
|
||||
return false;
|
||||
tokenContainer->Clear();
|
||||
tokenContainer->AddStringToken((int)eDRCurrentTimeST::reccurrent, current);
|
||||
tokenContainer->AddIntToken((int)eDRCurrentTimeIT::timeshift, timeshiftActive);
|
||||
tokenContainer->AddIntToken((int)eDRCurrentTimeIT::timeshift, timeShiftActive);
|
||||
SetDirty();
|
||||
changed = false;
|
||||
return true;
|
||||
@ -205,7 +205,7 @@ cVeDrTotalTime::cVeDrTotalTime(void) {
|
||||
changed = true;
|
||||
total = NULL;
|
||||
timeshiftDuration = NULL;
|
||||
timeshiftActive = false;
|
||||
timeShiftActive = NoRec;
|
||||
}
|
||||
|
||||
cVeDrTotalTime::~cVeDrTotalTime(void) {
|
||||
@ -221,12 +221,12 @@ void cVeDrTotalTime::SetTokenContainer(void) {
|
||||
InheritTokenContainer();
|
||||
}
|
||||
|
||||
void cVeDrTotalTime::Set(const char *total, const char *timeshiftDuration, bool timeshiftActive) {
|
||||
void cVeDrTotalTime::Set(const char *total, const char *timeshiftDuration, eRecType_t timeShiftActive) {
|
||||
if (!total)
|
||||
return;
|
||||
free(this->total);
|
||||
this->total = strdup(total);
|
||||
this->timeshiftActive = timeshiftActive;
|
||||
this->timeShiftActive = timeShiftActive;
|
||||
free(this->timeshiftDuration);
|
||||
this->timeshiftDuration = NULL;
|
||||
if (timeshiftDuration)
|
||||
@ -240,7 +240,7 @@ bool cVeDrTotalTime::Parse(bool force) {
|
||||
tokenContainer->Clear();
|
||||
tokenContainer->AddStringToken((int)eDRTotalTimeST::rectotal, total);
|
||||
tokenContainer->AddStringToken((int)eDRTotalTimeST::timeshifttotal, timeshiftDuration);
|
||||
tokenContainer->AddIntToken((int)eDRTotalTimeIT::timeshift, timeshiftActive);
|
||||
tokenContainer->AddIntToken((int)eDRTotalTimeIT::timeshift, timeShiftActive);
|
||||
SetDirty();
|
||||
changed = false;
|
||||
return true;
|
||||
@ -254,7 +254,7 @@ cVeDrTimeshiftTimes::cVeDrTimeshiftTimes(void) {
|
||||
start = "";
|
||||
playbacktime = "";
|
||||
timeshiftrest = "";
|
||||
timeshiftActive = false;
|
||||
timeShiftActive = NoRec;
|
||||
}
|
||||
|
||||
cVeDrTimeshiftTimes::~cVeDrTimeshiftTimes(void) {
|
||||
@ -269,8 +269,8 @@ void cVeDrTimeshiftTimes::SetTokenContainer(void) {
|
||||
InheritTokenContainer();
|
||||
}
|
||||
|
||||
void cVeDrTimeshiftTimes::Set(cString start, cString playbacktime, cString timeshiftrest, bool timeshiftActive) {
|
||||
this->timeshiftActive = timeshiftActive;
|
||||
void cVeDrTimeshiftTimes::Set(cString start, cString playbacktime, cString timeshiftrest, eRecType_t timeShiftActive) {
|
||||
this->timeShiftActive = timeShiftActive;
|
||||
if (strcmp(*this->start, *start) || strcmp(*this->playbacktime, *playbacktime) || strcmp(*this->timeshiftrest, *timeshiftrest)) {
|
||||
this->start = start;
|
||||
this->playbacktime = playbacktime;
|
||||
@ -286,7 +286,7 @@ bool cVeDrTimeshiftTimes::Parse(bool force) {
|
||||
tokenContainer->AddStringToken((int)eDRTimeshiftTimesST::recstart, *start);
|
||||
tokenContainer->AddStringToken((int)eDRTimeshiftTimesST::playbacktime, *playbacktime);
|
||||
tokenContainer->AddStringToken((int)eDRTimeshiftTimesST::timeshiftrest, *timeshiftrest);
|
||||
tokenContainer->AddIntToken((int)eDRTimeshiftTimesIT::timeshift, timeshiftActive);
|
||||
tokenContainer->AddIntToken((int)eDRTimeshiftTimesIT::timeshift, timeShiftActive);
|
||||
SetDirty();
|
||||
changed = false;
|
||||
return true;
|
||||
@ -298,7 +298,7 @@ bool cVeDrTimeshiftTimes::Parse(bool force) {
|
||||
cVeDrEndTime::cVeDrEndTime(void) {
|
||||
changed = true;
|
||||
end = "";
|
||||
timeshiftActive = false;
|
||||
timeShiftActive = NoRec;
|
||||
}
|
||||
|
||||
cVeDrEndTime::~cVeDrEndTime(void) {
|
||||
@ -311,8 +311,8 @@ void cVeDrEndTime::SetTokenContainer(void) {
|
||||
InheritTokenContainer();
|
||||
}
|
||||
|
||||
void cVeDrEndTime::Set(cString end, bool timeshiftActive) {
|
||||
this->timeshiftActive = timeshiftActive;
|
||||
void cVeDrEndTime::Set(cString end, eRecType_t timeShiftActive) {
|
||||
this->timeShiftActive = timeShiftActive;
|
||||
if (strcmp(*this->end, *end)) {
|
||||
this->end = end;
|
||||
changed = true;
|
||||
@ -324,7 +324,7 @@ bool cVeDrEndTime::Parse(bool force) {
|
||||
return false;
|
||||
tokenContainer->Clear();
|
||||
tokenContainer->AddStringToken((int)eDREndTimeST::recend, *end);
|
||||
tokenContainer->AddIntToken((int)eDREndTimeIT::timeshift, timeshiftActive);
|
||||
tokenContainer->AddIntToken((int)eDREndTimeIT::timeshift, timeShiftActive);
|
||||
SetDirty();
|
||||
changed = false;
|
||||
return true;
|
||||
@ -337,7 +337,7 @@ cVeDrProgressBar::cVeDrProgressBar(void) {
|
||||
current = -1;
|
||||
total = -1;
|
||||
timeshiftTotal = -1;
|
||||
timeshiftActive = false;
|
||||
timeShiftActive = NoRec;
|
||||
changed = true;
|
||||
}
|
||||
|
||||
@ -353,12 +353,12 @@ void cVeDrProgressBar::SetTokenContainer(void) {
|
||||
InheritTokenContainer();
|
||||
}
|
||||
|
||||
void cVeDrProgressBar::Set(int current, int total, bool timeshiftActive, int timeshiftTotal) {
|
||||
void cVeDrProgressBar::Set(int current, int total, eRecType_t timeShiftActive, int timeshiftTotal) {
|
||||
if (!(this->current != current || this->total != total))
|
||||
return;
|
||||
this->current = current;
|
||||
this->total = total;
|
||||
this->timeshiftActive = timeshiftActive;
|
||||
this->timeShiftActive = timeShiftActive;
|
||||
this->timeshiftTotal = timeshiftTotal;
|
||||
|
||||
changed = true;
|
||||
@ -371,7 +371,7 @@ bool cVeDrProgressBar::Parse(bool force) {
|
||||
tokenContainer->Clear();
|
||||
tokenContainer->AddIntToken((int)eDRProgressbarIT::current, current);
|
||||
tokenContainer->AddIntToken((int)eDRProgressbarIT::total, total);
|
||||
tokenContainer->AddIntToken((int)eDRProgressbarIT::timeshift, timeshiftActive);
|
||||
tokenContainer->AddIntToken((int)eDRProgressbarIT::timeshift, timeShiftActive);
|
||||
tokenContainer->AddIntToken((int)eDRProgressbarIT::timeshifttotal, timeshiftTotal);
|
||||
|
||||
SetDirty();
|
||||
@ -384,7 +384,7 @@ bool cVeDrProgressBar::Parse(bool force) {
|
||||
cVeDrCutMarks::cVeDrCutMarks(void) {
|
||||
cutmarksIndex = -1;
|
||||
lastMarks = NULL;
|
||||
timeshiftActive = false;
|
||||
timeShiftActive = NoRec;
|
||||
Reset();
|
||||
}
|
||||
|
||||
@ -405,11 +405,11 @@ void cVeDrCutMarks::SetTokenContainer(void) {
|
||||
InheritTokenContainer();
|
||||
}
|
||||
|
||||
void cVeDrCutMarks::Set(const cMarks *marks, int current, int total, bool timeshiftActive, int timeshiftTotal) {
|
||||
void cVeDrCutMarks::Set(const cMarks *marks, int current, int total, eRecType_t timeShiftActive, int timeshiftTotal) {
|
||||
this->marks = marks;
|
||||
this->current = current;
|
||||
this->total = total;
|
||||
this->timeshiftActive = timeshiftActive;
|
||||
this->timeShiftActive = timeShiftActive;
|
||||
this->timeshiftTotal = timeshiftTotal;
|
||||
}
|
||||
|
||||
@ -421,7 +421,7 @@ void cVeDrCutMarks::Reset(void) {
|
||||
delete[] lastMarks;
|
||||
lastMarks = NULL;
|
||||
markActive = -1;
|
||||
timeshiftActive = false;
|
||||
timeShiftActive = NoRec;
|
||||
timeshiftTotal = -1;
|
||||
}
|
||||
|
||||
@ -432,7 +432,7 @@ bool cVeDrCutMarks::Parse(bool force) {
|
||||
return false;
|
||||
}
|
||||
tokenContainer->Clear();
|
||||
tokenContainer->AddIntToken((int)eDRCutmarksIT::timeshift, timeshiftActive);
|
||||
tokenContainer->AddIntToken((int)eDRCutmarksIT::timeshift, timeShiftActive);
|
||||
int numMarks = marks->Count();
|
||||
vector<int> cutmarksInfo;
|
||||
cutmarksInfo.push_back(numMarks);
|
||||
@ -444,7 +444,7 @@ bool cVeDrCutMarks::Parse(bool force) {
|
||||
for (const cMark *m = marks->First(); m; m = marks->Next(m)) {
|
||||
tokenContainer->AddLoopToken(cutmarksIndex, i, (int)eDRCutmarksLT::position, *cString::sprintf("%d", m->Position()));
|
||||
tokenContainer->AddLoopToken(cutmarksIndex, i, (int)eDRCutmarksLT::total, *tot);
|
||||
if (timeshiftActive) {
|
||||
if (timeShiftActive) {
|
||||
tokenContainer->AddLoopToken(cutmarksIndex, i, (int)eDRCutmarksLT::timeshifttotal, *timeshifttot);
|
||||
}
|
||||
tokenContainer->AddLoopToken(cutmarksIndex, i, (int)eDRCutmarksLT::startmark, isStartMark ? "1" : "0");
|
||||
|
@ -4,6 +4,13 @@
|
||||
#include "viewelement.h"
|
||||
#include "../extensions/scrapmanager.h"
|
||||
|
||||
// define recordingtypes
|
||||
enum eRecType_t {
|
||||
NoRec = 0,
|
||||
NormalRec,
|
||||
TimeshiftRec
|
||||
};
|
||||
|
||||
/******************************************************************
|
||||
* cVeDrRecTitle
|
||||
******************************************************************/
|
||||
@ -12,12 +19,12 @@ private:
|
||||
const cRecording *recording;
|
||||
const cEvent *event;
|
||||
char *title;
|
||||
bool timeshiftActive;
|
||||
eRecType_t timeShiftActive;
|
||||
public:
|
||||
cVeDrRecTitle(void);
|
||||
virtual ~cVeDrRecTitle(void);
|
||||
void SetTokenContainer(void);
|
||||
void Set(const cRecording *recording = NULL, const cEvent *event = NULL, bool timeshiftActive = false);
|
||||
void Set(const cRecording *recording = NULL, const cEvent *event = NULL, eRecType_t timeShiftActive = NoRec);
|
||||
void Set(const char *title = NULL);
|
||||
bool Parse(bool forced = false);
|
||||
};
|
||||
@ -43,12 +50,12 @@ class cVeDrCurrentTime : public cViewElement {
|
||||
private:
|
||||
bool changed;
|
||||
char *current;
|
||||
bool timeshiftActive;
|
||||
eRecType_t timeShiftActive;
|
||||
public:
|
||||
cVeDrCurrentTime(void);
|
||||
virtual ~cVeDrCurrentTime(void);
|
||||
void SetTokenContainer(void);
|
||||
void Set(const char *current, bool timeshiftActive = false);
|
||||
void Set(const char *current, eRecType_t timeShiftActive = NoRec);
|
||||
bool Parse(bool forced = false);
|
||||
};
|
||||
|
||||
@ -59,13 +66,13 @@ class cVeDrTotalTime : public cViewElement {
|
||||
private:
|
||||
bool changed;
|
||||
char *total;
|
||||
bool timeshiftActive;
|
||||
eRecType_t timeShiftActive;
|
||||
char *timeshiftDuration;
|
||||
public:
|
||||
cVeDrTotalTime(void);
|
||||
virtual ~cVeDrTotalTime(void);
|
||||
void SetTokenContainer(void);
|
||||
void Set(const char *total, const char *timeshiftDuration = NULL, bool timeshiftActive = false);
|
||||
void Set(const char *total, const char *timeshiftDuration = NULL, eRecType_t timeShiftActive = NoRec);
|
||||
bool Parse(bool forced = false);
|
||||
};
|
||||
|
||||
@ -78,12 +85,12 @@ private:
|
||||
cString playbacktime;
|
||||
cString timeshiftrest;
|
||||
bool changed;
|
||||
bool timeshiftActive;
|
||||
eRecType_t timeShiftActive;
|
||||
public:
|
||||
cVeDrTimeshiftTimes(void);
|
||||
virtual ~cVeDrTimeshiftTimes(void);
|
||||
void SetTokenContainer(void);
|
||||
void Set(cString start, cString playbacktime, cString timeshiftrest, bool timeshiftActive = false);
|
||||
void Set(cString start, cString playbacktime, cString timeshiftrest, eRecType_t timeShiftActive = NoRec);
|
||||
bool Parse(bool forced = false);
|
||||
};
|
||||
|
||||
@ -93,13 +100,13 @@ public:
|
||||
class cVeDrEndTime : public cViewElement {
|
||||
private:
|
||||
cString end;
|
||||
bool timeshiftActive;
|
||||
eRecType_t timeShiftActive;
|
||||
bool changed;
|
||||
public:
|
||||
cVeDrEndTime(void);
|
||||
virtual ~cVeDrEndTime(void);
|
||||
void SetTokenContainer(void);
|
||||
void Set(cString end, bool timeshiftActive = false);
|
||||
void Set(cString end, eRecType_t timeShiftActive = NoRec);
|
||||
bool Parse(bool forced = false);
|
||||
};
|
||||
|
||||
@ -110,14 +117,14 @@ class cVeDrProgressBar : public cViewElement {
|
||||
private:
|
||||
int current;
|
||||
int total;
|
||||
bool timeshiftActive;
|
||||
eRecType_t timeShiftActive;
|
||||
int timeshiftTotal;
|
||||
bool changed;
|
||||
public:
|
||||
cVeDrProgressBar(void);
|
||||
virtual ~cVeDrProgressBar(void);
|
||||
void SetTokenContainer(void);
|
||||
void Set(int current, int total, bool timeshiftActive = false, int timeshiftTotal = 0);
|
||||
void Set(int current, int total, eRecType_t timeShiftActive = NoRec, int timeshiftTotal = 0);
|
||||
bool Parse(bool forced = false);
|
||||
};
|
||||
|
||||
@ -130,7 +137,7 @@ private:
|
||||
const cMarks *marks;
|
||||
int current;
|
||||
int total;
|
||||
bool timeshiftActive;
|
||||
eRecType_t timeShiftActive;
|
||||
int timeshiftTotal;
|
||||
int numMarksLast;
|
||||
int *lastMarks;
|
||||
@ -141,7 +148,7 @@ public:
|
||||
cVeDrCutMarks(void);
|
||||
virtual ~cVeDrCutMarks(void);
|
||||
void SetTokenContainer(void);
|
||||
void Set(const cMarks *marks, int current, int total, bool timeshiftActive = false, int timeshiftTotal = 0);
|
||||
void Set(const cMarks *marks, int current, int total, eRecType_t timeShiftActive = NoRec, int timeshiftTotal = 0);
|
||||
void Reset(void);
|
||||
bool Parse(bool forced = false);
|
||||
};
|
||||
|
@ -21,7 +21,7 @@
|
||||
#endif
|
||||
|
||||
|
||||
static const char *VERSION = "1.2.13";
|
||||
static const char *VERSION = "1.2.14";
|
||||
static const char *DESCRIPTION = trNOOP("Skin Designer");
|
||||
|
||||
class cPluginSkinDesigner : public cPlugin, public skindesignerapi::SkindesignerAPI {
|
||||
|
@ -23,14 +23,14 @@
|
||||
<trans lang="de_DE">Wiederholungen</trans>
|
||||
<trans lang="fi_FI">Uusinnat</trans>
|
||||
<trans lang="hu_HU">Ismétlés</trans>
|
||||
<trans lang="it_IT">Riavvii</trans>
|
||||
<trans lang="it_IT">Repliche</trans>
|
||||
</token>
|
||||
<token name="tr(rerunsof)">
|
||||
<trans lang="en_EN">Reruns of</trans>
|
||||
<trans lang="de_DE">Wiederholungen von</trans>
|
||||
<trans lang="fi_FI">Uusinnat:</trans>
|
||||
<trans lang="hu_HU">Ismétlés:</trans>
|
||||
<trans lang="it_IT">Riavvi di</trans>
|
||||
<trans lang="it_IT">Repliche:</trans>
|
||||
</token>
|
||||
<token name="tr(actors)">
|
||||
<trans lang="en_EN">Actors</trans>
|
||||
@ -156,7 +156,7 @@
|
||||
<trans lang="de_DE">Nur für Erwachsene</trans>
|
||||
<trans lang="fi_FI">Vain aikuisille</trans>
|
||||
<trans lang="hu_HU">Felnőtt</trans>
|
||||
<trans lang="it_IT">Adulti</trans>
|
||||
<trans lang="it_IT">Adulto</trans>
|
||||
</token>
|
||||
<token name="tr(releasedate)">
|
||||
<trans lang="en_EN">Release Date</trans>
|
||||
@ -170,7 +170,7 @@
|
||||
<trans lang="de_DE">Laufzeit</trans>
|
||||
<trans lang="fi_FI">Kesto</trans>
|
||||
<trans lang="hu_HU">Hossz</trans>
|
||||
<trans lang="it_IT">Runtime</trans>
|
||||
<trans lang="it_IT">Durata</trans>
|
||||
</token>
|
||||
<token name="tr(popularity)">
|
||||
<trans lang="en_EN">Popularity</trans>
|
||||
@ -212,7 +212,7 @@
|
||||
<trans lang="de_DE">Länge der Aufnahme</trans>
|
||||
<trans lang="fi_FI">Tallenteen pituus</trans>
|
||||
<trans lang="hu_HU">Felvétel hossza</trans>
|
||||
<trans lang="it_IT">Lnghezza registrazzione</trans>
|
||||
<trans lang="it_IT">Lunghezza registrazione</trans>
|
||||
</token>
|
||||
<token name="tr(reclengthcutted)">
|
||||
<trans lang="en_EN">Cutted Recording Length</trans>
|
||||
@ -268,42 +268,42 @@
|
||||
<trans lang="de_DE">Ende</trans>
|
||||
<trans lang="fi_FI">Loppu</trans>
|
||||
<trans lang="hu_HU">vég</trans>
|
||||
<trans lang="it_IT">Fine</trans>
|
||||
<trans lang="it_IT">fine</trans>
|
||||
</token>
|
||||
<token name="tr(activetimers)">
|
||||
<trans lang="en_EN">active timers</trans>
|
||||
<trans lang="de_DE">aktive Timer</trans>
|
||||
<trans lang="fi_FI">aktiivista ajastinta</trans>
|
||||
<trans lang="hu_HU">aktív időzítők</trans>
|
||||
<trans lang="it_IT">Timer attivi</trans>
|
||||
<trans lang="it_IT">timer attivi</trans>
|
||||
</token>
|
||||
<token name="tr(activetimer)">
|
||||
<trans lang="en_EN">active timer</trans>
|
||||
<trans lang="de_DE">aktiver Timer</trans>
|
||||
<trans lang="fi_FI">aktiivinen ajastin</trans>
|
||||
<trans lang="hu_HU">aktív időzítő</trans>
|
||||
<trans lang="it_IT">Timer attivo</trans>
|
||||
<trans lang="it_IT">timer attivo</trans>
|
||||
</token>
|
||||
<token name="tr(lastrecs)">
|
||||
<trans lang="en_EN">last recordings</trans>
|
||||
<trans lang="de_DE">Neueste Aufnahmen</trans>
|
||||
<trans lang="fi_FI">Uusimmat tallenteet</trans>
|
||||
<trans lang="hu_HU">utolsó felvételek</trans>
|
||||
<trans lang="it_IT">Ultime registrazioni</trans>
|
||||
<trans lang="it_IT">ultime registrazioni</trans>
|
||||
</token>
|
||||
<token name="tr(sysinfo)">
|
||||
<trans lang="en_EN">system information</trans>
|
||||
<trans lang="de_DE">System Informationen</trans>
|
||||
<trans lang="fi_FI">Järjestelmätiedot</trans>
|
||||
<trans lang="hu_HU">rendszer információ</trans>
|
||||
<trans lang="it_IT">Info di sistema</trans>
|
||||
<trans lang="it_IT">info di sistema</trans>
|
||||
</token>
|
||||
<token name="tr(disc)">
|
||||
<trans lang="en_EN">disc</trans>
|
||||
<trans lang="de_DE">HDD</trans>
|
||||
<trans lang="fi_FI">levy</trans>
|
||||
<trans lang="hu_HU">Lemez</trans>
|
||||
<trans lang="it_IT">Disco</trans>
|
||||
<trans lang="it_IT">disco</trans>
|
||||
</token>
|
||||
<token name="tr(free)">
|
||||
<trans lang="en_EN">free</trans>
|
||||
@ -394,7 +394,7 @@
|
||||
<trans lang="de_DE">Windgeschwindigkeit</trans>
|
||||
<trans lang="fi_FI">Tuulen nopeus</trans>
|
||||
<trans lang="hu_HU">Szélsebesség</trans>
|
||||
<trans lang="it_IT">Velcità vento</trans>
|
||||
<trans lang="it_IT">Velocità vento</trans>
|
||||
</token>
|
||||
<token name="tr(cloudcover)">
|
||||
<trans lang="en_EN">Cloud Cover</trans>
|
||||
@ -485,7 +485,7 @@
|
||||
<trans lang="de_DE">Unterstützte Plugins</trans>
|
||||
<trans lang="fi_FI">Tuetut laajennokset</trans>
|
||||
<trans lang="hu_HU">Támogatott Beépülő Modulok</trans>
|
||||
<trans lang="it_IT">Plugin supportati</trans>
|
||||
<trans lang="it_IT">Plugins supportati</trans>
|
||||
</token>
|
||||
<token name="tr(usedfonts)">
|
||||
<trans lang="en_EN">Used Fonts</trans>
|
||||
|
@ -227,7 +227,7 @@
|
||||
<trans lang="de_DE">Aufzeichnungsmenü</trans>
|
||||
<trans lang="fi_FI">Tallennevalikko</trans>
|
||||
<trans lang="hu_HU">Felvételek Menü</trans>
|
||||
<trans lang="it_IT">Menù timer</trans>
|
||||
<trans lang="it_IT">Menù registrazioni</trans>
|
||||
</token>
|
||||
<token name="tr(subdetailmenu)">
|
||||
<trans lang="en_EN">Detailed Views (EPG, Rec, text)</trans>
|
||||
@ -292,37 +292,41 @@
|
||||
<trans lang="de_DE">Einblendzeit der Kanalanzeige in ms. Ist dieser Wert auf einen Wert > 0 gesetzt, werden alle OSD Elemente ausser dem VDR Menu ein- und ausgeblendet.</trans>
|
||||
<trans lang="fi_FI">Häivytyksen kesto millisekunteina. Nollasta eriävä arvo aktivoi valikkojen häivytyksen.</trans>
|
||||
<trans lang="hu_HU">A csatorna kijelzés elhalványulás ms-ben. Ha ez az érték be van beállítva, hogy az érték > 0, az összes OSD elemek mellett a VDR menüt és elhalványulnak.</trans>
|
||||
<trans lang="it_IT">Tempo di dissolvenza della visualizzazione del canale in ms. Se questo è settato ad un valore maggiore di 0 tutti gli elementi OSD dietro al menù Vdr si dissolvono in entrata ed uscita</trans>
|
||||
<trans lang="it_IT">Tempo di dissolvenza della visualizzazione del canale in ms. Settato > di 0 tutti gli elementi OSD dietro al menù Vdr si dissolvono in entrata ed uscita</trans>
|
||||
</token>
|
||||
<token name="tr(shifttext)">
|
||||
<trans lang="en_EN">Shift time [ms]</trans>
|
||||
<trans lang="de_DE">Einfahrzeit [ms]</trans>
|
||||
<trans lang="fi_FI">Liukuman kesto [ms]</trans>
|
||||
<trans lang="hu_HU">Késleltetés ideje [ms]</trans>
|
||||
<trans lang="it_IT">Tempo di dissolvenza [ms]</trans>
|
||||
<trans lang="it_IT">Tempo di cambio [ms]</trans>
|
||||
</token>
|
||||
<token name="tr(helpshift)">
|
||||
<trans lang="en_EN">Shift time in ms. If this is set to a value larger 0 all OSD elements beside the VDR menu are shifted in and out from the bottom of the screen. If fadetime is also set to a value larger 0, still shifting is performed.</trans>
|
||||
<trans lang="de_DE">Einfahrzeit in ms. Ist dieser Wert auf einen Wert > 0 gesetzt, werden alle OSD Elemente ausser dem VDR Menu vom unteren Rand des Bildschirms herein- und herausgefahren. Falls fadetime ebenfalls auf einen Wert größer 0 gesetzt ist, wird das OSD trotzdem herein- und herausgefahren.</trans>
|
||||
<trans lang="fi_FI">Liukuman kesto millisekunteina. Nollasta eriävä arvo aktivoi valikkojen transitioefektit riippumatta häivytyksen kestosta.</trans>
|
||||
<trans lang="hu_HU">Késleltetés idő ms-ben. Ha ez be van állítva, hogy az érték > 0, az összes OSD elemek mellett a VDR menü eltolódik, és ki a képernyő alján. Ha fadetime is ennek az értéke nagyobb 0, mindig eltolásával végezzük.</trans>
|
||||
<trans lang="it_IT">Tempo di cambio in ms. Se questo è settato ad un valore maggiore di 0 tutti gli elementi OSD dietro al menù Vdr cambiano dalla parte bassa dello schermo. Se il tempo di cambio fosse settato anche ad un valore maggiore di zero, comunque il cambio viene effettuato</trans>
|
||||
<trans lang="it_IT">Tempo di cambio in ms. Settato > di 0 tutti gli elementi OSD di lato al menù Vdr cambiano dalla parte bassa dello schermo. Se il tempo di cambio fosse settato anche ad un valore > di zero, comunque il cambio viene effettuato</trans>
|
||||
</token>
|
||||
<token name="tr(listfadetimetext)">
|
||||
<trans lang="en_EN">Fade time menus [ms]</trans>
|
||||
<trans lang="de_DE">Überblendungszeit Menüs [ms]</trans>
|
||||
<trans lang="it_IT">Menù tempo di dissolvenza [ms]</trans>
|
||||
</token>
|
||||
<token name="tr(listshifttimetext)">
|
||||
<trans lang="en_EN">Shift time menus [ms]</trans>
|
||||
<trans lang="de_DE">Übergangszeit Menüelemente [ms]</trans>
|
||||
<trans lang="it_IT">Menù Tempo di cambio [ms]</trans>
|
||||
</token>
|
||||
<token name="tr(helplistfadetime)">
|
||||
<trans lang="en_EN">Fade time of menu elements when scrolling through the menus. If set to 0, this effect is disabled.</trans>
|
||||
<trans lang="de_DE">Überblendungszeit der Menüelemente beim Bewegen durch die Menüs. Steht dieser Wert auf 0, ist dieser Effekt deaktiviert.</trans>
|
||||
<trans lang="it_IT">Tempo dissolvenza elementi del menù scorrendo i menù. Settato a 0, questo effetto è disabilitato</trans>
|
||||
</token>
|
||||
<token name="tr(helplistshifttime)">
|
||||
<trans lang="en_EN">Shift time of menu elements when scrolling through the menus. If set to 0, this effect is disabled.</trans>
|
||||
<trans lang="de_DE">Übergangszeit der Menüelemente beim Bewegen durch die Menüs. Steht dieser Wert auf 0, ist dieser Effekt deaktiviert.</trans>
|
||||
<trans lang="it_IT">Tempo cambio elementi del menù scorrendo i menù. Settato a 0, questo effetto è disabilitato</trans>
|
||||
</token>
|
||||
<!-- displaychannel -->
|
||||
<token name="tr(epgtextposy)">
|
||||
@ -426,10 +430,12 @@
|
||||
<token name="tr(zapclnumchannels)">
|
||||
<trans lang="en_EN">Number of items in channels list</trans>
|
||||
<trans lang="de_DE">Anzahl der Elemente in Kanalliste</trans>
|
||||
<trans lang="it_IT">Numero voci nella lista canali</trans>
|
||||
</token>
|
||||
<token name="tr(zapglnumgroups)">
|
||||
<trans lang="en_EN">Number of items in channel group list</trans>
|
||||
<trans lang="de_DE">Anzahl der Elemente in Kanalgruppenliste</trans>
|
||||
<trans lang="it_IT">Numero voci nella lista gruppo canali</trans>
|
||||
</token>
|
||||
<token name="tr(zapclpresenttimefs)">
|
||||
<trans lang="en_EN">Font size remaining time present event</trans>
|
||||
@ -494,7 +500,7 @@
|
||||
<trans lang="en_EN">Font size description</trans>
|
||||
<trans lang="de_DE">Schriftgröße Beschreibung</trans>
|
||||
<trans lang="fi_FI">Kirjasintyypin koko kuvaukselle</trans>
|
||||
<trans lang="it_IT">Dimensione carattere testo breve</trans>
|
||||
<trans lang="it_IT">Dimensione carattere descrizione</trans>
|
||||
</token>
|
||||
<token name="tr(zapcldetaildatetimefs)">
|
||||
<trans lang="en_EN">Font size time in channel list detail view</trans>
|
||||
@ -548,13 +554,13 @@
|
||||
<trans lang="en_EN">Height channel hints (% of screen height)</trans>
|
||||
<trans lang="de_DE">Höhe Kanal Hinweise (% der Bildschirmhöhe)</trans>
|
||||
<trans lang="fi_FI">Korkeus (% näytön korkeudesta)</trans>
|
||||
<trans lang="it_IT">Altezza suggerimenti canale (% della altezza del video)</trans>
|
||||
<trans lang="it_IT">Altezza suggerimenti canale (in % altezza dello schermo)</trans>
|
||||
</token>
|
||||
<token name="tr(zapchannelhintswidth)">
|
||||
<trans lang="en_EN">Width channel hints (% of screen width)</trans>
|
||||
<trans lang="de_DE">Breite Kanal Hinweise (% der Bildschirmbreite)</trans>
|
||||
<trans lang="fi_FI">Leveys (% näytön leveydestä)</trans>
|
||||
<trans lang="it_IT">Larghezza suggerimenti canale (% della larghezza del video)</trans>
|
||||
<trans lang="it_IT">Larghezza suggerimenti canale (in % larghezza dello schermo)</trans>
|
||||
</token>
|
||||
<!-- recording display -->
|
||||
<token name="tr(replaytitlesize)">
|
||||
@ -606,7 +612,7 @@
|
||||
<trans lang="de_DE">Schriftgröße Header</trans>
|
||||
<trans lang="fi_FI">Kirjasintyypin koko otsikkopalkille</trans>
|
||||
<trans lang="hu_HU">Betűméret fejléc</trans>
|
||||
<trans lang="it_IT">Dimensione del font del header</trans>
|
||||
<trans lang="it_IT">Dimensione del font dell'intestazione</trans>
|
||||
</token>
|
||||
<token name="tr(headerdatefontsize)">
|
||||
<trans lang="en_EN">Font size date</trans>
|
||||
@ -656,7 +662,7 @@
|
||||
<trans lang="de_DE">Nummerierung der Listenelemente anzeigen</trans>
|
||||
<trans lang="fi_FI">Näytä numeroinnit valikkoriveillä</trans>
|
||||
<trans lang="hu_HU">A listaelemek kijelzőszámozása</trans>
|
||||
<trans lang="it_IT">Visualizzazione degli elementi della lista</trans>
|
||||
<trans lang="it_IT">Visualizzazione numerica degli elementi della lista</trans>
|
||||
</token>
|
||||
<token name="tr(numitemsmain)">
|
||||
<trans lang="en_EN">Number of main menu items</trans>
|
||||
@ -734,7 +740,7 @@
|
||||
<trans lang="de_DE">Schriftgröße Titel</trans>
|
||||
<trans lang="fi_FI">Kirjasintyypin koko nimikkeelle</trans>
|
||||
<trans lang="hu_HU">Betűméret cím</trans>
|
||||
<trans lang="it_IT">Posizione verticale del titolo EPG</trans>
|
||||
<trans lang="it_IT">Dimensione font del titolo</trans>
|
||||
</token>
|
||||
<token name="tr(schedulessizecurrenttext)">
|
||||
<trans lang="en_EN">Font size text</trans>
|
||||
@ -877,11 +883,12 @@
|
||||
<trans lang="de_DE">Anzahl Menüelemente</trans>
|
||||
<trans lang="fi_FI">Valikkorivien lukumäärä</trans>
|
||||
<trans lang="hu_HU">menüpontok száma</trans>
|
||||
<trans lang="it_IT">Numero delle voci</trans>
|
||||
<trans lang="it_IT">Numero delle voci del menù</trans>
|
||||
</token>
|
||||
<token name="tr(recusethumbs)">
|
||||
<trans lang="en_EN">Show posters</trans>
|
||||
<trans lang="de_DE">Poster anzeigen</trans>
|
||||
<trans lang="it_IT">Mostra poster</trans>
|
||||
</token>
|
||||
<token name="tr(recposydate)">
|
||||
<trans lang="en_EN">Vertical position date</trans>
|
||||
@ -909,7 +916,7 @@
|
||||
<trans lang="de_DE">Schriftgröße Titel</trans>
|
||||
<trans lang="fi_FI">Kirjasintyypin koko nimikkeelle</trans>
|
||||
<trans lang="hu_HU">Betűméret cím</trans>
|
||||
<trans lang="it_IT">Posizione verticale del titolo</trans>
|
||||
<trans lang="it_IT">Dimensione font del titolo</trans>
|
||||
</token>
|
||||
<token name="tr(recposyfoldertitle)">
|
||||
<trans lang="en_EN">Vertical position folder name</trans>
|
||||
@ -949,6 +956,7 @@
|
||||
<token name="tr(sizewidesmall)">
|
||||
<trans lang="en_EN">Font size small wide menu</trans>
|
||||
<trans lang="de_DE">Schriftgröße Klein breites Menü</trans>
|
||||
<trans lang="it_IT">Dimensione font del menù piccolo</trans>
|
||||
</token>
|
||||
<token name="tr(showcurrent)">
|
||||
<trans lang="en_EN">Show info for selected list element</trans>
|
||||
|
@ -16,9 +16,12 @@
|
||||
</datetime>
|
||||
|
||||
<time>
|
||||
<area x="80%" y="80%" width="19%" height="15%" layer="2">
|
||||
<drawtext name="clock" x="20%" valign="center" fontsize="60%" font="{digital}" color="{fontdefault}" text="{hour}:{printf('%02d', min)}" />
|
||||
<drawtext name="clocksec" x="{posx(clock)} + {width(clock)}" y="{areaheight}/2 - {height(clocksec)}/2 + {height(clock)}/2 - {height(clocksec)}/2 - 5" fontsize="45%" font="{digital}" color="{fontdefault}" text=":{printf('%02d', sec)}" />
|
||||
<area x="80%" y="80%" width="14%" height="15%" layer="2">
|
||||
<drawtext x="0" align="right" valign="center" fontsize="60%" font="{digital}" color="{fontdefault}" text="{hour}:{printf('%02d', min)}" />
|
||||
</area>
|
||||
<area x="94%" y="80%" width="5%" height="15%" layer="2">
|
||||
<drawtext name="clock" x="0" align="right" valign="center" fontsize="60%" font="{digital}" color="clrTransparent" text="1" />
|
||||
<drawtext name="clocksec" x="0" y="{areaheight}/2 + {height(clock)}/2 - {height(clocksec)} - 5" fontsize="45%" font="{digital}" color="{fontdefault}" text=":{printf('%02d', sec)}" />
|
||||
</area>
|
||||
</time>
|
||||
|
||||
|
@ -95,7 +95,8 @@
|
||||
<drawtext align="left" y="0" fontsize="{areaheight}*{replayendtimesize}/100" font="{regular}" color="{fontdefault}" text="{tr(start)}: {recstart}" />
|
||||
</area>
|
||||
<area condition="{timeshift}" x="40%" y="81%" width="20%" height="5%" layer="2">
|
||||
<drawtext name="rest" align="center" y="0" fontsize="{areaheight}*{replayendtimesize}/100" font="{regular}" color="{fontdefault}" text="TS {tr(rest)}: -{timeshiftrest}" />
|
||||
<drawtext condition="eq({timeshift}, 1)" align="center" y="0" fontsize="{areaheight}*{replayendtimesize}/100" font="{regular}" color="{fontdefault}" text="{tr(rest)}: -{timeshiftrest}" />
|
||||
<drawtext condition="gt({timeshift}, 1)" align="center" y="0" fontsize="{areaheight}*{replayendtimesize}/100" font="{regular}" color="{fontdefault}" text="Timeshift Mode {tr(rest)}: -{timeshiftrest}" />
|
||||
</area>
|
||||
<area condition="{timeshift}" x="12%" y="87%" width="19%" height="5%" layer="2">
|
||||
<drawtext align="left" y="0" fontsize="{areaheight}*{replayendtimesize}/100" font="{regular}" color="{fontdefault}" text="{tr(playback)}: {playbacktime}" />
|
||||
|
19
skins/metrixhd/globals.xml
Normal file → Executable file
19
skins/metrixhd/globals.xml
Normal file → Executable file
@ -89,14 +89,14 @@
|
||||
<trans lang="de_DE">Wiederholungen</trans>
|
||||
<trans lang="fi_FI">Uusinnat</trans>
|
||||
<trans lang="hu_HU">Ismétlés</trans>
|
||||
<trans lang="it_IT">Riavvii</trans>
|
||||
<trans lang="it_IT">Repliche</trans>
|
||||
</token>
|
||||
<token name="tr(rerunsof)">
|
||||
<trans lang="en_EN">Reruns of</trans>
|
||||
<trans lang="de_DE">Wiederholungen von</trans>
|
||||
<trans lang="fi_FI">Uusinnat:</trans>
|
||||
<trans lang="hu_HU">Ismétlés:</trans>
|
||||
<trans lang="it_IT">Riavvi di</trans>
|
||||
<trans lang="it_IT">Repliche di</trans>
|
||||
</token>
|
||||
<token name="tr(actors)">
|
||||
<trans lang="en_EN">Actors</trans>
|
||||
@ -215,14 +215,14 @@
|
||||
<trans lang="de_DE">Einnahmen</trans>
|
||||
<trans lang="fi_FI">Tuotto</trans>
|
||||
<trans lang="hu_HU">Bevétel</trans>
|
||||
<trans lang="it_IT">Incassi</trans>
|
||||
<trans lang="it_IT">Incasso</trans>
|
||||
</token>
|
||||
<token name="tr(adult)">
|
||||
<trans lang="en_EN">Adult</trans>
|
||||
<trans lang="de_DE">Nur für Erwachsene</trans>
|
||||
<trans lang="fi_FI">Vain aikuisille</trans>
|
||||
<trans lang="hu_HU">Felnőtt</trans>
|
||||
<trans lang="it_IT">Adulti</trans>
|
||||
<trans lang="it_IT">Adulto</trans>
|
||||
</token>
|
||||
<token name="tr(releasedate)">
|
||||
<trans lang="en_EN">Release Date</trans>
|
||||
@ -236,7 +236,7 @@
|
||||
<trans lang="de_DE">Laufzeit</trans>
|
||||
<trans lang="fi_FI">Kesto</trans>
|
||||
<trans lang="hu_HU">Hossz</trans>
|
||||
<trans lang="it_IT">Runtime</trans>
|
||||
<trans lang="it_IT">Durata</trans>
|
||||
</token>
|
||||
<token name="tr(popularity)">
|
||||
<trans lang="en_EN">Popularity</trans>
|
||||
@ -278,7 +278,7 @@
|
||||
<trans lang="de_DE">Länge der Aufnahme</trans>
|
||||
<trans lang="fi_FI">Tallenteen pituus</trans>
|
||||
<trans lang="hu_HU">Felvétel hossza</trans>
|
||||
<trans lang="it_IT">Lnghezza registrazzione</trans>
|
||||
<trans lang="it_IT">Lunghezza registrazione</trans>
|
||||
</token>
|
||||
<token name="tr(reclengthcutted)">
|
||||
<trans lang="en_EN">Cutted Recording Length</trans>
|
||||
@ -383,7 +383,7 @@
|
||||
<trans lang="de_DE">Windgeschwindigkeit</trans>
|
||||
<trans lang="fi_FI">Tuulen nopeus</trans>
|
||||
<trans lang="hu_HU">Szélsebesség</trans>
|
||||
<trans lang="it_IT">Velcità vento</trans>
|
||||
<trans lang="it_IT">Velocità vento</trans>
|
||||
</token>
|
||||
<token name="tr(cloudcover)">
|
||||
<trans lang="en_EN">Cloud Cover</trans>
|
||||
@ -465,22 +465,27 @@
|
||||
<token name="tr(lastrecs)">
|
||||
<trans lang="en_EN">last recordings</trans>
|
||||
<trans lang="de_DE">Neueste Aufnahmen</trans>
|
||||
<trans lang="it_IT">ultime registrazioni</trans>
|
||||
</token>
|
||||
<token name="tr(sysinfo)">
|
||||
<trans lang="en_EN">system information</trans>
|
||||
<trans lang="de_DE">System Informationen</trans>
|
||||
<trans lang="it_IT">info di sistema</trans>
|
||||
</token>
|
||||
<token name="tr(load)">
|
||||
<trans lang="en_EN">System load:</trans>
|
||||
<trans lang="de_DE">Systemlast:</trans>
|
||||
<trans lang="it_IT">Utilizzo del sistema</trans>
|
||||
</token>
|
||||
<token name="tr(vdrcpu)">
|
||||
<trans lang="en_EN">VDR CPU</trans>
|
||||
<trans lang="de_DE">VDR CPU</trans>
|
||||
<trans lang="it_IT">VDR CPU</trans>
|
||||
</token>
|
||||
<token name="tr(new)">
|
||||
<trans lang="en_EN">new</trans>
|
||||
<trans lang="de_DE">neu</trans>
|
||||
<trans lang="it_IT">nuovo</trans>
|
||||
</token>
|
||||
</translations>
|
||||
<fonts>
|
||||
|
@ -40,79 +40,98 @@
|
||||
<token name="tr(sepmainmenu)">
|
||||
<trans lang="en_EN">Main Menu</trans>
|
||||
<trans lang="de_DE">Hauptmenü</trans>
|
||||
<trans lang="it_IT">Menù principale</trans>
|
||||
</token>
|
||||
<token name="tr(mainmenusmall)">
|
||||
<trans lang="en_EN">Small Main Menu</trans>
|
||||
<trans lang="de_DE">Schmales Hauptmenü</trans>
|
||||
<trans lang="it_IT">Menù principale piccolo</trans>
|
||||
</token>
|
||||
<token name="tr(fadecurrenttext)">
|
||||
<trans lang="en_EN">Fade time of current element [ms]</trans>
|
||||
<trans lang="de_DE">Einblendzeit des aktiven Elements [ms]</trans>
|
||||
<trans lang="it_IT">Tempo di dissolvenza dell'elemento attuale</trans>
|
||||
</token>
|
||||
<token name="tr(helpfadecurrent)">
|
||||
<trans lang="en_EN">Fade time in ms. If this is set to a value larger 0 the current OSD element fade in and out.</trans>
|
||||
<trans lang="de_DE">Einblendzeit in ms. Ist dieser Wert auf einen Wert > 0 gesetzt, wird das aktive OSD Element ein- und ausgeblendet</trans>
|
||||
<trans lang="it_IT">Tempo di dissolvenza in ms. Settato a valore > 0 l'attuale OSD si dissolve in entrata e uscita</trans>
|
||||
</token>
|
||||
<token name="tr(helpshowinformation)">
|
||||
<trans lang="en_EN">Show information about timers, newest recordings, system load... 'oldstyle' showes the wide timer element but lacks some other infos.</trans>
|
||||
<trans lang="de_DE">Zeige Informationen über Timer, neuste Aufnahmen, Systemlast... 'oldstyle' zeigt dabei des breite Timer-Element, nutzt dafür aber nicht alle Infos.</trans>
|
||||
<trans lang="it_IT">Mostra info su timers, nuove registrazioni, carico sistema... 'oldstyle mostra l'elemento timer ampio ma mancano altre info </trans>
|
||||
</token>
|
||||
<token name="tr(helpshowscrollbar)">
|
||||
<trans lang="en_EN">Show Scrollbar in Main Menu. Auto hides the scrollbar if its not needed.</trans>
|
||||
<trans lang="de_DE">Zeige die Scroll-Leiste im Hauptmenü. Auto versteckt die Leiste, wenn sie nicht benötigt wird.</trans>
|
||||
<trans lang="it_IT">Mostra barra scorrimento in menù principale. Auto disabilita la barra se non necessaria</trans>
|
||||
</token>
|
||||
<token name="tr(helpshowweather)">
|
||||
<trans lang="en_EN">Off, main menu only or main menu and channelinfo</trans>
|
||||
<trans lang="de_DE">Aus, nur Hauptmenü oder Haputmenü und Kanalinformationen</trans>
|
||||
<trans lang="it_IT">Spento, solo menù principale o menù princ. e info canale</trans>
|
||||
</token>
|
||||
<token name="tr(infolistitemsmaxtext)">
|
||||
<trans lang="en_EN">Number of Information lists items (max)</trans>
|
||||
<trans lang="de_DE">Elemente in den Info-Listen (max)</trans>
|
||||
<trans lang="it_IT">Numero voci lista Informazioni (max)</trans>
|
||||
</token>
|
||||
<token name="tr(chlistitemsmaxtext)">
|
||||
<trans lang="en_EN">Number of Channel list items (max)</trans>
|
||||
<trans lang="de_DE">Elemente in der Kanalliste (max)</trans>
|
||||
<trans lang="it_IT">Numero voci lista canali (max)</trans>
|
||||
</token>
|
||||
<token name="tr(listitemsmaxtext)">
|
||||
<trans lang="en_EN">Number of list items (max)</trans>
|
||||
<trans lang="de_DE">Elemente in andern Listen (max)</trans>
|
||||
<trans lang="it_IT">Numero voci lista (max)</trans>
|
||||
</token>
|
||||
<token name="tr(menuitemsmaxtext)">
|
||||
<trans lang="en_EN">Number of Main Menu items (max)</trans>
|
||||
<trans lang="de_DE">Elemente im Hauptmenü (max)</trans>
|
||||
<trans lang="it_IT">Numero voci Menù principale (max)</trans>
|
||||
</token>
|
||||
<token name="tr(menu)">
|
||||
<trans lang="en_EN">main menu</trans>
|
||||
<trans lang="de_DE">im Hauptmenü</trans>
|
||||
<trans lang="it_IT">menù principale</trans>
|
||||
</token>
|
||||
<token name="tr(no)">
|
||||
<trans lang="en_EN">no</trans>
|
||||
<trans lang="de_DE">nein</trans>
|
||||
<trans lang="it_IT">no</trans>
|
||||
</token>
|
||||
<token name="tr(yes)">
|
||||
<trans lang="en_EN">yes</trans>
|
||||
<trans lang="de_DE">ja</trans>
|
||||
<trans lang="it_IT">si</trans>
|
||||
</token>
|
||||
<token name="tr(auto)">
|
||||
<trans lang="en_EN">automatic</trans>
|
||||
<trans lang="de_DE">automatisch</trans>
|
||||
<trans lang="it_IT">automatico</trans>
|
||||
</token>
|
||||
<token name="tr(oldstyle)">
|
||||
<trans lang="en_EN">oldsytle</trans>
|
||||
<trans lang="de_DE">oldstyle</trans>
|
||||
<trans lang="it_IT">oldstyle</trans>
|
||||
</token>
|
||||
|
||||
<token name="tr(showscrollbar)">
|
||||
<trans lang="en_EN">Show Scrollbar</trans>
|
||||
<trans lang="de_DE">Zeige Scrollbar</trans>
|
||||
<trans lang="it_IT">Mostra barra scorrimento</trans>
|
||||
</token>
|
||||
<token name="tr(showweather)">
|
||||
<trans lang="en_EN">Show Weather info</trans>
|
||||
<trans lang="de_DE">Wetter Info anzeigen</trans>
|
||||
<trans lang="it_IT">Mostra info Meteo</trans>
|
||||
</token>
|
||||
<token name="tr(showinformation)">
|
||||
<trans lang="en_EN">Show Information in main menu</trans>
|
||||
<trans lang="de_DE">Zeige Informationen im Hauptmenü</trans>
|
||||
<trans lang="it_IT">Mostra info nel menù principale</trans>
|
||||
</token>
|
||||
<!-- displaychannel / zapcockpit -->
|
||||
<token name="tr(sepzapcockpit)">
|
||||
@ -142,18 +161,19 @@
|
||||
<token name="tr(doitsimple)">
|
||||
<trans lang="en_EN">Disable text scolling</trans>
|
||||
<trans lang="de_DE">Text-Scrolling abschalten</trans>
|
||||
<trans lang="it_IT">Disabilita scorrimento testo</trans>
|
||||
</token>
|
||||
<token name="tr(zapchannelhintsheight)">
|
||||
<trans lang="en_EN">Height channel hints (% of screen height)</trans>
|
||||
<trans lang="de_DE">Höhe Kanal Hinweise (% der Bildschirmhöhe)</trans>
|
||||
<trans lang="fi_FI">Korkeus (% näytön korkeudesta)</trans>
|
||||
<trans lang="it_IT">Altezza suggerimenti canale (% della altezza del video)</trans>
|
||||
<trans lang="it_IT">Altezza suggerimenti canale (in % altezza dello schermo)</trans>
|
||||
</token>
|
||||
<token name="tr(zapchannelhintswidth)">
|
||||
<trans lang="en_EN">Width channel hints (% of screen width)</trans>
|
||||
<trans lang="de_DE">Breite Kanal Hinweise (% der Bildschirmbreite)</trans>
|
||||
<trans lang="fi_FI">Leveys (% näytön leveydestä)</trans>
|
||||
<trans lang="it_IT">Larghezza suggerimenti canale (% della larghezza del video)</trans>
|
||||
<trans lang="it_IT">Larghezza suggerimenti canale (in % larghezza dello schermo)</trans>
|
||||
</token>
|
||||
<!-- metrixhd -->
|
||||
<token name="tr(fadetext)">
|
||||
@ -166,7 +186,7 @@
|
||||
<trans lang="en_EN">Fade time in ms. If this is set to a value larger 0 all OSD elements beside the VDR menu fade in and out.</trans>
|
||||
<trans lang="de_DE">Einblendzeit in ms. Ist dieser Wert auf einen Wert > 0 gesetzt, werden alle OSD Elemente ausser dem VDR Menu ein- und ausgeblendet</trans>
|
||||
<trans lang="fi_FI">Häivytyksen kesto millisekunteina. Nollasta eriävä arvo aktivoi häivytyksen.</trans>
|
||||
<trans lang="it_IT">Tempo di dissolvenza in ms. Se settato su un valore maggiore di 0 tutti gli elementi OSD accanto al menu di VDR si dissolvono in entrata ed uscita.</trans>
|
||||
<trans lang="it_IT">Tempo di dissolvenza in ms. Settato > di 0 tutti gli elementi OSD accanto al menu di VDR si dissolvono in entrata ed uscita.</trans>
|
||||
</token>
|
||||
<token name="tr(shifttimechanneltext)">
|
||||
<trans lang="en_EN">Shift time Channel Display [ms]</trans>
|
||||
@ -178,7 +198,7 @@
|
||||
<trans lang="en_EN">Shifting time in ms. If this is set to a value larger 0 all OSD elements beside the VDR menu are shifted in and out from the bottom of the screen. If fadetime is also set to a value larger 0, still shifting is performed</trans>
|
||||
<trans lang="de_DE">Einfahrzeit in ms. Ist dieser Wert auf einen Wert > 0 gesetzt, werden alle OSD Elemente ausser dem VDR Menu vom unteren Rand des Bildschirms herein- und herausgefahren. Falls fadetime ebenfalls auf einen Wert größer 0 gesetzt ist, wird das OSD trotzdem herein- und herausgefahren.</trans>
|
||||
<trans lang="fi_FI">Liukuman kesto millisekunteina. Nollasta eriävä arvo aktivoi valikkojen transitioefektit riippumatta häivytyksen kestosta.</trans>
|
||||
<trans lang="it_IT">Tempi cambio canale in ms. Se settato su un valore maggiore di 0 tutti gli elementi OSD accanto al menu di VDR vengono spostati in e out dal basso dello schermo. Lo spostamento è effettuato anche con tempo di dissolvenza maggiore di 0</trans>
|
||||
<trans lang="it_IT">Tempi cambio canale in ms. Settato su un valore > di 0 tutti gli elementi OSD accanto al menu di VDR vengono spostati in e out dal basso dello schermo. Lo spostamento è effettuato anche con tempo di dissolvenza > di 0</trans>
|
||||
</token>
|
||||
<token name="tr(shifttimedatetimetext)">
|
||||
<trans lang="en_EN">Shift time Channel Date, Time, Weather [ms]</trans>
|
||||
@ -190,7 +210,7 @@
|
||||
<trans lang="en_EN">Shifting time of OSD Elements date, time and weather when switching in ms. If set to 0, the elements are shown immediately.</trans>
|
||||
<trans lang="de_DE">Einfahrzeit der OSD Elemente Datum, Zeit und Wetter während des Umschaltens in ms. Steht dieser Wert auf 0, werden die Elemente sofort angezeigt.</trans>
|
||||
<trans lang="fi_FI">Liukuman kesto millisekunteina. Nollasta eriävä arvo aktivoi päivämäärän, kellonajan ja säätietojen transitioefektit.</trans>
|
||||
<trans lang="it_IT">Tempi di cambio degli elemti OSD, Canale, Data, Tempo, Previsioni espressi in ms. Se impostato a0 gli elementi sono mostrati immediatamente.</trans>
|
||||
<trans lang="it_IT">Tempi di cambio degli elemti OSD, Canale, Data, Tempo, Previsioni espressi in ms. Settato a 0 gli elementi sono mostrati immediatamente.</trans>
|
||||
</token>
|
||||
<token name="tr(shifttimetimerstext)">
|
||||
<trans lang="en_EN">Shift time Timers Main Menu [ms]</trans>
|
||||
@ -202,23 +222,27 @@
|
||||
<trans lang="en_EN">Shifting time of timers display in main menu in ms. If set to 0, the timers are shown immediately.</trans>
|
||||
<trans lang="de_DE">Einfahrzeit der Timer im Hauptmenü in ms. Steht dieser Wert auf 0, werden die Timer sofort angezeigt.</trans>
|
||||
<trans lang="fi_FI">Liukuman kesto millisekunteina. Nollasta eriävä arvo aktivoi transitioefektit päävalikon ajastimille.</trans>
|
||||
<trans lang="it_IT">Tempi di cambio del display dei Timer nel menù principale in ms. Se impostati a 0, i timers sono mostrati immediatamente.</trans>
|
||||
<trans lang="it_IT">Tempi di cambio del display dei Timer nel menù principale in ms. Impostati a 0, i timers sono mostrati immediatamente.</trans>
|
||||
</token>
|
||||
<token name="tr(listfadetimetext)">
|
||||
<trans lang="en_EN">Fade time menus [ms]</trans>
|
||||
<trans lang="de_DE">Überblendungszeit Menüs [ms]</trans>
|
||||
<trans lang="it_IT">Menù tempo dissolvenza [ms]</trans>
|
||||
</token>
|
||||
<token name="tr(listshifttimetext)">
|
||||
<trans lang="en_EN">Shift time menus [ms]</trans>
|
||||
<trans lang="de_DE">Übergangszeit Menüelemente [ms]</trans>
|
||||
<trans lang="it_IT">Menù tempo cambio [ms]</trans>
|
||||
</token>
|
||||
<token name="tr(helplistfadetime)">
|
||||
<trans lang="en_EN">Fade time of menu elements when scrolling through the menus. If set to 0, this effect is disabled.</trans>
|
||||
<trans lang="de_DE">Überblendungszeit der Menüelemente beim Bewegen durch die Menüs. Steht dieser Wert auf 0, ist dieser Effekt deaktiviert.</trans>
|
||||
<trans lang="it_IT">Tempo dissolvenza menù elementi scorrendo i menù. Settato a 0, questo effetto è disabilitato</trans>
|
||||
</token>
|
||||
<token name="tr(helplistshifttime)">
|
||||
<trans lang="en_EN">Shift time of menu elements when scrolling through the menus. If set to 0, this effect is disabled.</trans>
|
||||
<trans lang="de_DE">Übergangszeit der Menüelemente beim Bewegen durch die Menüs. Steht dieser Wert auf 0, ist dieser Effekt deaktiviert.</trans>
|
||||
<trans lang="it_IT">Tempo cambio menù elementi scorrendo i menù. Settato a 0, questo effetto è disabilitato</trans>
|
||||
</token>
|
||||
<token name="tr(showdevices)">
|
||||
<trans lang="en_EN">Show DVB device info</trans>
|
||||
@ -230,7 +254,7 @@
|
||||
<trans lang="en_EN">If set to true, information about usage of each available DVB device is displayed during channel switching and in the main menu</trans>
|
||||
<trans lang="de_DE">Falls diese Option aktiviert ist, werden beim Umschalten und im Hauptmenü Informationen über alle verfügbaren DVB Devices ausgegeben.</trans>
|
||||
<trans lang="fi_FI">Näytetään DVB-laitteiden käyttötiedot päävalikossa ja kanavanvaihdossa.</trans>
|
||||
<trans lang="it_IT">Se settata su true, sono mostrate info riguardo l'uso di ciascun device DVB durante i cambi canale e nel menù principale.</trans>
|
||||
<trans lang="it_IT">Settata su true, sono mostrate info riguardo l'uso di ciascun device DVB durante i cambi canale e nel menù principale.</trans>
|
||||
</token>
|
||||
<token name="tr(mainmenuorientation)">
|
||||
<trans lang="en_EN">Orientation of main menu</trans>
|
||||
@ -242,7 +266,7 @@
|
||||
<trans lang="en_EN">Orientation of main menu. If orientation is set to horizontal, only the current list element is displayed. If set to vertical, 8 elements are shown in the list.</trans>
|
||||
<trans lang="de_DE">Ausrichtung des Hauptmenüs. Falls die Ausrichtung auf horizontal gesetzt ist, wird nur das aktuelle Listenelement ausgegeben. Ist die Ausrichtung vertikal, werden 8 Listenelemente angezeigt.</trans>
|
||||
<trans lang="fi_FI">Päävalikon orientaatio. Vaakasuuntainen: näytetään ainoastaan aktiivinen listaelementti. Pystysuuntainen: näytetään 8 elementtiä listana.</trans>
|
||||
<trans lang="it_IT">Orientamento menù principale. Se l'orientamento è su orizzontale, è mostrato solo l'attuale lista degli elementi. Se settata su verticale, nella lista sono mostrati 8 elementi.</trans>
|
||||
<trans lang="it_IT">Orientamento menù principale. Settato su orizzontale, è mostrato solo l'attuale lista degli elementi. Se settata su verticale, nella lista sono mostrati 8 elementi.</trans>
|
||||
</token>
|
||||
<token name="tr(recmenuorientation)">
|
||||
<trans lang="en_EN">Orientation of recordings menu</trans>
|
||||
@ -259,6 +283,7 @@
|
||||
<token name="tr(setupmenuorientation)">
|
||||
<trans lang="en_EN">Orientation of setup menu</trans>
|
||||
<trans lang="de_DE">Ausrichtung des Einstellungsmenüs</trans>
|
||||
<trans lang="it_IT">Orientamento Menù setup</trans>
|
||||
</token>
|
||||
<token name="tr(horizontal)">
|
||||
<trans lang="en_EN">horizontal menu</trans>
|
||||
|
@ -58,7 +58,8 @@
|
||||
{rectime} Time of Recording in hh:mm
|
||||
{eventstart} Starttime of coresponding event in timeshiftmode in hh:mm
|
||||
{eventstop} Endtime of coresponding event in timeshiftmode in hh:mm
|
||||
{timeshift} true if a timeshifted recording is displayed
|
||||
{timeshift} 1 if a active recording is displayed
|
||||
2 if a timeshift recording is displayed
|
||||
-->
|
||||
<rectitle>
|
||||
</rectitle>
|
||||
@ -76,54 +77,60 @@
|
||||
</recinfo>
|
||||
|
||||
<!-- Available Variables currenttime:
|
||||
{reccurrent} Current Time in hh:mm:ss
|
||||
{timeshift} true if a timeshifted recording is displayed
|
||||
{reccurrent} Current Time in hh:mm:ss
|
||||
{timeshift} 1 if a active recording is displayed
|
||||
2 if a timeshift recording is displayed
|
||||
-->
|
||||
<currenttime>
|
||||
</currenttime>
|
||||
|
||||
<!-- Available Variables totaltime:
|
||||
{rectotal} Total Time in hh:mm:ss
|
||||
{timeshift} true if a timeshifted recording is displayed
|
||||
{timeshifttotal} Total Time of timeshift event in hh:mm
|
||||
{rectotal} Total Time in hh:mm:ss
|
||||
{timeshift} 1 if a active recording is displayed
|
||||
2 if a timeshift recording is displayed
|
||||
{timeshifttotal} Total Time of timeshift event in hh:mm
|
||||
-->
|
||||
<totaltime>
|
||||
</totaltime>
|
||||
|
||||
<!-- Available Variables timeshifttimes:
|
||||
{recstart} Start Time in hh:mm
|
||||
{playbacktime} actual replaying time in timeshift mode in hh:mm
|
||||
{timeshiftrest} Rest of unseen timeshift buffer in hh:mm
|
||||
{timeshift} true if a timeshifted recording is displayed
|
||||
{recstart} Start Time in hh:mm
|
||||
{playbacktime} actual replaying time in timeshift mode in hh:mm
|
||||
{timeshiftrest} Rest of unseen timeshift buffer in hh:mm
|
||||
{timeshift} 1 if a active recording is displayed
|
||||
2 if a timeshift recording is displayed
|
||||
-->
|
||||
<timeshifttimes>
|
||||
</timeshifttimes>
|
||||
|
||||
<!-- Available Variables endtime:
|
||||
{recend} End Time in hh:mm
|
||||
{timeshift} true if a timeshifted recording is displayed
|
||||
{recend} End Time in hh:mm
|
||||
{timeshift} 1 if a active recording is displayed
|
||||
2 if a timeshift recording is displayed
|
||||
-->
|
||||
<endtime>
|
||||
</endtime>
|
||||
|
||||
<!-- Available Variables progressbar:
|
||||
{current} current frame of recording
|
||||
{total} total frames of recording
|
||||
{timeshift} true if a timeshifted recording is displayed
|
||||
{timeshifttotal} total number of frames of timeshift event
|
||||
{current} current frame of recording
|
||||
{total} total frames of recording
|
||||
{timeshift} 1 if a active recording is displayed
|
||||
2 if a timeshift recording is displayed
|
||||
{timeshifttotal} total number of frames of timeshift event
|
||||
-->
|
||||
<progressbar>
|
||||
</progressbar>
|
||||
|
||||
<!-- Available Variables cutmarks:
|
||||
{timeshift} true if a timeshifted recording is displayed
|
||||
{marks[]} array of available marks
|
||||
{marks[position]} frame of current mark
|
||||
{marks[endposition]} frame where startmark ends
|
||||
{marks[total]} total number of frames
|
||||
{marks[timeshifttotal]} total number of frames of timeshift event
|
||||
{marks[active]} true if current replay position hits exactly the mark
|
||||
{marks[startmark]} true if mark is start mark
|
||||
{timeshift} 1 if a active recording is displayed
|
||||
2 if a timeshift recording is displayed
|
||||
{marks[]} array of available marks
|
||||
{marks[position]} frame of current mark
|
||||
{marks[endposition]} frame where startmark ends
|
||||
{marks[total]} total number of frames
|
||||
{marks[timeshifttotal]} total number of frames of timeshift event
|
||||
{marks[active]} true if current replay position hits exactly the mark
|
||||
{marks[startmark]} true if mark is start mark
|
||||
-->
|
||||
<cutmarks>
|
||||
</cutmarks>
|
||||
|
Loading…
Reference in New Issue
Block a user