MCPcopy Create free account
hub / github.com/analogdevicesinc/scopy / load_nogroup

Method load_nogroup

pluginbase/src/apiobject.cpp:90–135  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

88}
89
90void ApiObject::load_nogroup(ApiObject *obj, QSettings &settings)
91{
92 auto meta = obj->metaObject();
93 for(int i = meta->propertyOffset(); i < meta->propertyCount(); i++) {
94 auto prop = meta->property(i);
95 if(!prop.isStored() || !prop.isReadable())
96 continue;
97
98 auto data = prop.read(obj);
99
100 if(prop.isWritable()) {
101 if(data.canConvert<QList<bool>>()) {
102 auto list = load<bool>(settings, prop.name());
103 if(!list.empty())
104 prop.write(obj, QVariant::fromValue(list));
105 } else if(data.canConvert<QList<int>>()) {
106 auto list = load<int>(settings, prop.name());
107 if(!list.empty())
108 prop.write(obj, QVariant::fromValue(list));
109 } else if(data.canConvert<QList<double>>()) {
110 auto list = load<double>(settings, prop.name());
111 if(!list.empty())
112 prop.write(obj, QVariant::fromValue(list));
113 } else if(data.canConvert<QList<QString>>()) {
114 auto list = load<QString>(settings, prop.name());
115 if(!list.empty())
116 prop.write(obj, QVariant::fromValue(list));
117 } else {
118 auto value = settings.value(prop.name());
119
120 qDebug(CAT_APIOBJECT) << "Loading property" << prop.name() << "value" << value;
121
122 if(!value.isNull())
123 prop.write(obj, value);
124 }
125 } else {
126 if(data.canConvert<ApiObject *>()) {
127 settings.beginGroup(prop.name());
128 load_nogroup(data.value<ApiObject *>(), settings);
129 settings.endGroup();
130 } else if(data.canConvert<QVariantList>()) {
131 load(settings, prop.name(), data.value<QVariantList>());
132 }
133 }
134 }
135}
136
137void ApiObject::save_nogroup(ApiObject *obj, QSettings &settings)
138{

Callers

nothing calls this directly

Calls 5

isStoredMethod · 0.80
readMethod · 0.45
nameMethod · 0.45
writeMethod · 0.45
valueMethod · 0.45

Tested by

no test coverage detected