Browse Source

Merge 40ce12f47f into 034d0c4242

pull/1555/merge
Stefans Mezulis GitHub 2 months ago
parent
commit
82c1fe7de9
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
2 changed files with 16 additions and 0 deletions
  1. +3
    -0
      source/frontend/patchcanvas/__init__.py
  2. +13
    -0
      source/frontend/patchcanvas/patchcanvas.py

+ 3
- 0
source/frontend/patchcanvas/__init__.py View File

@@ -137,6 +137,9 @@ class Canvas(object):
self.initial_pos = QPointF(0, 0) self.initial_pos = QPointF(0, 0)
self.size_rect = QRectF() self.size_rect = QRectF()


self.pending_group_joins = set()
self.pending_position_changes = {}

def callback(self, action, value1, value2, value_str): def callback(self, action, value1, value2, value_str):
print("Canvas::callback({}, {}, {}, {})".format(action, value1, value2, value_str)) print("Canvas::callback({}, {}, {}, {})".format(action, value1, value2, value_str))




+ 13
- 0
source/frontend/patchcanvas/patchcanvas.py View File

@@ -393,6 +393,17 @@ def addGroup(group_id, group_name, split=SPLIT_UNDEF, icon=ICON_APPLICATION):


canvas.group_list.append(group_dict) canvas.group_list.append(group_dict)


# Callbacks can arrive out of order, so we might have pending events.
if group_id in canvas.pending_group_joins:
joinGroup(group_id)
canvas.pending_group_joins.remove(group_id)

if group_id in canvas.pending_position_changes:
position_change = canvas.pending_position_changes[group_id]
setGroupPosFull(*position_change)
del canvas.pending_position_changes[group_id]


if options.eyecandy == EYECANDY_FULL and not options.auto_hide_groups: if options.eyecandy == EYECANDY_FULL and not options.auto_hide_groups:
CanvasItemFX(group_box, True, False) CanvasItemFX(group_box, True, False)
else: else:
@@ -595,6 +606,7 @@ def joinGroup(group_id):
# FIXME # FIXME
if not (item and s_item): if not (item and s_item):
qCritical("PatchCanvas::joinGroup(%i) - unable to find groups to join" % group_id) qCritical("PatchCanvas::joinGroup(%i) - unable to find groups to join" % group_id)
canvas.pending_group_joins.add(group_id)
return return


port_list_ids = list(item.getPortList()) port_list_ids = list(item.getPortList())
@@ -748,6 +760,7 @@ def setGroupPosFull(group_id, group_pos_x_o, group_pos_y_o, group_pos_x_i, group


qCritical("PatchCanvas::setGroupPos(%i, %i, %i, %i, %i) - unable to find group to reposition" % ( qCritical("PatchCanvas::setGroupPos(%i, %i, %i, %i, %i) - unable to find group to reposition" % (
group_id, group_pos_x_o, group_pos_y_o, group_pos_x_i, group_pos_y_i)) group_id, group_pos_x_o, group_pos_y_o, group_pos_x_i, group_pos_y_i))
canvas.pending_position_changes[group_id] = (group_id, group_pos_x_o, group_pos_y_o, group_pos_x_i, group_pos_y_i)


# ------------------------------------------------------------------------------------------------------------ # ------------------------------------------------------------------------------------------------------------




Loading…
Cancel
Save