23 #ifndef SETTINGCONVERTER_H 24 #define SETTINGCONVERTER_H 39 static QString cvt_to_string(
const T& val){
40 return val.toString();
43 static bool cvt_from_string(QString val, T& ret){
44 ret = T::fromString(val);
58 static QString cvt_to_string(
const bool& val){
60 return QString(
"true");
64 return QString(
"false");
68 static bool cvt_from_string(QString val,
bool& b){
69 if( val.compare(
"true", Qt::CaseInsensitive) == 0 ||
94 static QString cvt_to_string(
const int& val){
95 return QString::number(val);
98 static bool cvt_from_string(QString val,
int& i){
109 static QString cvt_to_string(
const float& val){
110 return QString::number(val);
113 static bool cvt_from_string(QString val,
float& i){
115 i = val.toFloat(&ok);
130 static QString cvt_to_string(
const QStringList& val){
131 return val.join(
",");
134 static bool cvt_from_string(QString val, QStringList& lst){
135 lst = val.split(
",");
148 static QString cvt_to_string(
const QString& val){
152 static bool cvt_from_string(QString val, QString& b){
166 static QString cvt_to_string(
const QSize& val){
167 return QString::number(val.width()) +
"," + QString::number(val.height());
170 static bool cvt_from_string(QString val, QSize& sz){
175 QStringList lst = val.split(
",");
177 if(lst.size() < 2)
return false;
179 width = lst[0].toInt(&ok);
181 if(!ok)
return false;
182 height = lst[1].toInt(&ok);
183 if(!ok)
return false;
186 sz.setHeight(height);
200 static QString cvt_to_string(
const QPoint& val){
201 return QString::number(val.x()) +
"," + QString::number(val.y());
204 static bool cvt_from_string(QString val, QPoint& sz){
209 QStringList lst = val.split(
",");
211 if(lst.size() < 2)
return false;
213 x = lst[0].toInt(&ok);
215 if(!ok)
return false;
216 y = lst[1].toInt(&ok);
217 if(!ok)
return false;
234 static QString cvt_to_string(
const QByteArray& arr){
236 for(quint8 item : arr){
237 numbers << QString::number(item);
240 return numbers.join(
",");
243 static bool cvt_from_string(QString str, QByteArray& arr){
244 QStringList numbers = str.split(
",");
246 for(
const QString& num_str : numbers){
247 quint8 num = num_str.toInt();
248 arr.append((
char) num);
251 return (numbers.size() > 0);
264 static QString cvt_to_string(
const QList<T>& val){
269 for(
const T& v : val){
270 lst << sc.cvt_to_string(v);
273 return lst.join(
",");
277 static bool cvt_from_string(
const QString& val,
QList<T>& ret){
281 QStringList lst = val.split(
",");
283 for(
const QString& l : lst){
286 sc.cvt_from_string(l, v);
294 template<
typename A,
typename B>
301 static QString cvt_to_string(
const QPair<A,B>& val){
306 return sc_a.cvt_to_string(val.first) +
"," + sc_b.cvt_to_string(b);
309 static bool cvt_from_string(
const QString& val, QPair<A,B>& ret){
314 QStringList lst = val.split(
",");
328 sc_a.cvt_from_string (a, ret.first);
329 sc_b.cvt_from_string (b, ret.second);
335 #endif // SETTINGCONVERTER_H The SettingConverter class.
Definition: SettingConverter.h:37
Definition: org_mpris_media_player2_adaptor.h:20