1.1 --- a/examples/Common/QtConfigurator/factory.py Mon Oct 24 21:35:13 2005 +0000
1.2 +++ b/examples/Common/QtConfigurator/factory.py Tue Oct 25 01:13:16 2005 +0000
1.3 @@ -17,27 +17,24 @@
1.4 slot_name = self.get_text(connection.getElementsByTagName("slot")[0]).encode("utf-8")
1.5
1.6 if widget.name() == sender_name:
1.7 - sender = widget
1.8 + senders = [widget]
1.9 else:
1.10 - sender = self.find_widget(widget, sender_name)
1.11 + senders = self.find_widgets(widget, sender_name)
1.12
1.13 - if sender:
1.14 + slot = slot_name.split("(")[0]
1.15 + if hasattr(obj, slot):
1.16 signal = SIGNAL(signal_name)
1.17 - slot = slot_name.split("(")[0]
1.18 -
1.19 - if hasattr(obj, slot):
1.20 + for sender in senders:
1.21 QObject.connect(sender, signal, getattr(obj, slot))
1.22
1.23 - def find_widget(self, widget, name):
1.24 + def find_widgets(self, widget, name):
1.25 + widgets = []
1.26 found = widget.child(name)
1.27 if found:
1.28 - return found
1.29 - else:
1.30 - for child in widget.children():
1.31 - found = self.find_widget(child, name)
1.32 - if found:
1.33 - return found
1.34 - return None
1.35 + widgets.append(found)
1.36 + for child in widget.children():
1.37 + widgets += self.find_widgets(child, name)
1.38 + return widgets
1.39
1.40 def get_text(self, node):
1.41 node.normalize()