示例#1
0
    def onKeyPressEvent(self, e):
        if not e.isAutoRepeat():
            keys = e.key()
            modifiers = e.modifiers()

            if modifiers & Qt.ShiftModifier:
                keys += Qt.SHIFT
            if modifiers & Qt.ControlModifier:
                keys += Qt.CTRL
            if modifiers & Qt.AltModifier:
                keys += Qt.ALT
            if modifiers & Qt.MetaModifier:
                keys += Qt.META

            if QKeySequence(keys) in self._go_key_sequence:
                self.go()
            elif e.key() == Qt.Key_Space:
                if qApp.keyboardModifiers() == Qt.ShiftModifier:
                    cue = self.current_cue()
                    if cue is not None:
                        self.edit_cue(cue)
                elif qApp.keyboardModifiers() == Qt.ControlModifier:
                    item = self.current_item()
                    if item is not None:
                        item.selected = not item.selected
            else:
                self.key_pressed.emit(e)

        e.accept()
示例#2
0
 def dragEnterEvent(self, event):
     if qApp.keyboardModifiers() == Qt.ControlModifier:
         event.setDropAction(Qt.MoveAction)
         event.accept()
     elif qApp.keyboardModifiers() == Qt.ShiftModifier:
         event.setDropAction(Qt.MoveAction)
         event.accept()
     else:
         event.ignore()
示例#3
0
 def dragEnterEvent(self, event):
     if qApp.keyboardModifiers() == Qt.ControlModifier:
         event.setDropAction(Qt.MoveAction)
         event.accept()
     elif qApp.keyboardModifiers() == Qt.ShiftModifier:
         event.setDropAction(Qt.MoveAction)
         event.accept()
     else:
         event.ignore()
示例#4
0
    def dropEvent(self, event):
        row, column = self._event_index(event)
        if self.layout().itemAtPosition(row, column) is None:
            if qApp.keyboardModifiers() == Qt.ControlModifier:
                event.setDropAction(Qt.MoveAction)
                event.accept()
                self.move_drop_event.emit(event.source(), row, column)
            elif qApp.keyboardModifiers() == Qt.ShiftModifier:
                event.setDropAction(Qt.CopyAction)
                self.copy_drop_event.emit(event.source(), row, column)
                event.accept()

        event.ignore()
示例#5
0
    def setCurrentModelIndex(self, index, newTab=False, tabWidget=None):

        title = self.getIndexTitle(index)

        if tabWidget is None:
            tabWidget = self.currentTabWidget()

        # Checking if tab is already opened
        for w in self.allTabs(tabWidget):
            if w.currentIndex == index:
                tabWidget.setCurrentWidget(w)
                return

        if qApp.keyboardModifiers() & Qt.ControlModifier:
            newTab = True

        if newTab or not tabWidget.count():
            editor = editorWidget(self)
            editor.setCurrentModelIndex(index)
            editor._tabWidget = tabWidget
            i = tabWidget.addTab(editor, editor.ellidedTitle(title))
            tabWidget.setTabToolTip(i, title)
            tabWidget.setCurrentIndex(tabWidget.count() - 1)
        else:
            self.currentEditor(tabWidget).setCurrentModelIndex(index)
示例#6
0
 def mouseMoveEvent(self, event):
     super().mouseMoveEvent(event)
     if qApp.keyboardModifiers() == Qt.ControlModifier:
         # Prevent items to be deselected
         if self.state() == self.DragSelectingState:
             item = self.itemAt(event.pos())
             self.setCurrentItem(item)
示例#7
0
    def setCurrentModelIndex(self, index, newTab=False, tabWidget=None):

        title = self.getIndexTitle(index)

        if tabWidget is None:
            tabWidget = self.currentTabWidget()

        # Checking if tab is already openned
        for w in self.allTabs(tabWidget):
            if w.currentIndex == index:
                tabWidget.setCurrentWidget(w)
                return

        if qApp.keyboardModifiers() & Qt.ControlModifier:
            newTab = True

        if newTab or not tabWidget.count():
            editor = editorWidget(self)
            editor.setCurrentModelIndex(index)
            editor._tabWidget = tabWidget
            i = tabWidget.addTab(editor, editor.ellidedTitle(title))
            tabWidget.setTabToolTip(i, title)
            tabWidget.setCurrentIndex(tabWidget.count() - 1)
        else:
            self.currentEditor(tabWidget).setCurrentModelIndex(index)
示例#8
0
    def onKeyPressEvent(self, e):
        if not e.isAutoRepeat() and e.key() == Qt.Key_Space:
            if qApp.keyboardModifiers() == Qt.ShiftModifier:
                cue = self.current_cue()
                if cue is not None:
                    self.edit_cue(cue)
            elif qApp.keyboardModifiers() == Qt.ControlModifier:
                item = self.current_item()
                if item is not None:
                    item.selected = not item.selected
                    return True
            else:
                self.go()
        else:
            self.key_pressed.emit(e)

        e.accept()
示例#9
0
 def paintToolMousePress(self, modifiers, event, idx):
     """Add an insert to the strand if possible."""
     m_strand = self._strand_item._model_strand
     if qApp.keyboardModifiers() & Qt.ShiftModifier:
         color = self.window().path_color_panel.shiftColorName()
     else:
         color = self.window().path_color_panel.colorName()
     m_strand.oligo().applyColor(color)
示例#10
0
    def dropEvent(self, e):
        row = math.ceil(e.pos().y() / (self.ydim + self.margin)) - 1
        column = math.ceil(e.pos().x() / (self.xdim + self.margin)) - 1
        if(self.itemAt(row, column) is None):
            if(len(self.dragAudioFiles) > 0):
                self.file_dropp_event.emit(self.dragAudioFiles)
                self.dragAudioFiles = []
            elif(qApp.keyboardModifiers() == QtCore.Qt.ControlModifier):
                e.setDropAction(QtCore.Qt.MoveAction)
                self.move_drop_event.emit(e.source(), (-1, row, column))
            elif(qApp.keyboardModifiers() == QtCore.Qt.ShiftModifier):
                e.setDropAction(QtCore.Qt.CopyAction)
                self.copy_drop_event.emit(e.source(), (-1, row, column))

        self.posIndicator.hide()

        e.accept()
示例#11
0
    def keyPressEvent(self, event):
        self.key_event.emit(event)

        if qApp.keyboardModifiers() == Qt.ControlModifier:
            # Prevent items to be deselected
            event.ignore()
        else:
            super().keyPressEvent(event)
示例#12
0
 def paintToolMousePress(self,   modifiers: Qt.KeyboardModifiers,
                                 event: QGraphicsSceneMouseEvent,
                                 idx: int):
     """Add an insert to the strand if possible."""
     m_strand = self._strand_item._model_strand
     if qApp.keyboardModifiers() & Qt.ShiftModifier:
         color = self.window().path_color_panel.shiftColorName()
     else:
         color = self.window().path_color_panel.colorName()
     m_strand.oligo().applyColor(color)
示例#13
0
 def mouseReleaseEvent(self, mEvent):
     """If the mouse button is released and the control key is
     pressed, check if we're clicking on a tag, and trigger the
     follow tag function.
     """
     if qApp.keyboardModifiers() == Qt.ControlModifier:
         theCursor = self.cursorForPosition(mEvent.pos())
         self._followTag(theCursor)
     QTextEdit.mouseReleaseEvent(self, mEvent)
     return
示例#14
0
    def dropEvent(self, event):
        if(qApp.keyboardModifiers() == QtCore.Qt.ShiftModifier):
            event.setDropAction(QtCore.Qt.CopyAction)
            self.drop_copy_event.emit(self.drag_start,
                                      self.indexFromItem(self.drag_item).row())
        else:
            event.setDropAction(QtCore.Qt.MoveAction)
            super().dropEvent(event)
            self.drop_move_event.emit(self.drag_start,
                                      self.indexFromItem(self.drag_item).row())

        event.accept()
示例#15
0
    def onKeyPressEvent(self, e):
        if e.key() == QtCore.Qt.Key_Space:
            if qApp.keyboardModifiers() == Qt.ShiftModifier:
                cue = self.current_cue()
                if cue is not None:
                    self.edit_cue(cue)
            elif qApp.keyboardModifiers() == Qt.ControlModifier:
                item = self.current_item()
                if item is not None:
                    item.select()
            else:
                cue = self.current_cue()
                if cue is not None:
                    cue.execute()
                if self._auto_next:
                    nextitem = self.listView.currentIndex().row() + 1
                    if nextitem < self.listView.topLevelItemCount():
                        nextitem = self.listView.topLevelItem(nextitem)
                        self.listView.setCurrentItem(nextitem)
        else:
            self.key_pressed.emit(e)

        e.accept()
示例#16
0
 def mousePressEvent(self, event):
     """docstring for mousePressEvent"""
     if self._transform_enable and qApp.keyboardModifiers():
         which_buttons = event.buttons()
         if which_buttons in [self._button_pan, self._button_pan_alt]:
             self._panEnable()
             posf = event.localPos()
             self._x0 = posf.x()
             self._y0 = posf.y()
         elif which_buttons == self._button_zoom:
             self._dolly_zoom_enable = True
             self._last_scale_factor = 0
             # QMouseEvent.y() returns the position of the mouse cursor
             # relative to the widget
             self._y0 = event.localPos().y()
         else:
             QGraphicsView.mousePressEvent(self, event)
     else:
         QGraphicsView.mousePressEvent(self, event)
示例#17
0
    def dropEvent(self, event):
        # Decode mimedata information about the drag&drop event, since only
        # internal movement are allowed we assume the data format is correct
        data = event.mimeData().data('application/x-qabstractitemmodeldatalist')
        stream = QDataStream(data, QIODevice.ReadOnly)

        # Get the starting-item row
        start_index = stream.readInt()
        new_index = self.indexAt(event.pos()).row()
        if not 0 <= new_index <= len(self._model):
            new_index = len(self._model)

        if qApp.keyboardModifiers() == Qt.ControlModifier:
            cue = self._model.item(start_index)
            new_cue = CueFactory.clone_cue(cue)

            self._model.insert(new_cue, new_index)
        else:
            self._model.move(start_index, new_index)
 def mousePressEvent(self, event):
     """docstring for mousePressEvent"""
     if self._transform_enable == True and qApp.keyboardModifiers():
         which_buttons = event.buttons()
         if which_buttons in [self._button_pan, self._button_pan_alt]:
             self._panEnable()
             posf = event.localPos()
             self._x0 = posf.x()
             self._y0 = posf.y()
         elif which_buttons == self._button_zoom:
             self._dolly_zoom_enable = True
             self._last_scale_factor = 0
             # QMouseEvent.y() returns the position of the mouse cursor
             # relative to the widget
             self._y0 = event.localPos().y()
         else:
             QGraphicsView.mousePressEvent(self, event)
     else:
         QGraphicsView.mousePressEvent(self, event)
示例#19
0
    def setCurrentModelIndex(self, index, newTab=False):

        if not index.isValid():
            title = self.tr("Root")
        else:
            title = index.internalPointer().title()

        # Checking if tab is already openned
        for w in self.allTabs():
            if w.currentIndex == index:
                self.tab.setCurrentWidget(w)
                return

        if qApp.keyboardModifiers() & Qt.ControlModifier:
            newTab = True

        if newTab or not self.tab.count():
            editor = editorWidget(self)
            editor.setCurrentModelIndex(index)
            self.tab.addTab(editor, title)
            self.tab.setCurrentIndex(self.tab.count() - 1)
        else:
            self.currentEditor().setCurrentModelIndex(index)
            self.tab.setTabText(self.tab.currentIndex(), title)
示例#20
0
    def setCurrentModelIndex(self, index, newTab=False):

        if not index.isValid():
            title = self.tr("Root")
        else:
            title = index.internalPointer().title()

        # Checking if tab is already openned
        for w in self.allTabs():
            if w.currentIndex == index:
                self.tab.setCurrentWidget(w)
                return

        if qApp.keyboardModifiers() & Qt.ControlModifier:
            newTab = True

        if newTab or not self.tab.count():
            editor = editorWidget(self)
            editor.setCurrentModelIndex(index)
            self.tab.addTab(editor, title)
            self.tab.setCurrentIndex(self.tab.count() - 1)
        else:
            self.currentEditor().setCurrentModelIndex(index)
            self.tab.setTabText(self.tab.currentIndex(), title)
示例#21
0
文件: gui.py 项目: FZUG/repo-checker
 def itemClickedForOpenUrlSlot(self, item):
     """Ctrl+left 打开链接"""
     # http://stackoverflow.com/questions/3100090/
     if item.column() == 1 and item.text() and \
             qApp.keyboardModifiers() == Qt.ControlModifier:
         QDesktopServices.openUrl(QUrl(item.text()))  # open url
示例#22
0
 def itemClickedForOpenUrlSlot(self, item):
     """Ctrl+left 打开链接"""
     # http://stackoverflow.com/questions/3100090/
     if item.column() == 1 and item.text() and \
             qApp.keyboardModifiers() == Qt.ControlModifier:
         QDesktopServices.openUrl(QUrl(item.text()))  # open url
示例#23
0
 def mousePressEvent(self, event):
     if qApp.keyboardModifiers() == Qt.ControlModifier:
         # For cue selection
         self.select_cue_event.emit(event)
     else:
         super().mousePressEvent(event)