UI/UX polish: Tools menu, clickable timeline, live drag-seek, drag-and-drop load
- Clap detection moved from inline buttons to a Tools menu, plain labels (no more '(whole file)' / '(from cursor)' parentheticals) -- status messages moved to the window's status bar since the dedicated label widget went away with the button row. - ClickableSlider subclass: clicking anywhere along the seek track jumps straight there instead of QSlider's default page-by-a-step behavior; reposition-then-delegate-to-super keeps native drag behavior intact. - Dragging now seeks live via sliderMoved instead of waiting for sliderReleased. - PlayerWidget accepts drag-and-drop of a local file to load it. Verified with real Qt events (QMouseEvent clicks, a QDropEvent, a real mouse click via xdotool opening the Tools menu on an actual running window) rather than just calling the underlying methods directly.
This commit is contained in:
@@ -39,12 +39,12 @@ def main():
|
||||
time.sleep(0.3)
|
||||
qapp.processEvents()
|
||||
|
||||
assert win.detect_all_button.isEnabled()
|
||||
win.detect_all_button.click()
|
||||
assert win.detect_all_action.isEnabled()
|
||||
win.detect_all_action.trigger()
|
||||
qapp.processEvents()
|
||||
assert not win.detect_all_button.isEnabled(), "button should disable while detection runs"
|
||||
assert not win.detect_all_action.isEnabled(), "action should disable while detection runs"
|
||||
|
||||
ok = wait_for(lambda: win.detect_all_button.isEnabled(), qapp)
|
||||
ok = wait_for(lambda: win.detect_all_action.isEnabled(), qapp)
|
||||
assert ok, "detection did not finish in time"
|
||||
|
||||
markers = win.marker_strip.markers()
|
||||
|
||||
Reference in New Issue
Block a user