Browse Source

Try to use logging class: FbMessage

Kandrashin Denis 12 years ago
parent
commit
72e93d4f40

+ 90 - 88
fb2edit.pro

@@ -1,88 +1,90 @@
-HEADERS = \
-    source/fb2xml.h \
-    source/fb2xml2.h \
-    source/fb2html.h \
-    source/fb2app.hpp \
-    source/fb2code.hpp \
-    source/fb2dlgs.hpp \
-    source/fb2dock.hpp \
-    source/fb2head.hpp \
-    source/fb2imgs.hpp \
-    source/fb2list.hpp \
-    source/fb2main.hpp \
-    source/fb2note.hpp \
-    source/fb2page.hpp \
-    source/fb2read.hpp \
-    source/fb2tree.hpp \
-    source/fb2save.hpp \
-    source/fb2text.hpp \
-    source/fb2utils.h \
-    source/fb2mode.h
-
-SOURCES = \
-    source/fb2app.cpp \
-    source/fb2code.cpp \
-    source/fb2dlgs.cpp \
-    source/fb2dock.cpp \
-    source/fb2head.cpp \
-    source/fb2html.cpp \
-    source/fb2imgs.cpp \
-    source/fb2list.cpp \
-    source/fb2main.cpp \
-    source/fb2note.cpp \
-    source/fb2page.cpp \
-    source/fb2read.cpp \
-    source/fb2save.cpp \
-    source/fb2tree.cpp \
-    source/fb2xml.cpp \
-    source/fb2xml2.cpp \
-    source/fb2text.cpp \
-    source/fb2utils.cpp \
-    source/fb2mode.cpp
-
-RESOURCES = \
-    3rdparty/gnome/gnome.qrc \
-    source/res/fb2edit.qrc \
-    source/js/javascript.qrc \
-    3rdparty/fb2/fb2.qrc
-
-TARGET = fb2edit
-
-TRANSLATIONS = source/ts/ru.ts
-
-QT += xml
-QT += webkit
-QT += network
-QT += xmlpatterns
-
-OTHER_FILES += \
-    source/res/style.css \
-    source/res/blank.fb2 \
-    source/js/export.js \
-    source/js/set_cursor.js \
-    source/js/get_status.js \
-    source/js/insert_title.js \
-    CMakeLists.txt \
-    source/js/new_section1.js \
-    source/js/section_get.js \
-    source/js/section_new.js \
-    source/js/location.js \
-    source/res/mainicon.rc \
-    3rdparty/fb2/FictionBookLinks.xsd \
-    3rdparty/fb2/FictionBookLang.xsd \
-    3rdparty/fb2/FictionBookGenres.xsd \
-    3rdparty/fb2/FictionBook2.1.xsd
-
-if (unix) {
-
-    DEFINES += FB2_USE_LIBXML2
-    INCLUDEPATH += /usr/include/libxml2
-    LIBS += -lxml2
-
-}
-
-FORMS += \
-    source/fb2find.ui \
-    source/fb2setup.ui
-
-win32:RC_FILE = source/res/mainicon.rc
+HEADERS = \
+    source/fb2html.h \
+    source/fb2app.hpp \
+    source/fb2code.hpp \
+    source/fb2dlgs.hpp \
+    source/fb2dock.hpp \
+    source/fb2head.hpp \
+    source/fb2imgs.hpp \
+    source/fb2list.hpp \
+    source/fb2main.hpp \
+    source/fb2note.hpp \
+    source/fb2page.hpp \
+    source/fb2read.hpp \
+    source/fb2tree.hpp \
+    source/fb2save.hpp \
+    source/fb2text.hpp \
+    source/fb2utils.h \
+    source/fb2xml.hpp \
+    source/fb2mode.h \
+    source/fb2xml2.h \
+    source/fb2logs.hpp
+
+SOURCES = \
+    source/fb2app.cpp \
+    source/fb2code.cpp \
+    source/fb2dlgs.cpp \
+    source/fb2dock.cpp \
+    source/fb2head.cpp \
+    source/fb2html.cpp \
+    source/fb2imgs.cpp \
+    source/fb2list.cpp \
+    source/fb2main.cpp \
+    source/fb2note.cpp \
+    source/fb2page.cpp \
+    source/fb2read.cpp \
+    source/fb2save.cpp \
+    source/fb2tree.cpp \
+    source/fb2xml.cpp \
+    source/fb2xml2.cpp \
+    source/fb2text.cpp \
+    source/fb2utils.cpp \
+    source/fb2mode.cpp \
+    source/fb2logs.cpp
+
+RESOURCES = \
+    3rdparty/gnome/gnome.qrc \
+    source/res/fb2edit.qrc \
+    source/js/javascript.qrc \
+    3rdparty/fb2/fb2.qrc
+
+TARGET = fb2edit
+
+TRANSLATIONS = source/ts/ru.ts
+
+QT += xml
+QT += webkit
+QT += network
+QT += xmlpatterns
+
+OTHER_FILES += \
+    source/res/style.css \
+    source/res/blank.fb2 \
+    source/js/export.js \
+    source/js/set_cursor.js \
+    source/js/get_status.js \
+    source/js/insert_title.js \
+    CMakeLists.txt \
+    source/js/new_section1.js \
+    source/js/section_get.js \
+    source/js/section_new.js \
+    source/js/location.js \
+    source/res/mainicon.rc \
+    3rdparty/fb2/FictionBookLinks.xsd \
+    3rdparty/fb2/FictionBookLang.xsd \
+    3rdparty/fb2/FictionBookGenres.xsd \
+    3rdparty/fb2/FictionBook2.1.xsd
+
+if (unix) {
+
+    DEFINES += FB2_USE_LIBXML2
+    INCLUDEPATH += /usr/include/libxml2
+    LIBS += -lxml2
+
+}
+
+FORMS += \
+    source/fb2find.ui \
+    source/fb2setup.ui
+
+win32:RC_FILE = source/res/mainicon.rc

+ 1 - 0
source/fb2dock.cpp

@@ -54,6 +54,7 @@ FbMainDock::FbMainDock(QWidget *parent)
     addWidget(m_head);
     addWidget(m_code);
 
+    connect(m_text->page(), SIGNAL(log(FbMessage)), parent, SLOT(log(FbMessage)));
     connect(m_text->page(), SIGNAL(status(QString)), parent, SLOT(status(QString)));
     connect(m_head, SIGNAL(status(QString)), parent, SLOT(status(QString)));
     connect(m_code, SIGNAL(status(QString)), parent, SLOT(status(QString)));

+ 1 - 1
source/fb2head.hpp

@@ -20,7 +20,7 @@ class QLineEdit;
 QT_END_NAMESPACE
 
 #include "fb2mode.h"
-#include "fb2xml.h"
+#include "fb2xml.hpp"
 
 class FbTextEdit;
 

+ 1 - 0
source/fb2list.cpp

@@ -8,6 +8,7 @@ FbListView::FbListView(QWidget *parent)
     : QTreeView(parent)
 {
     setAllColumnsShowFocus(true);
+    setRootIsDecorated(false);
 }
 
 void FbListView::currentChanged(const QModelIndex &current, const QModelIndex &previous)

+ 68 - 0
source/fb2logs.cpp

@@ -0,0 +1,68 @@
+#include "fb2logs.hpp"
+
+//---------------------------------------------------------------------------
+//  FbMessage
+//---------------------------------------------------------------------------
+
+class FbMessagePrivate
+{
+public:
+    FbMessagePrivate()
+        : level(FbMessage::Message), row(-1), col(-1)
+    {
+    }
+
+    FbMessagePrivate(const FbMessagePrivate &other)
+        : level(other.level), msg(other.msg), row(other.row), col(other.col)
+    {
+    }
+private:
+    friend class FbMessage;
+    FbMessage::Level level;
+    QString msg;
+    int row;
+    int col;
+};
+
+FbMessage::FbMessage()
+    : d(new FbMessagePrivate)
+{
+}
+
+FbMessage::FbMessage(const FbMessage &other)
+    : d(new FbMessagePrivate(*other.d))
+{
+}
+
+FbMessage::FbMessage(const QXmlParseException &error, Level level)
+    : d(new FbMessagePrivate)
+{
+    d->level = level;
+    d->msg = error.message().simplified();
+    d->row = error.lineNumber();
+    d->col = error.columnNumber();
+}
+
+FbMessage::~FbMessage()
+{
+}
+
+QString FbMessage::msg() const
+{
+    return d->msg;
+}
+
+int FbMessage::level() const
+{
+    return d->level;
+}
+
+int FbMessage::row() const
+{
+    return d->row;
+}
+
+int FbMessage::col() const
+{
+    return d->col;
+}

+ 37 - 0
source/fb2logs.hpp

@@ -0,0 +1,37 @@
+#ifndef FB2LOGS_H
+#define FB2LOGS_H
+
+#include <QScopedPointer>
+#include <QXmlParseException>
+
+class FbMessagePrivate;
+
+class FbMessage : public QObject
+{
+    Q_OBJECT
+
+public:
+    enum Level {
+        Message,
+        Warring,
+        Error,
+        Fatal
+    };
+
+public:
+    explicit FbMessage();
+    FbMessage(const FbMessage &other);
+    FbMessage(const QXmlParseException &error, Level level = Message);
+    ~FbMessage();
+
+    QString msg() const;
+    int level() const;
+    int row() const;
+    int col() const;
+
+private:
+    QScopedPointer<FbMessagePrivate> d;
+
+};
+
+#endif // FB2LOGS_H

+ 6 - 0
source/fb2main.cpp

@@ -8,6 +8,7 @@
 #include "fb2code.hpp"
 #include "fb2dlgs.hpp"
 #include "fb2dock.hpp"
+#include "fb2logs.hpp"
 #include "fb2save.hpp"
 #include "fb2text.hpp"
 #include "fb2utils.h"
@@ -45,6 +46,11 @@ FbMainWindow::FbMainWindow(const QString &filename, ViewMode mode)
     mainDock->load(filepath);
 }
 
+void FbMainWindow::log(const FbMessage &msg)
+{
+    logMessage(msg.msg());
+}
+
 void FbMainWindow::logMessage(const QString &message)
 {
     if (!messageEdit) {

+ 3 - 0
source/fb2main.hpp

@@ -16,6 +16,8 @@ QT_END_NAMESPACE
 
 class FbMainDock;
 
+class FbMessage;
+
 class FbLogDock: public QDockWidget
 {
     Q_OBJECT
@@ -46,6 +48,7 @@ signals:
     void showInspectorChecked(bool);
 
 public slots:
+    void log(const FbMessage &msg);
     void logMessage(const QString &message);
     void status(const QString &text);
 

+ 2 - 0
source/fb2page.hpp

@@ -9,6 +9,7 @@ class FbStore;
 class FbTextElement;
 class FbNetworkAccessManager;
 
+#include "fb2logs.hpp"
 #include "fb2mode.h"
 
 class FbTextLogger : public QObject
@@ -47,6 +48,7 @@ public:
 
 signals:
     void status(const QString &text);
+    void log(const FbMessage &msg);
 
 public slots:
     void html(const QString &html, FbStore *store);

+ 1 - 0
source/fb2read.cpp

@@ -46,6 +46,7 @@ bool FbReadThread::parse()
     FbReadHandler handler(writer);
 
     connect(&handler, SIGNAL(binary(QString,QByteArray)), m_store, SLOT(binary(QString,QByteArray)));
+//    connect(&handler, SIGNAL(log(FbMessage)), parent(), SIGNAL(log(FbMessage)));
 
 #ifdef FB2_USE_LIBXML2
     XML2::XmlReader reader;

+ 2 - 2
source/fb2read.hpp

@@ -1,7 +1,7 @@
 #ifndef FB2READ_H
 #define FB2READ_H
 
-#include "fb2xml.h"
+#include "fb2xml.hpp"
 
 #include <QByteArray>
 #include <QMutex>
@@ -36,7 +36,7 @@ private:
     QString m_html;
 };
 
-class FbReadHandler : public QObject, public FbXmlHandler
+class FbReadHandler : public FbXmlHandler
 {
     Q_OBJECT
 

+ 2 - 2
source/fb2save.hpp

@@ -1,7 +1,7 @@
 #ifndef FB2SAVE_H
 #define FB2SAVE_H
 
-#include "fb2xml.h"
+#include "fb2xml.hpp"
 #include "fb2imgs.hpp"
 
 #include <QByteArray>
@@ -42,7 +42,7 @@ private:
     QLabel * label;
 };
 
-class FbHtmlHandler : public QObject, public FbXmlHandler
+class FbHtmlHandler : public FbXmlHandler
 {
     Q_OBJECT
 

+ 7 - 17
source/fb2xml.cpp

@@ -1,4 +1,4 @@
-#include "fb2xml.h"
+#include "fb2xml.hpp"
 #include <QtDebug>
 
 //---------------------------------------------------------------------------
@@ -99,30 +99,21 @@ bool FbXmlHandler::endElement(const QString & namespaceURI, const QString & loca
     return m_handler && m_handler->doEnd(qName.toLower(), found);
 }
 
-bool FbXmlHandler::error(const QXmlParseException& exception)
+bool FbXmlHandler::warning(const QXmlParseException& exception)
 {
-    qCritical() << QObject::tr("Parse error at line %1, column %2: %3")
-       .arg(exception.lineNumber())
-       .arg(exception.columnNumber())
-       .arg(exception.message().simplified());
-    return false;
+    emit log(FbMessage(exception, FbMessage::Warring));
+    return true;
 }
 
-bool FbXmlHandler::warning(const QXmlParseException& exception)
+bool FbXmlHandler::error(const QXmlParseException& exception)
 {
-    qWarning() << QObject::tr("Parse error at line %1, column %2: %3")
-       .arg(exception.lineNumber())
-       .arg(exception.columnNumber())
-       .arg(exception.message().simplified());
+    emit log(FbMessage(exception, FbMessage::Error));
     return false;
 }
 
 bool FbXmlHandler::fatalError(const QXmlParseException &exception)
 {
-    qCritical() << QObject::tr("Parse error at line %1, column %2: %3")
-       .arg(exception.lineNumber())
-       .arg(exception.columnNumber())
-       .arg(exception.message().simplified());
+    emit log(FbMessage(exception, FbMessage::Fatal));
     return false;
 }
 
@@ -130,4 +121,3 @@ QString FbXmlHandler::errorString() const
 {
     return m_error;
 }
-

+ 8 - 1
source/fb2xml.h → source/fb2xml.hpp

@@ -6,6 +6,8 @@
 #include <QXmlStreamReader>
 #include <QXmlStreamWriter>
 
+#include "fb2logs.hpp"
+
 #define FB2_BEGIN_KEYLIST private: enum Keyword {
 
 #define FB2_END_KEYLIST None }; \
@@ -25,8 +27,10 @@ x::KeywordHash::KeywordHash() {
 
 #define FB2_KEY(key,str) insert(str,key);
 
-class FbXmlHandler : public QXmlDefaultHandler
+class FbXmlHandler : public QObject, public QXmlDefaultHandler
 {
+    Q_OBJECT
+
 public:
     explicit FbXmlHandler();
     virtual ~FbXmlHandler();
@@ -38,6 +42,9 @@ public:
     bool fatalError(const QXmlParseException &exception);
     QString errorString() const;
 
+signals:
+    void log(const FbMessage &msg);
+
 protected:
     class NodeHandler
     {

+ 1 - 362
source/fb2xml2.cpp

@@ -12,368 +12,7 @@
 namespace XML2 {
 
 //---------------------------------------------------------------------------
-//  XML2::HtmlReader
-//---------------------------------------------------------------------------
-
-class HtmlReaderLocator : public QXmlLocator {
-public:
-    HtmlReaderLocator(HtmlReader* r) : reader(r) {}
-    virtual int columnNumber(void) const;
-    virtual int lineNumber(void) const;
-private:
-    HtmlReader* reader;
-};
-
-class HtmlReaderPrivate
-{
-private:
-    class ClosedTag : public QList<QString> { public: ClosedTag(); };
-public:
-    ~HtmlReaderPrivate(void) {}
-private:
-    HtmlReaderPrivate(HtmlReader* reader);
-
-    static void startDocument(void* c);
-    static void endDocument(void* c);
-    static void startElement(void* c, const xmlChar* name, const xmlChar** attrs);
-    static void endElement(void* c, const xmlChar* name);
-    static void comment(void* c, const xmlChar* value);
-    static void cdataBlock(void* c, const xmlChar* value, int len);
-    static void processingInstruction(void* c, const xmlChar* target, const xmlChar* data);
-    static void characters(void* c, const xmlChar* ch, int len);
-    static void ignorableWhitespace(void* c, const xmlChar* ch, int len);
-    static void internalSubset(void* c, const xmlChar* name, const xmlChar* publicId, const xmlChar* systemId);
-
-    static QString C2S(const xmlChar* text, int size = -1);
-    static QString local(const QString &name);
-
-    void parse(const QXmlInputSource* input);
-
-    QScopedPointer<HtmlReaderLocator> locator;
-    Q_DECLARE_PUBLIC(HtmlReader)
-    HtmlReader* q_ptr;
-
-    QXmlEntityResolver* entityresolver;
-    QXmlDTDHandler*     dtdhandler;
-    QXmlContentHandler* contenthandler;
-    QXmlErrorHandler*   errorhandler;
-    QXmlLexicalHandler* lexicalhandler;
-    QXmlDeclHandler*    declhandler;
-
-    xmlParserCtxt* context;
-    QList<QString> closed;
-
-    friend class HtmlReaderLocator;
-};
-
-HtmlReaderPrivate::HtmlReaderPrivate(HtmlReader* reader)
-    : q_ptr(reader), entityresolver(0), dtdhandler(0), contenthandler(0), errorhandler(0), lexicalhandler(0), declhandler(0), context(0)
-{
-    this->locator.reset(new HtmlReaderLocator(reader));
-}
-
-HtmlReaderPrivate::ClosedTag::ClosedTag()
-{
-    *this << "area";
-    *this << "base";
-    *this << "br";
-    *this << "col";
-    *this << "command";
-    *this << "embed";
-    *this << "hr";
-    *this << "img";
-    *this << "input";
-    *this << "keygen";
-    *this << "link";
-    *this << "meta";
-    *this << "param";
-    *this << "source";
-    *this << "track";
-    *this << "wbr";
-}
-
-QString HtmlReaderPrivate::C2S(const xmlChar* text, int size)
-{
-    return QString::fromLocal8Bit(reinterpret_cast<const char*>(text), size);
-}
-
-void HtmlReaderPrivate::parse(const QXmlInputSource* input)
-{
-    htmlSAXHandler handler;
-    QByteArray arr = input->data().toUtf8();
-
-    std::memset(&handler, 0, sizeof(handler));
-    handler.startDocument         = &HtmlReaderPrivate::startDocument;
-    handler.endDocument           = &HtmlReaderPrivate::endDocument;
-    handler.startElement          = &HtmlReaderPrivate::startElement;
-    handler.endElement            = &HtmlReaderPrivate::endElement;
-    handler.comment               = &HtmlReaderPrivate::comment;
-    handler.cdataBlock            = &HtmlReaderPrivate::cdataBlock;
-    handler.processingInstruction = &HtmlReaderPrivate::processingInstruction;
-    handler.characters            = &HtmlReaderPrivate::characters;
-    handler.ignorableWhitespace   = &HtmlReaderPrivate::ignorableWhitespace;
-    handler.internalSubset        = &HtmlReaderPrivate::internalSubset;
-
-    this->context = htmlCreatePushParserCtxt(&handler, this, arr.constData(), arr.size(), "", XML_CHAR_ENCODING_UTF8);
-    htmlParseChunk(this->context, NULL, 0, 1);
-    htmlFreeParserCtxt(this->context);
-    xmlCleanupParser();
-}
-
-void HtmlReaderPrivate::startDocument(void* c)
-{
-    HtmlReaderPrivate* r = reinterpret_cast<HtmlReaderPrivate*>(c);
-    if (r->contenthandler) {
-        r->contenthandler->startDocument();
-    }
-}
-
-void HtmlReaderPrivate::endDocument(void* c)
-{
-    HtmlReaderPrivate* r = reinterpret_cast<HtmlReaderPrivate*>(c);
-    if (r->contenthandler) {
-        r->contenthandler->endDocument();
-    }
-}
-
-QString HtmlReaderPrivate::local(const QString &name)
-{
-    return name.mid(name.lastIndexOf(":"));
-}
-
-void HtmlReaderPrivate::startElement(void* c, const xmlChar* name, const xmlChar** attrs)
-{
-    HtmlReaderPrivate* r = reinterpret_cast<HtmlReaderPrivate*>(c);
-    if (r->contenthandler) {
-        QXmlAttributes a;
-        if (attrs) {
-            int i = 0;
-            while (attrs[i]) {
-                QString qName = C2S(attrs[i]);
-                a.append(qName, "", local(qName), C2S(attrs[i+1]));
-                i += 2;
-            }
-        }
-        static ClosedTag closed;
-        QString qName = C2S(name);
-        QString localName = local(qName);
-        r->contenthandler->startElement("", localName, qName, a);
-        if (closed.indexOf(qName.toLower()) != -1) {
-            r->contenthandler->endElement("", localName, qName);
-        }
-    }
-}
-
-void HtmlReaderPrivate::endElement(void* c, const xmlChar* name)
-{
-    HtmlReaderPrivate* r = reinterpret_cast<HtmlReaderPrivate*>(c);
-    if (r->contenthandler) {
-        QString qName = C2S(name);
-        r->contenthandler->endElement("", local(qName), qName);
-    }
-}
-
-void HtmlReaderPrivate::comment(void* c, const xmlChar* value)
-{
-    HtmlReaderPrivate* r = reinterpret_cast<HtmlReaderPrivate*>(c);
-    if (r->lexicalhandler) {
-        r->lexicalhandler->comment(C2S(value));
-    }
-}
-
-void HtmlReaderPrivate::cdataBlock(void* c, const xmlChar* value, int len)
-{
-    HtmlReaderPrivate* r = reinterpret_cast<HtmlReaderPrivate*>(c);
-    if (r->lexicalhandler) {
-        r->lexicalhandler->startCDATA();
-        if (r->contenthandler) {
-            r->contenthandler->characters(C2S(value, len));
-        }
-        r->lexicalhandler->endCDATA();
-    }
-}
-
-void HtmlReaderPrivate::processingInstruction(void* c, const xmlChar* target, const xmlChar* data)
-{
-    HtmlReaderPrivate* r = reinterpret_cast<HtmlReaderPrivate*>(c);
-    if (r->contenthandler) {
-        r->contenthandler->processingInstruction(C2S(target), C2S(data));
-    }
-}
-
-void HtmlReaderPrivate::characters(void* c, const xmlChar* ch, int len)
-{
-    HtmlReaderPrivate* r = reinterpret_cast<HtmlReaderPrivate*>(c);
-    if (r->contenthandler) {
-        r->contenthandler->characters(C2S(ch, len));
-    }
-}
-
-void HtmlReaderPrivate::ignorableWhitespace(void* c, const xmlChar* ch, int len)
-{
-    HtmlReaderPrivate* r = reinterpret_cast<HtmlReaderPrivate*>(c);
-    if (r->contenthandler) {
-        r->contenthandler->ignorableWhitespace(C2S(ch, len));
-    }
-}
-
-void HtmlReaderPrivate::internalSubset(void* c, const xmlChar* name, const xmlChar* publicId, const xmlChar* systemId)
-{
-    HtmlReaderPrivate* r = reinterpret_cast<HtmlReaderPrivate*>(c);
-    if (r->lexicalhandler) {
-        r->lexicalhandler->startDTD(C2S(name), C2S(publicId), C2S(systemId));
-        r->lexicalhandler->endDTD();
-    }
-
-}
-
-HtmlReader::HtmlReader(void)
-    : d_ptr(new HtmlReaderPrivate(this))
-{
-}
-
-HtmlReader::~HtmlReader(void)
-{
-}
-
-bool HtmlReader::feature(const QString&, bool* ok) const
-{
-    if (ok) {
-        *ok = false;
-    }
-
-    return false;
-}
-
-void HtmlReader::setFeature(const QString&, bool)
-{
-}
-
-bool HtmlReader::hasFeature(const QString&) const
-{
-    return false;
-}
-
-void* HtmlReader::property(const QString&, bool* ok) const
-{
-    if (ok) {
-        *ok = false;
-    }
-
-    return 0;
-}
-
-void HtmlReader::setProperty(const QString&, void*)
-{
-}
-
-bool HtmlReader::hasProperty(const QString&) const
-{
-    return false;
-}
-
-void HtmlReader::setEntityResolver(QXmlEntityResolver* handler)
-{
-    Q_D(HtmlReader);
-    d->entityresolver = handler;
-}
-
-QXmlEntityResolver* HtmlReader::entityResolver(void) const
-{
-    const HtmlReaderPrivate* d = this->d_func();
-    return d->entityresolver;
-}
-
-void HtmlReader::setDTDHandler(QXmlDTDHandler* handler)
-{
-    Q_D(HtmlReader);
-    d->dtdhandler = handler;
-}
-
-QXmlDTDHandler* HtmlReader::DTDHandler(void) const
-{
-    const HtmlReaderPrivate* d = this->d_func();
-    return d->dtdhandler;
-}
-
-void HtmlReader::setContentHandler(QXmlContentHandler* handler)
-{
-    Q_D(HtmlReader);
-    d->contenthandler = handler;
-}
-
-QXmlContentHandler* HtmlReader::contentHandler(void) const
-{
-    const HtmlReaderPrivate* d = this->d_func();
-    return d->contenthandler;
-}
-
-void HtmlReader::setErrorHandler(QXmlErrorHandler* handler)
-{
-    Q_D(HtmlReader);
-    d->errorhandler = handler;
-}
-
-QXmlErrorHandler* HtmlReader::errorHandler(void) const
-{
-    const HtmlReaderPrivate* d = this->d_func();
-    return d->errorhandler;
-}
-
-void HtmlReader::setLexicalHandler(QXmlLexicalHandler* handler)
-{
-    Q_D(HtmlReader);
-    d->lexicalhandler = handler;
-}
-
-QXmlLexicalHandler* HtmlReader::lexicalHandler(void) const
-{
-    const HtmlReaderPrivate* d = this->d_func();
-    return d->lexicalhandler;
-}
-
-void HtmlReader::setDeclHandler(QXmlDeclHandler* handler)
-{
-    Q_D(HtmlReader);
-    d->declhandler = handler;
-}
-
-QXmlDeclHandler* HtmlReader::declHandler(void) const
-{
-    const HtmlReaderPrivate* d = this->d_func();
-    return d->declhandler;
-}
-
-bool HtmlReader::parse(const QXmlInputSource& input)
-{
-    return this->parse(&input);
-}
-
-bool HtmlReader::parse(const QXmlInputSource* input)
-{
-    Q_D(HtmlReader);
-
-    if (d->contenthandler) {
-        d->contenthandler->setDocumentLocator(d->locator.data());
-    }
-
-    d->parse(input);
-
-    return true;
-}
-
-int HtmlReaderLocator::columnNumber(void) const
-{
-    return this->reader->d_func()->context->input->col;
-}
-
-int HtmlReaderLocator::lineNumber(void) const
-{
-    return this->reader->d_func()->context->input->line;
-}
-
-//---------------------------------------------------------------------------
-//  XML2::HtmlReader
+//  XML2::XmlReader
 //---------------------------------------------------------------------------
 
 class XmlReaderLocator : public QXmlLocator {

+ 2 - 39
source/fb2xml2.h

@@ -26,47 +26,10 @@
 
 namespace XML2 {
 
-class HtmlReaderPrivate;
-
-class HtmlReader : public QXmlReader {
-public:
-    HtmlReader(void);
-    virtual ~HtmlReader(void);
-
-    virtual bool feature(const QString& name, bool* ok = 0) const;
-    virtual void setFeature(const QString& name, bool value);
-    virtual bool hasFeature(const QString& name) const;
-    virtual void* property(const QString& name, bool* ok = 0) const;
-    virtual void setProperty(const QString& name, void* value);
-    virtual bool hasProperty(const QString& name) const;
-
-    virtual void setEntityResolver(QXmlEntityResolver* handler);
-    virtual QXmlEntityResolver* entityResolver(void) const;
-    virtual void setDTDHandler(QXmlDTDHandler* handler);
-    virtual QXmlDTDHandler* DTDHandler(void) const;
-    virtual void setContentHandler(QXmlContentHandler* handler);
-    virtual QXmlContentHandler* contentHandler(void) const;
-    virtual void setErrorHandler(QXmlErrorHandler* handler);
-    virtual QXmlErrorHandler* errorHandler(void) const;
-    virtual void setLexicalHandler(QXmlLexicalHandler* handler);
-    virtual QXmlLexicalHandler* lexicalHandler(void) const;
-    virtual void setDeclHandler(QXmlDeclHandler* handler);
-    virtual QXmlDeclHandler* declHandler(void) const;
-
-    virtual bool parse(const QXmlInputSource& input);
-    virtual bool parse(const QXmlInputSource* input);
-
-private:
-    Q_DISABLE_COPY(HtmlReader)
-    Q_DECLARE_PRIVATE(HtmlReader)
-    QScopedPointer<HtmlReaderPrivate> d_ptr;
-
-    friend class HtmlReaderLocator;
-};
-
 class XmlReaderPrivate;
 
-class XmlReader : public QXmlReader {
+class XmlReader : public QXmlReader
+{
 public:
     XmlReader(void);
     virtual ~XmlReader(void);