+ self._targetList.setVisible(True)
+ while self._targetLayout.count():
+ removedLayoutItem = self._targetLayout.takeAt(self._targetLayout.count()-1)
+ removedWidget = removedLayoutItem.widget()
+ removedWidget.close()
+ for cid in self._session.draft.get_contacts():
+ title = self._session.draft.get_title(cid)
+ description = self._session.draft.get_description(cid)
+ numbers = self._session.draft.get_numbers(cid)
+
+ titleLabel = QtGui.QLabel(title)
+ numberSelector = QtGui.QComboBox()
+ self._populate_number_selector(numberSelector, cid, numbers)
+ deleteButton = QtGui.QPushButton("Delete")
+ callback = functools.partial(
+ self._on_remove_contact,
+ cid
+ )
+ callback.__name__ = "b"
+ deleteButton.clicked.connect(
+ QtCore.pyqtSlot()(callback)
+ )
+
+ rowLayout = QtGui.QHBoxLayout()
+ rowLayout.addWidget(titleLabel)
+ rowLayout.addWidget(numberSelector)
+ rowLayout.addWidget(deleteButton)
+ rowWidget = QtGui.QWidget()
+ rowWidget.setLayout(rowLayout)
+ self._targetLayout.addWidget(rowWidget)