Use object registry for keyconfig.
This commit is contained in:
parent
fe5d9939b9
commit
04be586bca
@ -91,7 +91,6 @@ class Application(QApplication):
|
|||||||
self._keyparsers = None
|
self._keyparsers = None
|
||||||
self._crashdlg = None
|
self._crashdlg = None
|
||||||
self._crashlogfile = None
|
self._crashlogfile = None
|
||||||
self.keyconfig = None
|
|
||||||
|
|
||||||
sys.excepthook = self._exception_hook
|
sys.excepthook = self._exception_hook
|
||||||
|
|
||||||
@ -190,8 +189,7 @@ class Application(QApplication):
|
|||||||
else:
|
else:
|
||||||
self.registry['config'] = config_obj
|
self.registry['config'] = config_obj
|
||||||
try:
|
try:
|
||||||
self.keyconfig = keyconfparser.KeyConfigParser(
|
keyconfig = keyconfparser.KeyConfigParser(confdir, 'keys.conf')
|
||||||
confdir, 'keys.conf')
|
|
||||||
except keyconfparser.KeyConfigError as e:
|
except keyconfparser.KeyConfigError as e:
|
||||||
log.init.exception(e)
|
log.init.exception(e)
|
||||||
errstr = "Error while reading key config:\n"
|
errstr = "Error while reading key config:\n"
|
||||||
@ -203,6 +201,8 @@ class Application(QApplication):
|
|||||||
msgbox.exec_()
|
msgbox.exec_()
|
||||||
# We didn't really initialize much so far, so we just quit hard.
|
# We didn't really initialize much so far, so we just quit hard.
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
else:
|
||||||
|
self.registry['keyconfig'] = keyconfig
|
||||||
stateconfig = iniparsers.ReadWriteConfigParser(confdir, 'state')
|
stateconfig = iniparsers.ReadWriteConfigParser(confdir, 'state')
|
||||||
self.registry['stateconfig'] = stateconfig
|
self.registry['stateconfig'] = stateconfig
|
||||||
cmd_history = lineparser.LineConfigParser(
|
cmd_history = lineparser.LineConfigParser(
|
||||||
@ -385,6 +385,7 @@ class Application(QApplication):
|
|||||||
cmd_history = self.registry['cmd_history']
|
cmd_history = self.registry['cmd_history']
|
||||||
downloadmanager = self.registry['downloadmanager']
|
downloadmanager = self.registry['downloadmanager']
|
||||||
config_obj = self.registry['config']
|
config_obj = self.registry['config']
|
||||||
|
keyconfig = self.registry['keyconfig']
|
||||||
|
|
||||||
# misc
|
# misc
|
||||||
self.lastWindowClosed.connect(self.shutdown)
|
self.lastWindowClosed.connect(self.shutdown)
|
||||||
@ -428,7 +429,7 @@ class Application(QApplication):
|
|||||||
websettings, modeman, status, status.txt):
|
websettings, modeman, status, status.txt):
|
||||||
config_obj.changed.connect(obj.on_config_changed)
|
config_obj.changed.connect(obj.on_config_changed)
|
||||||
for obj in kp.values():
|
for obj in kp.values():
|
||||||
self.keyconfig.changed.connect(obj.on_keyconfig_changed)
|
keyconfig.changed.connect(obj.on_keyconfig_changed)
|
||||||
|
|
||||||
# statusbar
|
# statusbar
|
||||||
# FIXME some of these probably only should be triggered on mainframe
|
# FIXME some of these probably only should be triggered on mainframe
|
||||||
@ -770,10 +771,13 @@ class Application(QApplication):
|
|||||||
else:
|
else:
|
||||||
to_save = []
|
to_save = []
|
||||||
if config.get('general', 'auto-save-config'):
|
if config.get('general', 'auto-save-config'):
|
||||||
if hasattr(self, 'config'):
|
|
||||||
to_save.append(("config", config_obj.save))
|
to_save.append(("config", config_obj.save))
|
||||||
if hasattr(self, 'keyconfig'):
|
try:
|
||||||
to_save.append(("keyconfig", self.keyconfig.save))
|
keyconfig = self.registry['keyconfig']
|
||||||
|
except KeyError:
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
to_save.append(("keyconfig", keyconfig.save))
|
||||||
to_save += [("window geometry", self._save_geometry),
|
to_save += [("window geometry", self._save_geometry),
|
||||||
("quickmarks", quickmarks.save)]
|
("quickmarks", quickmarks.save)]
|
||||||
try:
|
try:
|
||||||
|
@ -23,7 +23,7 @@ import re
|
|||||||
import string
|
import string
|
||||||
import functools
|
import functools
|
||||||
|
|
||||||
from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QObject, QCoreApplication
|
from PyQt5.QtCore import pyqtSignal, pyqtSlot, Qt, QObject
|
||||||
|
|
||||||
from qutebrowser.config import config
|
from qutebrowser.config import config
|
||||||
from qutebrowser.utils import usertypes, log, utils
|
from qutebrowser.utils import usertypes, log, utils
|
||||||
@ -321,7 +321,7 @@ class BaseKeyParser(QObject):
|
|||||||
self._modename = modename
|
self._modename = modename
|
||||||
self.bindings = {}
|
self.bindings = {}
|
||||||
self.special_bindings = {}
|
self.special_bindings = {}
|
||||||
keyconfparser = QCoreApplication.instance().keyconfig
|
keyconfparser = utils.get_object('keyconfig')
|
||||||
for (key, cmd) in keyconfparser.get_bindings_for(modename).items():
|
for (key, cmd) in keyconfparser.get_bindings_for(modename).items():
|
||||||
if not cmd:
|
if not cmd:
|
||||||
continue
|
continue
|
||||||
|
Loading…
Reference in New Issue
Block a user