Initial commit based on GenericQtClient v0.3.0

This commit is contained in:
2026-02-04 19:02:41 +01:00
parent debb462f70
commit b24bda2d95
79 changed files with 5014 additions and 0 deletions

View File

@ -0,0 +1,32 @@
#ifndef CSVPARSER_H
#define CSVPARSER_H
#include <QString>
typedef QMap<int, QVariant> ModelItemValues;
namespace rapidcsv {
class Document;
}
class CsvParser {
public:
static QList<ModelItemValues> getItemsFromCSVFile(const QString& fileName);
static bool exportToCSVFile(const QList<QStringList>& rows, const QString& filePath);
private:
explicit CsvParser();
static bool isCsvCompatible(const rapidcsv::Document& doc);
static QList<ModelItemValues> createListItemsFromCsvEntries(const rapidcsv::Document& doc);
static QHash<QString, std::vector<std::string>> extractColumnValues(
const QList<QString> headerNames,
const rapidcsv::Document& doc);
static ModelItemValues getItemValuesForRow(
const QList<QString>& headerNames,
const QHash<QString, std::vector<std::string>>& columnValueMap,
const int row);
static QVariant parseItemValue(const int role, const std::string& valueString);
};
#endif // CSVPARSER_H