mirror of
https://github.com/HenkKalkwater/harbour-sailfin.git
synced 2024-05-17 11:32:42 +00:00
Chris Josten
8a683df2a2
* [UI] Improved: series season page now shows favourite and watched marks Refractored some more QML to support camelCase items
41 lines
890 B
C++
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
|