#include "Config.hpp" #include #include #include Config::Config(QObject* parent) : QObject(parent) { m_step=0; } void Config::store() { Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); QList apps; QList::const_iterator i = m_appsModel.begin(); while(i!=m_appsModel.end()) { App* app = static_cast(*i); if (app->m_checked) { apps.append(app->m_name); } i++; } gs->insert( "lliurexExtraApps", apps ); QList services; QList::const_iterator j = m_servicesModel.begin(); while(j!=m_servicesModel.end()) { App* app = static_cast(*j); if (app->m_checked) { services.append(app->m_name); } j++; } gs->insert("lliurexExtraServices", services ); } void Config::setLang(QString lang) { QList::const_iterator i = m_appsModel.begin(); m_lang=lang; while(i!=m_appsModel.end()) { App* app = static_cast(*i); QString id = app->description(); app->translate(m_translations[lang][id]); //qDebug()<<"translation:"<::const_iterator i = configurationMap.find("apps"); if (i!=configurationMap.end()) { QVariantList apps = i.value().toList(); QList::const_iterator j = apps.begin(); while (j!=apps.end()) { QMap app = (*j).toMap(); QMap::const_iterator name = app.find("name"); QMap::const_iterator display = app.find("display"); QMap::const_iterator icon = app.find("icon"); QMap::const_iterator description = app.find("description"); QMap::const_iterator checked = app.find("checked"); if (name!=app.end() and display!=app.end() and icon!=app.end()) { QString desc = (description!=app.end()) ? description.value().toString() : QString(); bool chk = (checked!=app.end()) ? checked.value().toBool() : false; m_appsModel.append(new App( name.value().toString(), display.value().toString(), icon.value().toString(), desc, chk )); } j++; } } i = configurationMap.find("services"); if (i!=configurationMap.end()) { QVariantList services = i.value().toList(); QList::const_iterator j = services.begin(); while (j!=services.end()) { QMap app = (*j).toMap(); QMap::const_iterator name = app.find("name"); QMap::const_iterator display = app.find("display"); QMap::const_iterator icon = app.find("icon"); QMap::const_iterator description = app.find("description"); QMap::const_iterator checked = app.find("checked"); if (name!=app.end() and display!=app.end() and icon!=app.end()) { QString desc = (description!=app.end()) ? description.value().toString() : QString(); bool chk = (checked!=app.end()) ? checked.value().toBool() : false; m_servicesModel.append(new App( name.value().toString(), display.value().toString(), icon.value().toString(), desc, chk )); } j++; } } i = configurationMap.find("translations"); if (i!=configurationMap.end()) { QVariantList langs = i.value().toList(); QList::const_iterator j = langs.begin(); while (j!=langs.end()) { QMap lang = (*j).toMap(); QMap::const_iterator name = lang.find("lang"); QMap::const_iterator messages = lang.find("messages"); if (name!=lang.end() and messages!=lang.end()) { qDebug()<<"Translation for:"<::const_iterator q = msgs.begin(); while (q!=msgs.end()) { QMap msg = (*q).toMap(); QMap::const_iterator id = msg.find("id"); QMap::const_iterator value = msg.find("value"); m_translations[name.value().toString()][id.value().toString()] = value.value().toString(); q++; } } j++; } } //qDebug()<