func init() lng.decl_priv_var(settings, 'QSettings*') fvar(old) old = block.select(BLK_INIT) if(isdef(FileName)) println(settings + ' = new QSettings();') else println(settings + ' = new QSettings(' + FileName + ', QSettings::' + code(Format) + ');') end block.select(BLK_DESTR) println('delete ' + settings + ';') block.select(old) end func doWriteValue(_data) println(settings + '->setValue(QString(', Group, ')' & "/" & key, ',', Data, ');') event(onWriteValue) end func Value() fvar(r) r = settings + '->value(QString(' + Group + ')' + ' + "/" + ' + key + ',' + Default + ')' switch(typeof(Default)) case 0: r = "" case 1: r += '.toInt()' case 2: r += '.toString()' case 7: r += '.toDouble()' end sub(r, typeof(Default)) return(r) end