Ejemplo n.º 1
0
    def dropEvent(self, event):
        """
        Drop event
        """
        # drag and drop from assistant
        if (event.mimeData().hasFormat(
                'application/x-%s-help-item' %
                Settings.instance().readValue(key='Common/acronym').lower())):
            event.acceptProposedAction()
            if sys.version_info > (3, ):  # python 3 support
                data = event.mimeData().data("application/x-%s-help-item" %
                                             Settings.instance().readValue(
                                                 key='Common/acronym').lower())
            else:
                data = QString(
                    event.mimeData().data("application/x-%s-help-item" %
                                          Settings.instance().readValue(
                                              key='Common/acronym').lower()))
            if sys.version_info > (3, ):  # python 3 support
                d = eval(data)
            else:
                d = eval(str(data))

            self.beginUndoAction()
            if self.editorId == 2:  # testunit
                try:
                    self.insert(d[2])
                except IndexError as e:
                    self.insert(d[0])
            else:  # testsuite
                if self.editorId == 0:
                    self.insert(d[0])
                else:
                    self.insert(d[1])
            self.endUndoAction()

        # drag and drop from test parameters
        elif (event.mimeData().hasFormat(
                'application/x-%s-parameter-item' %
                Settings.instance().readValue(key='Common/acronym').lower())):
            event.acceptProposedAction()
            if sys.version_info > (3, ):  # python 3 support
                data = event.mimeData().data(
                    "application/x-%s-parameter-item" %
                    Settings.instance().readValue(
                        key='Common/acronym').lower())
            else:
                data = QString(
                    event.mimeData().data("application/x-%s-parameter-item" %
                                          Settings.instance().readValue(
                                              key='Common/acronym').lower()))

            if sys.version_info > (3, ):  # python 3 support
                data = str(data, 'utf8')

            self.beginUndoAction()
            if self.editorId == 0:
                self.insert(data)
            else:
                self.insert(data)
            self.endUndoAction()

        # drag and drop from test agents
        elif (event.mimeData().hasFormat(
                'application/x-%s-agent-item' %
                Settings.instance().readValue(key='Common/acronym').lower())):
            event.acceptProposedAction()
            if sys.version_info > (3, ):  # python 3 support
                data = event.mimeData().data("application/x-%s-agent-item" %
                                             Settings.instance().readValue(
                                                 key='Common/acronym').lower())
            else:
                data = QString(
                    event.mimeData().data("application/x-%s-agent-item" %
                                          Settings.instance().readValue(
                                              key='Common/acronym').lower()))

            if sys.version_info > (3, ):  # python 3 support
                data = str(data, 'utf8')

            self.beginUndoAction()
            if self.editorId == 0:
                self.insert(data)
            else:
                self.insert(data)
            self.endUndoAction()

        # drag and drop from test description
        elif (event.mimeData().hasFormat(
                'application/x-%s-description-item' %
                Settings.instance().readValue(key='Common/acronym').lower())):
            event.acceptProposedAction()
            if sys.version_info > (3, ):  # python 3 support
                data = event.mimeData().data(
                    "application/x-%s-description-item" %
                    Settings.instance().readValue(
                        key='Common/acronym').lower())
            else:
                data = QString(
                    event.mimeData().data("application/x-%s-description-item" %
                                          Settings.instance().readValue(
                                              key='Common/acronym').lower()))

            if sys.version_info > (3, ):  # python 3 support
                data = str(data, 'utf8')

            self.beginUndoAction()
            if self.editorId == 0:
                self.insert(data)
            else:
                self.insert(data)
            self.endUndoAction()
        else:
            QsciScintilla.dropEvent(self, event)