Use object registry for cmd-history.

This commit is contained in:
Florian Bruhin 2014-09-23 22:17:25 +02:00
parent 8af8e3530f
commit 7a7b397c15
2 changed files with 12 additions and 8 deletions

View File

@ -57,7 +57,6 @@ class Application(QApplication):
meta_registry: The object registry of object registries. meta_registry: The object registry of object registries.
mainwindow: The MainWindow QWidget. mainwindow: The MainWindow QWidget.
config: The main ConfigManager config: The main ConfigManager
cmd_history: The "cmd_history" LineConfigParser instance.
_args: ArgumentParser instance. _args: ArgumentParser instance.
_commandrunner: The main CommandRunner instance. _commandrunner: The main CommandRunner instance.
_debugconsole: The ConsoleWidget for debugging. _debugconsole: The ConsoleWidget for debugging.
@ -95,7 +94,6 @@ class Application(QApplication):
self._keyparsers = None self._keyparsers = None
self._crashdlg = None self._crashdlg = None
self._crashlogfile = None self._crashlogfile = None
self.cmd_history = None
self.config = None self.config = None
self.keyconfig = None self.keyconfig = None
@ -207,8 +205,9 @@ class Application(QApplication):
sys.exit(1) sys.exit(1)
stateconfig = iniparsers.ReadWriteConfigParser(confdir, 'state') stateconfig = iniparsers.ReadWriteConfigParser(confdir, 'state')
self.registry['stateconfig'] = stateconfig self.registry['stateconfig'] = stateconfig
self.cmd_history = lineparser.LineConfigParser( cmd_history = lineparser.LineConfigParser(
confdir, 'cmd_history', ('completion', 'history-length')) confdir, 'cmd_history', ('completion', 'history-length'))
self.registry['cmd_history'] = cmd_history
def _init_modes(self): def _init_modes(self):
"""Inizialize the mode manager and the keyparsers.""" """Inizialize the mode manager and the keyparsers."""
@ -383,6 +382,7 @@ class Application(QApplication):
messagebridge = self.registry['messagebridge'] messagebridge = self.registry['messagebridge']
modeman = self.registry['modeman'] modeman = self.registry['modeman']
prompter = self.registry['prompter'] prompter = self.registry['prompter']
cmd_history = self.registry['cmd_history']
# misc # misc
self.lastWindowClosed.connect(self.shutdown) self.lastWindowClosed.connect(self.shutdown)
@ -422,7 +422,7 @@ class Application(QApplication):
# config # config
self.config.style_changed.connect(style.get_stylesheet.cache_clear) self.config.style_changed.connect(style.get_stylesheet.cache_clear)
for obj in (tabs, completion, mainwin, self.cmd_history, for obj in (tabs, completion, mainwin, cmd_history,
websettings, modeman, status, status.txt): websettings, modeman, status, status.txt):
self.config.changed.connect(obj.on_config_changed) self.config.changed.connect(obj.on_config_changed)
for obj in kp.values(): for obj in kp.values():
@ -774,8 +774,12 @@ class Application(QApplication):
to_save.append(("keyconfig", self.keyconfig.save)) to_save.append(("keyconfig", self.keyconfig.save))
to_save += [("window geometry", self._save_geometry), to_save += [("window geometry", self._save_geometry),
("quickmarks", quickmarks.save)] ("quickmarks", quickmarks.save)]
if hasattr(self, 'cmd_history'): try:
to_save.append(("command history", self.cmd_history.save)) cmd_history = self.registry['cmd_history']
except KeyError:
pass
else:
to_save.append(("command history", cmd_history.save))
try: try:
stateconfig = self.registry['stateconfig'] stateconfig = self.registry['stateconfig']
except KeyError: except KeyError:

View File

@ -20,7 +20,7 @@
"""The commandline in the statusbar.""" """The commandline in the statusbar."""
from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QUrl from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QUrl
from PyQt5.QtWidgets import QSizePolicy, QApplication from PyQt5.QtWidgets import QSizePolicy
from qutebrowser.keyinput import modeman, modeparsers from qutebrowser.keyinput import modeman, modeparsers
from qutebrowser.commands import runners, cmdexc, cmdutils from qutebrowser.commands import runners, cmdexc, cmdutils
@ -74,7 +74,7 @@ class Command(misc.MinimalLineEditMixin, misc.CommandLineEdit):
misc.CommandLineEdit.__init__(self, parent) misc.CommandLineEdit.__init__(self, parent)
misc.MinimalLineEditMixin.__init__(self) misc.MinimalLineEditMixin.__init__(self)
self.cursor_part = 0 self.cursor_part = 0
self.history.history = QApplication.instance().cmd_history.data self.history.history = utils.get_object('cmd_history').data
self._empty_item_idx = None self._empty_item_idx = None
self.textEdited.connect(self.on_text_edited) self.textEdited.connect(self.on_text_edited)
self.cursorPositionChanged.connect(self._update_cursor_part) self.cursorPositionChanged.connect(self._update_cursor_part)