X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=model%2Fopshandler.h;h=1d961c88c90d9c9f9e19874d82316f4e6a62a5fc;hb=b843ed247e4cbaa89d81c528902f0b5d7080c216;hp=92d99433c320838f5e6fc1623dcd5797190d0a1f;hpb=ed8d584a18548d3b0a1d537fe0e40afda38ac197;p=dorian diff --git a/model/opshandler.h b/model/opshandler.h index 92d9943..1d961c8 100644 --- a/model/opshandler.h +++ b/model/opshandler.h @@ -1,31 +1,16 @@ #ifndef OPSHANDLER_H #define OPSHANDLER_H -#include - +#include "xmlhandler.h" #include "book.h" #include "trace.h" /** XML content handler for OPS format. */ -class OpsHandler: public QXmlContentHandler +class OpsHandler: public XmlHandler { public: - OpsHandler(Book &b): book(b), partCount(0) {} - bool endDocument() {return true;} - bool endPrefixMapping(const QString &) {return true;} - QString errorString() const {return QString();} - bool ignorableWhitespace(const QString &) {return true;} - bool processingInstruction(const QString &, const QString &) { - return true; - } - void setDocumentLocator(QXmlLocator *) {} - bool skippedEntity(const QString &) {return true;} - bool startDocument() {return true;} - bool startPrefixMapping(const QString &, const QString &) {return true;} - - bool characters(const QString &ch) { - currentText += ch; - return true; + OpsHandler(Book &b): book(b), partCount(0) { + book.creators.clear(); } bool endElement(const QString &namespaceUri, const QString &name, @@ -52,24 +37,19 @@ public: bool startElement(const QString &namespaceUri, const QString &name, const QString &qName, const QXmlAttributes &attrs) { - Trace t("OpsHandler::startElement " + name); (void)namespaceUri; (void)qName; currentText = ""; if (name == "item") { Book::ContentItem item; - item.href = book.rootPath() + "/" + attrs.value("href"); + item.href = attrs.value("href"); item.name = QString("Part %1").arg(partCount + 1); item.size = 0; QString key = attrs.value("id"); book.content[key] = item; partCount++; - t.trace(QString("name: ") + item.name); - t.trace(QString("href: ") + attrs.value("href")); - t.trace(QString("id: ") + key); } else if (name == "itemref") { - t.trace(QString("id: ") + attrs.value("idref")); book.parts.append(attrs.value("idref")); } return true; @@ -77,7 +57,6 @@ public: private: Book &book; - QString currentText; int partCount; };