/* ============================================================ * 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); }); }