void JsonDbObject::addAncestor(QJsonArray *history, const int updateCount, const QString &hash) const { if (updateCount < 1 || !history) return; int pos = updateCount - 1; for (int ii = history->size(); ii < updateCount; ii++) history->append(QJsonValue::Null); QJsonValue old = history->at(pos); if (old.isArray()) { QJsonArray multi = old.toArray(); for (int ii = multi.size(); ii-- > 0;) { QString oldHash = multi.at(ii).toString(); if (oldHash == hash) { return; } else if (oldHash < hash) { multi.insert(ii + 1, hash); history->replace(pos, multi); return; } } multi.prepend(hash); history->replace(pos, multi); } else if (!old.isString()) { history->replace(pos, hash); } else { QString oldHash = old.toString(); if (oldHash == hash) return; QJsonArray multi; if (oldHash < hash) { multi.append(oldHash); multi.append(hash); } else if (oldHash > hash) { multi.append(hash); multi.append(oldHash); } history->replace(pos, multi); } }
bool HistoryModel::save(const QString &path) const { if (SessionsManager::isReadOnly()) { return false; } QSaveFile file(path); if (!file.open(QIODevice::WriteOnly)) { return false; } QJsonArray array; for (int i = 0; i < rowCount(); ++i) { QStandardItem *entry(item(i)); if (entry) { QJsonObject object; object.insert(QLatin1String("url"), entry->data(UrlRole).toUrl().toString()); object.insert(QLatin1String("title"), entry->data(TitleRole).toString()); object.insert(QLatin1String("time"), entry->data(TimeVisitedRole).toDateTime().toString(QLatin1String("yyyy-MM-dd hh:mm:ss"))); array.prepend(object); } } QJsonDocument document; document.setArray(array); file.write(document.toJson(QJsonDocument::Indented)); return file.commit(); }
void DataJson::createJsonStandard() { QJsonObject ambitCat, ambitEsp, ambitFran; QJsonObject ejeCat, ejeEsp,ejeFran; QJsonArray ejecutablesCat,ejecutablesEsp,ejecutablesFran; //Crear QJsonObject ambitCat ambitCat.insert("Nombreambito",QJsonValue(QString("Catalunya lidar 2 metres"))); if(_objectSettingPref->existPathImageCatSett()) { ambitCat.insert("Path",_objectSettingPref->getSettingImageCat()); } else { ambitCat.insert("Path",QJsonValue(QString("//nas02/treballcompartit/dtmdbdad/BD_CAT2MLID_ET.RF"))); } ambitCat.insert("TamanyoPixel",QJsonValue(int(1))); ambitCat.insert("Utm",QJsonValue(int(31))); ejeCat.insert("Nombre",QJsonValue(QString("exeExtraction"))); if(_objectSettingPref->existExeExtraSett()) {ejeCat.insert("Path",_objectSettingPref->getExeExtraction());} else {ejeCat.insert("Path",QJsonValue(QString("//nas03/geoproces/dfapplications/ICCDTMOperations/exe/ICCADBDTMEXTRACTIONCONSOLEVERSION.exe"))); } ejecutablesCat.append(ejeCat); ejeCat.insert("Nombre",QJsonValue(QString("exeResize"))); if(_objectSettingPref->existExeResiSett()) {ejeCat.insert("Path",_objectSettingPref->getExeResize());} else { ejeCat.insert("Path",QJsonValue(QString("//empuries/PRODUCCIO/DFApplications/ICCImageOperations/exe/ICCImageresize.exe"))); } ejecutablesCat.append(ejeCat); ejeCat.insert("Nombre",QJsonValue(QString("exeFootPrintMask"))); if(_objectSettingPref->existExeFootPSett()) { ejeCat.insert("Path",_objectSettingPref->getExeFootPrintMask());} else {ejeCat.insert("Path",QJsonValue(QString("//nas03/geoproces/dfapplications/ICCImageOperations/exe/ICCImageFootPrintMask.exe"))); } ejecutablesCat.append(ejeCat); ejeCat.insert("Nombre",QJsonValue(QString("exeSubScene"))); if(_objectSettingPref->existExeSubeSett()) {ejeCat.insert("Path",_objectSettingPref->getExeSubScene());} else {ejeCat.insert("Path",QJsonValue(QString("//nas03/geoproces/dfapplications/ICCImageOperations/exe/ICCImageSubescenes.exe"))); } ejecutablesCat.append(ejeCat); ejeCat.insert("Nombre",QJsonValue(QString("exeGeoTransform"))); if(_objectSettingPref->existExeImaOpeoSett()) {ejeCat.insert("Path",_objectSettingPref->getExeImaOpeGeo());} else {ejeCat.insert("Path",QJsonValue(QString("//nas03/geoproces/DFApplications/ICCImageOperationsGeoCorrection/exe/ICCImageGeoTransformation.exe"))); } ejecutablesCat.append(ejeCat); ambitCat.insert("Ejecutables",ejecutablesCat); //Crear QJsonObject ambitEsp ambitEsp.insert("Nombreambito",QJsonValue(QString("Espanya 5 metres"))); if(_objectSettingPref->existPathImageEspSett()) { ambitEsp.insert("Path",_objectSettingPref->getSettingImageEsp()); } else { ambitEsp.insert("Path",QJsonValue(QString("//Pedros/Disc_E/Antonio/mosaicMetEspanya.rf"))); } ambitEsp.insert("TamanyoPixel",QJsonValue(int(5))); ambitEsp.insert("Utm",QJsonValue(int(30))); ejeEsp.insert("Nombre",QJsonValue(QString("exeFootPrintMask"))); if(_objectSettingPref->existExeFootPSett()) { ejeEsp.insert("Path",_objectSettingPref->getExeFootPrintMask());} else {ejeEsp.insert("Path",QJsonValue(QString("//nas03/geoproces/dfapplications/ICCImageOperations/exe/ICCImageFootPrintMask.exe"))); } ejecutablesEsp.append(ejeEsp); ejeEsp.insert("Nombre",QJsonValue(QString("exeResize"))); if(_objectSettingPref->existExeResiSett()) { ejeEsp.insert("Path",_objectSettingPref->getExeResize());} else {ejeEsp.insert("Path",QJsonValue(QString("//empuries/PRODUCCIO/DFApplications/ICCImageOperations/exe/ICCImageresize.exe"))); } ejecutablesEsp.append(ejeEsp); ejeEsp.insert("Nombre",QJsonValue(QString("exeSubScene"))); if(_objectSettingPref->existExeSubeSett()) { ejeEsp.insert("Path",_objectSettingPref->getExeSubScene());} else { ejeEsp.insert("Path",QJsonValue(QString("//nas03/geoproces/dfapplications/ICCImageOperations/exe/ICCImageSubescenes.exe"))); } ejecutablesEsp.append(ejeEsp); ejeEsp.insert("Nombre",QJsonValue(QString("exeGeoTransform"))); if(_objectSettingPref->existExeImaOpeoSett()) {ejeEsp.insert("Path",_objectSettingPref->getExeImaOpeGeo());} else {ejeEsp.insert("Path",QJsonValue(QString("//nas03/geoproces/DFApplications/ICCImageOperationsGeoCorrection/exe/ICCImageGeoTransformation.exe"))); } ejecutablesEsp.append(ejeEsp); ambitEsp.insert("Ejecutables",ejecutablesEsp); //Crear QJsonObject ambitFran ambitFran.insert("Nombreambito",QJsonValue(QString("Francia Farmstar"))); if(_objectSettingPref->existPathImageFraSett()) { ambitFran.insert("Path",_objectSettingPref->getSettingImageFran());} else { ambitFran.insert("Path",QJsonValue(QString("//Pedros/Disc_E/Antonio/MosaicMetFarmstar_NTF_ELIP.rf")));} ambitFran.insert("TamanyoPixel",QJsonValue(int(10))); ambitFran.insert("Utm",QJsonValue(int(-2))); ejeFran.insert("Nombre",QJsonValue(QString("exeFootPrintMask"))); if(_objectSettingPref->existExeFootPSett()) {ejeFran.insert("Path",_objectSettingPref->getExeFootPrintMask());} else { ejeFran.insert("Path",QJsonValue(QString("//nas03/geoproces/dfapplications/ICCImageOperations/exe/ICCImageFootPrintMask.exe"))); } ejecutablesFran.append(ejeFran); ejeFran.insert("Nombre",QJsonValue(QString("exeResize"))); if(_objectSettingPref->existExeResiSett()) {ejeFran.insert("Path",_objectSettingPref->getExeResize());} else { ejeFran.insert("Path",QJsonValue(QString("//empuries/PRODUCCIO/DFApplications/ICCImageOperations/exe/ICCImageresize.exe"))); } ejecutablesFran.append(ejeFran); ejeFran.insert("Nombre",QJsonValue(QString("exeSubScene"))); if(_objectSettingPref->existExeSubeSett()) { ejeFran.insert("Path",_objectSettingPref->getExeSubScene());} else { ejeFran.insert("Path",QJsonValue(QString("//nas03/geoproces/dfapplications/ICCImageOperations/exe/ICCImageSubescenes.exe"))); } ejecutablesFran.append(ejeFran); ejeFran.insert("Nombre",QJsonValue(QString("exeResize"))); if(_objectSettingPref->existExeResiSett()) {ejeFran.insert("Path",_objectSettingPref->getExeResize());} else {ejeFran.insert("Path",QJsonValue(QString("//empuries/PRODUCCIO/DFApplications/ICCImageOperations/exe/ICCImageresize.exe"))); } ejecutablesFran.append(ejeFran); ambitFran.insert("Ejecutables",ejecutablesFran); QJsonArray array; array.prepend((ambitCat)); array.prepend((ambitFran)); array.prepend((ambitEsp)); QJsonDocument documento; documento.setArray(array); QFile documentoTexto; QTextStream value; QString PathFileJsonDefecto=qApp->applicationDirPath()+"/dataAplicationToolsPcot.txt"; documentoTexto.setFileName(PathFileJsonDefecto); documentoTexto.open(QFile::WriteOnly | QFile::Text); value.setDevice(&documentoTexto); value << documento.toJson(); }
void DataJson::createJson() { QJsonObject ambitCat, ambitEsp, ambitFran; QJsonObject ejeCat, ejeEsp,ejeFran; QJsonArray ejecutablesCat,ejecutablesEsp,ejecutablesFran; //Crear QJsonObject ambitCat ambitCat.insert("Nombreambito",QJsonValue(QString("Catalunya lidar 2 metres"))); ambitCat.insert("Path",QJsonValue(QString(getPathImageMetCat()))); ambitCat.insert("TamanyoPixel",QJsonValue(int(1))); ambitCat.insert("Utm",QJsonValue(int(31))); ejeCat.insert("Nombre",QJsonValue(QString("exeExtraction"))); ejeCat.insert("Path",QJsonValue(QString(getExeExtraction()))); ejecutablesCat.append(ejeCat); ejeCat.insert("Nombre",QJsonValue(QString("exeResize"))); ejeCat.insert("Path",QJsonValue(QString(getExeResize()))); ejecutablesCat.append(ejeCat); ejeCat.insert("Nombre",QJsonValue(QString("exeFootPrintMask"))); ejeCat.insert("Path",QJsonValue(QString(getExeFootPrintMask()))); ejecutablesCat.append(ejeCat); ejeCat.insert("Nombre",QJsonValue(QString("exeSubScene"))); ejeCat.insert("Path",QJsonValue(QString(getExeSubScene()))); ejecutablesCat.append(ejeCat); ejeCat.insert("Nombre",QJsonValue(QString("exeGeoTransform"))); ejeCat.insert("Path",QJsonValue(QString(getExeImaOpeGeo()))); ejecutablesCat.append(ejeCat); ambitCat.insert("Ejecutables",ejecutablesCat); //Crear QJsonObject ambitEsp ambitEsp.insert("Nombreambito",QJsonValue(QString("Espanya 5 metres"))); ambitEsp.insert("Path",QJsonValue(QString(getPathImageMetEsp()))); ambitEsp.insert("TamanyoPixel",QJsonValue(int(5))); ambitEsp.insert("Utm",QJsonValue(int(30))); ejeEsp.insert("Nombre",QJsonValue(QString("exeFootPrintMask"))); ejeEsp.insert("Path",QJsonValue(QString(getExeFootPrintMask()))); ejecutablesEsp.append(ejeEsp); ejeEsp.insert("Nombre",QJsonValue(QString("exeResize"))); ejeEsp.insert("Path",QJsonValue(QString(getExeResize()))); ejecutablesEsp.append(ejeEsp); ejeEsp.insert("Nombre",QJsonValue(QString("exeSubScene"))); ejeEsp.insert("Path",QJsonValue(QString(getExeSubScene()))); ejecutablesEsp.append(ejeEsp); ejeEsp.insert("Nombre",QJsonValue(QString("exeGeoTransform"))); ejeEsp.insert("Path",QJsonValue(QString(getExeImaOpeGeo()))); ejecutablesEsp.append(ejeEsp); ambitEsp.insert("Ejecutables",ejecutablesEsp); //Crear QJsonObject ambitFran ambitFran.insert("Nombreambito",QJsonValue(QString("Francia Farmstar"))); ambitFran.insert("Path",QJsonValue(QString(getPathImageMetFran()))); ambitFran.insert("TamanyoPixel",QJsonValue(int(10))); ambitFran.insert("Utm",QJsonValue(int(-2))); ejeFran.insert("Nombre",QJsonValue(QString("exeFootPrintMask"))); ejeFran.insert("Path",QJsonValue(QString(getExeFootPrintMask()))); ejecutablesFran.append(ejeFran); ejeFran.insert("Nombre",QJsonValue(QString("exeResize"))); ejeFran.insert("Path",QJsonValue(QString(getExeResize()))); ejecutablesFran.append(ejeFran); ejeFran.insert("Nombre",QJsonValue(QString("exeSubScene"))); ejeFran.insert("Path",QJsonValue(QString(getExeSubScene()))); ejecutablesFran.append(ejeFran); ejeFran.insert("Nombre",QJsonValue(QString("exeResize"))); ejeFran.insert("Path",QJsonValue(QString(getExeResize()))); ejecutablesFran.append(ejeFran); ambitFran.insert("Ejecutables",ejecutablesFran); QJsonArray array; array.prepend((ambitCat)); array.prepend((ambitFran)); array.prepend((ambitEsp)); QJsonDocument documento; documento.setArray(array); QFile documentoTexto; QTextStream value; QString PathFileJsonDefecto=qApp->applicationDirPath()+"/dataAplicationToolsPcot.txt"; documentoTexto.setFileName(PathFileJsonDefecto); documentoTexto.open(QFile::WriteOnly | QFile::Text); value.setDevice(&documentoTexto); value << documento.toJson(); }