Example #1
0
MetaData noteMetaData(const QString &fileName)
{
    QFile file(fileName);
    file.open(QIODevice::ReadOnly);

    MetaData metaData;

    QXmlStreamReader xml;
    xml.setDevice(&file);
    if (xml.readNextStartElement()) {
        if (xml.name() == "note" && xml.attributes().value("version") == "1") {
            do {
                xml.readNextStartElement();
            } while (xml.name() != "text");
            metaData.documentName = xml.readElementText();
            KFileItem item(KFileItem::Unknown, KFileItem::Unknown, KUrl(file.fileName()));
            metaData.fileName = file.fileName();
            metaData.modificationTime = item.time(KFileItem::ModificationTime);
        } else {
            xml.raiseError(i18nc("@info Incorrect file type error", "The file is not a Rekollect Note version 1 file"));
        }
    }

    return metaData;
}
Example #2
0
bool ImportManager::loadXML(QXmlStreamReader &doc)
{
    if (doc.readNextStartElement() == false)
        return false;

    if (doc.name() != KXMLQLCWorkspace)
    {
        qWarning() << Q_FUNC_INFO << "Workspace node not found";
        return false;
    }

    while (doc.readNextStartElement())
    {
        if (doc.name() == KXMLQLCEngine)
        {
            m_importDoc->loadXML(doc);
        }
/*
        else if (doc.name() == KXMLQLCVirtualConsole)
        {
            m_virtualConsole->loadXML(doc);
        }
*/
        else
        {
            qDebug() << "Skipping tag:" << doc.name().toString();
            doc.skipCurrentElement();
        }
    }

    return true;
}
Example #3
0
bool ProjectManager::load(QXmlStreamReader& inputStream,
                          const Config& config)
{
    // Go to projects.
    if (!inputStream.atEnd() && inputStream.readNextStartElement() && inputStream.name() == "projects")
    {
        Project* project(new Project(config, this));
        while (project->load(inputStream, config))
        {
            add(project);
            project = new Project(config, this);
        }
        /* We delete the last project that was not configured.
         */
        delete project;
        
        // We go to the end of the projects tag.
        inputStream.readNextStartElement();
        while (!inputStream.atEnd() && inputStream.name() != "projects")
        {
            inputStream.readNextStartElement();
        }
        
        return true;
    }
    
    return false;
}
bool KeeAgentSettings::fromXml(const QByteArray& ba)
{
    QXmlStreamReader reader;
    reader.addData(ba);

    if (reader.error() || !reader.readNextStartElement()) {
        return false;
    }

    if (reader.qualifiedName() != "EntrySettings") {
        return false;
    }

    while (!reader.error() && reader.readNextStartElement()) {
        if (reader.name() == "AllowUseOfSshKey") {
            m_allowUseOfSshKey = readBool(reader);
        } else if (reader.name() == "AddAtDatabaseOpen") {
            m_addAtDatabaseOpen = readBool(reader);
        } else if (reader.name() == "RemoveAtDatabaseClose") {
            m_removeAtDatabaseClose = readBool(reader);
        } else if (reader.name() == "UseConfirmConstraintWhenAdding") {
            m_useConfirmConstraintWhenAdding = readBool(reader);
        } else if (reader.name() == "UseLifetimeConstraintWhenAdding") {
            m_useLifetimeConstraintWhenAdding = readBool(reader);
        } else if (reader.name() == "LifetimeConstraintDuration") {
            m_lifetimeConstraintDuration = readInt(reader);
        } else if (reader.name() == "Location") {
            while (!reader.error() && reader.readNextStartElement()) {
                if (reader.name() == "SelectedType") {
                    reader.readNext();
                    m_selectedType = reader.text().toString();
                    reader.readNext();
                } else if (reader.name() == "AttachmentName") {
                    reader.readNext();
                    m_attachmentName = reader.text().toString();
                    reader.readNext();
                } else if (reader.name() == "SaveAttachmentToTempFile") {
                    m_saveAttachmentToTempFile = readBool(reader);
                } else if (reader.name() == "FileName") {
                    reader.readNext();
                    m_fileName = reader.text().toString();
                    reader.readNext();
                } else {
                    qWarning() << "Skipping location element" << reader.name();
                    reader.skipCurrentElement();
                }
            }
        } else {
            qWarning() << "Skipping element" << reader.name();
            reader.skipCurrentElement();
        }
    }

    return true;
}
XlsxMarker DrawingAnchor::loadXmlMarker(QXmlStreamReader &reader, const QString &node)
{
    Q_ASSERT(reader.name() == node);

    int col = 0;
    int colOffset = 0;
    int row = 0;
    int rowOffset = 0;
    while (!reader.atEnd()) {
        reader.readNextStartElement();
        if (reader.tokenType() == QXmlStreamReader::StartElement) {
            if (reader.name() == QLatin1String("col")) {
                col = reader.readElementText().toInt();
            } else if (reader.name() == QLatin1String("colOff")) {
                colOffset = reader.readElementText().toInt();
            } else if (reader.name() == QLatin1String("row")) {
                row = reader.readElementText().toInt();
            } else if (reader.name() == QLatin1String("rowOff")) {
                rowOffset = reader.readElementText().toInt();
            }
        } else if (reader.tokenType() == QXmlStreamReader::EndElement
                   && reader.name() == node) {
            break;
        }
    }

    return XlsxMarker(row, col, rowOffset, colOffset);
}
Example #6
0
 QImage FluidLauncher::ExtractImage(QFileInfo fileInfo) {
     QImage img;

     if (fileInfo.completeSuffix()=="pdf") {
         return QImage(":/core/pdfthumbnail.png");
     }

     if (fileInfo.completeSuffix()=="pml") {
         QFile file(fileInfo.fileName());

         file.open(QIODevice::ReadOnly);
         QXmlStreamReader xml;
         xml.setDevice(&file);
         while (!xml.atEnd()) {
             if (xml.readNextStartElement()) {
                 QString elt = xml.name().toString();
                 if (elt=="snapshot")  {
                     img.loadFromData(QByteArray::fromBase64(xml.readElementText().toAscii()),"PNG");
                     break;
                 }
             }
         }
         file.close();
     }
     return img;
 }
Example #7
0
CMethod::CMethod(QXmlStreamReader& in, CMethod* currentSignature, CObject *object) {
    completeName = in.attributes().value("completeName").toString().toStdString();
    name = in.attributes().value("name").toString().toStdString();
    headerFile = in.attributes().value("headerFile").toString().toStdString();
    description = currentSignature->getDescription();
    in >> returnType;

    unsigned int paramCount = 0;
    bool paramsChanged = false;
    std::list<CParameter>* sigParameters = currentSignature->getParameters();
    parameters.insert(parameters.end(), sigParameters->begin(), sigParameters->end());
    while (in.readNextStartElement()) {
        paramCount++;
        CParameter param = CParameter(in);
        if (!setParameter(param)) {
            paramsChanged = true;
        }
    }
    if (paramCount != parameters.size()) {
        paramsChanged = true;
    }
    if (paramsChanged) {
        object->setDefinitionsUpdated(true);
    }
}
Example #8
0
void KeywordList::load(QXmlStreamReader& reader)
{
    Q_ASSERT(reader.name() == QLatin1String("list"));
    Q_ASSERT(reader.tokenType() == QXmlStreamReader::StartElement);

    m_name = reader.attributes().value(QStringLiteral("name")).toString();

    while (!reader.atEnd()) {
        switch (reader.tokenType()) {
            case QXmlStreamReader::StartElement:
                if (reader.name() == QLatin1String("item")) {
                    m_keywords.append(reader.readElementText().trimmed());
                    reader.readNextStartElement();
                    break;
                }
                reader.readNext();
                break;
            case QXmlStreamReader::EndElement:
                reader.readNext();
                return;
            default:
                reader.readNext();
                break;
        }
    }
}
Example #9
0
/**
 * @brief  Parse an S3 Error element.
 *
 * This function parses Error XML elements.
 *
 * For example:
 *
 * @code{xml}
 * <Error>
 *   <Code>NoSuchKey</Code>
 *   <Message>The resource you requested does not exist</Message>
 *   <Resource>/mybucket/myfoto.jpg</Resource>
 *   <RequestId>4442587FB7D0A2F9</RequestId>
 * </Error>
 * @endcode
 *
 * @param  xml  XML stream to parse.
 */
void S3ErrorPrivate::parse(QXmlStreamReader & xml)
{
    if ((xml.tokenType() == QXmlStreamReader::NoToken) && (!xml.readNextStartElement())) {
        return;
    }
    Q_ASSERT(xml.name() == QLatin1String("Error"));
    while (xml.readNextStartElement()) {
        if (xml.name() == QLatin1String("Code")) {
            code = codeFromString(rawCode = xml.readElementText());
        } else if (xml.name() == QLatin1String("Message")) {
            message = xml.readElementText();
        } else {
            detail.insert(xml.name().toString(), xml.readElementText());
        }
    }
}
/*!
  \internal
  parse the top level \a xml from a .dae file and process the library_effects elements therein.
*/
QList<QGLColladaFxEffect*> QGLColladaFxEffectFactory::loadEffectsFromXml( QXmlStreamReader& xml, QDir homeDirectory )
{
    ResultState resultState;
    resultState.sourceDir = homeDirectory;
    QList<QGLColladaFxEffect*> result;

    while( !xml.atEnd() ) {
        xml.readNextStartElement();
        if( xml.name() == "library_effects" ) {
            result += processLibraryEffectsElement( xml , &resultState );
        } else if (xml.name() == "library_images")
        {
            processLibraryImagesElement( xml, &resultState );
        }
    }

    // Try and resolve outstanding textures
    QList<QGLTexture2D*> unresolvedTexturePointers = resultState.unresolvedTexture2Ds.keys();
    for (int i = 0; i < unresolvedTexturePointers.count(); i++)
    {
        QGLTexture2D* texture = unresolvedTexturePointers[i];
        QString parameterName = resultState.unresolvedTexture2Ds.value(texture);
        resolveTexture2DImage(texture, &resultState, parameterName);
    }
    return result;
}
Example #11
0
/*!
 * Loads AWS endpoint data from \a xml.
 *
 * This function parses AWS endpoint data in XML format.  The XML data is
 * expected to match the same format as the file provided by Amazon at
 * http://aws-sdk-configurations.amazonwebservices.com/endpoints.xml
 *
 * If \e any data has been loaded previously, this function will return
 * immediately with no parsing performed.
 */
void AwsEndpointPrivate::loadEndpointData(QXmlStreamReader &xml)
{
    QMutexLocker locker(&mutex);
    if (!hosts.empty()) {
        return; // Already loaded.
    }

    // Parse the XML data.
    while (xml.readNextStartElement()) {
        if (xml.name() == QLatin1String("Regions")) {
            parseRegions(xml);
        } else if (xml.name() == QLatin1String("Services")) {
            parseServices(xml);
        } else if (xml.name() != QLatin1String("XML")) {
            qDebug() << "ignoring" << xml.name();
        }
    }
    if (xml.hasError()) {
        qWarning() << "AwsEndpoint:" << xml.errorString();
    }
    Q_ASSERT(!xml.hasError());
    Q_ASSERT(!hosts.isEmpty());
    Q_ASSERT(!regions.isEmpty());
    Q_ASSERT(!services.isEmpty());
}
Example #12
0
bool ChartPrivate::loadXmlXxxChart(QXmlStreamReader &reader)
{
    QStringRef name = reader.name();
    if (name == QLatin1String("pieChart")) chartType = Chart::CT_Pie;
    else if (name == QLatin1String("pie3DChart")) chartType = Chart::CT_Pie3D;
    else if (name == QLatin1String("barChart")) chartType = Chart::CT_Bar;
    else if (name == QLatin1String("bar3DChart")) chartType = Chart::CT_Bar3D;
    else if (name == QLatin1String("lineChart")) chartType = Chart::CT_Line;
    else if (name == QLatin1String("line3DChart")) chartType = Chart::CT_Line3D;
    else if (name == QLatin1String("scatterChart")) chartType = Chart::CT_Scatter;
    else if (name == QLatin1String("areaChart")) chartType = Chart::CT_Area;
    else if (name == QLatin1String("area3DChart")) chartType = Chart::CT_Area3D;
    else if (name == QLatin1String("doughnutChart")) chartType = Chart::CT_Doughnut;
    else qDebug()<<"Cann't load chart: "<<name;

    while (!reader.atEnd()) {
        reader.readNextStartElement();
        if (reader.tokenType() == QXmlStreamReader::StartElement) {
            if (reader.name() == QLatin1String("ser")) {
                loadXmlSer(reader);
            } else if (reader.name() == QLatin1String("axId")) {

            }
        } else if (reader.tokenType() == QXmlStreamReader::EndElement
                   && reader.name() == name) {
            break;
        }
    }
    return true;
}
void DrawingAnchor::loadXmlObjectGraphicFrame(QXmlStreamReader &reader)
{
    Q_ASSERT(reader.name() == QLatin1String("graphicFrame"));

    while (!reader.atEnd()) {
        reader.readNextStartElement();
        if (reader.tokenType() == QXmlStreamReader::StartElement) {
            if (reader.name() == QLatin1String("chart")) {
                QString rId = reader.attributes().value(QLatin1String("r:id")).toString();
                QString name = m_drawing->relationships()->getRelationshipById(rId).target;
                QString path = QDir::cleanPath(splitPath(m_drawing->filePath())[0] + QLatin1String("/") + name);

                bool exist = false;
                QList<QSharedPointer<Chart> > cfs = m_drawing->workbook->chartFiles();
                for (int i=0; i<cfs.size(); ++i) {
                    if (cfs[i]->filePath() == path) {
                        //already exist
                        exist = true;
                        m_chartFile = cfs[i];
                    }
                }
                if (!exist) {
                    m_chartFile = QSharedPointer<Chart> (new Chart(m_drawing->sheet, Chart::F_LoadFromExists));
                    m_chartFile->setFilePath(path);
                    m_drawing->workbook->addChartFile(m_chartFile);
                }
            }
        } else if (reader.tokenType() == QXmlStreamReader::EndElement
                   && reader.name() == QLatin1String("graphicFrame")) {
            break;
        }
    }

    return;
}
Example #14
0
void ObjectTagsUndoStep::loadImpl(QXmlStreamReader &xml, SymbolDictionary &symbol_dict)
{
	namespace literal = XmlStreamLiteral;
	
	// Note: This implementation copies, not calls, the parent's implementation.
	if (xml.name() == QLatin1String("affected_objects"))
	{
		XmlElementReader element(xml);
		setPartIndex(element.attribute<int>(QLatin1String("part")));
		int size = element.attribute<int>(QLatin1String("count"));
		if (size)
			modified_objects.reserve(size);
		
		while (xml.readNextStartElement())
		{
			if (xml.name() == QLatin1String("ref"))
			{
				XmlElementReader tags_element(xml);
				int index = tags_element.attribute<int>(literal::object);
				modified_objects.push_back(index);
				tags_element.read(object_tags_map[index]);
			}
			else
			{
				xml.skipCurrentElement();
			}
		}
	}
	else
	{
		UndoStep::loadImpl(xml, symbol_dict);
	}
}
void DrawingAnchor::loadXmlObjectPicture(QXmlStreamReader &reader)
{
    Q_ASSERT(reader.name() == QLatin1String("pic"));

    while (!reader.atEnd()) {
        reader.readNextStartElement();
        if (reader.tokenType() == QXmlStreamReader::StartElement) {
            if (reader.name() == QLatin1String("blip")) {
                QString rId = reader.attributes().value(QLatin1String("r:embed")).toString();
                QString name = m_drawing->relationships()->getRelationshipById(rId).target;
                QString path = QDir::cleanPath(splitPath(m_drawing->filePath())[0] + QLatin1String("/") + name);

                bool exist = false;
                QList<QSharedPointer<MediaFile> > mfs = m_drawing->workbook->mediaFiles();
                for (int i=0; i<mfs.size(); ++i) {
                    if (mfs[i]->fileName() == path) {
                        //already exist
                        exist = true;
                        m_pictureFile = mfs[i];
                    }
                }
                if (!exist) {
                    m_pictureFile = QSharedPointer<MediaFile> (new MediaFile(path));
                    m_drawing->workbook->addMediaFile(m_pictureFile, true);
                }
            }
        } else if (reader.tokenType() == QXmlStreamReader::EndElement
                   && reader.name() == QLatin1String("pic")) {
            break;
        }
    }

    return;
}
bool ConditionalFormatting::loadFromXml(QXmlStreamReader &reader, Styles *styles)
{
    Q_ASSERT(reader.name() == QStringLiteral("conditionalFormatting"));

    d->ranges.clear();
    d->cfRules.clear();
    QXmlStreamAttributes attrs = reader.attributes();
    QString sqref = attrs.value(QLatin1String("sqref")).toString();
    foreach (QString range, sqref.split(QLatin1Char(' ')))
        this->addRange(range);

    while (!reader.atEnd()) {
        reader.readNextStartElement();
        if (reader.tokenType() == QXmlStreamReader::StartElement) {
            if (reader.name() == QLatin1String("cfRule")) {
                QSharedPointer<XlsxCfRuleData> cfRule(new XlsxCfRuleData);
                d->readCfRule(reader, cfRule.data(), styles);
                d->cfRules.append(cfRule);
            }
        }
        if (reader.tokenType() == QXmlStreamReader::EndElement
                && reader.name() == QStringLiteral("conditionalFormatting")) {
            break;
        }
    }


    return true;
}
Example #17
0
void ObjectModifyingUndoStep::loadImpl(QXmlStreamReader& xml, SymbolDictionary& symbol_dict)
{
	if (xml.name() == QLatin1String("affected_objects"))
	{
		XmlElementReader element(xml);
		part_index = element.attribute<int>(QLatin1String("part"));
		int size = element.attribute<int>(QLatin1String("count"));
		if (size)
			modified_objects.reserve(size);
		while (xml.readNextStartElement())
		{
			if (xml.name() == QLatin1String("ref"))
			{
				XmlElementReader ref(xml);
				modified_objects.push_back(ref.attribute<int>(QLatin1String("object")));
			}
			else
			{
				xml.skipCurrentElement(); // unknown
			}
		}
	}
	else
	{
		UndoStep::loadImpl(xml, symbol_dict);
	}
}
Example #18
0
void Matrix::load(QXmlStreamReader& xml)
{
	Q_ASSERT(xml.name() == "matrix");
	
	int new_n = qMax(0, xml.attributes().value("n").toString().toInt());
	int new_m = qMax(0, xml.attributes().value("m").toString().toInt());
	setSize(new_n, new_m);
	int count = n*m;
	int i = 0;
	while (xml.readNextStartElement())
	{
		if (i < count && xml.name() == "element")
		{
			d[i] = xml.attributes().value("value").toString().toDouble();
			i++;
		}
		xml.skipCurrentElement();
	}
	
	if (i < count)
	{
		qDebug() << "Too few elements for a" << new_n << "x" << new_m
		         << "matrix at line" << xml.lineNumber();
	}
}
void
DictionaryLineDescHandler::run(QXmlStreamReader& xml)
{
  m_units = getUnitAttribute(xml, "DictionaryLineDesc", "units");
  while (!xml.atEnd() && !xml.hasError()) {
    xml.readNext();
    if (xml.isStartElement()) {
      if (xml.name() == "EntryLineDesc") {
        QString id = getStringAttribute(xml, "EntryLineDesc", "id");
        // id must be unique
        if (g_entryLineDescs.contains(id)) {
          throw new DuplicateIdError("DictionaryLineDesc", id);
        }
        // create element and insert to hash table
        xml.readNextStartElement(); // <LineDesc>
        LineDesc l;
        l.initialize(xml, m_units);
        g_entryLineDescs.insert(id, l);
      }
    }
    else if (isEndElementWithName(xml, "DictionaryLineDesc")) {
      break;
    }
  }
}
bool ConditionalFormattingPrivate::readCfColorScale(QXmlStreamReader &reader, XlsxCfRuleData *rule)
{
    Q_ASSERT(reader.name() == QLatin1String("colorScale"));

    while (!reader.atEnd()) {
        reader.readNextStartElement();
        if (reader.tokenType() == QXmlStreamReader::StartElement) {
            if (reader.name() == QLatin1String("cfvo")) {
                XlsxCfVoData data;
                readCfVo(reader, data);
                if (!rule->attrs.contains(XlsxCfRuleData::A_cfvo1))
                    rule->attrs[XlsxCfRuleData::A_cfvo1] = QVariant::fromValue(data);
                else if (!rule->attrs.contains(XlsxCfRuleData::A_cfvo2))
                    rule->attrs[XlsxCfRuleData::A_cfvo2] = QVariant::fromValue(data);
                else
                    rule->attrs[XlsxCfRuleData::A_cfvo2] = QVariant::fromValue(data);
            } else if (reader.name() == QLatin1String("color")) {
                XlsxColor color;
                color.loadFromXml(reader);
                if (!rule->attrs.contains(XlsxCfRuleData::A_color1))
                    rule->attrs[XlsxCfRuleData::A_color1] = color;
                else if (!rule->attrs.contains(XlsxCfRuleData::A_color2))
                    rule->attrs[XlsxCfRuleData::A_color2] = color;
                else
                    rule->attrs[XlsxCfRuleData::A_color3] = color;
            }
        }
        if (reader.tokenType() == QXmlStreamReader::EndElement
                && reader.name() == QStringLiteral("colorScale")) {
            break;
        }
    }

    return true;
}
Example #21
0
bool QLCFixtureDef::loadCreator(QXmlStreamReader &doc)
{
    if (doc.name() != KXMLQLCCreator)
    {
        qWarning() << Q_FUNC_INFO << "file creator information not found!";
        return false;
    }

    while (doc.readNextStartElement())
    {
        if (doc.name() == KXMLQLCCreatorName)
        {
            /* Ignore name */
            doc.skipCurrentElement();
        }
        else if (doc.name() == KXMLQLCCreatorVersion)
        {
            /* Ignore version */
            doc.skipCurrentElement();
        }
        else if (doc.name() == KXMLQLCCreatorAuthor)
        {
            setAuthor(doc.readElementText());
        }
        else
        {
            qWarning() << Q_FUNC_INFO << "unknown creator tag:" << doc.name();
            doc.skipCurrentElement();
        }
    }

    return true;
}
Example #22
0
bool Cue::loadXML(QXmlStreamReader &root)
{
    qDebug() << Q_FUNC_INFO;

    if (root.name() != KXMLQLCCue)
    {
        qWarning() << Q_FUNC_INFO << "Cue node not found";
        return false;
    }

    setName(root.attributes().value(KXMLQLCCueName).toString());

    while (root.readNextStartElement())
    {
        if (root.name() == KXMLQLCCueValue)
        {
            QString ch = root.attributes().value(KXMLQLCCueValueChannel).toString();
            QString val = root.readElementText();
            if (ch.isEmpty() == false && val.isEmpty() == false)
                setValue(ch.toUInt(), uchar(val.toUInt()));
        }
        else if (root.name() == KXMLQLCCueSpeed)
        {
            loadXMLSpeed(root);
        }
        else
        {
            qWarning() << Q_FUNC_INFO << "Unrecognized Cue tag:" << root.name();
            root.skipCurrentElement();
        }
    }

    return true;
}
Example #23
0
std::vector<TabData> SessionReader::readTabData() {
    std::vector<TabData> result;

    while (m_reader.readNextStartElement()) {
        if (m_reader.name() == "Tab") {
            const QXmlStreamAttributes& attrs = m_reader.attributes();

            TabData td;
            td.filePath = attrs.value("filePath").toString();
            td.cacheFilePath = attrs.value("cacheFilePath").toString();
            td.scrollX = attrs.value("scrollX").toInt();
            td.scrollY = attrs.value("scrollY").toInt();
            td.language = attrs.value("language").toString();
            td.lastModified = attrs.value("lastModified").toLongLong();
            td.active = attrs.value("active").toInt() != 0;

            result.push_back(td);

            m_reader.readElementText();
        }
        else
            m_reader.skipCurrentElement();
    }

    return result;
}
void
DictionaryUserHandler::run(QXmlStreamReader& xml)
{
    m_units = getUnitAttribute(xml, "DictionaryUser", "units");
    while (!xml.atEnd() && !xml.hasError()) {
        xml.readNext();
        if (xml.isStartElement()) {
            if (xml.name() == "EntryUser") {
                QString id = getStringAttribute(xml, "EntryUser", "id");
                // id must be unique
                if (g_entryUsers.contains(id)) {
                    throw new DuplicateIdError("EntryUser", id);
                }
                // create element and insert to hash table
                xml.readNextStartElement(); // <Simple>, <Text>, <UserSpecial>
                UserPrimitive* u = UserPrimitiveFactory().create(xml.name());
                u->initialize(xml, m_units);
                g_entryUsers.insert(id, u);
            }
        }
        else if (isEndElementWithName(xml, "DictionaryUser")) {
            break;
        }
    }
}
Example #25
0
void songDbBrowser::apiReplyReceived()
{
    QXmlStreamReader xml;
    xml.addData( apiReply->readAll() );
    if( xml.readNextStartElement() )
    {
	if(xml.name() == "genres")
	{
	    ui->genres->clear();
	    ui->genres->addItem(tr("-- ALL --"),"*");
	    while(xml.readNextStartElement())
	    {
		if( xml.name() == "genre")
		{
		    ui->genres->addItem(
			    xml.attributes().value("name").toString(),
			    xml.attributes().value("id").toString()
			    );
		}
		xml.skipCurrentElement();
	    }
	}
	if(xml.name() == "songs")
	{
	    ui->songList->clear();
	    ui->songList->setColumnHidden( 4, true );
	    while(xml.readNextStartElement())
	    {
		if( xml.name() == "song")
		{
		    QTreeWidgetItem* itm = new QTreeWidgetItem( ui->songList );
		    itm->setText( 0, xml.attributes().value("title").toString() );
		    itm->setText( 1, xml.attributes().value("interpret").toString() );
		    itm->setText( 2, xml.attributes().value("genre").toString() );
		    itm->setText( 3, xml.attributes().value("length").toString() );
		    itm->setData( 4, Qt::UserRole, xml.attributes().value("id").toString() );
		}
		xml.skipCurrentElement();
	    }
	    ui->songList->resizeColumnToContents(0);
	    ui->songList->resizeColumnToContents(1);
	}
	xml.skipCurrentElement();
    }
    apiReply->deleteLater();
}
Example #26
0
void ArrayModelReaderXml::readItems(ArrayModel *model, QXmlStreamReader &stream)
{
    if(!model) {
        return;
    }

    stream.readNextStartElement();
    {
        while(stream.readNextStartElement()) {
            if(stream.name().compare("item") == 0) {
                const QXmlStreamAttributes &attrs = stream.attributes();
                ArrayModelItem &item = model->addNewItem();

                // attributes from ModelItem

                item.setValue(attrs.value("value").toString());
                item.setBrushColor(attrs.value("brushColor").toString());
                item.setFontFamily(attrs.value("fontFamily").toString());
                item.setFontPointSize(attrs.value("fontPointSize").toDouble());
                item.setPenColor(QColor(attrs.value("penColor").toString()));
                item.setPenWidth(attrs.value("penWidth").toDouble());
                item.setX(attrs.value("posX").toDouble());
                item.setY(attrs.value("posY").toDouble());

                // attributes from ModelMultiShapeItem

                bool ok = false; int k = attrs.value("shapeKind").toInt(&ok);
                item.switchToShapeKind(ok ? k : item.shapeKind()); // to make sure invalid shape kind as "" won't be taken into account as 0.
                item.setRounded(attrs.value("rounded").toString() == "true");
                switch(item.shapeKind()) {
                case ArrayModelItem::Circle:
                    item.setDimension(attrs.value("diameter").toDouble());
                    break;
                case ArrayModelItem::Rectangle:
                    item.setDimension(QSizeF(attrs.value("width").toDouble(), attrs.value("height").toDouble()));
                    break;
                }

                // attributes from ArrayModelItem: none

                stream.skipCurrentElement();
            }
        }
    }
}
Example #27
0
/*!
 * Parses a \c Region element from the Amazon endpoint XML data \a xml.
 *
 * This function parses XML elements like:
 *
 * \code{xml}
 * <Region>
 *   <Name>us-east-1</Name>
 *   <Endpoint>
 *     <ServiceName>cloudformation</ServiceName>
 *     <Http>false</Http>
 *     <Https>true</Https>
 *     <Hostname>cloudformation.us-east-1.amazonaws.com</Hostname>
 *   </Endpoint>
 *   <Endpoint>
 *     <ServiceName>cloudfront</ServiceName>
 *     <Http>true</Http>
 *     <Https>true</Https>
 *     <Hostname>cloudfront.amazonaws.com</Hostname>
 *   </Endpoint>
 * </Region>
 * \endcode
 *
 * The parsed entries are automatically added to AwsEndpointPrivate::hosts
 * and AwsEndpointPrivate::regions.
 *
 * \sa parseRegions
 */
void AwsEndpointPrivate::parseRegion(QXmlStreamReader &xml)
{
    QString regionName;
    while ((!xml.atEnd()) && (xml.readNextStartElement())) {
        if (xml.name() == QLatin1String("Name")) {
            regionName = xml.readElementText();
        } else if (xml.name() == QLatin1String("Endpoint")) {
            Q_ASSERT(!regionName.isEmpty());
            RegionEndpointInfo endpoint;
            QString serviceName;
            while ((!xml.atEnd()) && (xml.readNextStartElement())) {
                if (xml.name() == QLatin1String("ServiceName")) {
                    serviceName = xml.readElementText();
                } else if (xml.name() == QLatin1String("Http")) {
                    if (xml.readElementText() == QLatin1String("true")) {
                        endpoint.transports |= AwsEndpoint::HTTP;
                    }
                } else if (xml.name() == QLatin1String("Https")) {
                    if (xml.readElementText() == QLatin1String("true")) {
                        endpoint.transports |= AwsEndpoint::HTTPS;
                    }
                } else if (xml.name() == QLatin1String("Hostname")) {
                    endpoint.hostName = xml.readElementText();
                } else {
                    qDebug() << "ignoring" << xml.name();
                    xml.skipCurrentElement();
                }
            }
            Q_ASSERT(!serviceName.isEmpty());

            if (serviceName == QLatin1String("email")) {
                endpoint.transports |= AwsEndpoint::SMTP;
            }

            Q_ASSERT((!hosts.contains(endpoint.hostName)) || (hosts.value(endpoint.hostName).serviceName == serviceName));
            hosts[endpoint.hostName].regionNames.append(regionName);
            hosts[endpoint.hostName].serviceName  = serviceName;
            regions[regionName].services[serviceName] = endpoint;
            //qDebug() << regionName << serviceName << (int)endpoint.transports << endpoint.hostName;
        } else {
            qDebug() << "ignoring" << xml.name();
            xml.skipCurrentElement();
        }
    }
}
Example #28
0
bool RGBImage::loadXML(QXmlStreamReader &root)
{
    if (root.name() != KXMLQLCRGBAlgorithm)
    {
        qWarning() << Q_FUNC_INFO << "RGB Algorithm node not found";
        return false;
    }

    if (root.attributes().value(KXMLQLCRGBAlgorithmType).toString() != KXMLQLCRGBImage)
    {
        qWarning() << Q_FUNC_INFO << "RGB Algorithm is not Image";
        return false;
    }

    while (root.readNextStartElement())
    {
        if (root.name() == KXMLQLCRGBImageFilename)
        {
            setFilename(doc()->denormalizeComponentPath(root.readElementText()));
        }
        else if (root.name() == KXMLQLCRGBImageAnimationStyle)
        {
            setAnimationStyle(stringToAnimationStyle(root.readElementText()));
        }
        else if (root.name() == KXMLQLCRGBImageOffset)
        {
            QString str;
            int value;
            bool ok;
            QXmlStreamAttributes attrs = root.attributes();

            str = attrs.value(KXMLQLCRGBImageOffsetX).toString();
            ok = false;
            value = str.toInt(&ok);
            if (ok == true)
                setXOffset(value);
            else
                qWarning() << Q_FUNC_INFO << "Invalid X offset:" << str;

            str = attrs.value(KXMLQLCRGBImageOffsetY).toString();
            ok = false;
            value = str.toInt(&ok);
            if (ok == true)
                setYOffset(value);
            else
                qWarning() << Q_FUNC_INFO << "Invalid Y offset:" << str;
            root.skipCurrentElement();
        }
        else
        {
            qWarning() << Q_FUNC_INFO << "Unknown RGBImage tag:" << root.name();
            root.skipCurrentElement();
        }
    }

    return true;
}
void HbThemeSystemEffect::parseEffects(QXmlStreamReader &xml, HbThemeSystemEffectMap *effects)
{
    // Go through effects section
    while (!xml.atEnd()) {
        if (checkStartElement(xml, effectElement)) {

            HbThemeSystemEffectMap::SystemEffectId effectId = HbThemeSystemEffectMap::Invalid;
            uint appId = 0;
            QString incomingFile;
            QString outgoingFile;
            bool incomingHasPriority = false;
            bool validEntry = true;
            bool effectFileEntryFound = false;
            bool fromBaseTheme = false;

            // Single effect entry
            while (validEntry && xml.readNextStartElement()) {
                // Effect id
                if (xml.name() == effectIdElement) {
                    effectId = (HbThemeSystemEffectMap::SystemEffectId)
                               idFromEffectIdString(xml.readElementText());
                    validEntry = !(effectId == HbThemeSystemEffectMap::Invalid);
                    // App id
                } else if (xml.name() == appIdElement) {
                    appId = validApplicationUid(xml.readElementText());
                    // Outgoing effect file
                } else if (xml.name() == outgoingFileElement) {
                    effectFileEntryFound = true;
                    outgoingFile = xml.readElementText();
                    validEntry = validEffectFile(outgoingFile, effects, fromBaseTheme);
                    // Incoming effect file
                } else if (xml.name() == incomingFileElement) {
                    effectFileEntryFound = true;
                    incomingFile = xml.readElementText();
                    validEntry = validEffectFile(incomingFile, effects, fromBaseTheme);
                    // If incoming file has the priority
                } else if (xml.name() == incomingPriorityElement) {
                    incomingHasPriority = booleanFromString(xml.readElementText());
                }
                // Read end element
                xml.readNext();
            }
            if (!effectFileEntryFound) {
                validEntry = false;
            }
            // If valid entry was found, store it to system effects map
            if (validEntry) {
                effects->addEntry(appId,
                                  effectId,
                                  incomingFile,
                                  outgoingFile,
                                  incomingHasPriority,
                                  fromBaseTheme);
            }
        }
    }
}
Example #30
0
void AdvancedSettings::loadFilters(QXmlStreamReader &xml)
{
    qDebug() << "loading filters";
    while (xml.readNextStartElement()) {
        if (xml.name() == "movies") {
            m_movieFilters.clear();
            foreach (const QString &filter, xml.readElementText().split(",", QString::SkipEmptyParts))
                m_movieFilters << filter.trimmed();
        } else if (xml.name() == "concerts") {