Exemple #1
0
 def wheelEvent(self, event: QtGui.QWheelEvent) -> None:
     event.accept()
     if isinstance(self._current_circle, CircleSeedNp):
         self._current_circle.set_radius(
             self._current_circle.radius +
             (1 if event.angleDelta().y() > 0 else -1), self._cv_image)
         self.update()
Exemple #2
0
 def wheelEvent(self, event: QWheelEvent) -> None:
     if self.parent.mediaAvailable:
         if event.angleDelta().y() > 0:
             self.parent.mpvWidget.frameBackStep()
         else:
             self.parent.mpvWidget.frameStep()
         event.accept()
Exemple #3
0
 def wheelEvent(self, a0: QtGui.QWheelEvent) -> None:
     if len(self.tdrWindow.td) == 0:
         a0.ignore()
         return
     chart_height = self.chartHeight
     chart_width = self.chartWidth
     do_zoom_x = do_zoom_y = True
     if a0.modifiers() == QtCore.Qt.ShiftModifier:
         do_zoom_x = False
     if a0.modifiers() == QtCore.Qt.ControlModifier:
         do_zoom_y = False
     if a0.angleDelta().y() > 0:
         # Zoom in
         a0.accept()
         # Center of zoom = a0.x(), a0.y()
         # We zoom in by 1/10 of the width/height.
         rate = a0.angleDelta().y() / 120
         if do_zoom_x:
             zoomx = rate * chart_width / 10
         else:
             zoomx = 0
         if do_zoom_y:
             zoomy = rate * chart_height / 10
         else:
             zoomy = 0
         absx = max(0, a0.x() - self.leftMargin)
         absy = max(0, a0.y() - self.topMargin)
         ratiox = absx / chart_width
         ratioy = absy / chart_height
         # TODO: Change zoom to center on the mouse if possible, or extend box to the side that has room if not.
         p1x = int(self.leftMargin + ratiox * zoomx)
         p1y = int(self.topMargin + ratioy * zoomy)
         p2x = int(self.leftMargin + chart_width - (1 - ratiox) * zoomx)
         p2y = int(self.topMargin + chart_height - (1 - ratioy) * zoomy)
         self.zoomTo(p1x, p1y, p2x, p2y)
     elif a0.angleDelta().y() < 0:
         # Zoom out
         a0.accept()
         # Center of zoom = a0.x(), a0.y()
         # We zoom out by 1/9 of the width/height, to match zoom in.
         rate = -a0.angleDelta().y() / 120
         if do_zoom_x:
             zoomx = rate * chart_width / 9
         else:
             zoomx = 0
         if do_zoom_y:
             zoomy = rate * chart_height / 9
         else:
             zoomy = 0
         absx = max(0, a0.x() - self.leftMargin)
         absy = max(0, a0.y() - self.topMargin)
         ratiox = absx / chart_width
         ratioy = absy / chart_height
         p1x = int(self.leftMargin - ratiox * zoomx)
         p1y = int(self.topMargin - ratioy * zoomy)
         p2x = int(self.leftMargin + chart_width + (1 - ratiox) * zoomx)
         p2y = int(self.topMargin + chart_height + (1 - ratioy) * zoomy)
         self.zoomTo(p1x, p1y, p2x, p2y)
     else:
         a0.ignore()
 def wheelEvent(self, event: QtGui.QWheelEvent):
     try:
         zoom = super().page().mainFrame().zoomFactor()
         if self.ctrlOn is True:
             event.accept()
             if event.angleDelta().y() > 0:
                 zoom += 0.2
             else:
                 zoom -= 0.2
             if zoom <= 0.2: zoom = 0.2
             if zoom >= 3: zoom = 3
             print('zoom = {}'.format(zoom))
             super().page().mainFrame().setZoomFactor(zoom)
         # super().page().repaint()
         else:
             if self.mode.value == QwwMode.CBZ.value:
                 super().page().mainFrame().setZoomFactor(1)
                 event.accept()
                 passed = 0
                 if event.angleDelta().y() < 0: passed = 1
                 elif event.angleDelta().y() > 0: passed = -1
                 self.updatePositionCbz(passed)
             else:
                 self.updatePositionEpub(event.angleDelta().y() * -1)
                 event.ignore()
     except Exception:
         traceback.print_exc()
Exemple #5
0
 def wheelEvent(self, event: QWheelEvent):
     """Zooms in or out the SVG image, depending on which direction
     the mouse wheel is being spun, and how far since the last
     wheel spin event.
     """
     factor = pow(1.2, event.angleDelta().y() / 240.0)
     self.zoom(factor)
     event.accept()
Exemple #6
0
 def wheelEvent(self, a0: QtGui.QWheelEvent) -> None:
     if len(self.data) == 0 and len(self.reference) == 0:
         a0.ignore()
         return
     do_zoom_x = do_zoom_y = True
     if a0.modifiers() == QtCore.Qt.ShiftModifier:
         do_zoom_x = False
     if a0.modifiers() == QtCore.Qt.ControlModifier:
         do_zoom_y = False
     if a0.angleDelta().y() > 0:
         # Zoom in
         a0.accept()
         # Center of zoom = a0.x(), a0.y()
         # We zoom in by 1/10 of the width/height.
         rate = a0.angleDelta().y() / 120
         if do_zoom_x:
             zoomx = rate * self.chartWidth / 10
         else:
             zoomx = 0
         if do_zoom_y:
             zoomy = rate * self.chartHeight / 10
         else:
             zoomy = 0
         absx = max(0, a0.x() - self.leftMargin)
         absy = max(0, a0.y() - self.topMargin)
         ratiox = absx / self.chartWidth
         ratioy = absy / self.chartHeight
         p1x = int(self.leftMargin + ratiox * zoomx)
         p1y = int(self.topMargin + ratioy * zoomy)
         p2x = int(self.leftMargin + self.chartWidth - (1 - ratiox) * zoomx)
         p2y = int(self.topMargin + self.chartHeight - (1 - ratioy) * zoomy)
         self.zoomTo(p1x, p1y, p2x, p2y)
     elif a0.angleDelta().y() < 0:
         # Zoom out
         a0.accept()
         # Center of zoom = a0.x(), a0.y()
         # We zoom out by 1/9 of the width/height, to match zoom in.
         rate = -a0.angleDelta().y() / 120
         if do_zoom_x:
             zoomx = rate * self.chartWidth / 9
         else:
             zoomx = 0
         if do_zoom_y:
             zoomy = rate * self.chartHeight / 9
         else:
             zoomy = 0
         absx = max(0, a0.x() - self.leftMargin)
         absy = max(0, a0.y() - self.topMargin)
         ratiox = absx / self.chartWidth
         ratioy = absy / self.chartHeight
         p1x = int(self.leftMargin - ratiox * zoomx)
         p1y = int(self.topMargin - ratioy * zoomy)
         p2x = int(self.leftMargin + self.chartWidth + (1 - ratiox) * zoomx)
         p2y = int(self.topMargin + self.chartHeight + (1 - ratioy) * zoomy)
         self.zoomTo(p1x, p1y, p2x, p2y)
     else:
         a0.ignore()
Exemple #7
0
 def process_viewport_wheel_event(self, event: QWheelEvent):
     # print("size when wheeling: ", self.view.viewport().size())
     zoom_in = self.zoom_step
     zoom_out = 1 / zoom_in
     zoom_ = zoom_in if event.angleDelta().y() > 0 else zoom_out
     self.update_scale(event.pos(), zoom_)
     event.accept()
     self.on_view_changed()
     return True
 def wheelEvent(self, event: QtGui.QWheelEvent) -> None:
     event.accept()
     if self._current_item_index != -1:
         current_seed_item = self._circle_seed_items[
             self._current_item_index]  # type: CircleSeedItem
         if current_seed_item.change_able:
             current_seed_item.radius += (1 if event.angleDelta().y() > 0
                                          else -1)
             self.update()
Exemple #9
0
 def wheelEvent(self, event: QtGui.QWheelEvent):
     """Allow selected item to be scrolled with the mouse wheel."""
     degrees = event.angleDelta().y() // 8  # angle delta is in eighths of a degree
     steps = degrees // 15
     for _ in range(abs(steps)):
         new_index = self.currentRow() + (1 if steps < 0 else -1)
         if -1 < new_index < self.count():  # do not wrap around
             self.setCurrentRow(new_index)
         else:
             break
     event.accept()
    def wheelEvent(self, event: qtgui.QWheelEvent):
        numPixels = event.pixelDelta()
        numDegrees = event.angleDelta() / 8

        if numPixels:
            self.scrollWithPixels(numPixels.y())
        elif numDegrees:
            numSteps = numDegrees / 15
            self.scrollWithDegrees(numSteps.y())

        event.accept()
Exemple #11
0
 def wheelEvent(self, event: QWheelEvent) -> None:
     if self.mediaPlayer.isVideoAvailable(
     ) or self.mediaPlayer.isAudioAvailable():
         if event.angleDelta().y() > 0:
             newval = self.seekSlider.value() - 1000
         else:
             newval = self.seekSlider.value() + 1000
         self.seekSlider.setValue(newval)
         self.seekSlider.setSliderPosition(newval)
         self.mediaPlayer.setPosition(newval)
     event.accept()
Exemple #12
0
    def wheelEvent(self, event: QtGui.QWheelEvent):
        steps = qt_utils.get_wheel_steps(event)

        keys = event.modifiers()
        if keys & QtCore.Qt.ShiftModifier:
            self.tune_amplitude(self.settings.exact_step * steps)
        elif keys & QtCore.Qt.ControlModifier:
            self.tune_amplitude(self.settings.rough_step * steps)
        else:
            self.tune_amplitude(self.settings.common_step * steps)

        event.accept()
Exemple #13
0
 def wheelEvent(self, event: QtGui.QWheelEvent) -> None:
     modifiers = event.modifiers()
     angle = event.angleDelta()
     print(f'common angle = {angle}')
     if modifiers == QtCore.Qt.ControlModifier:
         print(f'mods = {modifiers}')
         angle = event.angleDelta()
         if angle.y() > 0:
             self.zoom_in()
         elif angle.y() < 0:
             self.zoom_out()
         event.accept()
Exemple #14
0
 def wheelEvent(self, event:QWheelEvent) -> None:
     """ Change the font size if Ctrl is held down, otherwise scroll the list as usual. """
     if not event.modifiers() & Qt.ControlModifier:
         return super().wheelEvent(event)
     delta = event.angleDelta().y()
     sign = (delta // abs(delta)) if delta else 0
     font = self.font()
     new_size = font.pointSize() + sign
     if self._min_font_size <= new_size <= self._max_font_size:
         font.setPointSize(new_size)
         self.setFont(font)
     event.accept()
Exemple #15
0
    def wheelEvent(self, a0: qg.QWheelEvent) -> None:
        """Zoom in or out when Ctrl+MouseWheel is used.

        Most mice send rotation in units of 1/8 of a degree and each notch goes
        15 degrees. I am changing the zoom as a
        """
        if a0.modifiers() == qc.Qt.ControlModifier:
            ndegrees = a0.angleDelta().y() / 8.0
            if ndegrees > 0:
                [self.zoomIn() for ii in range(int(ndegrees / 15))]
            else:
                [self.zoomOut() for ii in range(int(-ndegrees / 15))]
            # logging.debug('Angle %f degrees', a0.angleDelta().y() / 8)
            a0.accept()
        elif a0.modifiers() == qc.Qt.NoModifier:
            super(FrameView, self).wheelEvent(a0)
    def wheelEvent(self, event: QWheelEvent):
        if not (self.ui.measure_table.underMouse()
                and self.settings.disable_scroll_on_table):
            steps = qt_utils.get_wheel_steps(event)
            steps = -steps if self.settings.mouse_inversion else steps

            keys = event.modifiers()
            if (keys & Qt.ControlModifier) and (keys & Qt.ShiftModifier):
                self.set_amplitude(self.calibrator.amplitude +
                                   (self.fixed_step * steps))
            elif keys & Qt.ShiftModifier:
                self.tune_amplitude(self.settings.exact_step * steps)
            elif keys & Qt.ControlModifier:
                self.tune_amplitude(self.settings.rough_step * steps)
            else:
                self.tune_amplitude(self.settings.common_step * steps)

        event.accept()
Exemple #17
0
    def wheelEvent(self, evt: QtGui.QWheelEvent) -> None:
        if evt.modifiers() == Qt.ShiftModifier:
            offset = self.xOffset()
            offset -= 2 * evt.angleDelta().y()
            offset = min(self.maximumXOffset(), offset)
            offset = max(0, offset)
            self.setXOffset(offset)
            evt.accept()
            return

        elif evt.modifiers() == Qt.ControlModifier:
            offset = self.yOffset()
            offset -= evt.angleDelta().y()
            offset = min(self.maximumYOffset(), offset)
            offset = max(0, offset)
            self.setYOffset(offset)
            evt.accept()
            return

        super().wheelEvent(evt)
Exemple #18
0
    def wheelMeasureEvent(
            self, measure: measured_track_editor.BaseMeasureEditor, evt: QtGui.QWheelEvent) -> None:
        assert isinstance(measure, BeatMeasureEditor), type(measure).__name__

        if evt.modifiers() in (Qt.NoModifier, Qt.ShiftModifier):
            if evt.modifiers() == Qt.ShiftModifier:
                vel_delta = (1 if evt.angleDelta().y() > 0 else -1)
            else:
                vel_delta = (10 if evt.angleDelta().y() > 0 else -10)

            click_time = measure.xToTime(evt.pos().x())

            for beat in measure.measure.beats:
                if beat.time == click_time:
                    with self.project.apply_mutations(
                            '%s: Change beat velocity' % measure.track.name):
                        beat.velocity = max(0, min(127, beat.velocity + vel_delta))
                    evt.accept()
                    return

        super().wheelMeasureEvent(measure, evt)
Exemple #19
0
    def wheelEvent(self, event: QWheelEvent):
        """
        Zoom in/out on the mouse cursor
        """
        # zoom only when CTRL key pressed
        if (event.modifiers() & Qt.ControlModifier) == Qt.ControlModifier:
            steps = event.angleDelta().y() / 15 / 8

            if steps == 0:
                event.ignore()
                return

            # scale factor 1.25
            sc = pow(1.25, steps)
            self.scale(sc, sc)
            self.centerOn(self.mapToScene(event.pos()))
            event.accept()
        #  act normally on scrollbar
        else:
            # transmit event to parent class wheelevent
            super(QGraphicsView, self).wheelEvent(event)
Exemple #20
0
    def wheelEvent(self, event: QWheelEvent):
        """
        Zoom in/out on the mouse cursor
        """
        # zoom only when CTRL key pressed
        if (event.modifiers() & Qt.ControlModifier) == Qt.ControlModifier:
            steps = event.angleDelta().y() / 15 / 8

            if steps == 0:
                event.ignore()
                return

            # scale factor 1.25
            sc = pow(1.25, steps)
            self.scale(sc, sc)
            self.centerOn(self.mapToScene(event.pos()))
            event.accept()
        #  act normally on scrollbar
        else:
            # transmit event to parent class wheelevent
            super(QGraphicsView, self).wheelEvent(event)
    def wheelEvent(self, event: QWheelEvent):

        if self.thumbs_manager is None:
            event.ignore()
            return

        numPixels: QPoint = event.pixelDelta()
        numDegrees: QPoint = event.angleDelta() / 8

        if not numPixels.isNull():
            event.ignore()
        elif not numDegrees.isNull():
            num_steps: QPoint = numDegrees / 15  # .y() == Down: -1, Up: 1
            if num_steps.y() == -1:
                self.thumbs_manager.show_next()
                event.accept()
            elif num_steps.y() == 1:
                self.thumbs_manager.show_previous()
                event.accept()
            else:
                event.ignore()
    def wheelEvent(self, event: QWheelEvent):
        """Process mouse wheel events. The mouse wheel can be used for
        zooming.

        Parameters
        ----------
        event: QWheelEvent
            The event providing the angle delta.
        """

        delta = event.angleDelta().y() / 120  # will be +/- 1

        center = (self._view[0] + (event.x() / self.width() *
                                   (self._view[1] - self._view[0])))
        end = center - (center - self._view[1]) / (1 + delta * 0.01)
        start = center - (center - self._view[0]) / (1 + delta * 0.01)

        self.setView(start, end)

        # We will accept the event, to prevent interference
        # with the QScrollArea.
        event.accept()
Exemple #23
0
    def wheelEvent(self, event: QWheelEvent):
        def checkDate(newdate):
            """
                Check newdate doesn't go over bounds
            """
            date = self.dtFrom.date()
            firstdate = self.product.result.ohcl(
                self.cmbOHCLDuration.itemData(
                    self.cmbOHCLDuration.currentIndex())).first().datetime(
                    ).date()
            if newdate > date:
                if newdate > datetime.date.today():
                    return date
                else:
                    return newdate
            else:  #newdate<=date
                if newdate < firstdate:
                    return date
                else:
                    return newdate

        ##############################
        event.accept()  #If I dont use this makes two events
        if event.modifiers() == Qt.ControlModifier:
            step = 30
        elif event.modifiers() == Qt.ShiftModifier:
            step = 7
        else:
            step = 365

        if event.angleDelta().y() < 0:
            self.dtFrom.setDate(
                checkDate(self.dtFrom.date().toPyDate() -
                          datetime.timedelta(days=step)))
        else:
            self.dtFrom.setDate(
                checkDate(self.dtFrom.date().toPyDate() +
                          datetime.timedelta(days=step)))
Exemple #24
0
 def wheelEvent(self, wheel_event: QtGui.QWheelEvent):
     wheel_event.accept()
     self.wheelSignal.emit(wheel_event)