Example #1
0
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;
}
Example #2
0
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;
        }
    }
}
Example #3
0
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");
  }
}
Example #4
0
/*!
 * Parses a Amplify CreateBranch response element from \a xml.
 */
void CreateBranchResponsePrivate::parseCreateBranchResponse(QXmlStreamReader &xml)
{
    Q_ASSERT(xml.name() == QLatin1String("CreateBranchResponse"));
    Q_UNUSED(xml) ///< @todo
}
Example #5
0
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;
}
Example #10
0
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
}
Example #13
0
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();
    }
  }
}
Example #14
0
/*!
 * 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
}
Example #17
0
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;
}
Example #18
0
//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;
}
Example #20
0
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));
            }
        }
    }
}
Example #21
0
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();
            }
        }
    }
}
Example #22
0
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
}
Example #25
0
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;
            }
        }
    }
}
Example #26
0
/*!
 * Parses a DirectConnect TagResource response element from \a xml.
 */
void TagResourceResponsePrivate::parseTagResourceResponse(QXmlStreamReader &xml)
{
    Q_ASSERT(xml.name() == QLatin1String("TagResourceResponse"));
    Q_UNUSED(xml) ///< @todo
}
Example #27
0
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
}