refs #922, refs #911, JSON cut/copy/paste

* utility function for CVariant
* use CVariant for cut/copy/paste
This commit is contained in:
Klaus Basan
2017-03-24 18:24:59 +01:00
committed by Mathew Sutcliffe
parent 5ba438699f
commit 08f8916344
6 changed files with 24 additions and 8 deletions

View File

@@ -94,8 +94,10 @@ namespace BlackGui
{
try
{
CAircraftIcaoCodeList icaos;
icaos.convertFromJson(Json::jsonObjectFromString(json));
CVariant jsonVariant;
jsonVariant.convertFromJson(Json::jsonObjectFromString(json));
if (!jsonVariant.canConvert<CAircraftIcaoCodeList>()) { return; }
const CAircraftIcaoCodeList icaos = jsonVariant.value<CAircraftIcaoCodeList>();
if (!icaos.isEmpty())
{
this->setValue(icaos.front());

View File

@@ -159,8 +159,10 @@ namespace BlackGui
{
try
{
CAirlineIcaoCodeList icaos;
icaos.convertFromJson(Json::jsonObjectFromString(json));
CVariant jsonVariant;
jsonVariant.convertFromJson(Json::jsonObjectFromString(json));
if (!jsonVariant.canConvert<CAirlineIcaoCodeList>()) { return; }
const CAirlineIcaoCodeList icaos = jsonVariant.value<CAirlineIcaoCodeList>();
if (!icaos.isEmpty())
{
this->setValue(icaos.front());

View File

@@ -117,8 +117,10 @@ namespace BlackGui
{
try
{
CLiveryList liveries;
liveries.convertFromJson(Json::jsonObjectFromString(json));
CVariant jsonVariant;
jsonVariant.convertFromJson(Json::jsonObjectFromString(json));
if (!jsonVariant.canConvert<CLiveryList>()) { return; }
const CLiveryList liveries = jsonVariant.value<CLiveryList>();
if (!liveries.isEmpty())
{
this->setValue(liveries.front());

View File

@@ -1454,7 +1454,8 @@ namespace BlackGui
if (!this->hasSelection()) { return; }
const ContainerType selection = this->selectedObjects();
if (selection.isEmpty()) { return; }
const QString json = selection.toJsonString();
const CVariant copyJson = CVariant::from(selection);
const QString json = copyJson.toJsonString();
clipboard->setText(json);
}