bool TagIO::read_xml( QIODevice* in, const QString& relative_dir, QHash< QString, QList<TagItem::Elements> >& elts ) { if( !in ) { return false; } QDir dir; if( !relative_dir.isEmpty() ) { dir = QDir( relative_dir ).absolutePath(); } QXmlStreamReader xml; xml.setDevice( in ); if( xml.readNext() == QXmlStreamReader::StartDocument && !xml.isStartDocument() ) { return false; } if( !xml.readNextStartElement() ) { return false; } if( xml.name() != DATASET ) { return false; } // skip info for user while( xml.readNextStartElement() && ( xml.name() != IMAGES && xml.name() != TAGS ) ) { xml.skipCurrentElement(); } QHash<QString, QColor> tag_color_dict; if( xml.name() == TAGS ) { while( xml.readNextStartElement() && xml.name() == SINGLE_TAG ) { tag_color_dict[ xml.attributes().value( NAME ).toString() ] = QColor( xml.attributes().value( COLOR ).toString() ); // empty elements are directly followed by endElement // so readNext must be called xml.readNextStartElement(); } } // within the "images" element while( !xml.atEnd() ) { if( xml.name() == SINGLE_IMAGE ) { QString fullpath = xml.attributes().value( PATH ).toString(); if( fullpath.isEmpty() ) { xml.skipCurrentElement(); continue; } if( !relative_dir.isEmpty() && dir.exists() ) { fullpath = dir.absoluteFilePath( fullpath ); } if( !xml.readNextStartElement() ) { xml.skipCurrentElement(); continue; } while( xml.name() == BOX ) { QXmlStreamAttributes att = xml.attributes(); QStringRef top = att.value( TOP ); QStringRef left = att.value( LEFT ); QStringRef width = att.value( WIDTH ); QStringRef height = att.value( HEIGHT ); bool skip = ( top.isEmpty() || left.isEmpty() || width.isEmpty() || height.isEmpty() ); xml.readNextStartElement(); skip = skip || ( xml.name() != LABEL ); QString label = xml.readElementText(); skip = skip || ( label.isEmpty() ); if( skip ) { xml.skipCurrentElement(); xml.readNextStartElement(); continue; } TagItem::Elements elt; elt._fullpath = fullpath; elt._label = label; elt._color = tag_color_dict.value( label ); elt._bbox.append( QRect( left.toInt(), top.toInt(), width.toInt(), height.toInt() ) ); elts[ fullpath ].append( elt ); xml.readNextStartElement(); while( xml.isEndElement() ) { xml.readNextStartElement(); } } } else { xml.readNextStartElement(); } } return true; }
static void parseOutline(QXmlStreamReader &reader, Category &cat) { while (!reader.atEnd()) { QXmlStreamReader::TokenType type = reader.readNext(); switch (type) { case QXmlStreamReader::StartElement: { const QStringRef name = reader.name(); if (name != QLatin1String("outline")) { consumeCurrentElement(reader); continue; } QXmlStreamAttributes attributes = reader.attributes(); if (QLatin1String("rss")==attributes.value(QLatin1String("type")).toString() || QLatin1String("link")==attributes.value(QLatin1String("type")).toString()) { // Parse the feed and add it to this container Podcast podcast; podcast.name=attributes.value("title").toString().trimmed(); if (podcast.name.isEmpty()) { podcast.name=attributes.value(QLatin1String("text")).toString(); } podcast.description=attributes.value("description").toString().trimmed(); if (podcast.description.isEmpty()) { podcast.description=attributes.value(QLatin1String("text")).toString(); } podcast.htmlUrl=attributes.value("htmlUrl").toString().trimmed(); podcast.url=QUrl::fromEncoded(attributes.value(QLatin1String("xmlUrl")).toString().toLatin1()); if (podcast.url.isEmpty()) { podcast.url=QUrl::fromEncoded(attributes.value(QLatin1String("url")).toString().toLatin1()); } podcast.image=QUrl::fromEncoded(attributes.value(QLatin1String("imageUrl")).toString().toLatin1()); if (podcast.image.isEmpty()) { podcast.image=QUrl::fromEncoded(attributes.value(QLatin1String("imageHref")).toString().toLatin1()); } cat.podcasts.append(podcast); // Consume any children and the EndElement. consumeCurrentElement(reader); } else { // Create a new child container Category child; // Take the name from the fullname attribute first if it exists. child.name = attributes.value(QLatin1String("fullname")).toString().trimmed(); if (child.name.isEmpty()) { child.name = attributes.value(QLatin1String("title")).toString().trimmed(); } if (child.name.isEmpty()) { child.name = attributes.value(QLatin1String("text")).toString().trimmed(); } // Parse its contents and add it to this container parseOutline(reader, child); cat.categories.append(child); } break; } case QXmlStreamReader::EndElement: return; default: break; } } }
void Point::loadXml(QXmlStreamReader &reader) { LOG4CPP_INFO_S ((*mainCat)) << "Point::loadXml"; bool success = true; QXmlStreamAttributes attributes = reader.attributes(); if (attributes.hasAttribute(DOCUMENT_SERIALIZE_POINT_IDENTIFIER) && attributes.hasAttribute(DOCUMENT_SERIALIZE_POINT_ORDINAL) && attributes.hasAttribute(DOCUMENT_SERIALIZE_POINT_IDENTIFIER_INDEX)) { m_identifier = attributes.value(DOCUMENT_SERIALIZE_POINT_IDENTIFIER).toString(); m_ordinal = attributes.value(DOCUMENT_SERIALIZE_POINT_ORDINAL).toDouble(); m_identifierIndex = attributes.value(DOCUMENT_SERIALIZE_POINT_IDENTIFIER_INDEX).toInt(); while ((reader.tokenType() != QXmlStreamReader::EndElement) || (reader.name () != DOCUMENT_SERIALIZE_POINT)) { loadNextFromReader(reader); if (reader.atEnd()) { success = false; break; } if (reader.tokenType () == QXmlStreamReader::StartElement) { if (reader.name() == DOCUMENT_SERIALIZE_POINT_POSITION_SCREEN) { attributes = reader.attributes(); if (attributes.hasAttribute(DOCUMENT_SERIALIZE_POINT_X) && attributes.hasAttribute(DOCUMENT_SERIALIZE_POINT_Y)) { m_posScreen.setX (attributes.value(DOCUMENT_SERIALIZE_POINT_X).toDouble()); m_posScreen.setY (attributes.value(DOCUMENT_SERIALIZE_POINT_Y).toDouble()); } else { success = false; break; } } else if (reader.name() == DOCUMENT_SERIALIZE_POINT_POSITION_GRAPH) { attributes = reader.attributes(); if (attributes.hasAttribute(DOCUMENT_SERIALIZE_POINT_X) && attributes.hasAttribute(DOCUMENT_SERIALIZE_POINT_Y)) { m_posGraph.setX (attributes.value(DOCUMENT_SERIALIZE_POINT_X).toDouble()); m_posGraph.setY (attributes.value(DOCUMENT_SERIALIZE_POINT_Y).toDouble()); } else { success = false; break; } } } } } else { success = false; } if (!success) { reader.raiseError("Cannot read point data"); } }
/*! * Parses a Amplify CreateBranch response element from \a xml. */ void CreateBranchResponsePrivate::parseCreateBranchResponse(QXmlStreamReader &xml) { Q_ASSERT(xml.name() == QLatin1String("CreateBranchResponse")); Q_UNUSED(xml) ///< @todo }
void ITunesFeature::parseTrack(QXmlStreamReader &xml, QSqlQuery &query) { //qDebug() << "----------------TRACK-----------------"; int id = -1; QString title; QString artist; QString album; QString album_artist; QString year; QString genre; QString grouping; QString location; int bpm = 0; int bitrate = 0; //duration of a track int playtime = 0; int rating = 0; QString comment; QString tracknumber; QString tracktype; while (!xml.atEnd()) { xml.readNext(); if (xml.isStartElement()) { if (xml.name() == "key") { QString key = xml.readElementText(); QString content; if (readNextStartElement(xml)) { content = xml.readElementText(); } //qDebug() << "Key: " << key << " Content: " << content; if (key == "Track ID") { id = content.toInt(); continue; } if (key == "Name") { title = content; continue; } if (key == "Artist") { artist = content; continue; } if (key == "Album") { album = content; continue; } if (key == "Album Artist") { album_artist = content; continue; } if (key == "Genre") { genre = content; continue; } if (key == "Grouping") { grouping = content; continue; } if (key == "BPM") { bpm = content.toInt(); continue; } if (key == "Bit Rate") { bitrate = content.toInt(); continue; } if (key == "Comments") { comment = content; continue; } if (key == "Total Time") { playtime = (content.toInt() / 1000); continue; } if (key == "Year") { year = content; continue; } if (key == "Location") { QByteArray strlocbytes = content.toUtf8(); location = QUrl::fromEncoded(strlocbytes).toLocalFile(); // Replace first part of location with the mixxx iTunes Root // on systems where iTunes installed it only strips //localhost // on iTunes from foreign systems the mount point is replaced if (!m_dbItunesRoot.isEmpty()) { location.replace(m_dbItunesRoot, m_mixxxItunesRoot); } continue; } if (key == "Track Number") { tracknumber = content; continue; } if (key == "Rating") { //value is an integer and ranges from 0 to 100 rating = (content.toInt() / 20); continue; } if (key == "Track Type") { tracktype = content; continue; } } } //exit loop on closing </dict> if (xml.isEndElement() && xml.name() == "dict") { break; } } // If file is a remote file from iTunes Match, don't save it to the database. // There's no way that mixxx can access it. if (tracktype == "Remote") { return; } // If we reach the end of <dict> // Save parsed track to database query.bindValue(":id", id); query.bindValue(":artist", artist); query.bindValue(":title", title); query.bindValue(":album", album); query.bindValue(":album_artist", album_artist); query.bindValue(":genre", genre); query.bindValue(":grouping", grouping); query.bindValue(":year", year); query.bindValue(":duration", playtime); query.bindValue(":location", location); query.bindValue(":rating", rating); query.bindValue(":comment", comment); query.bindValue(":tracknumber", tracknumber); query.bindValue(":bpm", bpm); query.bindValue(":bitrate", bitrate); bool success = query.exec(); if (!success) { LOG_FAILED_QUERY(query); return; } }
void WeatherWidgetXMLEngine::getForecastInfo(const QString& aXMLData,QList<ForecastInfoT>& aForecastList) { qDebug()<<"WeatherWidgetXMLEngine::getForecastInfo->"; int index = -1; aForecastList.clear(); QXmlStreamReader xml; xml.addData(aXMLData); while(!xml.atEnd()) { xml.readNext(); if(xml.isStartElement()) { QString xmlTagName = xml.name().toString(); qDebug()<<xmlTagName; // forecast for a day starts if(KElementForecast == xmlTagName) { // add element to list to hold data to be read ForecastInfoT forecast; aForecastList.append(forecast); index++; qDebug()<<"Adding forecast element:"<<index; } // Forecast elements of a day starts if(KElementTitle == xmlTagName) { aForecastList[index].iDayShortDescription = xml.attributes().value(KAtrributeAlttitle).toString(); aForecastList[index].iDayDescription = xml.readElementText(); } else if(KElementShortPrediction == xmlTagName) { aForecastList[index].iShortPrediction = xml.readElementText(); } else if(KElementPrediction == xmlTagName) { aForecastList[index].iExtendedPrediction = xml.readElementText(); } else if(KElementHigh == xmlTagName) { aForecastList[index].iHigh = xml.readElementText(); } else if(KElementLow == xmlTagName) { aForecastList[index].iLow = xml.readElementText(); } else if(KElementImage == xmlTagName) { aForecastList[index].iIcon = QFileInfo(xml.attributes().value(KAttributeIcon).toString()).baseName().right(3); } } } // while qDebug()<<"WeatherWidgetXMLEngine::getForecastInfo<-"; }
bool WeatherWidgetXMLEngine::getWeatherInfo(const QString& aXMLData,WeatherInfoT& aWeatherInfo) { qDebug()<<"WeatherWidgetXMLEngine::getWeatherInfo->"; bool isfound = false; QXmlStreamReader xml; xml.addData(aXMLData); while(!xml.atEnd()) { xml.readNext(); if(xml.isStartElement()) { QString xmlTagName = xml.name().toString(); qDebug()<<xmlTagName; // current temp if(xmlTagName == KElementTemp) { aWeatherInfo.iCurrentTemperature = xml.readElementText(); isfound = true; } // latitude else if(xmlTagName == KElementLatitute) { aWeatherInfo.iLatitude = xml.readElementText(); } // longitude else if(xmlTagName == KElementLongitude) { aWeatherInfo.iLongitude = xml.readElementText(); } // current condition else if(xmlTagName == KElementCurrentCondition) { QFileInfo fileinfo(xml.attributes().value(KAttributeIcon).toString()); aWeatherInfo.iCurrentConditionImage = fileinfo.baseName(); aWeatherInfo.iCurrentCondition = xml.readElementText(); qDebug()<<"condition icon:"<<aWeatherInfo.iCurrentConditionImage; } // High Temperature else if(xmlTagName == KElementTempHigh) { aWeatherInfo.iHigh = xml.readElementText(); } // Low Temperature else if(xmlTagName == KElementTempLow) { aWeatherInfo.iLow = xml.readElementText(); } // Rain today else if(KElementRainToday == xmlTagName) { aWeatherInfo.iRainTodayInMm = xml.readElementText(); } // Windspeed-Avg else if(KElementAvgWindSpeed == xmlTagName) { aWeatherInfo.iWindSpeedKmh = xml.readElementText(); } // Wind direction-Avg else if(KElementAvgWindDirection == xmlTagName) { aWeatherInfo.iWindDirection = xml.readElementText(); } // Moonphase else if(KElementMoonphase == xmlTagName) { aWeatherInfo.iMoonPhaseImage = xml.attributes().value(KAttributeMoonPhaseImage).toString(); aWeatherInfo.iMoonphaseInPercentage = xml.readElementText(); QFileInfo fileinfo(aWeatherInfo.iMoonPhaseImage); aWeatherInfo.iMoonPhaseImage = fileinfo.baseName().right(2); } #ifdef xx // observation time else if(KElementObservationDate == xmlTagName) { qDebug()<<"WeatherWidgetXMLEngine::getWeatherInfo found observation date tag"; bool exit = false; do { xml.readNext(); xmlTagName = xml.name().toString(); qDebug()<<"WeatherWidgetXMLEngine::getWeatherInfo "<<xmlTagName; if(KElementObservationDate == xmlTagName && xml.isEndElement()) { qDebug()<<"WeatherWidgetXMLEngine::getWeatherInfo end element"; exit = true; } else if(KElementAM_PM == xmlTagName) { QString tmp = xml.attributes().value(KAttribteAbbrevation).toString(); qDebug()<<"WeatherWidgetXMLEngine::getWeatherInfo am_pm"<<tmp; if(tmp == KAm) { aWeatherInfo.iIsAM = true; } else { aWeatherInfo.iIsAM = true; } } }while(!exit); qDebug()<<"WeatherWidgetXMLEngine::getWeatherInfo result "<<aWeatherInfo.iIsAM; } // observation time #endif } //if(xml.isStartElement()) } // while qDebug()<<"WeatherWidgetXMLEngine::getWeatherInfo<-"; return isfound; }
/*! * Parses a EC2 AuthorizeSecurityGroupIngress response element from \a xml. */ void AuthorizeSecurityGroupIngressResponsePrivate::parseAuthorizeSecurityGroupIngressResponse(QXmlStreamReader &xml) { Q_ASSERT(xml.name() == QLatin1String("AuthorizeSecurityGroupIngressResponse")); Q_UNUSED(xml) ///< @todo }
bool ConditionalFormattingPrivate::readCfRule(QXmlStreamReader &reader, XlsxCfRuleData *rule, Styles *styles) { Q_ASSERT(reader.name() == QLatin1String("cfRule")); QXmlStreamAttributes attrs = reader.attributes(); if (attrs.hasAttribute(QLatin1String("type"))) rule->attrs[XlsxCfRuleData::A_type] = attrs.value(QLatin1String("type")).toString(); if (attrs.hasAttribute(QLatin1String("dxfId"))) { int id = attrs.value(QLatin1String("dxfId")).toString().toInt(); if (styles) rule->dxfFormat = styles->dxfFormat(id); else rule->dxfFormat.setDxfIndex(id); } rule->priority = attrs.value(QLatin1String("priority")).toString().toInt(); if (attrs.value(QLatin1String("stopIfTrue")) == QLatin1String("1")) { //default is false rule->attrs[XlsxCfRuleData::A_stopIfTrue] = QLatin1String("1"); } if (attrs.value(QLatin1String("aboveAverage")) == QLatin1String("0")) { //default is true rule->attrs[XlsxCfRuleData::A_aboveAverage] = QLatin1String("0"); } if (attrs.value(QLatin1String("percent")) == QLatin1String("1")) { //default is false rule->attrs[XlsxCfRuleData::A_percent] = QLatin1String("1"); } if (attrs.value(QLatin1String("bottom")) == QLatin1String("1")) { //default is false rule->attrs[XlsxCfRuleData::A_bottom] = QLatin1String("1"); } if (attrs.hasAttribute(QLatin1String("operator"))) rule->attrs[XlsxCfRuleData::A_operator] = attrs.value(QLatin1String("operator")).toString(); if (attrs.hasAttribute(QLatin1String("text"))) rule->attrs[XlsxCfRuleData::A_text] = attrs.value(QLatin1String("text")).toString(); if (attrs.hasAttribute(QLatin1String("timePeriod"))) rule->attrs[XlsxCfRuleData::A_timePeriod] = attrs.value(QLatin1String("timePeriod")).toString(); if (attrs.hasAttribute(QLatin1String("rank"))) rule->attrs[XlsxCfRuleData::A_rank] = attrs.value(QLatin1String("rank")).toString(); if (attrs.hasAttribute(QLatin1String("stdDev"))) rule->attrs[XlsxCfRuleData::A_stdDev] = attrs.value(QLatin1String("stdDev")).toString(); if (attrs.value(QLatin1String("equalAverage")) == QLatin1String("1")) { //default is false rule->attrs[XlsxCfRuleData::A_equalAverage] = QLatin1String("1"); } while (!reader.atEnd()) { reader.readNextStartElement(); if (reader.tokenType() == QXmlStreamReader::StartElement) { if (reader.name() == QLatin1String("formula")) { QString f = reader.readElementText(); if (!rule->attrs.contains(XlsxCfRuleData::A_formula1)) rule->attrs[XlsxCfRuleData::A_formula1] = f; else if (!rule->attrs.contains(XlsxCfRuleData::A_formula2)) rule->attrs[XlsxCfRuleData::A_formula2] = f; else if (!rule->attrs.contains(XlsxCfRuleData::A_formula3)) rule->attrs[XlsxCfRuleData::A_formula3] = f; } else if (reader.name() == QLatin1String("dataBar")) { readCfDataBar(reader, rule); } else if (reader.name() == QLatin1String("colorScale")) { readCfColorScale(reader, rule); } } if (reader.tokenType() == QXmlStreamReader::EndElement && reader.name() == QStringLiteral("conditionalFormatting")) { break; } } return true; }
void Addons::treeChargeAddons(QTreeWidget *view) { QTreeWidgetItem *rootItem=new QTreeWidgetItem(view) ; QTreeWidgetItem *item=new QTreeWidgetItem(rootItem) ; QFile file(db->pathUser+"/addonse-0.4.8.xml"); file.open(QIODevice::ReadOnly); view->clear(); view->setColumnCount(9); view->setAutoExpandDelay(1000); view->setAlternatingRowColors(true); // view->setHeaderHidden(true); QXmlStreamReader xml; xml.setDevice(&file); while (!xml.atEnd()) { xml.readNext(); if (xml.name() == "root"){ QString name=xml.attributes().value("Name").toString(); QString type=xml.attributes().value("type").toString(); if(!name.isNull()){ rootItem= new QTreeWidgetItem(view); rootItem->setText(0,db->trlang(name)); rootItem->setText(1,type); } }else if (xml.name() == "Item"){ QString name= xml.attributes().value("Name").toString(); QString type=xml.attributes().value("type").toString(); QString typep=xml.attributes().value("typep").toString(); QString lang=xml.attributes().value("lang").toString(); QString date= xml.attributes().value("date").toString(); QString size=xml.attributes().value("size").toString(); QString url=xml.attributes().value("url").toString(); QString text= xml.attributes().value("text").toString(); QString dir= xml.attributes().value("dir").toString(); //name,lang,date,size,url // if(name!="") // makeTable <<QString(" <tr><td>%1</td><td>%2</td><td>%3</td><td>%4</td><td><a href=\"%5\" target=\"_top\" >Download</a></td></tr>").arg(name).arg(lang).arg(date).arg(size).arg(url); if(!name.isNull()){ item= new QTreeWidgetItem(rootItem); item->setIcon(0,QIcon(":images/ok.png")); if(typep=="tr"){ if(db->getDatastr("SELECT name FROM sqlite_master WHERE name='"+text+"' ;")!=text) { item->setFlags( Qt::ItemIsUserCheckable | Qt::ItemIsSelectable | Qt::ItemIsEnabled); item->setCheckState(0,Qt::Unchecked); item->setIcon(0,QIcon(":images/Download.png")); } }else if(typep=="ex"){ if(db->getDatastr("SELECT count(id) FROM Explanation_Name where Name ='"+text+"' ;")=="0") { item->setFlags( Qt::ItemIsUserCheckable | Qt::ItemIsSelectable | Qt::ItemIsEnabled); item->setCheckState(0,Qt::Unchecked); item->setIcon(0,QIcon(":images/Download.png")); } } else if(typep=="lang" or typep=="help"){ QFile file(db->pathUser+"/"+dir+"/"+text); if(!file.exists()) { item->setFlags( Qt::ItemIsUserCheckable | Qt::ItemIsSelectable | Qt::ItemIsEnabled); item->setCheckState(0,Qt::Unchecked); item->setIcon(0,QIcon(":images/Download.png")); } } item->setText(0,db->trlang(name)); item->setText(1,type); item->setText(2,typep); item->setText(3,db->trlang(lang)); item->setText(4,date); item->setText(5,size); item->setText(6,url); item->setText(7,text); item->setText(8,dir); } } } xml.clear(); view->setColumnHidden(1,true); view->setColumnHidden(2,true); view->setColumnHidden(6,true); view->setColumnHidden(7,true); view->setColumnHidden(8,true); QStringList labels; labels << db->trlang("Name") << "" << "" << db->trlang("Lang") << db->trlang("Date") << db->trlang("Size") << "" << "" << ""; view->setHeaderLabels(labels); view->setColumnWidth(0,250); view->setColumnWidth(5,50); file.close(); }
/*! * Parses a CloudDirectory GetObjectInformation response element from \a xml. */ void GetObjectInformationResponsePrivate::parseGetObjectInformationResponse(QXmlStreamReader &xml) { Q_ASSERT(xml.name() == QLatin1String("GetObjectInformationResponse")); Q_UNUSED(xml) ///< @todo }
/*! * Parses a CognitoIdentityProvider AdminListUserAuthEvents response element from \a xml. */ void AdminListUserAuthEventsResponsePrivate::parseAdminListUserAuthEventsResponse(QXmlStreamReader &xml) { Q_ASSERT(xml.name() == QLatin1String("AdminListUserAuthEventsResponse")); Q_UNUSED(xml) ///< @todo }
void QgsOSMXmlImport::readWay( QXmlStreamReader& xml ) { /* <way id="141756602" user="******" uid="527259" visible="true" version="1" changeset="10145142" timestamp="2011-12-18T10:43:14Z"> <nd ref="318529958"/> <nd ref="1551725779"/> <nd ref="1551725792"/> <nd ref="809695938"/> <nd ref="1551725689"/> <nd ref="809695935"/> <tag k="highway" v="service"/> <tag k="oneway" v="yes"/> </way> */ QXmlStreamAttributes attrs = xml.attributes(); QgsOSMId id = attrs.value( "id" ).toString().toLongLong(); // insert to DB sqlite3_bind_int64( mStmtInsertWay, 1, id ); if ( sqlite3_step( mStmtInsertWay ) != SQLITE_DONE ) { xml.raiseError( QString( "Storing way %1 failed." ).arg( id ) ); } sqlite3_reset( mStmtInsertWay ); int way_pos = 0; while ( !xml.atEnd() ) { xml.readNext(); if ( xml.isEndElement() ) // </way> break; if ( xml.isStartElement() ) { if ( xml.name() == "nd" ) { QgsOSMId node_id = xml.attributes().value( "ref" ).toString().toLongLong(); sqlite3_bind_int64( mStmtInsertWayNode, 1, id ); sqlite3_bind_int64( mStmtInsertWayNode, 2, node_id ); sqlite3_bind_int( mStmtInsertWayNode, 3, way_pos ); if ( sqlite3_step( mStmtInsertWayNode ) != SQLITE_DONE ) { xml.raiseError( QString( "Storing ways_nodes %1 - %2 failed." ).arg( id ).arg( node_id ) ); } sqlite3_reset( mStmtInsertWayNode ); way_pos++; xml.skipCurrentElement(); } else if ( xml.name() == "tag" ) readTag( true, id, xml ); else xml.skipCurrentElement(); } } }
/*! * Parses a DynamoDB Scan response element from \a xml. */ void ScanResponsePrivate::parseScanResponse(QXmlStreamReader &xml) { Q_ASSERT(xml.name() == QLatin1String("ScanResponse")); Q_UNUSED(xml) ///< @todo }
/*! * Parses a ConfigService DescribeConfigurationAggregators response element from \a xml. */ void DescribeConfigurationAggregatorsResponsePrivate::parseDescribeConfigurationAggregatorsResponse(QXmlStreamReader &xml) { Q_ASSERT(xml.name() == QLatin1String("DescribeConfigurationAggregatorsResponse")); Q_UNUSED(xml) ///< @todo }
/*! * Parses a DirectConnect UpdateVirtualInterfaceAttributes response element from \a xml. */ void UpdateVirtualInterfaceAttributesResponsePrivate::parseUpdateVirtualInterfaceAttributesResponse(QXmlStreamReader &xml) { Q_ASSERT(xml.name() == QLatin1String("UpdateVirtualInterfaceAttributesResponse")); Q_UNUSED(xml) ///< @todo }
Person Person::Parser::parseXml(QXmlStreamReader &xml) { Person person; bool hasAvatarPic = false; while (!xml.atEnd()) { xml.readNext(); if (xml.isStartElement()) { if (xml.name() == QLatin1String("personid")) { person.setId(xml.readElementText()); } else if (xml.name() == QLatin1String("firstname")) { person.setFirstName(xml.readElementText()); } else if (xml.name() == QLatin1String("lastname")) { person.setLastName(xml.readElementText()); } else if (xml.name() == QLatin1String("homepage")) { person.setHomepage(xml.readElementText()); } else if (xml.name() == QLatin1String("avatarpic")) { person.setAvatarUrl(QUrl(xml.readElementText())); } else if (xml.name() == QLatin1String("avatarpicfound")) { QString value = xml.readElementText(); if (value.toInt()) { hasAvatarPic = true; } } else if (xml.name() == QLatin1String("birthday")) { person.setBirthday(QDate::fromString(xml.readElementText(), Qt::ISODate)); } else if (xml.name() == QLatin1String("city")) { person.setCity(xml.readElementText()); } else if (xml.name() == QLatin1String("country")) { person.setCountry(xml.readElementText()); } else if (xml.name() == QLatin1String("latitude")) { person.setLatitude(xml.readElementText().toFloat()); } else if (xml.name() == QLatin1String("longitude")) { person.setLongitude(xml.readElementText().toFloat()); } else { person.addExtendedAttribute(xml.name().toString(), xml.readElementText()); } } else if (xml.isEndElement() && (xml.name() == QLatin1String("person") || xml.name() == QLatin1String("user"))) { break; } } if (!hasAvatarPic) { person.setAvatarUrl(QUrl()); } return person; }
//import function called when the application boots void ConnectionSettings::importXMLSettings(){ //reset tabFunction and tabArgument if(ConnectionSettings::tabFunction.size()!=0){ for(int i=0; i<(int)ConnectionSettings::tabFunction.size(); i++){ ConnectionSettings::tabFunction[i]->~FuncFrame(); for(int j=0; j<(int)ConnectionSettings::tabArgument[i]->size();j++){ ConnectionSettings::tabArgument[i]->at(j)->~ArgumentFrame(); for(int k=0; k<(int)ConnectionSettings::tabChoix[i]->at(j)->size(); k++){ ConnectionSettings::tabChoix[i]->at(j)->at(k)->~ChoixLigne(); } ConnectionSettings::tabChoix[i]->at(j)->clear(); } ConnectionSettings::tabArgument[i]->clear(); ConnectionSettings::tabChoix[i]->clear(); } ConnectionSettings::tabFunction.clear(); ConnectionSettings::tabArgument.clear(); ConnectionSettings::tabChoix.clear(); } QFile input("xmlComputationSettings.xml"); QXmlStreamReader readerStream; input.open(QFile::ReadOnly | QFile::Text); readerStream.setDevice(&input); readerStream.readNext(); while (!readerStream.atEnd()) { while (readerStream.name() == "Function") { readerStream.readNext(); while(readerStream.isStartElement()==false) readerStream.readNext(); if(readerStream.name() == "Definition") { readerStream.readNext(); while(readerStream.isStartElement()==false) readerStream.readNext(); if(readerStream.name() == "name") { ConnectionSettings::tabFunction.push_back(new FuncFrame()); ConnectionSettings::tabArgument.push_back(new std::vector<ArgumentFrame*>()); ConnectionSettings::tabChoix.push_back(new std::vector< std::vector <ChoixLigne*>*>()); ConnectionSettings::tabFunction[ConnectionSettings::tabFunction.size()-1]->setNameFunction(readerStream.readElementText()); while(readerStream.isStartElement()==false) readerStream.readNext(); } if(readerStream.name() == "program") { ConnectionSettings::tabFunction[ConnectionSettings::tabFunction.size()-1]->setProgram(readerStream.readElementText()) ; readerStream.readNext(); while(readerStream.isStartElement()==false) readerStream.readNext(); } if(readerStream.name() == "nbArgument") { ConnectionSettings::tabFunction[ConnectionSettings::tabFunction.size()-1]->setNbArgument(readerStream.readElementText()) ; while(readerStream.isStartElement()==false) readerStream.readNext(); } } while(readerStream.name() == "ArgumentsDefinition") { ConnectionSettings::tabChoix[ConnectionSettings::tabChoix.size()-1]->push_back(new std::vector <ChoixLigne*>()); readerStream.readNext(); while(readerStream.isStartElement()==false) readerStream.readNext(); if(readerStream.name() == "ArgNumber") { ConnectionSettings::tabArgument[ConnectionSettings::tabArgument.size()-1]->push_back(new ArgumentFrame()); ConnectionSettings::tabArgument[ConnectionSettings::tabArgument.size()-1]->at(ConnectionSettings::tabArgument[ConnectionSettings::tabArgument.size()-1]->size()-1)->setArgNumber(readerStream.readElementText()); readerStream.readNext(); while(readerStream.isStartElement()==false) readerStream.readNext(); } if(readerStream.name() == "ArgType") { ConnectionSettings::tabArgument[ConnectionSettings::tabArgument.size()-1]->at(ConnectionSettings::tabArgument[ConnectionSettings::tabArgument.size()-1]->size()-1)->setArgType(readerStream.readElementText()); readerStream.readNext(); while(readerStream.isStartElement()==false) readerStream.readNext(); } if(readerStream.name() == "ArgSuf") { ConnectionSettings::tabArgument[ConnectionSettings::tabArgument.size()-1]->at(ConnectionSettings::tabArgument[ConnectionSettings::tabArgument.size()-1]->size()-1)->setArgSuf(readerStream.readElementText()); readerStream.readNext(); while(readerStream.isStartElement()==false) readerStream.readNext(); } if(readerStream.name() == "ArgFacul") { ConnectionSettings::tabArgument[ConnectionSettings::tabArgument.size()-1]->at(ConnectionSettings::tabArgument[ConnectionSettings::tabArgument.size()-1]->size()-1)->setArgFac(readerStream.readElementText()); readerStream.readNext(); while(readerStream.isStartElement()==false) readerStream.readNext(); } if(readerStream.name() == "ArgOutline") { ConnectionSettings::tabArgument[ConnectionSettings::tabArgument.size()-1]->at(ConnectionSettings::tabArgument[ConnectionSettings::tabArgument.size()-1]->size()-1)->setArgOutline(readerStream.readElementText()); while(readerStream.isStartElement()==false) readerStream.readNext(); } while(readerStream.name() == "ChoixList") { readerStream.readNext(); while(readerStream.isStartElement()==false) readerStream.readNext(); if(readerStream.name() == "ChoixNom") { ConnectionSettings::tabChoix[ConnectionSettings::tabChoix.size()-1]->at(ConnectionSettings::tabChoix[ConnectionSettings::tabChoix.size()-1]->size()-1)->push_back(new ChoixLigne()); ConnectionSettings::tabChoix[ConnectionSettings::tabChoix.size()-1]->at(ConnectionSettings::tabChoix[ConnectionSettings::tabChoix.size()-1]->size()-1)->at(ConnectionSettings::tabChoix[ConnectionSettings::tabChoix.size()-1]->at(ConnectionSettings::tabChoix[ConnectionSettings::tabChoix.size()-1]->size()-1)->size()-1)->setChoixNom(readerStream.readElementText()); readerStream.readNext(); while(readerStream.isStartElement()==false) readerStream.readNext(); } if(readerStream.name() == "ChoixParam") { ConnectionSettings::tabChoix[ConnectionSettings::tabChoix.size()-1]->at(ConnectionSettings::tabChoix[ConnectionSettings::tabChoix.size()-1]->size()-1)->at(ConnectionSettings::tabChoix[ConnectionSettings::tabChoix.size()-1]->at(ConnectionSettings::tabChoix[ConnectionSettings::tabChoix.size()-1]->size()-1)->size()-1)->setChoixParam(readerStream.readElementText()); readerStream.readNext(); while(readerStream.isStartElement()==false) readerStream.readNext(); } if(readerStream.name() == "ChoixPrefix") { ConnectionSettings::tabChoix[ConnectionSettings::tabChoix.size()-1]->at(ConnectionSettings::tabChoix[ConnectionSettings::tabChoix.size()-1]->size()-1)->at(ConnectionSettings::tabChoix[ConnectionSettings::tabChoix.size()-1]->at(ConnectionSettings::tabChoix[ConnectionSettings::tabChoix.size()-1]->size()-1)->size()-1)->setChoixPrefix(readerStream.readElementText()); readerStream.readNext(); while(readerStream.isStartElement()==false) if(readerStream.atEnd()==true){ break; }else{ readerStream.readNext(); } } } while(readerStream.isStartElement()==false) if(readerStream.atEnd()==true){ break; }else{ readerStream.readNext(); } } while(readerStream.isStartElement()==false) if(readerStream.atEnd()==true){ break; }else{ readerStream.readNext(); } } readerStream.readNext(); } input.close(); }
bool WeatherWidgetXMLEngine::getMappedCondtionImageDetails(const QStringRef& aImageIdToMap, const QString& aXMLData, ConditionImageDetailsT& aConditionImageDetails) { qDebug()<<"WeatherWidgetXMLEngine::getMappedCondtionImageDetails->"; bool isFound = false; aConditionImageDetails.iDayImage = false; QString imageids; QXmlStreamReader xml; xml.addData(aXMLData); while(!xml.atEnd()) { xml.readNext(); if(xml.isStartElement()) { // found image if(KIMElementImage == xml.name().toString()) { // break parsing if(isFound) { break; } // get wbimages imageids.clear(); imageids += xml.attributes().value(KIMAttributeWBImage); // search for required image if(imageids.contains(aImageIdToMap.toString())) { isFound = true; } } else if(isFound && KIMElementLayers == xml.name().toString()) { aConditionImageDetails.iLayers = xml.readElementText().toInt(); } else if(isFound && KIMMappedImage == xml.name().toString()) { // get whether a dayimage is present if(xml.attributes().hasAttribute(KIMAttributeDayImage)) { qDebug()<<"XML Parsing dayimage:"<<xml.attributes().value(KIMAttributeDayImage).toString(); ("true" == xml.attributes().value(KIMAttributeDayImage).toString()) ? (aConditionImageDetails.iDayImage = true): (aConditionImageDetails.iDayImage = false); } // get image aConditionImageDetails.iImagesList.append(xml.readElementText()); } } } qDebug()<<"WeatherWidgetXMLEngine::getMappedCondtionImageDetails<-"; return isFound; }
void CardDatabase::loadCardsFromXml(QXmlStreamReader &xml, bool tokens) { while (!xml.atEnd()) { if (xml.readNext() == QXmlStreamReader::EndElement) break; if (xml.name() == "card") { QString name, manacost, type, pt, text; QStringList colors; QStringMap customPicURLs, customPicURLsHq; MuidMap muids; SetList sets; int tableRow = 0; int loyalty = 0; bool cipt = false; bool isToken = false; while (!xml.atEnd()) { if (xml.readNext() == QXmlStreamReader::EndElement) break; if (xml.name() == "name") name = xml.readElementText(); else if (xml.name() == "manacost") manacost = xml.readElementText(); else if (xml.name() == "type") type = xml.readElementText(); else if (xml.name() == "pt") pt = xml.readElementText(); else if (xml.name() == "text") text = xml.readElementText(); else if (xml.name() == "set") { QXmlStreamAttributes attrs = xml.attributes(); QString setName = xml.readElementText(); sets.append(getSet(setName)); if (attrs.hasAttribute("muId")) { muids[setName] = attrs.value("muId").toString().toInt(); } if (attrs.hasAttribute("picURL")) { customPicURLs[setName] = attrs.value("picURL").toString(); } if (attrs.hasAttribute("picURLHq")) { customPicURLsHq[setName] = attrs.value("picURLHq").toString(); } } else if (xml.name() == "color") colors << xml.readElementText(); else if (xml.name() == "tablerow") tableRow = xml.readElementText().toInt(); else if (xml.name() == "cipt") cipt = (xml.readElementText() == "1"); else if (xml.name() == "loyalty") loyalty = xml.readElementText().toInt(); else if (xml.name() == "token") isToken = xml.readElementText().toInt(); } if (isToken == tokens) { addCard(new CardInfo(this, name, isToken, manacost, type, pt, text, colors, loyalty, cipt, tableRow, sets, customPicURLs, customPicURLsHq, muids)); } } } }
extern void ImportSoftware::importData() { QStringList args; args << "-listsoftware"; Program process; process.setArguments(args); QXmlStreamReader xml; xml.setDevice(&process); if(process.open(QIODevice::ReadOnly)){ QMap<QString,QString> map; QString machine; while(!process.state()==QProcess::NotRunning){ if (process.atEnd()) process.waitForReadyRead(); xml.readNextStartElement(); if(xml.isStartElement()){ if(xml.name()=="softwarelist") machine=xml.attributes().value("name").toString(); else if(xml.name()=="software"){ map.insert("machine",machine); QXmlStreamAttributes attributes=xml.attributes(); foreach(QXmlStreamAttribute attribute,attributes.toList()) map.insert(attribute.name().toString(),attribute.value().toString()); } else if(xml.name()=="description"){ QString description=xml.readElementText(); if(description.contains("(")){ int index=description.indexOf("("); map.insert("version",description.mid(index+1,description.size()-index-2)); description.truncate(index-1); } if(description.contains(" / ")){ int index=description.indexOf(" / "); description.truncate(index); } if(description.contains(" - ")){ int index=description.indexOf(" - "); map.insert("subtitle",description.mid(index+3)); description.truncate(index); } else if(description.contains(": ")){ int index=description.indexOf(": "); map.insert("subtitle",description.mid(index+2)); description.truncate(index); } map.insert("title",description); } else if(xml.name()=="year"){ map.insert("year",xml.readElementText()); } else if(xml.name()=="publisher"){ map.insert("developer",xml.readElementText()); } } else if(xml.isEndElement() && xml.name()=="software"){ dataTable.append(map); map.clear(); } } } }
void jcz::XmlParser::readPoint(QXmlStreamReader & xml, QList<XMLTile> & tiles) { bool ok1, ok2; QString featureName = xml.attributes().value("feature").toString().toLower(); int cx = xml.attributes().value("cx").toInt(&ok1); int cy = xml.attributes().value("cy").toInt(&ok2); Location baseLocation = Location::valueOf(xml.attributes().value("baseLocation").toString()); if (featureName.isEmpty() || !ok1 || !ok2) { qWarning() << "bad point definition"; Q_ASSERT(false); return; } // qDebug() << featureName << cx << cy << xml.attributes().value("baseLocation"); while (xml.readNextStartElement()) { int transform = -1; if (xml.name() != "apply") { if (xml.name() == "g") { auto const & value = xml.attributes().value("svg:transform"); if (value == "rotate(90 500 500)") // Well, this is actually hardcoded this way in jcz transform = 90; else if (value == "rotate(180 500 500)") transform = 180; else if (value == "rotate(270 500 500)") transform = 270; } if (transform < 0) { qWarning() << "bad point apply definition 1"; Q_ASSERT(false); // return; xml.skipCurrentElement(); continue; } else { xml.readNextStartElement(); if (xml.name() != "apply") { qWarning() << "bad point apply definition 2"; Q_ASSERT(false); // return; xml.skipCurrentElement(); continue; } } } bool allRotations = (xml.attributes().value("allRotations") == "1"); xml.readNext(); // qDebug() << "apply" << xml.text(); QStringList const & split = xml.text().toString().split(' ', QString::SkipEmptyParts); if (split.length() != 2) { qWarning() << "bad point apply location definition"; Q_ASSERT(false); return; } QString const & fullTileName = split.at(0); QString const & locationName = split.at(1); QList<Location> locations; { Location location = Location::valueOf(locationName); locations.append(location); if (allRotations) for (uchar i = 1; i < 4; ++i) locations.append(location.rotateCCW(i)); } bool allTiles = true; QString expansionName; QString tileName; if (fullTileName != "*") { allTiles = false; if (fullTileName.indexOf('.') != 2) { qWarning() << "bad point apply location definition"; Q_ASSERT(false); return; } expansionName = fullTileName.left(2); tileName = fullTileName.mid(3); } QPoint point(cx, cy); Q_ASSERT(!point.isNull()); for (int i = 0; i < locations.length(); ++i) { Location const & l = locations.at(i); QTransform t; t.translate(500, 500); t.rotate(-i * 90); if (transform > 0) t.rotate(-transform); // Untested, since it does not apply to the base game. signed char r = l.getRotationOf(baseLocation); if (r > 0) t.rotate(r * 90); t.translate(-500, -500); QPoint rotatedPoint = t.map(point); for (XMLTile & tile : tiles) { if (!allTiles) { if (tile.id != tileName) continue; if (Expansions::getCode(tile.expansion) != expansionName) continue; } if (!tile.locations.contains(l)) continue; XMLFeature & feature = tile.features[tile.locations[l]]; if (feature.name != featureName) continue; feature.point = rotatedPoint; if (transform > 0) qDebug() << tile.id << feature.name << feature.point; } } xml.skipCurrentElement(); if (transform > 0) xml.skipCurrentElement(); } // qDebug(); }
/*! * Parses a CostandUsageReportService DeleteReportDefinition response element from \a xml. */ void DeleteReportDefinitionResponsePrivate::parseDeleteReportDefinitionResponse(QXmlStreamReader &xml) { Q_ASSERT(xml.name() == QLatin1String("DeleteReportDefinitionResponse")); Q_UNUSED(xml) ///< @todo }
/*! * Parses a CloudDirectory UpgradeAppliedSchema response element from \a xml. */ void UpgradeAppliedSchemaResponsePrivate::parseUpgradeAppliedSchemaResponse(QXmlStreamReader &xml) { Q_ASSERT(xml.name() == QLatin1String("UpgradeAppliedSchemaResponse")); Q_UNUSED(xml) ///< @todo }
void ITunesFeature::parsePlaylist(QXmlStreamReader &xml, QSqlQuery &query_insert_to_playlists, QSqlQuery &query_insert_to_playlist_tracks, TreeItem* root) { //qDebug() << "Parse Playlist"; QString playlistname; int playlist_id = -1; int playlist_position = -1; int track_reference = -1; //indicates that we haven't found the < bool isSystemPlaylist = false; bool isPlaylistItemsStarted = false; QString key; //We process and iterate the <dict> tags holding playlist summary information here while (!xml.atEnd() && !m_cancelImport) { xml.readNext(); if (xml.isStartElement()) { if (xml.name() == "key") { QString key = xml.readElementText(); // The rules are processed in sequence // That is, XML is ordered. // For iTunes Playlist names are always followed by the ID. // Afterwars the playlist entries occur if (key == "Name") { readNextStartElement(xml); playlistname = xml.readElementText(); continue; } //When parsing the ID, the playlistname has already been found if (key == "Playlist ID") { readNextStartElement(xml); playlist_id = xml.readElementText().toInt(); playlist_position = 1; continue; } //Hide playlists that are system playlists if (key == "Master" || key == "Movies" || key == "TV Shows" || key == "Music" || key == "Books" || key == "Purchased") { isSystemPlaylist = true; continue; } if (key == "Playlist Items") { isPlaylistItemsStarted = true; //if the playlist is prebuild don't hit the database if (isSystemPlaylist) continue; query_insert_to_playlists.bindValue(":id", playlist_id); query_insert_to_playlists.bindValue(":name", playlistname); bool success = query_insert_to_playlists.exec(); if (!success) { qDebug() << "SQL Error in ITunesTableModel.cpp: line" << __LINE__ << " " << query_insert_to_playlists.lastError(); return; } //append the playlist to the child model root->appendChild(playlistname); } // When processing playlist entries, playlist name and id have // already been processed and persisted if (key == "Track ID") { readNextStartElement(xml); track_reference = xml.readElementText().toInt(); query_insert_to_playlist_tracks.bindValue(":playlist_id", playlist_id); query_insert_to_playlist_tracks.bindValue(":track_id", track_reference); query_insert_to_playlist_tracks.bindValue(":position", playlist_position++); //Insert tracks if we are not in a pre-build playlist if (!isSystemPlaylist && !query_insert_to_playlist_tracks.exec()) { qDebug() << "SQL Error in ITunesFeature.cpp: line" << __LINE__ << " " << query_insert_to_playlist_tracks.lastError(); qDebug() << "trackid" << track_reference; qDebug() << "playlistname; " << playlistname; qDebug() << "-----------------"; } } } } if (xml.isEndElement()) { if (xml.name() == "array") { //qDebug() << "exit playlist"; break; } if (xml.name() == "dict" && !isPlaylistItemsStarted){ // Some playlists can be empty, so we need to exit. break; } } } }
/*! * Parses a DirectConnect TagResource response element from \a xml. */ void TagResourceResponsePrivate::parseTagResourceResponse(QXmlStreamReader &xml) { Q_ASSERT(xml.name() == QLatin1String("TagResourceResponse")); Q_UNUSED(xml) ///< @todo }
void ParStore::readData(QXmlStreamReader& xml) { int ix = 0; int step = 0; int tmpjumpto = -2; int tmponlypattern = 0; while (!xml.atEnd()) { xml.readNext(); if (xml.isEndElement()) break; if (xml.isStartElement() && (xml.name() == "parStore")) { while (!xml.atEnd()) { xml.readNext(); if (xml.isEndElement()) break; if (xml.name() == "empty") temp.empty = xml.readElementText().toInt(); else if (xml.name() == "muteOut") temp.muteOut = xml.readElementText().toInt(); else if (xml.name() == "res") temp.res = xml.readElementText().toInt(); else if (xml.name() == "size") temp.size = xml.readElementText().toInt(); else if (xml.name() == "loopMode") temp.loopMode = xml.readElementText().toInt(); else if (xml.name() == "waveForm") temp.waveForm = xml.readElementText().toInt(); else if (xml.name() == "portOut") temp.portOut = xml.readElementText().toInt(); else if (xml.name() == "channelOut") temp.channelOut = xml.readElementText().toInt(); else if (xml.name() == "chIn") temp.chIn = xml.readElementText().toInt(); else if (xml.name() == "ccnumber") temp.ccnumber = xml.readElementText().toInt(); else if (xml.name() == "ccnumberIn") temp.ccnumberIn = xml.readElementText().toInt(); else if (xml.name() == "freq") temp.freq = xml.readElementText().toInt(); else if (xml.name() == "ampl") temp.ampl = xml.readElementText().toInt(); else if (xml.name() == "offs") temp.offs = xml.readElementText().toInt(); else if (xml.name() == "vel") temp.vel = xml.readElementText().toInt(); else if (xml.name() == "dispVertical") temp.dispVertical = xml.readElementText().toInt(); else if (xml.name() == "transp") temp.transp = xml.readElementText().toInt(); else if (xml.name() == "notelen") temp.notelen = xml.readElementText().toInt(); else if (xml.name() == "loopMarker") temp.loopMarker = xml.readElementText().toInt(); else if (xml.name() == "indexIn0") temp.indexIn0 = xml.readElementText().toInt(); else if (xml.name() == "indexIn1") temp.indexIn1 = xml.readElementText().toInt(); else if (xml.name() == "rangeIn0") temp.rangeIn0 = xml.readElementText().toInt(); else if (xml.name() == "rangeIn1") temp.rangeIn1 = xml.readElementText().toInt(); else if (xml.name() == "attack") temp.attack = xml.readElementText().toInt(); else if (xml.name() == "release") temp.release = xml.readElementText().toInt(); else if (xml.name() == "repeatMode") temp.repeatMode = xml.readElementText().toInt(); else if (xml.name() == "rndTick") temp.rndTick = xml.readElementText().toInt(); else if (xml.name() == "rndLen") temp.rndLen = xml.readElementText().toInt(); else if (xml.name() == "rndVel") temp.rndVel = xml.readElementText().toInt(); else if (xml.name() == "pattern") temp.pattern = xml.readElementText(); else if (xml.name() == "jumpTo") tmpjumpto = xml.readElementText().toInt(); else if (xml.name() == "onlyPattern") tmponlypattern = xml.readElementText().toInt(); else if (xml.isStartElement() && (xml.name() == "muteMask")) { while (!xml.atEnd()) { xml.readNext(); if (xml.isEndElement()) break; if (xml.isStartElement() && (xml.name() == "data")) { temp.muteMask.clear(); QByteArray tmpArray = QByteArray::fromHex(xml.readElementText().toLatin1()); for (int l1 = 0; l1 < tmpArray.count(); l1++) { temp.muteMask.append(tmpArray.at(l1)); } } else skipXmlElement(xml); } } else if (xml.isStartElement() && (xml.name() == "wave")) { while (!xml.atEnd()) { xml.readNext(); if (xml.isEndElement()) break; if (xml.isStartElement() && (xml.name() == "data")) { temp.wave.clear(); QByteArray tmpArray = QByteArray::fromHex(xml.readElementText().toLatin1()); if (temp.ccnumberIn >= 0) step = TPQN / lfoResValues[temp.res]; else step = TPQN / seqResValues[temp.res]; int lt = 0; Sample sample; for (int l1 = 0; l1 < tmpArray.count(); l1++) { sample.value = tmpArray.at(l1); sample.tick = lt; sample.muted = temp.muteMask.at(l1); temp.wave.append(sample); lt+=step; } } else skipXmlElement(xml); } } else skipXmlElement(xml); } tempToList(ix); updateRunOnce(ix, tmpjumpto); onlyPatternList.replace(ix, tmponlypattern); ix++; } } }
/*! * Read out a widget within a category. This can either be * enclosed in a <ui> element or a (legacy) <widget> element which may * contain nested <widget> elements. * * Examples: * * <ui language="c++"> * <widget class="MultiPageWidget" name="multipagewidget"> ... </widget> * <customwidgets>...</customwidgets> * <ui> * * or * * <widget> * <widget> ... </widget> * ... * <widget> * * Returns true on success, false if end was reached or an error has been encountered * in which case the reader has its error flag set. If successful, the current item * of the reader will be the closing element (</ui> or </widget>) */ bool WidgetBoxTreeWidget::readWidget(Widget *w, const QString &xml, QXmlStreamReader &r) { qint64 startTagPosition =0, endTagPosition = 0; int nesting = 0; bool endEncountered = false; bool parsedWidgetTag = false; QString outmostElement; while (!endEncountered) { const qint64 currentPosition = r.characterOffset(); switch(r.readNext()) { case QXmlStreamReader::StartElement: if (nesting++ == 0) { // First element must be <ui> or (legacy) <widget> const QStringRef name = r.name(); if (name == QLatin1String(uiElementC)) { startTagPosition = currentPosition; } else { if (name == QLatin1String(widgetElementC)) { startTagPosition = currentPosition; parsedWidgetTag = true; } else { r.raiseError(QDesignerWidgetBox::tr("Unexpected element <%1> encountered when parsing for <widget> or <ui>").arg(name.toString())); return false; } } } else { // We are within <ui> looking for the first <widget> tag if (!parsedWidgetTag && r.name() == QLatin1String(widgetElementC)) { parsedWidgetTag = true; } } break; case QXmlStreamReader::EndElement: // Reached end of widget? if (--nesting == 0) { endTagPosition = r.characterOffset(); endEncountered = true; } break; case QXmlStreamReader::EndDocument: r.raiseError(QDesignerWidgetBox::tr("Unexpected end of file encountered when parsing widgets.")); return false; case QXmlStreamReader::Invalid: return false; default: break; } } if (!parsedWidgetTag) { r.raiseError(QDesignerWidgetBox::tr("A widget element could not be found.")); return false; } // Oddity: Startposition is 1 off QString widgetXml = xml.mid(startTagPosition, endTagPosition - startTagPosition); const QChar lessThan = QLatin1Char('<'); if (!widgetXml.startsWith(lessThan)) widgetXml.prepend(lessThan); w->setDomXml(widgetXml); return true; }
/*! * Parses a CloudDirectory DeleteDirectory response element from \a xml. */ void DeleteDirectoryResponsePrivate::parseDeleteDirectoryResponse(QXmlStreamReader &xml) { Q_ASSERT(xml.name() == QLatin1String("DeleteDirectoryResponse")); Q_UNUSED(xml) ///< @todo }
/*! * Parses a APIGateway GetDocumentationVersions response element from \a xml. */ void GetDocumentationVersionsResponsePrivate::parseGetDocumentationVersionsResponse(QXmlStreamReader &xml) { Q_ASSERT(xml.name() == QLatin1String("GetDocumentationVersionsResponse")); Q_UNUSED(xml) ///< @todo }