From f1874ff44f0d7d96153690f4c22c9557a7a6dea3 Mon Sep 17 00:00:00 2001 From: Antoni Boucher Date: Mon, 1 Jun 2015 20:00:21 -0400 Subject: [PATCH] Added possibility to remove bookmarks and quickmarks. --- qutebrowser/completion/models/urlmodel.py | 2 +- qutebrowser/mainwindow/statusbar/command.py | 27 +++++++++++++++++++-- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/qutebrowser/completion/models/urlmodel.py b/qutebrowser/completion/models/urlmodel.py index 10d4fb9fd..80cae22e9 100644 --- a/qutebrowser/completion/models/urlmodel.py +++ b/qutebrowser/completion/models/urlmodel.py @@ -171,7 +171,7 @@ class UrlCompletionModel(base.BaseCompletionModel): url: The url of the bookmark which has been removed. """ for i in range(self._bookmark_cat.rowCount()): - url_item = self._bookmark_cat.child(i, 1) + url_item = self._bookmark_cat.child(i, 0) if url_item.data(Qt.DisplayRole) == url: self._bookmark_cat.removeRow(i) break diff --git a/qutebrowser/mainwindow/statusbar/command.py b/qutebrowser/mainwindow/statusbar/command.py index 1d8105c2f..93035d36f 100644 --- a/qutebrowser/mainwindow/statusbar/command.py +++ b/qutebrowser/mainwindow/statusbar/command.py @@ -26,7 +26,7 @@ from qutebrowser.keyinput import modeman, modeparsers from qutebrowser.commands import cmdexc, cmdutils from qutebrowser.misc import cmdhistory from qutebrowser.misc import miscwidgets as misc -from qutebrowser.utils import usertypes, log, objreg, qtutils +from qutebrowser.utils import message, usertypes, log, objreg, qtutils class Command(misc.MinimalLineEditMixin, misc.CommandLineEdit): @@ -211,7 +211,30 @@ class Command(misc.MinimalLineEditMixin, misc.CommandLineEdit): e.ignore() return else: - super().keyPressEvent(e) + if e.key() == Qt.Key_D and e.modifiers() & Qt.ControlModifier == Qt.ControlModifier: + self.delete_current_item() + else: + super().keyPressEvent(e) + + def delete_current_item(self): + completer_obj = objreg.get('completer', scope='window', + window=self._win_id) + completion = objreg.get('completion', scope='window', + window=self._win_id) + index = completion.currentIndex() + model = completion.model() + url = model.data(index) + category = index.parent() + if category.isValid(): + if category.data() == 'Bookmarks': + bookmark_manager = objreg.get('bookmark-manager') + bookmark_manager.bookmark_del(url) + message.info(self._win_id, "Bookmarks deleted") + elif category.data() == 'Quickmarks': + quickmark_manager = objreg.get('quickmark-manager') + name = model.data(index.sibling(index.row(), index.column() + 1)) + quickmark_manager.quickmark_del(name) + message.info(self._win_id, "Quickmarks deleted") def sizeHint(self): """Dynamically calculate the needed size."""