[track] windows do never grow by moving

This commit is contained in:
Jan Grewe 2025-01-31 08:10:49 +01:00
parent 17953355ba
commit 7d3e3af498

View File

@ -543,36 +543,21 @@ class FixTracks(QWidget):
self._controls_widget.setSelectedTracks(tracks) self._controls_widget.setSelectedTracks(tracks)
self.update() self.update()
def on_forward(self, stepsize): def moveWindow(self, stepsize):
logging.debug("Tracks: receive forward command with step-size: %.2f", stepsize)
max_frames = self._data.max("frame") max_frames = self._data.max("frame")
if stepsize >= 1.0: self._clear_detections = True
self._clear_detections = True step = stepsize * (self._windowspinner.value() / max_frames)
newx = self._timeline.rangeStart + self._windowspinner.value() / max_frames newx = self._timeline.rangeStart + step
self._timeline.setWindowPos(newx) self._timeline.setWindowPos(newx)
else:
self._clear_detections = True
step = stepsize * (self._windowspinner.value() / max_frames)
stop_pos = self._timeline.rangeStop + step
self._timeline.setWindowWidth(stop_pos - self._timeline.rangeStart)
self._windowspinner.setValue(int(self._windowspinner.value() + int(step * max_frames)))
self.update() self.update()
def on_forward(self, stepsize):
logging.debug("Tracks: receive forward command with step-size: %.2f", stepsize)
self.moveWindow(stepsize)
def on_backward(self, stepsize): def on_backward(self, stepsize):
logging.debug("Tracks: receive backward command with step-size: %.2f", stepsize) logging.debug("Tracks: receive backward command with step-size: %.2f", stepsize)
max_frames = self._data.max("frame") self.moveWindow(-stepsize)
if stepsize >= 1.0:
self._clear_detections = True
newx = self._timeline.rangeStart - self._windowspinner.value() / max_frames
self._timeline.setWindowPos(newx)
else:
self._clear_detections = True
step = stepsize * (self._windowspinner.value() / max_frames)
start_pos = self._timeline.rangeStart - step
newwindowwidth = (self._timeline.rangeStop - self._timeline.rangeStart) + step
self._timeline.setWindow(start_pos, newwindowwidth)
self._windowspinner.setValue(int(newwindowwidth *max_frames))
self.update()
def main(): def main():