/******************************************************************************* ** ** smolbote: yet another qute browser ** Copyright (C) 2017 Xian Nox ** ** This program is free software: you can redistribute it and/or modify ** it under the terms of the GNU General Public License as published by ** the Free Software Foundation, either version 3 of the License, or ** (at your option) any later version. ** ** This program is distributed in the hope that it will be useful, ** but WITHOUT ANY WARRANTY; without even the implied warranty of ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ** GNU General Public License for more details. ** ** You should have received a copy of the GNU General Public License ** along with this program. If not, see . ** ******************************************************************************/ #ifndef XBELREADER_H #define XBELREADER_H #include #include class QTreeWidget; class QTreeWidgetItem; class Xbel { public: explicit Xbel(QTreeWidget *widget); bool read(const QString &xbel); bool write(const QString &xbel); QTreeWidgetItem *addFolder(QTreeWidgetItem *parentItem); QTreeWidgetItem *addBookmark(QTreeWidgetItem *parentItem); void addSeparator(QTreeWidgetItem *parentItem); private: void readChildElements(QTreeWidgetItem *parentItem); void readTitle(QTreeWidgetItem *item); QTreeWidgetItem *parentFolder(QTreeWidgetItem *item); QTreeWidgetItem *createChildItem(QTreeWidgetItem *item, const QString &type); void writeItem(QTreeWidgetItem *item); QIcon folderIcon; QIcon bookmarkIcon; QTreeWidget *treeWidget; QXmlStreamReader xmlReader; QXmlStreamWriter xmlWriter; }; #endif // XBELREADER_H