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 ||
93 static QString cvt_to_string(
const int& val){
94 return QString::number(val);
97 static bool cvt_from_string(QString val,
int& i){
113 static QString cvt_to_string(
const QStringList& val){
114 return val.join(
",");
117 static bool cvt_from_string(QString val, QStringList& lst){
118 lst = val.split(
",");
131 static QString cvt_to_string(
const QString& val){
135 static bool cvt_from_string(QString val, QString& b){
149 static QString cvt_to_string(
const QSize& val){
150 return QString::number(val.width()) +
"," + QString::number(val.height());
153 static bool cvt_from_string(QString val, QSize& sz){
158 QStringList lst = val.split(
",");
160 if(lst.size() < 2)
return false;
162 width = lst[0].toInt(&ok);
164 if(!ok)
return false;
165 height = lst[1].toInt(&ok);
166 if(!ok)
return false;
169 sz.setHeight(height);
183 static QString cvt_to_string(
const QPoint& val){
184 return QString::number(val.x()) +
"," + QString::number(val.y());
187 static bool cvt_from_string(QString val, QPoint& sz){
192 QStringList lst = val.split(
",");
194 if(lst.size() < 2)
return false;
196 x = lst[0].toInt(&ok);
198 if(!ok)
return false;
199 y = lst[1].toInt(&ok);
200 if(!ok)
return false;
217 static QString cvt_to_string(
const QByteArray& arr){
219 for(quint8 item : arr){
220 numbers << QString::number(item);
223 return numbers.join(
",");
226 static bool cvt_from_string(QString str, QByteArray& arr){
227 QStringList numbers = str.split(
",");
229 for(
const QString& num_str : numbers){
230 quint8 num = num_str.toInt();
231 arr.append((
char) num);
234 return (numbers.size() > 0);
247 static QString cvt_to_string(
const QList<T>& val){
252 for(
const T& v : val){
253 lst << sc.cvt_to_string(v);
256 return lst.join(
",");
260 static bool cvt_from_string(
const QString& val,
QList<T>& ret){
264 QStringList lst = val.split(
",");
266 for(
const QString& l : lst){
269 sc.cvt_from_string(l, v);
277 template<
typename A,
typename B>
284 static QString cvt_to_string(
const QPair<A,B>& val){
289 return sc_a.cvt_to_string(val.first) +
"," + sc_b.cvt_to_string(b);
292 static bool cvt_from_string(
const QString& val, QPair<A,B>& ret){
297 QStringList lst = val.split(
",");
311 sc_a.cvt_from_string (a, ret.first);
312 sc_b.cvt_from_string (b, ret.second);
318 #endif // SETTINGCONVERTER_H
The SettingConverter class.
Definition: SettingConverter.h:37
Definition: org_mpris_media_player2_adaptor.h:20