make sure items in window tree are sorted by number (fixed #73)
This commit is contained in:
parent
51d0ccf654
commit
d78c7ed9be
|
@ -410,10 +410,16 @@ def _device_row(receiver_path, device_number, device=None):
|
||||||
|
|
||||||
receiver_row = _receiver_row(receiver_path, None if device is None else device.receiver)
|
receiver_row = _receiver_row(receiver_path, None if device is None else device.receiver)
|
||||||
item = _model.iter_children(receiver_row)
|
item = _model.iter_children(receiver_row)
|
||||||
|
new_child_index = 0
|
||||||
while item:
|
while item:
|
||||||
if ((_model.get_value(item, _COLUMN.PATH) == receiver_path) and
|
assert _model.get_value(item, _COLUMN.PATH) == receiver_path
|
||||||
(_model.get_value(item, _COLUMN.NUMBER) == device_number)):
|
item_number = _model.get_value(item, _COLUMN.NUMBER)
|
||||||
|
if item_number == device_number:
|
||||||
return item
|
return item
|
||||||
|
if item_number > device_number:
|
||||||
|
item = None
|
||||||
|
break
|
||||||
|
new_child_index += 1
|
||||||
item = _model.iter_next(item)
|
item = _model.iter_next(item)
|
||||||
|
|
||||||
if not item and device:
|
if not item and device:
|
||||||
|
@ -423,8 +429,8 @@ def _device_row(receiver_path, device_number, device=None):
|
||||||
row_data = (receiver_path, device_number, bool(device.online), device.codename, icon_name, status_text, status_icon, device)
|
row_data = (receiver_path, device_number, bool(device.online), device.codename, icon_name, status_text, status_icon, device)
|
||||||
assert len(row_data) == len(_TREE_SEPATATOR)
|
assert len(row_data) == len(_TREE_SEPATATOR)
|
||||||
# if _log.isEnabledFor(_DEBUG):
|
# if _log.isEnabledFor(_DEBUG):
|
||||||
# _log.debug("new device row %s", row_data)
|
# _log.debug("new device row %s at index %d", row_data, new_child_index)
|
||||||
item = _model.append(receiver_row, row_data)
|
item = _model.insert(receiver_row, new_child_index, row_data)
|
||||||
|
|
||||||
return item or None
|
return item or None
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue