mirror of
https://projects.vdr-developer.org/git/vdr-plugin-tvguide.git
synced 2023-10-05 13:01:48 +00:00
Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a711aed160 | ||
|
|
cdb5a46145 | ||
|
|
fc784f34e5 | ||
|
|
b707292485 | ||
|
|
587fbe1f44 | ||
|
|
9173d14b10 | ||
|
|
3386c05e91 | ||
|
|
a1eaf7a865 | ||
|
|
41eb32389d | ||
|
|
f4369c0772 |
16
HISTORY
16
HISTORY
@@ -210,3 +210,19 @@ Version 1.2.10
|
|||||||
- Simplify cRecMenuSearchTimerEdit::GetSearchTimer
|
- Simplify cRecMenuSearchTimerEdit::GetSearchTimer
|
||||||
- Fixed cRecMenuItemSelectDirectory::DrawValue
|
- Fixed cRecMenuItemSelectDirectory::DrawValue
|
||||||
- Some rework
|
- Some rework
|
||||||
|
|
||||||
|
Version 1.2.11
|
||||||
|
|
||||||
|
- Fixed a segfault with graphicsmagick > 1.3.31
|
||||||
|
- Fixed a possible deadlock in detailview
|
||||||
|
- Optical changes in cMenuSetupImageCache
|
||||||
|
|
||||||
|
Version 1.2.12
|
||||||
|
|
||||||
|
- Fixed updating current time
|
||||||
|
- Fixed updating current TimeBase
|
||||||
|
- Diplay the current TimeBase throughout the whole timeline
|
||||||
|
|
||||||
|
Version 1.2.13
|
||||||
|
|
||||||
|
- Revert "Diplay the current TimeBase throughout the whole timeline"
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
#include "detailview.h"
|
#include "detailview.h"
|
||||||
|
|
||||||
cDetailView::cDetailView(const cEvent *event, cFooter *footer) {
|
cDetailView::cDetailView(const cEvent *event, cFooter *footer) : cThread("DetailView") {
|
||||||
this->event = event;
|
this->event = event;
|
||||||
this->footer = footer;
|
this->footer = footer;
|
||||||
}
|
}
|
||||||
|
|
||||||
cDetailView::~cDetailView(void){
|
cDetailView::~cDetailView(void){
|
||||||
Cancel(-1);
|
Cancel(3);
|
||||||
while (Active())
|
while (Active())
|
||||||
cCondWait::SleepMs(10);
|
cCondWait::SleepMs(10);
|
||||||
#if VDRVERSNUM >= 20301
|
#if VDRVERSNUM >= 20301
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
using namespace Magick;
|
using namespace Magick;
|
||||||
|
|
||||||
cImageLoader::cImageLoader() {
|
cImageLoader::cImageLoader() {
|
||||||
InitializeMagick(NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cImageLoader::~cImageLoader() {
|
cImageLoader::~cImageLoader() {
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
#include "imagescaler.h"
|
#include "imagescaler.h"
|
||||||
|
|
||||||
cImageMagickWrapper::cImageMagickWrapper() {
|
cImageMagickWrapper::cImageMagickWrapper() {
|
||||||
InitializeMagick(NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cImageMagickWrapper::~cImageMagickWrapper() {
|
cImageMagickWrapper::~cImageMagickWrapper() {
|
||||||
|
|||||||
10
setup.c
10
setup.c
@@ -508,11 +508,11 @@ void cMenuSetupImageCache::Set(void) {
|
|||||||
Add(new cMenuEditIntItem(tr("Number of logos to cache at start"), &tmpConfig->numLogosInitial, 0, 9999));
|
Add(new cMenuEditIntItem(tr("Number of logos to cache at start"), &tmpConfig->numLogosInitial, 0, 9999));
|
||||||
|
|
||||||
Add(InfoItem(tr("Cache Sizes"), ""));
|
Add(InfoItem(tr("Cache Sizes"), ""));
|
||||||
Add(InfoItem(tr("OSD Element Cache"), (imgCache.GetCacheSize(ctOsdElement)).c_str()));
|
Add(InfoItem(tr("OSD Element Cache"), cString::sprintf("\t%s", (imgCache.GetCacheSize(ctOsdElement)).c_str())));
|
||||||
Add(InfoItem(tr("Logo cache"), (imgCache.GetCacheSize(ctLogo)).c_str()));
|
Add(InfoItem(tr("Logo cache"), cString::sprintf("\t%s", (imgCache.GetCacheSize(ctLogo)).c_str())));
|
||||||
Add(InfoItem(tr("EPG Grid Cache"), (imgCache.GetCacheSize(ctGrid)).c_str()));
|
Add(InfoItem(tr("EPG Grid Cache"), cString::sprintf("\t%s", (imgCache.GetCacheSize(ctGrid)).c_str())));
|
||||||
Add(InfoItem(tr("Channel Groups Cache"), (imgCache.GetCacheSize(ctChannelGroup)).c_str()));
|
Add(InfoItem(tr("Channel Groups Cache"), cString::sprintf("\t%s", (imgCache.GetCacheSize(ctChannelGroup)).c_str())));
|
||||||
Add(InfoItem(tr("Recording Menus Icon Cache"), (imgCache.GetCacheSize(ctIcon)).c_str()));
|
Add(InfoItem(tr("Recording Menus Icon Cache"), cString::sprintf("\t%s", (imgCache.GetCacheSize(ctIcon)).c_str())));
|
||||||
|
|
||||||
SetCurrent(Get(currentItem));
|
SetCurrent(Get(currentItem));
|
||||||
Display();
|
Display();
|
||||||
|
|||||||
34
timeline.c
34
timeline.c
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
cTimeLine::cTimeLine(cTimeManager *timeManager) {
|
cTimeLine::cTimeLine(cTimeManager *timeManager) {
|
||||||
this->timeManager = timeManager;
|
this->timeManager = timeManager;
|
||||||
|
lastClock = "";
|
||||||
if (config.displayMode == eVertical) {
|
if (config.displayMode == eVertical) {
|
||||||
dateViewer = new cStyledPixmap(osdManager.requestPixmap(1, cRect(0,
|
dateViewer = new cStyledPixmap(osdManager.requestPixmap(1, cRect(0,
|
||||||
geoManager.statusHeaderHeight + geoManager.clockHeight,
|
geoManager.statusHeaderHeight + geoManager.clockHeight,
|
||||||
@@ -263,20 +264,25 @@ void cTimeLine::setTimeline() {
|
|||||||
drawCurrentTimeBase();
|
drawCurrentTimeBase();
|
||||||
}
|
}
|
||||||
|
|
||||||
void cTimeLine::drawClock() {
|
bool cTimeLine::drawClock() {
|
||||||
if (config.displayMode == eVertical)
|
|
||||||
clock->Fill(clrTransparent);
|
|
||||||
cString currentTime = timeManager->GetCurrentTime();
|
cString currentTime = timeManager->GetCurrentTime();
|
||||||
const cFont *font = (config.displayMode == eVertical)?fontManager.FontTimeLineTime:fontManager.FontTimeLineTimeHorizontal;
|
if (strcmp(currentTime, lastClock)) {
|
||||||
int textHeight = font->Height();
|
if (config.displayMode == eVertical)
|
||||||
int clockTextWidth = font->Width(*currentTime);
|
clock->Fill(clrTransparent);
|
||||||
tColor colorFontBack = (config.style == eStyleFlat)?theme.Color(clrHeader):clrTransparent;
|
const cFont *font = (config.displayMode == eVertical) ? fontManager.FontTimeLineTime : fontManager.FontTimeLineTimeHorizontal;
|
||||||
if (config.style == eStyleGraphical) {
|
int textHeight = font->Height();
|
||||||
clock->drawBackgroundGraphical(bgClock);
|
int clockTextWidth = font->Width(*currentTime);
|
||||||
} else {
|
tColor colorFontBack = (config.style == eStyleFlat) ? theme.Color(clrHeader) : clrTransparent;
|
||||||
clock->setColor(theme.Color(clrHeader), theme.Color(clrHeaderBlending));
|
if (config.style == eStyleGraphical) {
|
||||||
clock->drawBackground();
|
clock->drawBackgroundGraphical(bgClock);
|
||||||
clock->drawBorder();
|
} else {
|
||||||
|
clock->setColor(theme.Color(clrHeader), theme.Color(clrHeaderBlending));
|
||||||
|
clock->drawBackground();
|
||||||
|
clock->drawBorder();
|
||||||
|
}
|
||||||
|
clock->DrawText(cPoint((geoManager.clockWidth - clockTextWidth) / 2, (geoManager.clockHeight - textHeight) / 2), *currentTime, theme.Color(clrFont), colorFontBack, font);
|
||||||
|
lastClock = currentTime;
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
clock->DrawText(cPoint((geoManager.clockWidth-clockTextWidth)/2, (geoManager.clockHeight-textHeight)/2), *currentTime, theme.Color(clrFont), colorFontBack, font);
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
11
timeline.h
11
timeline.h
@@ -13,17 +13,18 @@ private:
|
|||||||
cPixmap *timeline;
|
cPixmap *timeline;
|
||||||
cStyledPixmap *clock;
|
cStyledPixmap *clock;
|
||||||
cPixmap *timeBase;
|
cPixmap *timeBase;
|
||||||
|
cString lastClock;
|
||||||
void decorateTile(int posX, int posY, int tileWidth, int tileHeight);
|
void decorateTile(int posX, int posY, int tileWidth, int tileHeight);
|
||||||
void drawRoundedCorners(int posX, int posY, int width, int height, int radius);
|
void drawRoundedCorners(int posX, int posY, int width, int height, int radius);
|
||||||
cImage *createBackgroundImage(int width, int height, tColor clrBgr, tColor clrBlend);
|
cImage *createBackgroundImage(int width, int height, tColor clrBgr, tColor clrBlend);
|
||||||
void drawCurrentTimeBase(void);
|
|
||||||
public:
|
public:
|
||||||
cTimeLine(cTimeManager *timeManager);
|
cTimeLine(cTimeManager *timeManager);
|
||||||
virtual ~cTimeLine(void);
|
virtual ~cTimeLine(void);
|
||||||
void setTimeline();
|
void setTimeline(void);
|
||||||
void drawDateViewer();
|
void drawDateViewer(void);
|
||||||
void drawTimeline();
|
void drawTimeline(void);
|
||||||
void drawClock();
|
void drawCurrentTimeBase(void);
|
||||||
|
bool drawClock();
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //__TVGUIDE_TIMELINE_H
|
#endif //__TVGUIDE_TIMELINE_H
|
||||||
|
|||||||
@@ -12,6 +12,7 @@
|
|||||||
#include <vdr/plugin.h>
|
#include <vdr/plugin.h>
|
||||||
#include <vdr/device.h>
|
#include <vdr/device.h>
|
||||||
#include <vdr/menu.h>
|
#include <vdr/menu.h>
|
||||||
|
#include <Magick++.h>
|
||||||
|
|
||||||
#define DEFINE_CONFIG 1
|
#define DEFINE_CONFIG 1
|
||||||
#include "geometrymanager.h"
|
#include "geometrymanager.h"
|
||||||
@@ -26,7 +27,7 @@
|
|||||||
#error "VDR-2.0.0 API version or greater is required!"
|
#error "VDR-2.0.0 API version or greater is required!"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static const char *VERSION = "1.2.10";
|
static const char *VERSION = "1.2.13";
|
||||||
static const char *DESCRIPTION = tr("A fancy 2d EPG Viewer");
|
static const char *DESCRIPTION = tr("A fancy 2d EPG Viewer");
|
||||||
static const char *MAINMENUENTRY = "Tvguide";
|
static const char *MAINMENUENTRY = "Tvguide";
|
||||||
|
|
||||||
@@ -93,6 +94,10 @@ bool cPluginTvguide::ProcessArgs(int argc, char *argv[]) {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
__attribute__((constructor)) static void init(void) {
|
||||||
|
Magick::InitializeMagick(NULL);
|
||||||
|
}
|
||||||
|
|
||||||
bool cPluginTvguide::Initialize(void) {
|
bool cPluginTvguide::Initialize(void) {
|
||||||
config.SetDefaultPathes();
|
config.SetDefaultPathes();
|
||||||
config.LoadTheme();
|
config.LoadTheme();
|
||||||
|
|||||||
10
tvguideosd.c
10
tvguideosd.c
@@ -352,7 +352,7 @@ void cTvGuideOsd::channelBack() {
|
|||||||
|
|
||||||
void cTvGuideOsd::timeForward() {
|
void cTvGuideOsd::timeForward() {
|
||||||
bool actionDone = false;
|
bool actionDone = false;
|
||||||
if ( (timeManager->GetEnd() - activeGrid->EndTime())/60 < 30 ) {
|
if ((timeManager->GetEnd() - activeGrid->EndTime())/60 < 30 ) {
|
||||||
ScrollForward();
|
ScrollForward();
|
||||||
actionDone = true;
|
actionDone = true;
|
||||||
}
|
}
|
||||||
@@ -373,7 +373,6 @@ void cTvGuideOsd::timeForward() {
|
|||||||
void cTvGuideOsd::ScrollForward() {
|
void cTvGuideOsd::ScrollForward() {
|
||||||
timeManager->AddStep(config.stepMinutes);
|
timeManager->AddStep(config.stepMinutes);
|
||||||
timeLine->drawDateViewer();
|
timeLine->drawDateViewer();
|
||||||
timeLine->drawClock();
|
|
||||||
timeLine->setTimeline();
|
timeLine->setTimeline();
|
||||||
for (cChannelEpg *column = columns.First(); column; column = columns.Next(column)) {
|
for (cChannelEpg *column = columns.First(); column; column = columns.Next(column)) {
|
||||||
column->AddNewGridsAtEnd();
|
column->AddNewGridsAtEnd();
|
||||||
@@ -384,7 +383,7 @@ void cTvGuideOsd::ScrollForward() {
|
|||||||
|
|
||||||
void cTvGuideOsd::timeBack() {
|
void cTvGuideOsd::timeBack() {
|
||||||
bool actionDone = false;
|
bool actionDone = false;
|
||||||
if ( (activeGrid->StartTime() - timeManager->GetStart())/60 < 30 ) {
|
if ((activeGrid->StartTime() - timeManager->GetStart())/60 < 30 ) {
|
||||||
ScrollBack();
|
ScrollBack();
|
||||||
actionDone = true;
|
actionDone = true;
|
||||||
}
|
}
|
||||||
@@ -408,7 +407,6 @@ void cTvGuideOsd::ScrollBack() {
|
|||||||
if (tooFarInPast)
|
if (tooFarInPast)
|
||||||
return;
|
return;
|
||||||
timeLine->drawDateViewer();
|
timeLine->drawDateViewer();
|
||||||
timeLine->drawClock();
|
|
||||||
timeLine->setTimeline();
|
timeLine->setTimeline();
|
||||||
for (cChannelEpg *column = columns.First(); column; column = columns.Next(column)) {
|
for (cChannelEpg *column = columns.First(); column; column = columns.Next(column)) {
|
||||||
column->AddNewGridsAtStart();
|
column->AddNewGridsAtStart();
|
||||||
@@ -776,6 +774,10 @@ eOSState cTvGuideOsd::ProcessKey(eKeys Key) {
|
|||||||
case kNone: if (channelJumper) CheckTimeout(); break;
|
case kNone: if (channelJumper) CheckTimeout(); break;
|
||||||
default: break;
|
default: break;
|
||||||
}
|
}
|
||||||
|
if (timeLine->drawClock()) {
|
||||||
|
timeLine->drawCurrentTimeBase();
|
||||||
|
osdManager.flush();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (!alreadyUnlocked) {
|
if (!alreadyUnlocked) {
|
||||||
cPixmap::Unlock();
|
cPixmap::Unlock();
|
||||||
|
|||||||
6
view.c
6
view.c
@@ -5,7 +5,7 @@
|
|||||||
* cView
|
* cView
|
||||||
********************************************************************************************/
|
********************************************************************************************/
|
||||||
|
|
||||||
cView::cView(void) {
|
cView::cView(void) : cThread("View") {
|
||||||
activeView = 0;
|
activeView = 0;
|
||||||
scrollable = false;
|
scrollable = false;
|
||||||
tabbed = false;
|
tabbed = false;
|
||||||
@@ -641,7 +641,7 @@ cSeriesView::cSeriesView(int seriesId, int episodeId) : cView() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
cSeriesView::~cSeriesView(void) {
|
cSeriesView::~cSeriesView(void) {
|
||||||
Cancel(-1);
|
Cancel(3);
|
||||||
while (Active())
|
while (Active())
|
||||||
cCondWait::SleepMs(10);
|
cCondWait::SleepMs(10);
|
||||||
}
|
}
|
||||||
@@ -863,7 +863,7 @@ cMovieView::cMovieView(int movieId) : cView() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
cMovieView::~cMovieView(void) {
|
cMovieView::~cMovieView(void) {
|
||||||
Cancel(-1);
|
Cancel(3);
|
||||||
while (Active())
|
while (Active())
|
||||||
cCondWait::SleepMs(10);
|
cCondWait::SleepMs(10);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user