飞行版本

This commit is contained in:
hm
2022-02-25 15:51:18 +08:00
parent c69af12878
commit 16b55bceb2
17 changed files with 396 additions and 294 deletions
+69 -31
View File
@@ -162,18 +162,20 @@ void Config::set_GCS_ID(QVariant id)
setJsonObject("GlobalSetting",obj);
}
void Config::get_ExportInfo(QVariant *value)
void Config::get_ExportInfo(QVariant *value,QVariant *id)
{
QJsonObject obj = getJsonObject("ExportInfo");
*value = obj.value("Export").toBool();
*id = obj.value("ID").toInt();
}
void Config::set_ExportInfo(QVariant value)
void Config::set_ExportInfo(QVariant value,QVariant id)
{
QJsonObject obj;
obj["Export"] = value.toBool();
obj["ID"] = id.toInt();
setJsonObject("ExportInfo",obj);
}
@@ -321,40 +323,34 @@ QMap<int, Config::_latlng> Config::getVirtualMargin(int type)
{
QJsonObject obj = getJsonObject("VirtualMargin");
QJsonArray notice_obj = obj.value("orange").toArray();
QJsonArray warning_obj = obj.value("red").toArray();
QMap<int, Config::_latlng> map;
QJsonArray array_obj;
if(type == 0)//红
{
foreach (QJsonValue v, warning_obj) {
Config::_latlng latlng;
latlng.index = v.toObject().value("index").toInt();
latlng.latitude = v.toObject().value("latitude").toDouble();
latlng.longitude = v.toObject().value("longitude").toDouble();
map.insert(latlng.index,latlng);
qDebug() << "virtual margin" << type << latlng.index << latlng.latitude << latlng.longitude;
}
}
else if(type == 1)//黄
{
foreach (QJsonValue v, notice_obj) {
Config::_latlng latlng;
latlng.index = v.toObject().value("index").toInt();
latlng.latitude = v.toObject().value("latitude").toDouble();
latlng.longitude = v.toObject().value("longitude").toDouble();
map.insert(latlng.index,latlng);
qDebug() << "virtual margin" << type << latlng.index << latlng.latitude << latlng.longitude;
}
switch (type) {
case 0:
array_obj = obj.value("red").toArray();
break;
case 1:
array_obj = obj.value("orange").toArray();
break;
case 2:
array_obj = obj.value("drop1").toArray();
break;
case 3:
array_obj = obj.value("drop2").toArray();
break;
}
foreach (QJsonValue v, array_obj) {
Config::_latlng latlng;
latlng.index = v.toObject().value("index").toInt();
latlng.latitude = v.toObject().value("latitude").toDouble();
latlng.longitude = v.toObject().value("longitude").toDouble();
map.insert(latlng.index,latlng);
}
return map;
}
@@ -365,11 +361,15 @@ void Config::setVirtualMargin(QMap<int, Config::_latlng> mvs,int type)
QJsonArray notice_obj;
QJsonArray warning_obj;
QJsonArray drop1_obj;
QJsonArray drop2_obj;
if(type == 0)//红
{
notice_obj = obj.value("orange").toArray();
drop1_obj = obj.value("drop1").toArray();
drop2_obj = obj.value("drop2").toArray();
foreach (Config::_latlng latlng, mvs) {
@@ -385,6 +385,8 @@ void Config::setVirtualMargin(QMap<int, Config::_latlng> mvs,int type)
else if(type == 1)//黄
{
warning_obj = obj.value("red").toArray();
drop1_obj = obj.value("drop1").toArray();
drop2_obj = obj.value("drop2").toArray();
foreach (Config::_latlng latlng, mvs) {
@@ -397,12 +399,48 @@ void Config::setVirtualMargin(QMap<int, Config::_latlng> mvs,int type)
notice_obj.append(v);
}
}
else if(type == 2)//drop1
{
warning_obj = obj.value("red").toArray();
notice_obj = obj.value("orange").toArray();
drop2_obj = obj.value("drop2").toArray();
foreach (Config::_latlng latlng, mvs) {
QJsonObject v;
v["index"] = latlng.index;
v["latitude"] = latlng.latitude;
v["longitude"] = latlng.longitude;
drop1_obj.append(v);
}
}
else if(type == 3)//drop2
{
warning_obj = obj.value("red").toArray();
notice_obj = obj.value("orange").toArray();
drop1_obj = obj.value("drop1").toArray();
foreach (Config::_latlng latlng, mvs) {
QJsonObject v;
v["index"] = latlng.index;
v["latitude"] = latlng.latitude;
v["longitude"] = latlng.longitude;
drop2_obj.append(v);
}
}
obj["orange"] = notice_obj;
obj["red"] = warning_obj;
obj["drop1"] = drop1_obj;
obj["drop2"] = drop2_obj;
setJsonObject("VirtualMargin",obj);