{
if (!ac.name.empty())
{
- asl.addOption(ac.name.c_str(), &ac, (ac.pestype == currentAudioChannel));
+ asl.addOption(ac.name, &ac, (ac.pestype == currentAudioChannel));
}
else
{
else if (ac.type == 1) tempString = "ac3 " + std::to_string(ac.pestype - PES_AUDIO_AC3_START);
else tempString = "unknown";
- asl.addOption(tempString.c_str(), &ac, (ac.pestype == currentAudioChannel));
+ asl.addOption(tempString, &ac, (ac.pestype == currentAudioChannel));
}
}
}
if (!sc.name.empty())
{
- ssl.addOption(sc.name.c_str(), &sc, selected);
+ ssl.addOption(sc.name, &sc, selected);
}
else
{
if (sc.type == 0x10) tempString = std::to_string(sc.pestype - PES_DVBSUBTITLE_START);
else tempString = "unknown";
- ssl.addOption(tempString.c_str(), &sc, selected);
+ ssl.addOption(tempString, &sc, selected);
}
}
}
{
for (auto& ac : acl)
{
- asl.addOption(ac.name.c_str(), &ac, (ac.pestype == currentAudioChannel));
+ asl.addOption(ac.name, &ac, (ac.pestype == currentAudioChannel));
}
}
else
{
bool selected = false;
if ((sc.type == currentSubtitletype) && (sc.pestype == currentSubtitleChannel)) selected = true;
- ssl.addOption(sc.name.c_str(), &sc, selected);
+ ssl.addOption(sc.name, &sc, selected);
}
}
sl.setSize(area.w - 20, area.h - 30 - 15);
add(&sl);
- sl.addOption(servers[0].name.c_str(), 0, 1);
+ sl.addOption(servers[0].name, 0, 1);
for(UINT k = 1; k < servers.numServers(); k++)
{
- sl.addOption(servers[k].name.c_str(), 0, 0);
+ sl.addOption(servers[k].name, 0, 0);
}
replyTo = treplyTo;
line += inputMan->getHardCodedHardwareKeyNamesForVompKey(static_cast<UCHAR>(i));
line += " \t"; // FIXME extra spaces for braindead strtok. Ditch strtok.
line += inputMan->getAllHardwareKeyNamesAssignedToVompKey(static_cast<UCHAR>(i));
- sl.addOption(line.c_str(), reinterpret_cast<void*>(i), 0);
+ sl.addOption(line, reinterpret_cast<void*>(i), 0);
}
}
int vsize = options.size();
for (int i = 0; i < vsize; i++)
{
- delete[] options[i].text;
if (options[i].pict) delete options[i].pict;
}
options.clear();
int thisNewOption = options.size();
wsloption wslo;
- wslo.text = new char[strlen(text) + 1];
- strcpy(wslo.text, text);
+ wslo.text = text;
wslo.data = data;
wslo.pict = pict;
options.push_back(wslo);
return thisNewOption;
}
-int WSelectList::addOption(const std::string& text, void* data, int selected, TVMediaInfo* pict) // FIXME convert WSelectList wslo to use std::string
+int WSelectList::addOption(const std::string& text, void* data, int selected, TVMediaInfo* pict)
{
int thisNewOption = options.size();
wsloption wslo;
- wslo.text = new char[text.length() + 1];
- strcpy(wslo.text, text.c_str());
+ wslo.text = text;
wslo.data = data;
wslo.pict = pict;
options.push_back(wslo);
return columns[x];
}
-void WSelectList::drawOptionLine(char* text, int xpos, int ypos, int width, const DrawStyle& colour, TVMediaInfo* pict)
+void WSelectList::drawOptionLine(const std::string& text, int xpos, int ypos, int width, const DrawStyle& colour, TVMediaInfo* pict)
{
UINT curline = 0;
UINT taboffset = 0;
if (!numColumns && linesPerOption == 1)
{
- drawText(text, xpos, ypos, width, colour);
+ drawText(text.c_str(), xpos, ypos, width, colour);
}
else
{
+ const char* ctext = text.c_str();
char buffer[200];
- strncpy(buffer, text, 199);
+ strncpy(buffer, ctext, 199);
int currentColumn = taboffset;
char* pointer;
char* savepointer;
pointer = STRTOKR(NULL, "\t\n", &savepointer);
if (pointer)
{
- char delimiter = text[pointer - buffer - 1];
+ char delimiter = ctext[pointer - buffer - 1];
if (delimiter == '\t') currentColumn++;
else if (delimiter == '\n')
{
#ifndef WSELECTLIST_H
#define WSELECTLIST_H
+#include <string>
#include <vector>
#include "defines.h"
typedef struct
{
- char* text;
+ std::string text;
void* data;
TVMediaInfo* pict;
} wsloption;
virtual bool mouseAndroidScroll(int x, int y, int sx, int sy);
private:
- void drawOptionLine(char* text, int xpos, int ypos, int width, const DrawStyle& colour, TVMediaInfo* pict);
+ void drawOptionLine(const std::string& text, int xpos, int ypos, int width, const DrawStyle& colour, TVMediaInfo* pict);
int getMouseLine(int x, int y);
DrawStyle backgroundColour;