Split of CSimulatorPluginInfo and CSimulatorSetup

refs #404, and discussion https://dev.vatsim-germany.org/issues/404#note-8

* Changed CSimulatorSetup to use CNameVariantPairList as data. The old version was an hack and had to go, CNameVariantPairList would allow complex types in the future and can be already shown in the GUI.
* CNameVariantPairList was improved slightly in the same step
* Functions to get CSimulatorSetup from driver / context
* Removed CSimulatorSetup data from CSimulatorPluginInfo
This commit is contained in:
Klaus Basan
2015-04-11 01:51:21 +02:00
parent 291746bc57
commit 5d819b30f5
26 changed files with 448 additions and 349 deletions

View File

@@ -13,14 +13,80 @@ namespace BlackMisc
{
namespace Simulation
{
void CSimulatorSetup::setSettings(const BlackMisc::CPropertyIndexVariantMap &map)
void CSimulatorSetup::setValue(const QString &name, const QString &value)
{
this->m_setup = map;
this->m_data.addOrReplaceValue(name, value);
}
void CSimulatorSetup::init()
QString CSimulatorSetup::getStringValue(const QString &name) const
{
// void
return m_data.getValueAsString(name);
}
void CSimulatorSetup::setSimulatorVersion(const QString versionInfo)
{
this->setValue("all/versionInfo", versionInfo);
}
void CSimulatorSetup::setSimulatorInstallationDirectory(const QString fullFilePath)
{
this->setValue("all/installDir", fullFilePath);
}
QString CSimulatorSetup::getSimulatorVersion() const
{
return this->getStringValue("all/versionInfo");
}
QString CSimulatorSetup::getSimulatorInstallationDirectory() const
{
return this->getStringValue("all/installDir");
}
void CSimulatorSetup::registerMetadata()
{
qRegisterMetaType<BlackMisc::Simulation::CSimulatorSetup>();
qDBusRegisterMetaType<BlackMisc::Simulation::CSimulatorSetup>();
registerMetaValueType<BlackMisc::Simulation::CSimulatorSetup>();
}
QString CSimulatorSetup::convertToQString(bool i18n) const
{
return m_data.toQString(i18n);
}
CVariant CSimulatorSetup::propertyByIndex(const BlackMisc::CPropertyIndex &index) const
{
if (index.isMyself()) { return this->toCVariant(); }
ColumnIndex i = index.frontCasted<ColumnIndex>();
switch (i)
{
case IndexData:
return m_data.toCVariant();
default:
return CValueObject::propertyByIndex(index);
}
}
void CSimulatorSetup::setPropertyByIndex(const CVariant &variant, const BlackMisc::CPropertyIndex &index)
{
if (index.isMyself())
{
this->convertFromCVariant(variant);
return;
}
ColumnIndex i = index.frontCasted<ColumnIndex>();
switch (i)
{
case IndexData:
this->m_data.convertFromCVariant(variant.value<QString>());
break;
default:
CValueObject::setPropertyByIndex(variant, index);
break;
}
}
} // ns
} // ns