1
0
Fork 0
mirror of https://github.com/HenkKalkwater/harbour-sailfin.git synced 2024-05-17 11:32:42 +00:00
harbour-sailfin/core/src/jsonhelper.cpp
Chris Josten 8a683df2a2 Added more fields to Jellyfin::Item, update qml
* [UI] Improved: series season page now shows favourite and watched marks

Refractored some more QML to support camelCase items
2020-10-10 14:30:49 +02:00

41 lines
890 B
C++

#include "jsonhelper.h"
namespace Jellyfin {
namespace JsonHelper {
void convertToCamelCase(QJsonValueRef val) {
switch(val.type()) {
case QJsonValue::Object: {
QJsonObject obj = val.toObject();
for(const QString &key: obj.keys()) {
QJsonValueRef ref = obj[key];
convertToCamelCase(ref);
obj[convertToCamelCaseHelper(key)] = ref;
obj.remove(key);
}
val = obj;
break;
}
case QJsonValue::Array: {
QJsonArray arr = val.toArray();
for (auto it = arr.begin(); it != arr.end(); it++) {
convertToCamelCase(*it);
}
val = arr;
break;
}
default:
break;
}
}
QString convertToCamelCaseHelper(const QString &str) {
QString res(str);
res[0] = res[0].toLower();
return res;
}
} // NS JsonHelper
} // NS Jellyfin