static const char* TAG = "Boxx";
-char Boxx::numBoxxes = 0;
+int Boxx::numBoxxes = 0;
Boxx::Boxx()
{
bool backgroundColourSet{};
bool visible{true};
- static char numBoxxes;
+ static int numBoxxes;
};
#endif
void setAdvMenus(bool adv) { advMenus = adv; };
bool isAdvMenus() { return advMenus; };
int getLangPref(bool subtitle,const char* langcode);
- void setSubDefault(int subon) { subdefault = subon; };
+ void setSubDefault(int subon) { subdefault = subon; }; // NCONFIG
int getSubDefault() { return subdefault; };
ASLPrefList &getASLList() { return langcodes; };
bool advMenus{};
ASLPrefList langcodes;
- int subdefault;
+ int subdefault; // NCONFIG
void processMessage(Message* m);
};
int first = 1;
- char tempA[300]; // FIXME this is guesswork!
- char tempB[300]; // FIXME
- char tempC[300]; // FIXME
struct tm btime;
+ char startTimeStr[16];
+ char endTimeStr[16];
+
Event* currentEvent = NULL;
EventList::iterator j;
EventList* eventList = eventLista[0];
time_t eventEndTime = static_cast<time_t>(currentEvent->time + currentEvent->duration);
LOCALTIME_R(&eventStartTime, &btime);
- strftime(tempA, 300, "%d/%m/%y %H:%M ", &btime);
+ strftime(startTimeStr, 16, "%d/%m/%y %H:%M", &btime);
LOCALTIME_R(&eventEndTime, &btime);
- strftime(tempB, 300, "- %H:%M ", &btime);
- int check = SNPRINTF(tempC, 300, "\t %s\n \t \t%s%s", currentEvent->title.c_str(), tempA, tempB);
-
- if ((check < 0) || (check > 299)) LogNT::getInstance()->debug(TAG, "String too big");
+ strftime(endTimeStr, 16, "%H:%M", &btime);
+ std::string eventText = fmt::format("\t {}\n \t \t{} - {}", currentEvent->title, startTimeStr, endTimeStr);
// New TVMedia stuff
TVMediaInfo* info = new TVMediaInfo();
info->setPosterThumb(channelNumber, currentEvent->id);
info->setStaticFallback(sa_defposter);
- currentEvent->index = sl.addOption(tempC, reinterpret_cast<void*>(currentEvent->id), first, info);
+
+ currentEvent->index = sl.addOption(eventText, reinterpret_cast<void*>(currentEvent->id), first, info);
first = 0;
}
}
int first = 1;
- char tempA[300]; // FIXME this is guesswork!
- char tempB[300]; // FIXME
- char tempC[300]; // FIXME
+ char startTimeStr[16];
+ char endTimeStr[16];
struct tm btime;
Event* currentEvent = NULL;
unsigned int chanlistsize = chanList->size();
+ std::string eventText;
+
for (UINT listIndex = 0; listIndex < chanlistsize; listIndex++)
{
Channel* chan;
time_t eventEndTime = static_cast<time_t>(currentEvent->time + currentEvent->duration);
LOCALTIME_R(&eventStartTime, &btime);
- strftime(tempA, 300, "%H:%M ", &btime);
+ strftime(startTimeStr, 16, "%H:%M", &btime);
LOCALTIME_R(&eventEndTime, &btime);
- strftime(tempB, 300, "- %H:%M ", &btime);
- int check = SNPRINTF(tempC, 300, "%s\n%s\t %s%s", currentEvent->title.c_str(), chan->name, tempA, tempB);
+ strftime(endTimeStr, 16, "%H:%M", &btime);
- if ((check < 0) || (check > 299)) LogNT::getInstance()->debug(TAG, "String too big");
+ eventText = fmt::format("{}\n{}\t{} - {}", currentEvent->title, chan->name, startTimeStr, endTimeStr);
}
else
{
- sprintf(tempC, "\n%s", chan->name);
+ eventText = fmt::format("\n{}", chan->name);
}
TVMediaInfo* info = new TVMediaInfo();
info->setChannelLogo((*chanList)[listIndex]->number);
info->setStaticFallback(sa_tv);
- int index = sl.addOption(tempC, reinterpret_cast<void*>(listIndex), first, info);
+ int index = sl.addOption(eventText, reinterpret_cast<void*>(listIndex), first, info);
if (currentEvent) currentEvent->index = index;
#include <cstdio>
#include <sstream>
+#include <fmt/core.h>
#include "recman.h"
#include "directory.h"
int first = 1;
- char tempA[300]; // FIXME this is guesswork!
- char tempB[300]; // FIXME
+ char timeString[16]; // "dd/mm/yy hh:mm"
struct tm btime;
Directory* currentSubDir;
for (i = dirList->begin(); i != dirList->end(); i++)
{
currentSubDir = *i;
- SNPRINTF(tempA, 300, tr("\t%s \n \t <dir> %lu/%lu"), currentSubDir->name, currentSubDir->getNumNewRecordings(), currentSubDir->getNumRecordings());
+ std::string dirString = fmt::format("\t{} \n \t <dir> {}/{}", currentSubDir->name, currentSubDir->getNumNewRecordings(), currentSubDir->getNumRecordings());
TVMediaInfo *info=new TVMediaInfo();
if (currentSubDir->recList.begin() != currentSubDir->recList.end())
} else {
info->setStaticArtwork(sa_recfolder);
}
- currentSubDir->index = sl.addOption(tempA, 0, first, info);
+ currentSubDir->index = sl.addOption(dirString, 0, first, info);
first = 0;
}
currentRec = *j;
time_t recStartTime = static_cast<time_t>(currentRec->getStartTime());
LOCALTIME_R(&recStartTime, &btime);
- strftime(tempA, 299, "%d/%m/%y %H:%M ", &btime);
- int check = SNPRINTF(tempB, 300, "%c\t%s\n \t%s", (currentRec->getNew() ? '*': ' '), currentRec->getProgName(), tempA);
- if ((check < 0) || (check > 299)) LogNT::getInstance()->error("VRecordingsListAdvanced", "String too big");
+ strftime(timeString, 16, "%d/%m/%y %H:%M", &btime);
+ std::string fileString = fmt::format("{}\t{}\n \t{}", (currentRec->getNew() ? '*': ' '), currentRec->getProgName(), timeString);
// New TVMedia stuff
TVMediaInfo *info= new TVMediaInfo();
info->setPosterThumb(currentRec->getFileName());
info->setStaticFallback(sa_recording);
- currentRec->index = sl.addOption(tempB, 0, first, info);
+ currentRec->index = sl.addOption(fileString, 0, first, info);
first = 0;
}
along with VOMP. If not, see <https://www.gnu.org/licenses/>.
*/
+#include <fmt/core.h>
+
#include "recman.h"
#include "directory.h"
#include "recording.h"
int first = 1;
- char tempA[300]; // FIXME this is guesswork!
- char tempB[300]; // FIXME
+ char timeString[16]; // "dd/mm hh:mm"
struct tm btime;
Directory* currentSubDir;
for (i = dirList->begin(); i != dirList->end(); i++)
{
currentSubDir = *i;
- SNPRINTF(tempA, 300, tr("<dir> %lu/%lu\t \t%s"), currentSubDir->getNumNewRecordings(), currentSubDir->getNumRecordings(), currentSubDir->name);
- currentSubDir->index = sl.addOption(tempA, 0, first);
+ std::string dirString = fmt::format("<dir> {}/{}\t \t{}", currentSubDir->getNumNewRecordings(), currentSubDir->getNumRecordings(), currentSubDir->name);
+ currentSubDir->index = sl.addOption(dirString, 0, first);
first = 0;
}
// FIXME convert the whole program to time_t's
currentRec = *j;
time_t recStartTime = static_cast<time_t>(currentRec->getStartTime());
LOCALTIME_R(&recStartTime, &btime);
- strftime(tempA, 300, "%d/%m %H:%M ", &btime);
- int check = SNPRINTF(tempB, 300, "%s\t%c\t%s", tempA, (currentRec->getNew() ? '*': ' '), currentRec->getProgName());
- if ((check < 0) || (check > 299)) LogNT::getInstance()->error("VRecordingListClassic", "String too big");
-
- currentRec->index = sl.addOption(tempB, 0, first);
+ strftime(timeString, 16, "%d/%m %H:%M", &btime);
+ std::string fileString = fmt::format("{} \t{}\t{}", timeString, (currentRec->getNew() ? '*': ' '), currentRec->getProgName());
+ currentRec->index = sl.addOption(fileString, 0, first);
first = 0;
}
return thisNewOption;
}
+int WSelectList::addOption(const std::string& text, void* data, int selected, TVMediaInfo* pict) // FIXME convert WSelectList wslo to use std::string
+{
+ int thisNewOption = options.size();
+
+ wsloption wslo;
+ wslo.text = new char[text.length() + 1];
+ strcpy(wslo.text, text.c_str());
+ wslo.data = data;
+ wslo.pict = pict;
+ options.push_back(wslo);
+ if (selected) selectedOption = thisNewOption;
+ return thisNewOption;
+}
+
void WSelectList::draw()
{
int fontHeight = getFontHeight();
void setShowSelOption(bool set) { showseloption = set; }
void setDarkSelOption(bool set) { darkseloption = set; }
int addOption(const char* text, void* data, int selected, TVMediaInfo* pict = NULL);
+ int addOption(const std::string& text, void* data, int selected, TVMediaInfo* pict = NULL);
void draw();
void setBackgroundColour(const DrawStyle& colour);
void setLinesPerOption(float lines) { linesPerOption = lines; }