more fwd and back control buttons

This commit is contained in:
Jan Grewe 2025-01-29 16:00:46 +01:00
parent f66788e6fa
commit 53fa9a6191

View File

@ -85,8 +85,8 @@ class FilterProxyModel(QSortFilterProxyModel):
class SelectionControls(QWidget): class SelectionControls(QWidget):
next = Signal() fwd = Signal(float)
previous = Signal() back = Signal(float)
assignOne = Signal() assignOne = Signal()
assignTwo = Signal() assignTwo = Signal()
assignOther = Signal() assignOther = Signal()
@ -96,21 +96,45 @@ class SelectionControls(QWidget):
font = QFont() font = QFont()
font.setBold(True) font.setBold(True)
font.setPointSize(10) font.setPointSize(10)
fullstep = 1.0
previousBtn = QPushButton("previous") halfstep = 0.5
previousBtn.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) quarterstep = 0.25
previousBtn.setToolTip("Go back to previous window (right-arrow)")
previousBtn.setEnabled(False) backBtn = QPushButton("|<<")
previousBtn.setShortcut(Qt.Key.Key_Right) backBtn.setFont(font)
previousBtn.clicked.connect(self.on_Previous) backBtn.setShortcut(Qt.Key.Key_Left)
previousBtn.setFont(font) backBtn.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
nextBtn = QPushButton("next") backBtn.setToolTip(f"Go back to previous window ({backBtn.shortcut().toString()})")
nextBtn.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) backBtn.clicked.connect(lambda: self.on_Back(fullstep))
nextBtn.setToolTip("Proceed to next window (left-arrow)") halfstepBackBtn = QPushButton("<<")
nextBtn.setEnabled(False) halfstepBackBtn.setFont(font)
nextBtn.clicked.connect(self.on_Next) halfstepBackBtn.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
nextBtn.setShortcut(Qt.Key.Key_Left) halfstepBackBtn.setShortcut(Qt.KeyboardModifier.AltModifier + Qt.Key.Key_Left)
nextBtn.setFont(font) halfstepBackBtn.setToolTip(f"Go back by half a window ({halfstepBackBtn.shortcut().toString()})")
halfstepBackBtn.clicked.connect(lambda: self.on_Back(halfstep))
quarterstepBackBtn = QPushButton("<")
quarterstepBackBtn.setFont(font)
quarterstepBackBtn.setShortcut(Qt.KeyboardModifier.ShiftModifier + Qt.Key.Key_Left)
quarterstepBackBtn.setToolTip(f"Go back by a quarter window ({quarterstepBackBtn.shortcut().toString()})")
quarterstepBackBtn.clicked.connect(lambda: self.on_Fwd(quarterstep))
fwdBtn = QPushButton(">>|")
fwdBtn.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
fwdBtn.setShortcut(Qt.Key.Key_Right)
fwdBtn.setFont(font)
fwdBtn.setToolTip(f"Proceed to next window ({fwdBtn.shortcut().toString()})")
fwdBtn.clicked.connect(lambda: self.on_Fwd(fullstep))
halfstepFwdBtn = QPushButton(">>")
halfstepFwdBtn.setToolTip(f"Proceed by half a window ({halfstepFwdBtn.shortcut().toString()})")
halfstepFwdBtn.setFont(font)
halfstepFwdBtn.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
halfstepFwdBtn.setShortcut(Qt.KeyboardModifier.AltModifier + Qt.Key.Key_Right)
halfstepFwdBtn.clicked.connect(lambda: self.on_Fwd(halfstep))
quarterstepFwdBtn = QPushButton(">")
quarterstepFwdBtn.setToolTip(f"Proceed by a quarter window ({quarterstepFwdBtn.shortcut().toString()})")
quarterstepFwdBtn.setShortcut(Qt.KeyboardModifier.ShiftModifier + Qt.Key.Key_Right)
quarterstepFwdBtn.setFont(font)
quarterstepFwdBtn.clicked.connect(lambda: self.on_Fwd(quarterstep))
assignOneBtn = QPushButton("Track One") assignOneBtn = QPushButton("Track One")
assignOneBtn.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding) assignOneBtn.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
@ -142,8 +166,12 @@ class SelectionControls(QWidget):
self._total = 0 self._total = 0
grid = QGridLayout() grid = QGridLayout()
grid.addWidget(previousBtn, 0, 0, 4, 2) grid.addWidget(backBtn, 0, 0, 2, 2)
grid.addWidget(nextBtn, 0, 6, 4, 2) grid.addWidget(halfstepBackBtn, 0, 6, 1, 2)
grid.addWidget(quarterstepBackBtn, 0, 6, 1, 2)
grid.addWidget(fwdBtn, 0, 6, 2, 2)
grid.addWidget(halfstepFwdBtn, 2, 6, 1, 2)
grid.addWidget(quarterstepFwdBtn, 3, 6, 1, 2)
grid.addWidget(QLabel("Current selection:"), 0, 2, 1, 4) grid.addWidget(QLabel("Current selection:"), 0, 2, 1, 4)
grid.addWidget(QLabel("Track One:"), 1, 2, 1, 3) grid.addWidget(QLabel("Track One:"), 1, 2, 1, 3)
grid.addWidget(self.tone_selection, 1, 5, 1, 1) grid.addWidget(self.tone_selection, 1, 5, 1, 1)
@ -168,11 +196,13 @@ class SelectionControls(QWidget):
else: else:
labels[k].setText("0") labels[k].setText("0")
def on_Next(self): def on_Fwd(self, stepsize):
self.next.emit() logging.debug("SelectionControls: forward step by %.2f", stepsize)
self.fwd.emit(stepsize)
def on_Previous(self): def on_Back(self, stepsize):
self.previous.emit() logging.debug("SelectionControls: backward step by %.2f", stepsize)
self.back.emit(stepsize)
def on_TrackOne(self): def on_TrackOne(self):
self.assignOne.emit() self.assignOne.emit()