Exemplo n.º 1
0
class EditorDialog(QtGui.QDialog):
    metadataChanged = QtCore.pyqtSignal([collections.OrderedDict])
    
    def __init__(self, metadata, common_metadata, metadata_file_type):
        QtGui.QDialog.__init__(self)

        self.ui = Ui_metadata_editor_dlg()
        self.ui.setupUi(self)
        self.model = MetadataTableModel(metadata, common_metadata)
        self.metadata_file_type = metadata_file_type
        self.ui.metadata_table.setModel(self.model)
        self.ui.metadata_table.horizontalHeader().setResizeMode(QtGui.QHeaderView.Stretch)
        self.ui.done_button.clicked.connect(self.doneButtonClicked)
        self.ui.cancel_button.clicked.connect(self.cancelButtonClicked)

        item_dlg = MetadataEditorItemDelegate(self.metadata_file_type,
                                              self.metadataRetriever(),
                                              self.currentFieldRetriever())
        self.ui.metadata_table.setItemDelegate(item_dlg)

    def doneButtonClicked(self):
        changed_meta = self.model.applicable_metadata()
        self.model.clear_metadata()
        self.metadataChanged.emit(changed_meta)
        QtGui.QDialog.reject(self)

    def cancelButtonClicked(self):
        self.model.clear_metadata()
        QtGui.QDialog.reject(self)

    def metadataRetriever(self):
        return lambda: self.model.metadata

    def currentFieldRetriever(self):
        return lambda field_index: "Random Field #{0}".format(field_index)
Exemplo n.º 2
0
    def __init__(self, metadata, common_metadata, metadata_file_type):
        QtGui.QDialog.__init__(self)

        self.ui = Ui_metadata_editor_dlg()
        self.ui.setupUi(self)
        self.model = MetadataTableModel(metadata, common_metadata)
        self.metadata_file_type = metadata_file_type
        self.ui.metadata_table.setModel(self.model)
        self.ui.metadata_table.horizontalHeader().setResizeMode(QtGui.QHeaderView.Stretch)
        self.ui.done_button.clicked.connect(self.doneButtonClicked)
        self.ui.cancel_button.clicked.connect(self.cancelButtonClicked)

        item_dlg = MetadataEditorItemDelegate(self.metadata_file_type,
                                              self.metadataRetriever(),
                                              self.currentFieldRetriever())
        self.ui.metadata_table.setItemDelegate(item_dlg)