fix: set selectionFollowsTempo based on which ruler is clicked

- Time Ruler click → setSelectionFollowsTempo(false) → time-based
- Tempo Track Lane click → setSelectionFollowsTempo(true) → tempo-based
- Also handles sub-tab ruler (EDITOR tabs)
- Manual toggle button ♪T/⏱T still works for override
This commit is contained in:
2026-07-27 08:59:50 +07:00
parent 720d80dbf9
commit ef891e9e04
2 changed files with 4 additions and 3 deletions
+3 -2
View File
@@ -15865,7 +15865,7 @@ const App = () => {
viewportWidth: viewportWidth, viewportWidth: viewportWidth,
onPlayheadSet: handlePlayheadSet, onPlayheadSet: handlePlayheadSet,
snapValue: snapValue, snapValue: snapValue,
onRulerMouseDown: handleRulerMouseDown, onRulerMouseDown: e => { setSelectionFollowsTempo(false); handleRulerMouseDown(e); },
scrollLeft: scrollLeft, scrollLeft: scrollLeft,
canvasRedrawCount: canvasRedrawCount canvasRedrawCount: canvasRedrawCount
}), /*#__PURE__*/React.createElement(TempoTrackLane, { }), /*#__PURE__*/React.createElement(TempoTrackLane, {
@@ -15875,7 +15875,7 @@ const App = () => {
viewportWidth: viewportWidth, viewportWidth: viewportWidth,
onPlayheadSet: handlePlayheadSet, onPlayheadSet: handlePlayheadSet,
snapValue: snapValue, snapValue: snapValue,
onRulerMouseDown: handleRulerMouseDown, onRulerMouseDown: e => { setSelectionFollowsTempo(true); handleRulerMouseDown(e); },
scrollLeft: scrollLeft, scrollLeft: scrollLeft,
canvasRedrawCount: canvasRedrawCount canvasRedrawCount: canvasRedrawCount
})), selectionMode === 'global' && selLeft !== null && selRight !== null && selRight > selLeft && /*#__PURE__*/React.createElement("div", { })), selectionMode === 'global' && selLeft !== null && selRight !== null && selRight > selLeft && /*#__PURE__*/React.createElement("div", {
@@ -16438,6 +16438,7 @@ const App = () => {
onPlayheadSet: setCurrentTime, onPlayheadSet: setCurrentTime,
snapValue: snapValue, snapValue: snapValue,
onRulerMouseDown: e => { onRulerMouseDown: e => {
setSelectionFollowsTempo(false);
const wrapper = timelineWrapperRef.current; const wrapper = timelineWrapperRef.current;
if (!wrapper) return; if (!wrapper) return;
const rect = wrapper.getBoundingClientRect(); const rect = wrapper.getBoundingClientRect();
File diff suppressed because one or more lines are too long