def __init__(self, field=None, parent=None, field_list=None, edit=True): QDialog.__init__(self, parent) self.setWindowTitle(translate('Edit Field', 'Edit Field')) winsettings('edit_field', self) self.vbox = QVBoxLayout() label = QLabel(translate('Edit Field', "&Field")) self.tagcombo = QComboBox() self.tagcombo.setEditable(True) label.setBuddy(self.tagcombo) completer = self.tagcombo.completer() completer.setCaseSensitivity(Qt.CaseSensitive) completer.setCompletionMode(QCompleter.UnfilteredPopupCompletion) self.tagcombo.setCompleter(completer) self.tagcombo.addItems(field_list if field_list else gettaglist()) #Get the previous field self.__oldField = field label1 = QLabel(translate('Edit Field', "&Value")) self.value = TextEdit() self.value.setTabChangesFocus(True) label1.setBuddy(self.value) okcancel = OKCancel() okcancel.ok.setText(translate('Edit Field', 'A&dd')) if field is not None: x = self.tagcombo.findText(field[0]) if x > -1: self.tagcombo.setCurrentIndex(x) else: self.tagcombo.setEditText(field[0]) self.value.setPlainText(field[1]) if edit: okcancel.ok.setText(translate('Edit Field', 'E&dit')) map(self.vbox.addWidget, [label, self.tagcombo, label1, self.value]) self.vbox.addLayout(okcancel) self.setLayout(self.vbox) self.connect(okcancel, SIGNAL("ok"), self.ok) self.connect(okcancel, SIGNAL("cancel"), self.close) self.value.setFocus() if self.__oldField else self.tagcombo.setFocus()
def loadSettings(self): cparser = PuddleConfig() self.get_fieldlist = gettaglist() get = lambda k,v : cparser.get('extendedtags', k, v, True) add = QColor.fromRgb(*get('add', [255, 255, 0])) edit = QColor.fromRgb(*get('edit', [0, 255,0])) remove = QColor.fromRgb(*get('remove', [255, 0, 0])) self._colors = {ADD: QBrush(add), EDIT: QBrush(edit), REMOVE: QBrush(remove)} item = self.table.item for row in xrange(self.table.rowCount()): field_item = self.get_item(row, 0) field_item.statusColors = self._colors field_item.status = field_item.status val_item = self.get_item(row, 1) val_item.statusColors = self._colors val_item.status = val_item.status
def loadSettings(self): cparser = PuddleConfig() self.get_fieldlist = gettaglist() get = lambda k, v: cparser.get('extendedtags', k, v, True) add = QColor.fromRgb(*get('add', [255, 255, 0])) edit = QColor.fromRgb(*get('edit', [0, 255, 0])) remove = QColor.fromRgb(*get('remove', [255, 0, 0])) self._colors = { ADD: QBrush(add), EDIT: QBrush(edit), REMOVE: QBrush(remove) } item = self.table.item for row in xrange(self.table.rowCount()): field_item = self.get_item(row, 0) field_item.statusColors = self._colors field_item.status = field_item.status val_item = self.get_item(row, 1) val_item.statusColors = self._colors val_item.status = val_item.status
def __init__(self, parent=None, minval=0, numtracks = 0, enablenumtracks = False): QDialog.__init__(self,parent) self.setWindowTitle( translate('Autonumbering Wizard', "Autonumbering Wizard")) winsettings('autonumbering', self) def hbox(*widgets): box = QHBoxLayout() [box.addWidget(z) for z in widgets] box.addStretch() return box vbox = QVBoxLayout() self._start = QSpinBox() self._start.setValue(minval) self._start.setMaximum(65536) startlabel = QLabel(translate('Autonumbering Wizard', "&Start: ")) startlabel.setBuddy(self._start) vbox.addLayout(hbox(startlabel, self._start)) self._padlength = QSpinBox() self._padlength.setValue(1) self._padlength.setMaximum(65535) self._padlength.setMinimum(1) label = QLabel(translate('Autonumbering Wizard', 'Max length after padding with zeroes: ')) label.setBuddy(self._padlength) vbox.addLayout(hbox(label, self._padlength)) self._separator = QCheckBox(translate('Autonumbering Wizard', "Add track &separator ['/']: Number of tracks")) self._numtracks = QSpinBox() self._numtracks.setEnabled(False) self._numtracks.setMaximum(65535) if numtracks: self._numtracks.setValue(numtracks) self._restart_numbering = QCheckBox(translate('Autonumbering Wizard', "&Restart numbering at each directory group.")) self.connect(self._restart_numbering, SIGNAL("stateChanged(int)"), self.showDirectorySplittingOptions) vbox.addLayout(hbox(self._separator, self._numtracks)) vbox.addWidget(self._restart_numbering) self.custom_numbering_widgets = [] label = QLabel(translate('Autonumbering Wizard', "Group tracks using pattern:: ")) self.grouping = QLineEdit() label.setBuddy(self.grouping) vbox.addLayout(hbox(label, self.grouping)) self.custom_numbering_widgets.extend([label, self.grouping]) label = QLabel(translate('Autonumbering Wizard', "Output field: ")) self.output_field = QComboBox() label.setBuddy(self.output_field) self.output_field.setEditable(True) completer = self.output_field.completer() completer.setCaseSensitivity(Qt.CaseSensitive) completer.setCompletionMode(QCompleter.UnfilteredPopupCompletion) self.output_field.setCompleter(completer) self.output_field.addItems(gettaglist()) vbox.addLayout(hbox(label, self.output_field)) self.custom_numbering_widgets.extend([label, self.output_field]) self.count_by_group = QCheckBox(translate(u'Autonumbering Wizard', u'Increase counter only on group change')) vbox.addWidget(self.count_by_group) self.custom_numbering_widgets.append(self.count_by_group) okcancel = OKCancel() vbox.addLayout(okcancel) self.setLayout(vbox) self.connect(okcancel,SIGNAL('ok'), self.emitValuesAndSave) self.connect(okcancel,SIGNAL('cancel'),self.close) self.connect(self._separator, SIGNAL("stateChanged(int)"), lambda v: self._numtracks.setEnabled(v == Qt.Checked)) # self.connect(self._restart_numbering, SIGNAL("stateChanged(int)"), # self.showDirectorySplittingOptions) self._separator.setChecked(enablenumtracks) self._loadSettings()
def __init__(self, parent=None, minval=0, numtracks=0, enablenumtracks=False): QDialog.__init__(self, parent) self.setWindowTitle( translate('Autonumbering Wizard', "Autonumbering Wizard")) winsettings('autonumbering', self) def hbox(*widgets): box = QHBoxLayout() [box.addWidget(z) for z in widgets] box.addStretch() return box vbox = QVBoxLayout() self._start = QSpinBox() self._start.setValue(minval) self._start.setMaximum(65536) startlabel = QLabel(translate('Autonumbering Wizard', "&Start: ")) startlabel.setBuddy(self._start) vbox.addLayout(hbox(startlabel, self._start)) self._padlength = QSpinBox() self._padlength.setValue(1) self._padlength.setMaximum(65535) self._padlength.setMinimum(1) label = QLabel( translate('Autonumbering Wizard', 'Max length after padding with zeroes: ')) label.setBuddy(self._padlength) vbox.addLayout(hbox(label, self._padlength)) self._separator = QCheckBox( translate('Autonumbering Wizard', "Add track &separator ['/']: Number of tracks")) self._numtracks = QSpinBox() self._numtracks.setEnabled(False) self._numtracks.setMaximum(65535) if numtracks: self._numtracks.setValue(numtracks) self._restart_numbering = QCheckBox( translate('Autonumbering Wizard', "&Restart numbering at each directory group.")) self.connect(self._restart_numbering, SIGNAL("stateChanged(int)"), self.showDirectorySplittingOptions) vbox.addLayout(hbox(self._separator, self._numtracks)) vbox.addWidget(self._restart_numbering) self.custom_numbering_widgets = [] label = QLabel( translate('Autonumbering Wizard', "Group tracks using pattern:: ")) self.grouping = QLineEdit() label.setBuddy(self.grouping) vbox.addLayout(hbox(label, self.grouping)) self.custom_numbering_widgets.extend([label, self.grouping]) label = QLabel(translate('Autonumbering Wizard', "Output field: ")) self.output_field = QComboBox() label.setBuddy(self.output_field) self.output_field.setEditable(True) completer = self.output_field.completer() completer.setCaseSensitivity(Qt.CaseSensitive) completer.setCompletionMode(QCompleter.UnfilteredPopupCompletion) self.output_field.setCompleter(completer) self.output_field.addItems(gettaglist()) vbox.addLayout(hbox(label, self.output_field)) self.custom_numbering_widgets.extend([label, self.output_field]) self.count_by_group = QCheckBox( translate(u'Autonumbering Wizard', u'Increase counter only on group change')) vbox.addWidget(self.count_by_group) self.custom_numbering_widgets.append(self.count_by_group) okcancel = OKCancel() vbox.addLayout(okcancel) self.setLayout(vbox) self.connect(okcancel, SIGNAL('ok'), self.emitValuesAndSave) self.connect(okcancel, SIGNAL('cancel'), self.close) self.connect(self._separator, SIGNAL("stateChanged(int)"), lambda v: self._numtracks.setEnabled(v == Qt.Checked)) # self.connect(self._restart_numbering, SIGNAL("stateChanged(int)"), # self.showDirectorySplittingOptions) self._separator.setChecked(enablenumtracks) self._loadSettings()