From fee55330b612721e0098b93445a533e95865a779 Mon Sep 17 00:00:00 2001 From: aqua Date: Sat, 24 Sep 2022 21:48:39 +0300 Subject: Add BookmarksContextMenu --- src/panels/bookmarkscontextmenu.cpp | 39 +++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/panels/bookmarkscontextmenu.cpp (limited to 'src/panels/bookmarkscontextmenu.cpp') diff --git a/src/panels/bookmarkscontextmenu.cpp b/src/panels/bookmarkscontextmenu.cpp new file mode 100644 index 00000000..cfd0c41b --- /dev/null +++ b/src/panels/bookmarkscontextmenu.cpp @@ -0,0 +1,39 @@ +/* ============================================================ + * The rekonq project + * ============================================================ + * SPDX-License-Identifier: GPL-3.0-only + * Copyright (C) 2022 aqua + * ============================================================ */ + +#include "bookmarkscontextmenu.hpp" +#include "bookmarks/bookmarkstreemodel.hpp" +#include "rekonqwindow.hpp" + +BookmarksContextMenu::BookmarksContextMenu(const QModelIndex &index, BookmarksTreeModel *model, QWidget *parent) + : QMenu(parent) +{ + auto *w = qobject_cast(parent->window()); + Q_CHECK_PTR(w); + + auto *item = model->item(index); + Q_CHECK_PTR(item); + + addAction(tr("Open in current tab"), this, + [item, w]() { w->loadRequestedUrl(item->data(BookmarksTreeItem::Href).toUrl()); }); + addAction(tr("Open in new tab"), this, + [item, w]() { w->loadRequestedUrl(item->data(BookmarksTreeItem::Href).toUrl(), rekonq::NewTab); }); + // TODO Open in new window + + addSeparator(); + + addAction(tr("Edit")); + addAction(tr("Remove"), this, [index, model]() { model->removeRow(index.row(), index.parent()); }); + + addSeparator(); + + addAction(tr("New Bookmark"), this, + [index, model]() { model->appendItem(BookmarksTreeItem::Bookmark, {}, model->parentFolder(index)); }); + addAction(tr("New Folder"), this, [index, model]() { model->appendItem(BookmarksTreeItem::Folder, {}, index); }); + addAction(tr("New Separator"), this, + [index, model]() { model->appendItem(BookmarksTreeItem::Separator, {}, index); }); +} -- cgit v1.2.1