From 01986088776da9d63dff8dfcb16534add5748543 Mon Sep 17 00:00:00 2001 From: Marten Richter Date: Tue, 14 Oct 2014 20:00:39 +0200 Subject: [PATCH] A couple of files were missing in git now added --- osdvector.cc | 60 +++++--- osdvector.h | 2 - other/properties.png | Bin 0 -> 4222 bytes other/radio.png | Bin 0 -> 2597 bytes other/recordings.png | Bin 0 -> 4419 bytes other/restart.png | Bin 0 -> 3207 bytes other/timers.png | Bin 0 -> 5370 bytes other/tv.png | Bin 0 -> 2566 bytes other/vdrhires.png | Bin 0 -> 76437 bytes vrecordinglistadvanced.cc | 314 ++++++++++++++++++++++++++++++++++++++ vrecordinglistadvanced.h | 50 ++++++ vrecordinglistclassic.cc | 200 ++++++++++++++++++++++++ vrecordinglistclassic.h | 45 ++++++ 13 files changed, 652 insertions(+), 19 deletions(-) create mode 100644 other/properties.png create mode 100644 other/radio.png create mode 100644 other/recordings.png create mode 100644 other/restart.png create mode 100644 other/timers.png create mode 100644 other/tv.png create mode 100644 other/vdrhires.png create mode 100644 vrecordinglistadvanced.cc create mode 100644 vrecordinglistadvanced.h create mode 100644 vrecordinglistclassic.cc create mode 100644 vrecordinglistclassic.h diff --git a/osdvector.cc b/osdvector.cc index 01f4d9a..ac2f059 100644 --- a/osdvector.cc +++ b/osdvector.cc @@ -153,14 +153,6 @@ Surface * OsdVector::createNewSurface() return new SurfaceVector(this); } -void OsdVector::BeginPainting() -{ - surfaces_mutex.Lock(); -} -void OsdVector::EndPainting() -{ - surfaces_mutex.Unlock(); -} void OsdVector::Blank() { @@ -369,11 +361,13 @@ void OsdVector::removeImageRef(const ImageIndex ref) int OsdVector::getLoadIndexRef(LoadIndex index) { + surfaces_mutex.Lock(); if (loadindex_ref.find(index)==loadindex_ref.end()) { return -1; } else { return loadindex_ref[index]; } + surfaces_mutex.Unlock(); } void OsdVector::incLoadIndexRef(LoadIndex index) @@ -488,11 +482,13 @@ void OsdVector::cleanupOrphanedRefs() int OsdVector::getImageRef(ImageIndex index) { + surfaces_mutex.Lock(); if (images_ref.find(index)==images_ref.end()) { return -1; } else { return images_ref[index]; } + surfaces_mutex.Unlock(); } void OsdVector::incStyleRef(unsigned int index) @@ -511,36 +507,52 @@ void OsdVector::removeStyleRef(unsigned int index) unsigned int OsdVector::getStyleRef(const DrawStyle &c) { + surfaces_mutex.Lock(); unsigned int style_handle=0; if (styles.find(pair((Colour*)&c,c.rgba()))==styles.end()) { - style_handle=styles[pair((Colour*)&c,c.rgba())]=createStyleRef(c); + surfaces_mutex.Unlock(); + style_handle=createStyleRef(c); + surfaces_mutex.Lock(); + styles[pair((Colour*)&c,c.rgba())]=style_handle; } else { style_handle=styles[pair((Colour*)&c,c.rgba())]; //Now check if the handle is valid if (styles_ref.find(style_handle)==styles_ref.end()) { //invalid handle recreate - style_handle=styles[pair((Colour*)&c,c.rgba())]=createStyleRef(c); + surfaces_mutex.Unlock(); + style_handle=createStyleRef(c); + surfaces_mutex.Lock(); + styles[pair((Colour*)&c,c.rgba())]=style_handle; } } incStyleRef(style_handle); + surfaces_mutex.Unlock(); return style_handle; } unsigned int OsdVector::getColorRef(const Colour &c) { + surfaces_mutex.Lock(); unsigned int style_handle=0; if (styles.find(pair((Colour*)&c,c.rgba()))==styles.end()) { - style_handle=styles[pair((Colour*)&c,c.rgba())]=createColorRef(c); + surfaces_mutex.Unlock(); + style_handle=createColorRef(c); + surfaces_mutex.Lock(); + styles[pair((Colour*)&c,c.rgba())]=style_handle; } else { style_handle=styles[pair((Colour*)&c,c.rgba())]; if (styles_ref.find(style_handle)==styles_ref.end()) { //invalid handle recreate - style_handle=styles[pair((Colour*)&c,c.rgba())]=createColorRef(c); + surfaces_mutex.Unlock(); + style_handle=createColorRef(c); + surfaces_mutex.Lock(); + styles[pair((Colour*)&c,c.rgba())]=style_handle; } } incStyleRef(style_handle); + surfaces_mutex.Unlock(); return style_handle; } @@ -557,6 +569,7 @@ LoadIndex OsdVector::getTVMediaRef(TVMediaInfo& tvmedia, ImageIndex& image) { ImageIndex image_handle=0; LoadIndex loadindex=0; + surfaces_mutex.Lock(); if (tvmedias.find(tvmedia)==tvmedias.end()) { loadindex=loadTVMedia(tvmedia); @@ -573,6 +586,7 @@ LoadIndex OsdVector::getTVMediaRef(TVMediaInfo& tvmedia, ImageIndex& image) /*tvmedias[tvmedia]=createTVMedia(tvmedia,width,height); incImageRef(image_handle);*/ image=image_handle; + surfaces_mutex.Unlock(); return loadindex; } @@ -619,15 +633,16 @@ void OsdVector::informPicture(LoadIndex index, ImageIndex imageIndex) //Beware for thread safety ImageIndex image_index=0; + Log::getInstance()->log("OsdVector", Log::DEBUG, "TVMedia Picture for request id %llx arrived %d",index, imageIndex); + surfaces_mutex.Lock(); TVMediaInfo tvmedia=tvmedias_load_inv[index]; - Log::getInstance()->log("OsdVector", Log::DEBUG, "TVMedia Picture for request id %llx arrived %d",index, imageIndex); if (imageIndex) { image_index=tvmedias[tvmedia]=imageIndex; tvmedias_loaded[index]=image_index; - if (getLoadIndexRef(index) < 1) { + if (loadindex_ref.find(index)==loadindex_ref.end()) { // we do not want the picture anymore . Really... // fill images_ref in to not irritate the garbage collector - if (getImageRef(image_index) < 0) { + if (images_ref.find(index)==images_ref.end()) { images_ref[image_index]=0; } } else { @@ -635,6 +650,7 @@ void OsdVector::informPicture(LoadIndex index, ImageIndex imageIndex) incImageRef(image_index); // hold one index until all loadings refs are gone; } } + surfaces_mutex.Unlock(); } @@ -666,17 +682,25 @@ ImageIndex OsdVector::getJpegRef(const char* fileName, int *width,int *height) ImageIndex OsdVector::getMonoBitmapRef(void *base,int width,int height) { ImageIndex image_handle; + surfaces_mutex.Lock(); if (monobitmaps.find(base)==monobitmaps.end()) { - image_handle=monobitmaps[base]=createMonoBitmap(base,width,height); + surfaces_mutex.Unlock(); + image_handle=createMonoBitmap(base,width,height); + surfaces_mutex.Lock(); + monobitmaps[base]=image_handle; } else { image_handle=monobitmaps[base]; if (images_ref.find(image_handle)==images_ref.end()) { //invalid handle recreate - image_handle=monobitmaps[base]=createMonoBitmap(base,width,height); + surfaces_mutex.Unlock(); + image_handle=createMonoBitmap(base,width,height); + surfaces_mutex.Lock(); + monobitmaps[base]=image_handle; } } incImageRef(image_handle); + surfaces_mutex.Unlock(); return image_handle; } @@ -684,8 +708,10 @@ ImageIndex OsdVector::getImagePalette(int width,int height,const unsigned char { ImageIndex image_handle; image_handle=createImagePalette(width,height,image_data,palette_data); + surfaces_mutex.Lock(); palettepics.push_back(image_handle); incImageRef(image_handle); + surfaces_mutex.Unlock(); return image_handle; } diff --git a/osdvector.h b/osdvector.h index 7881f3a..698b668 100644 --- a/osdvector.h +++ b/osdvector.h @@ -216,8 +216,6 @@ class OsdVector : public Osd virtual bool screenShot(void *buffer, int width, int height, bool osd /*include osd*/)=0; Surface * createNewSurface(); - void BeginPainting(); - void EndPainting(); void Blank(); diff --git a/other/properties.png b/other/properties.png new file mode 100644 index 0000000000000000000000000000000000000000..77b00a553f7bc4959662d933a13d382b7ee35b9e GIT binary patch literal 4222 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 Uj%$b4$^ZZW07*qoM6N<$g1+MLxc~qF literal 0 HcmV?d00001 diff --git a/other/radio.png b/other/radio.png new file mode 100644 index 0000000000000000000000000000000000000000..df66c4edcb1f4c48f8c8df0b4461f325d878c650 GIT binary patch literal 2597 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 literal 0 HcmV?d00001 diff --git a/other/recordings.png b/other/recordings.png new file mode 100644 index 0000000000000000000000000000000000000000..d1f4902948ac2e2bd6f7c7f8eefea72b9e94f7c6 GIT binary patch literal 4419 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 literal 0 HcmV?d00001 diff --git a/other/timers.png b/other/timers.png new file mode 100644 index 0000000000000000000000000000000000000000..e6860ba01e33f4fe4b5917d49a8c2a294d47a379 GIT binary patch literal 5370 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 RX8%$Gh6bjX3O&cD{{hv#X=?xg literal 0 HcmV?d00001 diff --git a/other/tv.png b/other/tv.png new file mode 100644 index 0000000000000000000000000000000000000000..32de8d48307702362841ad8c34cd8b321040cb20 GIT binary patch literal 2566 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�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

c@LElZgStuz5 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 literal 0 HcmV?d00001 diff --git a/vrecordinglistadvanced.cc b/vrecordinglistadvanced.cc new file mode 100644 index 0000000..557516f --- /dev/null +++ b/vrecordinglistadvanced.cc @@ -0,0 +1,314 @@ +/* + Copyright 2004-2007 Chris Tallon + + This file is part of VOMP. + + VOMP is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + VOMP is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with VOMP; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#include "vrecordinglistadvanced.h" + +#include "recman.h" +#include "directory.h" +#include "recording.h" +#include "recinfo.h" +#include "remote.h" +#include "wsymbol.h" +#include "boxstack.h" +#include "vrecordingmenu.h" +#include "vrecording.h" +#include "vdr.h" +#include "vvideorec.h" +#include "vradiorec.h" +#include "colour.h" +#include "video.h" +#include "i18n.h" +#include "command.h" +#include "vinfo.h" +#include "log.h" +#include "movieinfo.h" +#include "seriesinfo.h" +#include "staticartwork.h" + +#include + + +VRecordingListAdvanced::VRecordingListAdvanced() +{ + setSize(640, 500); //old setSize(570, 420); + createBuffer(); + + setPosition(40, 40); + + setTitleBarOn(1); + setTitleBarColour(DrawStyle::TITLEBARBACKGROUND); + TVMediaInfo *info= new TVMediaInfo(); + info->setStaticArtwork(sa_recordings); + setTitleBarIcon(info); + + sl.setPosition(10, 30 + 5); + sl.setSize(area.w*42/100 - 20, area.h - 30 - 15 - 30); + sl.setLinesPerOption(2.4f); + add(&sl); + + Region slarea=sl.getRegionR(); + + epg.setParaMode(true); + epg.setPosition(slarea.x +slarea.w+10 ,30+5); + epg.setSize(area.w -slarea.x -slarea.w -10, area.h - 30 - 15 - 30); + add(&epg); + epg.setText(""); + epg.setBackgroundColour(DrawStyle::VIEWBACKGROUND); + + epgTVmedia.setPosition(epg.getRegionR().w-100-10,10); + epgTVmedia.setSize(100,150/Osd::getInstance()->getPixelAspect()); + epg.add(&epgTVmedia); + +} + +VRecordingListAdvanced::~VRecordingListAdvanced() +{ +} + +void VRecordingListAdvanced::drawData(bool doIndexPop) +{ + int saveIndex = sl.getCurrentOption(); + int saveTop = sl.getTopOption(); + sl.clear(); + sl.addColumn(0); + sl.addColumn(25 ); + sl.addColumn(25 + 7); + //sl.addColumn(118); + + int first = 1; + + char tempA[300]; // FIXME this is guesswork! + char tempB[300]; // FIXME + struct tm* btime; + + Directory* currentSubDir; + DirectoryList::iterator i; + DirectoryList* dirList = recman->getDirectories(); + for (i = dirList->begin(); i != dirList->end(); i++) + { + currentSubDir = *i; + SNPRINTF(tempA, 299, tr("\t%s \n \t

%lu/%lu"), currentSubDir->name, currentSubDir->getNumNewRecordings(), currentSubDir->getNumRecordings()); + + TVMediaInfo *info= NULL; + if (currentSubDir->recList.begin() != currentSubDir->recList.end()) + { + info=new TVMediaInfo(); + info->setPosterThumb((*currentSubDir->recList.begin())->getFileName()); + } + currentSubDir->index = sl.addOption(tempA, 0, first, info); + first = 0; + + } + // FIXME convert the whole program to time_t's + + Recording* currentRec; + RecordingList::iterator j; + RecordingList* recList = recman->getRecordings(); + for (j = recList->begin(); j != recList->end(); j++) + { + currentRec = *j; + time_t recStartTime = (time_t)currentRec->getStartTime(); + btime = localtime(&recStartTime); +//NMT does not like this too! + //#ifndef _MSC_VER +// strftime(tempA, 299, "%0d/%0m %0H:%0M ", btime); +//#else + strftime(tempA, 299, "%d/%m/%y %H:%M ", btime); +//#endif + sprintf(tempB, "%c\t%s\n \t%s", (currentRec->getNew() ? '*': ' '), currentRec->getProgName(),tempA); + // New TVMedia stuff + TVMediaInfo *info= new TVMediaInfo(); + info->setPosterThumb(currentRec->getFileName()); + currentRec->index = sl.addOption(tempB, 0, first, info); + first = 0; + } + + if (doIndexPop) + { + sl.hintSetCurrent(slIndexStack.top()); + slIndexStack.pop(); + } + else + { + sl.hintSetCurrent(saveIndex); + sl.hintSetTop(saveTop); + } + updateSelection(); + sl.draw(); + doShowingBar(); + epg.draw(); +} + +void VRecordingListAdvanced::draw(bool doIndexPop) +{ + if (!loading) + { + if (recman->isSubDir()) + { + char title[300]; + SNPRINTF(title, 299, tr("Recordings - %s"), recman->getCurDirName()); + setTitleText(title, 364); + } + else + { + setTitleText(tr("Recordings")); + } + } + + TBBoxx::draw(); + + if (loading) + { + drawText(tr("Loading..."), area.w*22/100-90, 180, DrawStyle::LIGHTTEXT); + } + else + { + char freeSpace[50]; + int gigFree = recman->getFreeSpace() / 1024; + SNPRINTF(freeSpace, 49, tr("%lu%% used, %iGB free"), recman->getUsedPercent(), gigFree); + drawTextRJ(freeSpace, 560+70, 5, DrawStyle::LIGHTTEXT); + // Symbols + + WSymbol w; + TEMPADD(&w); + w.nextSymbol = WSymbol::UP; + w.setPosition(20, area.h-35); + w.draw(); + w.nextSymbol = WSymbol::DOWN; + w.setPosition(50, area.h-35); + w.draw(); + w.nextSymbol = WSymbol::SKIPBACK; + w.setPosition(85, area.h-35); + w.draw(); + w.nextSymbol = WSymbol::SKIPFORWARD; + w.setPosition(115, area.h-35); + w.draw(); + w.nextSymbol = WSymbol::PLAY; + w.setPosition(150, area.h-35); + w.draw(); + drawTextRJ(tr("[ok] = menu"), 560+70, 385+80, DrawStyle::LIGHTTEXT); + + // All static stuff done + drawData(doIndexPop); + } +} + +void VRecordingListAdvanced::doShowingBar() +{ //setSize(640, 500); //old setSize(570, 420); + int topOption = sl.getTopOption() + 1; + if (sl.getNumOptions() == 0) topOption = 0; +#ifndef GRADIENT_DRAWING + rectangle(area.w/2-65, area.h-115, 180, 25, DrawStyle::VIEWBACKGROUND); +#endif + char showing[200]; + sprintf(showing, tr("%i to %i of %i"), topOption, sl.getBottomOption(), sl.getNumOptions()); + drawText(showing, area.w/2-65, area.h-35, DrawStyle::LIGHTTEXT); +} + +void VRecordingListAdvanced::updateSelection() +{ + Recording* toShow = getCurrentOptionRecording(); + if (toShow) + { + toShow->loadRecInfo(); + std::stringstream description; + if (toShow->recInfo && strlen(toShow->recInfo->summary)){ + description << "\n"<< toShow->recInfo->title << "\n\n"; + description << toShow->recInfo->summary; + }else { + description << "\n" << std::string(toShow->getProgName()) << "\n\n"; + description << tr("Summary unavailable"); + + } + TVMedia poster; + poster.height=0; + if (toShow->movieInfo) { + poster=toShow->movieInfo->poster; + } + if (toShow->seriesInfo) { + if (toShow->seriesInfo->seasonposter.height) { + poster=toShow->seriesInfo->seasonposter; + } + else + if (toShow->seriesInfo->posters.size()) { + poster=toShow->seriesInfo->posters[0]; + } + } + if (poster.height) { + epgTVmedia.setTVMedia(poster.info, WTVMedia::ZoomHorizontal); + epgTVmedia.setVisible(true); + } else { + epgTVmedia.setVisible(false); + } + + epg.setText(description.str().c_str()); + } else { + Directory* toShowDir = getCurrentOptionDirectory(); + if (toShowDir) + { + std::stringstream description; + description << "\n"<< std::string(toShowDir->name) << "\n\n"; + + Directory* currentSubDir; + DirectoryList::iterator i; + DirectoryList & dirList = toShowDir->dirList; + for (i = dirList.begin(); i != dirList.end(); i++) + { + currentSubDir = *i; + description << tr(" ") << std::string(currentSubDir->name) << " " + << currentSubDir->getNumNewRecordings() <<"/"<< currentSubDir->getNumRecordings() <<"\n"; + } + Recording* currentRec; + RecordingList::iterator j; + RecordingList & recList = toShowDir->recList; + char tempA[300]; + struct tm* btime; + for (j = recList.begin(); j != recList.end(); j++) + { + currentRec = *j; + + time_t recStartTime = (time_t)currentRec->getStartTime(); + btime = localtime(&recStartTime); + strftime(tempA, 299, "%d/%m/%y %H:%M ", btime); + + description<< tempA <<" "<< std::string(currentRec->getProgName()) << "\n"; + + } + epgTVmedia.setVisible(false); + epg.setText(description.str().c_str()); + + + } + } + +} + + + +void VRecordingListAdvanced::quickUpdate() { //only quick for plattform that need it! + updateSelection(); +#ifdef GRADIENT_DRAWING + draw(); +#else + sl.draw(); + doShowingBar(); + epg.draw(); +#endif +} diff --git a/vrecordinglistadvanced.h b/vrecordinglistadvanced.h new file mode 100644 index 0000000..1c4028c --- /dev/null +++ b/vrecordinglistadvanced.h @@ -0,0 +1,50 @@ +/* + Copyright 2004-2005 Chris Tallon + + This file is part of VOMP. + + VOMP is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + VOMP is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with VOMP; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#ifndef VRECORDINGLIST_ADVANCED_H +#define VRECORDINGLIST_ADVANCED_H + + + +#include "vrecordinglist.h" +#include "wtextbox.h" +#include "wtvmedia.h" + +class VRecordingListAdvanced : public VRecordingList +{ + public: + VRecordingListAdvanced(); + virtual ~VRecordingListAdvanced(); + + void draw(bool doIndexPop = false); + bool load(); + void drawData(bool doIndexPop = false); + + protected: + void quickUpdate(); + void doShowingBar(); + void updateSelection(); + + WTextbox epg; + WTVMedia epgTVmedia; + +}; + +#endif diff --git a/vrecordinglistclassic.cc b/vrecordinglistclassic.cc new file mode 100644 index 0000000..1322e53 --- /dev/null +++ b/vrecordinglistclassic.cc @@ -0,0 +1,200 @@ +/* + Copyright 2004-2007 Chris Tallon + + This file is part of VOMP. + + VOMP is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + VOMP is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with VOMP; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#include "vrecordinglistclassic.h" + +#include "recman.h" +#include "directory.h" +#include "recording.h" +#include "remote.h" +#include "wsymbol.h" +#include "boxstack.h" +#include "vrecordingmenu.h" +#include "vrecording.h" +#include "vdr.h" +#include "vvideorec.h" +#include "vradiorec.h" +#include "colour.h" +#include "video.h" +#include "i18n.h" +#include "command.h" +#include "vinfo.h" +#include "log.h" + +VRecordingListClassic::VRecordingListClassic() +{ + setSize(570, 420); + createBuffer(); + if (Video::getInstance()->getFormat() == Video::PAL) + { + setPosition(80, 70); + } + else + { + setPosition(70, 35); + } + + setTitleBarOn(1); + setTitleBarColour(DrawStyle::TITLEBARBACKGROUND); + + sl.setPosition(10, 30 + 5); + sl.setSize(area.w - 20, area.h - 30 - 15 - 30); + add(&sl); +} + +VRecordingListClassic::~VRecordingListClassic() +{ +} + +void VRecordingListClassic::drawData(bool doIndexPop) +{ + int saveIndex = sl.getCurrentOption(); + int saveTop = sl.getTopOption(); + sl.clear(); + sl.addColumn(0); + sl.addColumn(102); + sl.addColumn(118); + + int first = 1; + + char tempA[300]; // FIXME this is guesswork! + char tempB[300]; // FIXME + struct tm* btime; + + Directory* currentSubDir; + DirectoryList::iterator i; + DirectoryList* dirList = recman->getDirectories(); + for (i = dirList->begin(); i != dirList->end(); i++) + { + currentSubDir = *i; + SNPRINTF(tempA, 299, tr(" %lu/%lu\t \t%s"), currentSubDir->getNumNewRecordings(), currentSubDir->getNumRecordings(), currentSubDir->name); + currentSubDir->index = sl.addOption(tempA, 0, first); + first = 0; + } + // FIXME convert the whole program to time_t's + + Recording* currentRec; + RecordingList::iterator j; + RecordingList* recList = recman->getRecordings(); + for (j = recList->begin(); j != recList->end(); j++) + { + currentRec = *j; + time_t recStartTime = (time_t)currentRec->getStartTime(); + btime = localtime(&recStartTime); +//NMT does not like this too! + //#ifndef _MSC_VER +// strftime(tempA, 299, "%0d/%0m %0H:%0M ", btime); +//#else + strftime(tempA, 299, "%d/%m %H:%M ", btime); +//#endif + sprintf(tempB, "%s\t%c\t%s", tempA, (currentRec->getNew() ? '*': ' '), currentRec->getProgName()); + + currentRec->index = sl.addOption(tempB, 0, first); + first = 0; + } + + if (doIndexPop) + { + sl.hintSetCurrent(slIndexStack.top()); + slIndexStack.pop(); + } + else + { + sl.hintSetCurrent(saveIndex); + sl.hintSetTop(saveTop); + } + sl.draw(); + doShowingBar(); +} + +void VRecordingListClassic::draw(bool doIndexPop) +{ + if (!loading) + { + if (recman->isSubDir()) + { + char title[300]; + SNPRINTF(title, 299, tr("Recordings - %s"), recman->getCurDirName()); + setTitleText(title, 364); + } + else + { + setTitleText(tr("Recordings")); + } + } + + TBBoxx::draw(); + + if (loading) + { + drawText(tr("Loading..."), 240, 180, DrawStyle::LIGHTTEXT); + } + else + { + char freeSpace[50]; + int gigFree = recman->getFreeSpace() / 1024; + SNPRINTF(freeSpace, 49, tr("%lu%% used, %iGB free"), recman->getUsedPercent(), gigFree); + drawTextRJ(freeSpace, 560, 5, DrawStyle::LIGHTTEXT); + // Symbols + + WSymbol w; + TEMPADD(&w); + w.nextSymbol = WSymbol::UP; + w.setPosition(20, 385); + w.draw(); + w.nextSymbol = WSymbol::DOWN; + w.setPosition(50, 385); + w.draw(); + w.nextSymbol = WSymbol::SKIPBACK; + w.setPosition(85, 385); + w.draw(); + w.nextSymbol = WSymbol::SKIPFORWARD; + w.setPosition(115, 385); + w.draw(); + w.nextSymbol = WSymbol::PLAY; + w.setPosition(150, 385); + w.draw(); + drawTextRJ(tr("[ok] = menu"), 560, 385, DrawStyle::LIGHTTEXT); + + // All static stuff done + drawData(doIndexPop); + } +} + +void VRecordingListClassic::doShowingBar() +{ + int topOption = sl.getTopOption() + 1; + if (sl.getNumOptions() == 0) topOption = 0; +#ifndef GRADIENT_DRAWING + rectangle(220, 385, 180, 25, DrawStyle::VIEWBACKGROUND); +#endif + char showing[200]; + sprintf(showing, tr("%i to %i of %i"), topOption, sl.getBottomOption(), sl.getNumOptions()); + drawText(showing, 220, 385, DrawStyle::LIGHTTEXT); +} + +void VRecordingListClassic::quickUpdate() { //only quick for plattform that need it! +#ifdef GRADIENT_DRAWING + draw(); +#else + sl.draw(); + doShowingBar(); +#endif +} diff --git a/vrecordinglistclassic.h b/vrecordinglistclassic.h new file mode 100644 index 0000000..9676c59 --- /dev/null +++ b/vrecordinglistclassic.h @@ -0,0 +1,45 @@ +/* + Copyright 2004-2005 Chris Tallon + + This file is part of VOMP. + + VOMP is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + VOMP is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with VOMP; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +*/ + +#ifndef VRECORDINGLIST_CLASSIC_H +#define VRECORDINGLIST_CLASSIC_H + + + +#include "vrecordinglist.h" + + +class VRecordingListClassic : public VRecordingList +{ + public: + VRecordingListClassic(); + virtual ~VRecordingListClassic(); + + void draw(bool doIndexPop = false); + bool load(); + void drawData(bool doIndexPop = false); + + protected: + void quickUpdate(); + void doShowingBar(); + +}; + +#endif -- 2.39.5