def __init__(self, options, parent=None): """options is a list of strings. Each a comma-delimited field list. Eg. ['artist, title', 'album, genre'] """ QDialog.__init__(self, parent) connect = lambda c, signal, s: self.connect(c, SIGNAL(signal), s) self.listbox = ListBox() self.listbox.setSelectionMode(self.listbox.ExtendedSelection) buttons = ListButtons() self.listbox.addItems(options) hbox = QHBoxLayout() hbox.addWidget(self.listbox, 1) hbox.addLayout(buttons) okcancel = OKCancel() vbox = QVBoxLayout() vbox.addLayout(hbox) vbox.addLayout(okcancel) self.setLayout(vbox) connect(buttons, "add", self.addPattern) connect(buttons, "edit", self.editItem) buttons.duplicate.setVisible(False) self.connect(okcancel, SIGNAL('ok'), self.applySettings) self.connect(okcancel, SIGNAL('cancel'), self.applySettings) self.listbox.connectToListButtons(buttons) self.listbox.editButton = buttons.edit connect(self.listbox, 'itemDoubleClicked(QListWidgetItem *)', self._doubleClicked)
def __init__(self, parent=None, status=None): QWidget.__init__(self, parent) if status is None: self._status = {} genres = load_genres() else: self._status = status genres = status['genres'] self.listbox = ListBox() self._itemflags = Qt.ItemIsSelectable | Qt.ItemIsEditable | Qt.ItemIsEnabled [self.listbox.addItem(self._createItem(z)) for z in genres] buttons = ListButtons() self.listbox.connectToListButtons(buttons) self.listbox.setAutoScroll(False) self.connect(buttons, SIGNAL('add'), self.add) self.connect(buttons, SIGNAL('edit'), self.edit) hbox = QHBoxLayout() hbox.addWidget(self.listbox, 1) hbox.addLayout(buttons, 0) self.setLayout(hbox)