예제 #1
0
    def setModelData(self, editor, model, index):
        # if editor.metaObject().className() == 'QLineEdit':
        #     QMessageBox.warning(None, "Test", unicode(index.data(Qt.DisplayRole)) + ',' + unicode(editor.text()))
        #     if unicode(index.data(Qt.DisplayRole)) != unicode(editor.text()):
        #        QMessageBox.warning(None, "Test", unicode(index.data(Qt.DisplayRole)) + ',' + unicode(editor.text()))
        #        model.setData(index, editor.text())

        # if index.column() == 0: #0 ... filmnummer, 1 ... filmnummer_legacy, 2 ... filmnummer_hh_jjjj_mm, 3 ... filmnummer_nn
        #     # QMessageBox.warning(None, "Test", unicode(index.column()) + editor.text())

        #     model.setData(model.createIndex(index.row(), 2), filmnummer[:8]) # filmnummer_hh_jjjj_mm
        #     model.setData(model.createIndex(index.row(), 1), int(index.row())) # filmnummer_nn
        #     model.setData(model.createIndex(index.row(), 0), str(editor.text())) #filmnummer
        #     mil = ""
        #     if filmnummer[2:4] == "19":
        #         mil = "01"
        #     elif filmnummer[2:4] == "20":
        #         mil = "02"
        #     model.setData(model.createIndex(index.row(), 1), mil + filmnummer[4:]) # filmnummer_legacy

        if editor.metaObject().className() == 'QDateEdit':
            model.setData(index, editor.date().toString("yyyy-MM-dd"))
        elif editor.metaObject().className() == 'QTimeEdit':
            model.setData(index, editor.time().toString("HH:mm:ss"))
        elif editor.metaObject().className() == 'QListWidget':
            items = []
            for j in range(editor.count()):
                items.append(editor.item(j))
            model.setData(index, ";".join([i.text() for i in items]))
        #elif (editor.metaObject().className() == 'QLineEdit' and editor.text()==''):
        #    model.setData(model.createIndex(index.row(), 0), None)
        # elif editor.metaObject().className() == 'QComboBox':
        #     if index.column() == 23: #sicherheit
        #         model.setData(index, editor.currentIndex()+1)
        #     else:
        #         model.setData(index, editor.currentText())
        else:
            QSqlRelationalDelegate.setModelData(self, editor, model, index)
예제 #2
0
    def setModelData(self, editor, model, index):
        fieldName = model.record().fieldName(index.column())
        if fieldName == "filmnummer":
            QSqlRelationalDelegate.setModelData(self, editor, model, index)  # filmnummer
            # QMessageBox.warning(None, "Test", unicode(index.column()) + editor.text())
            filmnummer = str(editor.text())

            mil = ""
            if filmnummer[2:4] == "19":
                mil = "01"
            elif filmnummer[2:4] == "20":
                mil = "02"
            model.setData(model.createIndex(index.row(), 2), mil + filmnummer[4:])  # filmnummer_legacy
            model.setData(model.createIndex(index.row(), 3), filmnummer[:8])  # filmnummer_hh_jjjj_mm
            model.setData(model.createIndex(index.row(), 4), int(filmnummer[-2:]))  # filmnummer_nn
        elif fieldName == "weise":
            if editor.currentIndex() == APISFilm.OBLIQUE:
                model.setData(index, "schräg")
            elif editor.currentIndex() == APISFilm.VERTICAL:
                model.setData(index, "senk.")
            else:
                QSqlRelationalDelegate.setModelData(self, editor, model, index)
        elif editor.metaObject().className() == 'QgsDateTimeEdit':
            model.setData(index, editor.dateTime().toString("yyyy-MM-dd"))
        elif editor.metaObject().className() == 'QDateEdit':
            model.setData(index, editor.date().toString("yyyy-MM-dd"))
        elif editor.metaObject().className() == 'QTimeEdit':
            model.setData(index, editor.time().toString("HH:mm:ss"))
        elif editor.metaObject().className() == 'QListWidget':
            items = []
            for j in range(editor.count()):
                if editor.item(j).text != '':
                    items.append(editor.item(j).text())
            model.setData(index, ";".join([i for i in items]))
        else:
            #QMessageBox.information(None, )
            QSqlRelationalDelegate.setModelData(self, editor, model, index)
예제 #3
0
 def setModelData(self, editor, model, index):
     if index.column() == DATE:
         model.setData(index, QVariant(editor.date()))
     else:
         QSqlRelationalDelegate.setModelData(self, editor, model, index)
예제 #4
0
 def setModelData(self, editor, model, index):
     if index.column() == ROOM:
         model.setData(index, editor.text())
     else:
         QSqlRelationalDelegate.setModelData(self, editor, model, index)