aboutsummaryrefslogtreecommitdiff
path: root/lib/bookmarks/bookmarksmodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bookmarks/bookmarksmodel.cpp')
-rw-r--r--lib/bookmarks/bookmarksmodel.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/lib/bookmarks/bookmarksmodel.cpp b/lib/bookmarks/bookmarksmodel.cpp
index ba537ba..5b91216 100644
--- a/lib/bookmarks/bookmarksmodel.cpp
+++ b/lib/bookmarks/bookmarksmodel.cpp
@@ -7,8 +7,8 @@
*/
#include "bookmarksmodel.h"
-#include <QMimeData>
#include <QBuffer>
+#include <QMimeData>
BookmarksModel::BookmarksModel(QStyle *style, QObject *parent)
: QAbstractItemModel(parent)
@@ -148,6 +148,21 @@ QModelIndex BookmarksModel::insertItem(BookmarkItem::BookmarkItemType type, cons
return index(node);
}
+bool BookmarksModel::removeItem(const QModelIndex &node)
+{
+ if(!node.isValid())
+ return false;
+
+ auto *item = static_cast<BookmarkItem *>(node.internalPointer());
+ auto *parentItem = item->parentItem();
+
+ beginRemoveRows(node, node.row(), node.row());
+ parentItem->removeChild(item);
+ delete item;
+ endRemoveRows();
+ return true;
+}
+
int BookmarksModel::columnCount(const QModelIndex &parent) const
{
if(parent.isValid()) {