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()
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()
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()
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()
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)
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)
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)
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()
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)
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()
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)
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)
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
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()
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()
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)
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)
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)
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)
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
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
def mousePressEvent(self, event): if qApp.keyboardModifiers() == Qt.ControlModifier: # For cue selection self.select_cue_event.emit(event) else: super().mousePressEvent(event)