diff options
Diffstat (limited to 'lib/bookmarks/bookmarkswidget.cpp')
-rw-r--r-- | lib/bookmarks/bookmarkswidget.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/bookmarks/bookmarkswidget.cpp b/lib/bookmarks/bookmarkswidget.cpp index e510218..27f00c3 100644 --- a/lib/bookmarks/bookmarkswidget.cpp +++ b/lib/bookmarks/bookmarkswidget.cpp @@ -26,9 +26,10 @@ BookmarksWidget::BookmarksWidget(const QString &path, QWidget *parent) ui->deleteItem_toolButton->setIcon(style()->standardPixmap(QStyle::SP_TrashIcon)); ui->deleteItem_toolButton->setShortcut(QKeySequence::Delete); + editEntry_shortcut = new QShortcut(QKeySequence("F2"), this); + m_model = new BookmarksModel(style(), this); ui->treeView->setModel(m_model); - //ui->treeView->setEditTriggers(QAbstractItemView::EditKeyPressed); xbel = new Xbel(path); BookmarkItem *rootNode = xbel->read(); @@ -37,7 +38,10 @@ BookmarksWidget::BookmarksWidget(const QString &path, QWidget *parent) //qDebug("Reading bookmarks [%s] %s", qUtf8Printable(m_path), xbel->read(m_path) ? "ok" : "failed"); connect(ui->treeView, &QTreeView::activated, this, [this](const QModelIndex &index) { - emit openUrl(m_model->data(index, BookmarksModel::OpenUrlRole).toUrl()); + if(ui->treeView->isPersistentEditorOpen(index)) + ui->treeView->closePersistentEditor(index); + else + emit openUrl(m_model->data(index, BookmarksModel::OpenUrlRole).toUrl()); }); connect(ui->addBookmark_toolButton, &QToolButton::clicked, this, [this]() { @@ -48,6 +52,11 @@ BookmarksWidget::BookmarksWidget(const QString &path, QWidget *parent) QModelIndex idx = ui->treeView->currentIndex(); m_model->insertItem(BookmarkItem::Folder, idx); }); + + connect(editEntry_shortcut, &QShortcut::activated, this, [this]() { + QModelIndex idx = ui->treeView->currentIndex(); + ui->treeView->openPersistentEditor(idx); + }); } BookmarksWidget::~BookmarksWidget() |