aboutsummaryrefslogtreecommitdiff
path: root/lib/bookmarks/bookmarkitem.h
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2018-01-07 00:48:27 +0100
committerAqua-sama <aqua@iserlohn-fortress.net>2018-01-07 00:48:27 +0100
commite0f64f9330fc30553dc9d8dcf308079f5d391526 (patch)
tree8c21a08f25208150ed4f0bcbf8496334c2e08bcc /lib/bookmarks/bookmarkitem.h
parentUpdated ReadMe and pkgbuild (diff)
downloadsmolbote-e0f64f9330fc30553dc9d8dcf308079f5d391526.tar.xz
Added BookmarksModel
TODO: Editing bookmarks TODO: Saving bookmarks BUG: Completer doesn't search through folders
Diffstat (limited to 'lib/bookmarks/bookmarkitem.h')
-rw-r--r--lib/bookmarks/bookmarkitem.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/lib/bookmarks/bookmarkitem.h b/lib/bookmarks/bookmarkitem.h
new file mode 100644
index 0000000..839f10e
--- /dev/null
+++ b/lib/bookmarks/bookmarkitem.h
@@ -0,0 +1,53 @@
+/*
+ * 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 <QVariant>
+#include <QVector>
+
+#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<BookmarkItem*> m_childItems;
+};
+
+#endif //BOOKMARKITEM_H