Added toggle ability to :set
Append '!' to option name of boolean value to toggle its state.
This commit is contained in:
parent
ddc4e7b309
commit
3c21d5986e
@ -499,6 +499,8 @@ class ConfigManager(QObject):
|
|||||||
If the option name ends with '?', the value of the option is shown
|
If the option name ends with '?', the value of the option is shown
|
||||||
instead.
|
instead.
|
||||||
|
|
||||||
|
If the option name ends with '!' and it is a boolean value, toggle it.
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
||||||
Wrapper for self.set() to output exceptions in the status bar.
|
Wrapper for self.set() to output exceptions in the status bar.
|
||||||
@ -523,6 +525,13 @@ class ConfigManager(QObject):
|
|||||||
val = self.get(sectname, optname[:-1], transformed=False)
|
val = self.get(sectname, optname[:-1], transformed=False)
|
||||||
message.info(win_id, "{} {} = {}".format(
|
message.info(win_id, "{} {} = {}".format(
|
||||||
sectname, optname[:-1], val), immediately=True)
|
sectname, optname[:-1], val), immediately=True)
|
||||||
|
elif optname.endswith('!'):
|
||||||
|
val = self.get(sectname, optname[:-1])
|
||||||
|
layer = 'temp' if temp else 'conf'
|
||||||
|
if type(val) == type(True):
|
||||||
|
self.set(layer, sectname, optname[:-1], str(not val))
|
||||||
|
else:
|
||||||
|
raise cmdexc.CommandError("set: Attempted inversion of non-boolean value. Aborting.")
|
||||||
else:
|
else:
|
||||||
if value is None:
|
if value is None:
|
||||||
raise cmdexc.CommandError("set: The following arguments "
|
raise cmdexc.CommandError("set: The following arguments "
|
||||||
|
Loading…
Reference in New Issue
Block a user