[timeline] fixes and improvements

This commit is contained in:
Jan Grewe 2025-01-25 14:47:35 +01:00
parent 25ee9f2b8b
commit 24c8584105

View File

@ -13,6 +13,7 @@ class Timeline(QWidget):
self._width = stop//10
self._slider = QSlider(Qt.Orientation.Horizontal)
self._slider.setRange(start, stop)
self._slider.setTickPosition(self._slider.TickPosition.TicksBelow)
self._slider.setTickInterval(int(stop // 10))
self._slider.sliderReleased.connect(self._on_sliderReleased)
self._slider.valueChanged.connect(self._on_sliderChanged)
@ -53,13 +54,16 @@ class Timeline(QWidget):
self._width = width
self._stoplabel.setText(str(stop))
self._slider.setSliderPosition(int(stop // 2))
self._slider.setTickInterval(self._width)
def setWindowWidth(self, newsize):
self._width = newsize
self._slider.setTickInterval(self._width)
if self._slider.value() < newsize // 2:
self._slider.setSliderPosition(int(newsize // 2))
elif self.sliderPosition > self._slider.maximum() - self._width //2:
self._slider.setSliderPosition(self._slider.maximum() - self._width //2)
self.signals.changed.emit(self._slider.sliderPosition())
def _on_sliderReleased(self):
value = self._slider.value()