bugfix: Order ValueList values in config properly
This commit is contained in:
parent
c9a25d6309
commit
33f9aad6d8
1
TODO
1
TODO
@ -6,7 +6,6 @@ Weird font rendering
|
|||||||
https://bugreports.qt-project.org/browse/QTBUG-20973
|
https://bugreports.qt-project.org/browse/QTBUG-20973
|
||||||
https://bugreports.qt-project.org/browse/QTBUG-21036
|
https://bugreports.qt-project.org/browse/QTBUG-21036
|
||||||
Changing completion models is awfully slow
|
Changing completion models is awfully slow
|
||||||
values written to config are unordered
|
|
||||||
values starting with ; need to be escaped
|
values starting with ; need to be escaped
|
||||||
|
|
||||||
Style
|
Style
|
||||||
|
@ -165,6 +165,18 @@ class ValueList(Section):
|
|||||||
self.values = ChainMap(self.layers['temp'], self.layers['conf'],
|
self.values = ChainMap(self.layers['temp'], self.layers['conf'],
|
||||||
self.layers['default'])
|
self.layers['default'])
|
||||||
|
|
||||||
|
@property
|
||||||
|
def ordered_values(self):
|
||||||
|
"""Get ordered values in layers.
|
||||||
|
|
||||||
|
This is more expensive than the ChainMap, but we need this for
|
||||||
|
iterating/items/etc. when order matters.
|
||||||
|
"""
|
||||||
|
d = OrderedDict()
|
||||||
|
for layer in self.layers.values():
|
||||||
|
d.update(layer)
|
||||||
|
return d
|
||||||
|
|
||||||
def setv(self, layer, key, value, interpolated):
|
def setv(self, layer, key, value, interpolated):
|
||||||
self.keytype.validate(key)
|
self.keytype.validate(key)
|
||||||
if key in self.layers[layer]:
|
if key in self.layers[layer]:
|
||||||
@ -184,3 +196,15 @@ class ValueList(Section):
|
|||||||
except KeyError:
|
except KeyError:
|
||||||
changed.append((k, v.value))
|
changed.append((k, v.value))
|
||||||
return changed
|
return changed
|
||||||
|
|
||||||
|
def __iter__(self):
|
||||||
|
"""Iterate over all set values."""
|
||||||
|
return self.ordered_values.__iter__()
|
||||||
|
|
||||||
|
def items(self):
|
||||||
|
"""Get dict items."""
|
||||||
|
return self.ordered_values.items()
|
||||||
|
|
||||||
|
def keys(self):
|
||||||
|
"""Get value keys."""
|
||||||
|
return self.ordered_values.keys()
|
||||||
|
Loading…
Reference in New Issue
Block a user