/* * This file is part of smolbote. It's copyrighted by the contributors recorded * in the version control history of the file, available from its original * location: git://neueland.iserlohn-fortress.net/smolbote.git * * SPDX-License-Identifier: GPL-3.0 */ #include #include #ifndef BOOKMARKITEM_H #define BOOKMARKITEM_H class BookmarkItem { public: enum BookmarkItemType { Root, Folder, Bookmark }; explicit BookmarkItem(BookmarkItemType type, BookmarkItem *parent = nullptr); ~BookmarkItem(); void appendChild(BookmarkItem *child); BookmarkItem *child(int row); int childIndex(BookmarkItem *item) const; int childCount() const; BookmarkItemType type() const { return m_type; }; int columnCount() const { return 2; }; int row() const; BookmarkItem *parentItem(); // item data QString title; QString href; bool folded = true; private: BookmarkItemType m_type; BookmarkItem *m_parentItem; QVector m_childItems; }; #endif //BOOKMARKITEM_H