From ece32e930c35693b93fa91d0c7e2ba17c98f23cb Mon Sep 17 00:00:00 2001 From: Antoni Boucher Date: Sun, 24 May 2015 19:07:57 -0400 Subject: [PATCH] Added bookmarks command. --- qutebrowser/browser/bookmarks.py | 4 ++-- qutebrowser/browser/commands.py | 14 ++++++++++++++ qutebrowser/completion/models/instances.py | 6 +----- qutebrowser/utils/usertypes.py | 2 +- 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/qutebrowser/browser/bookmarks.py b/qutebrowser/browser/bookmarks.py index dd0fb3439..d92ad2bb2 100644 --- a/qutebrowser/browser/bookmarks.py +++ b/qutebrowser/browser/bookmarks.py @@ -30,8 +30,8 @@ import collections from PyQt5.QtCore import pyqtSignal, QUrl, QObject -from qutebrowser.utils import message, usertypes, urlutils, standarddir, objreg -from qutebrowser.commands import cmdexc, cmdutils +from qutebrowser.utils import message, urlutils, standarddir, objreg +from qutebrowser.commands import cmdexc from qutebrowser.misc import lineparser diff --git a/qutebrowser/browser/commands.py b/qutebrowser/browser/commands.py index 6238e549c..9f5d5e210 100644 --- a/qutebrowser/browser/commands.py +++ b/qutebrowser/browser/commands.py @@ -996,6 +996,20 @@ class CommandDispatcher: bookmark_manager.bookmark_add(self._win_id, self._current_url(), self._current_title()) + @cmdutils.register(instance='command-dispatcher', scope='window', + maxsplit=0, + completion=[usertypes.Completion.bookmark_by_url]) + def bookmarks(self, url, tab=False, bg=False, window=False): + """Load a bookmark. + + Args: + url: The url of the bookmark to load. + tab: Load the bookmark in a new tab. + bg: Load the bookmark in a new background tab. + window: Load the bookmark in a new window. + """ + self._open(QUrl(url), tab, bg, window) + @cmdutils.register(instance='command-dispatcher', name='inspector', scope='window') def toggle_inspector(self): diff --git a/qutebrowser/completion/models/instances.py b/qutebrowser/completion/models/instances.py index 2277cf5b9..31654c295 100644 --- a/qutebrowser/completion/models/instances.py +++ b/qutebrowser/completion/models/instances.py @@ -113,13 +113,11 @@ def init_bookmark_completions(): log.completion.debug("Initializing bookmark completion.") try: _instances[usertypes.Completion.bookmark_by_url].deleteLater() - _instances[usertypes.Completion.bookmark_by_title].deleteLater() except KeyError: pass model = _init_model(miscmodels.BookmarkCompletionModel, 'url') _instances[usertypes.Completion.bookmark_by_url] = model model = _init_model(miscmodels.BookmarkCompletionModel, 'title') - _instances[usertypes.Completion.bookmark_by_title] = model @pyqtSlot() @@ -144,7 +142,6 @@ INITIALIZERS = { usertypes.Completion.quickmark_by_url: init_quickmark_completions, usertypes.Completion.quickmark_by_name: init_quickmark_completions, usertypes.Completion.bookmark_by_url: init_bookmark_completions, - usertypes.Completion.bookmark_by_title: init_bookmark_completions, usertypes.Completion.sessions: init_session_completion, } @@ -184,8 +181,7 @@ def init(): usertypes.Completion.quickmark_by_name])) bookmark_manager = objreg.get('bookmark-manager') bookmark_manager.changed.connect( - functools.partial(update, [usertypes.Completion.bookmark_by_url, - usertypes.Completion.bookmark_by_title])) + functools.partial(update, [usertypes.Completion.bookmark_by_url])) session_manager = objreg.get('session-manager') session_manager.update_completion.connect( functools.partial(update, [usertypes.Completion.sessions])) diff --git a/qutebrowser/utils/usertypes.py b/qutebrowser/utils/usertypes.py index 2ee55e96f..cabfdc979 100644 --- a/qutebrowser/utils/usertypes.py +++ b/qutebrowser/utils/usertypes.py @@ -238,7 +238,7 @@ KeyMode = enum('KeyMode', ['normal', 'hint', 'command', 'yesno', 'prompt', Completion = enum('Completion', ['command', 'section', 'option', 'value', 'helptopic', 'quickmark_by_url', 'quickmark_by_name', 'bookmark_by_url', - 'bookmark_by_title', 'url', 'sessions']) + 'url', 'sessions']) # Exit statuses for errors. Needs to be an int for sys.exit.