mirror of https://github.com/EspoTek/Labrador.git
64 lines
1.7 KiB
C++
64 lines
1.7 KiB
C++
|
#include "espocombobox.h"
|
||
|
|
||
|
espoComboBox::espoComboBox(QWidget *parent) : QComboBox(parent)
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
void espoComboBox::readWaveformList(void)
|
||
|
{
|
||
|
//This code gets the name of the current directory, regardless of platform.
|
||
|
//This is so the interface knows where to find the waveform data
|
||
|
//QDir *dir = new QDir();
|
||
|
//qDebug() << dir->currentPath();
|
||
|
#ifdef PLATFORM_ANDROID
|
||
|
QFile qt_list("assets:/waveforms/_list.wfl");
|
||
|
bool success = qt_list.open(QIODevice::ReadOnly | QIODevice::Text);
|
||
|
if(!success){
|
||
|
qFatal("Could not load _list.wfl");
|
||
|
}
|
||
|
|
||
|
char nameBuffer[255];
|
||
|
QStringList *newNames = new QStringList();
|
||
|
|
||
|
while (!qt_list.atEnd()) {
|
||
|
QByteArray line = qt_list.readLine();
|
||
|
strcpy(nameBuffer, line.data());
|
||
|
strtok(nameBuffer, "\n\r");
|
||
|
newNames->append(nameBuffer);
|
||
|
qDebug() << nameBuffer;
|
||
|
}
|
||
|
this->addItems(*(newNames));
|
||
|
delete newNames;
|
||
|
qt_list.close();
|
||
|
#else
|
||
|
QString dirString = QCoreApplication::applicationDirPath();
|
||
|
dirString.append("/waveforms/_list.wfl");
|
||
|
QByteArray array = dirString.toLocal8Bit();
|
||
|
char* buffer = array.data();
|
||
|
//qDebug() << buffer;
|
||
|
|
||
|
qDebug() << "Attempting to open" << dirString;
|
||
|
|
||
|
FILE *listPtr = fopen(buffer, "r");
|
||
|
QStringList *newNames = new QStringList();
|
||
|
char nameBuffer[255];
|
||
|
|
||
|
if(listPtr == NULL){
|
||
|
qFatal("Could not load _list.wfl");
|
||
|
}
|
||
|
|
||
|
while (fgets(nameBuffer,256,listPtr) !=NULL){
|
||
|
qDebug() << "nameBuffer = " << nameBuffer;
|
||
|
strtok(nameBuffer, "\n\r");
|
||
|
newNames->append(nameBuffer);
|
||
|
}
|
||
|
this->addItems(*(newNames));
|
||
|
delete newNames;
|
||
|
|
||
|
fclose(listPtr);
|
||
|
#endif
|
||
|
qDebug() << "List loaded!!";
|
||
|
}
|