1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-11-14 17:14:07 +01:00
Commit Graph

215 Commits

Author SHA1 Message Date
Paul Licameli
d3572ebe10 Same tolerance for hitting clip boundaries as for selection snap 2017-07-15 14:12:32 -04:00
Paul Licameli
89c8e8ac39 null checks 2017-07-15 14:05:03 -04:00
Paul Licameli
e81df8314f more use of final 2017-07-15 12:05:47 -04:00
Paul Licameli
c5fc8eef03 Revert "Split lines now only show over middle third of track height."
This was the fix for Bug 800 now considered unsatisfactory.

This reverts commit dc1193a0af.

(Some merge resolution was needed)
2017-07-14 23:09:41 -04:00
Paul Licameli
7b93a3afe2 Whoops, we lost the non-multi draw tool! Fix that. 2017-07-14 23:05:44 -04:00
Paul Licameli
812f3649de Bug 1685: garbage status bar messages and tooltips, scrub in Windows 2017-07-14 23:02:32 -04:00
Paul Licameli
aaed921fd3 Track panel tooltips, including TAB key hint...
... and distinguish snapping or not in Select tool.
2017-07-13 22:46:28 -04:00
Paul Licameli
0ba91ea9a5 Don't make the finger cursor when hovering over the split line...
... which was implemented at commit aa8be0c413

Preview snap lines should make that unnecessary.
2017-07-13 12:29:54 -04:00
Paul Licameli
2150bde578 Implement selection snap lines before click, and TAB to cancel them 2017-07-13 12:29:51 -04:00
Paul Licameli
b7ae012ece A single UIHandle can define multiple rotation states 2017-07-13 12:11:25 -04:00
Paul Licameli
33c6a77f8c SelectHandle gets snap information in hit test 2017-07-13 12:11:13 -04:00
Paul Licameli
49b04208b3 ChooseBoundary takes separate x and y arguments 2017-07-13 12:11:13 -04:00
Paul Licameli
7903e20143 Rewrite SelectHandle snapping; selection really matches snapped start 2017-07-13 12:11:13 -04:00
Paul Licameli
67282cbb61 SnapManager::Snap returns its results in a struct 2017-07-13 12:11:13 -04:00
Paul Licameli
f24a704a5b Fix TAB key cycle with cutline in Select tool 2017-07-13 10:52:37 -04:00
Paul Licameli
14d0d8a051 fix build 2017-07-12 14:21:07 -04:00
Paul Licameli
050824f467 Remove some unnecessary #includes 2017-07-12 14:15:16 -04:00
Paul Licameli
d7738c403f Handles mark need for highlight in new Enter() method not ctor...
... So this can be called more than once in its lifetime, in response to
TAB key rotation.
2017-07-12 13:03:14 -04:00
Paul Licameli
308d89b0e6 Reuse SelectHandle object during movement, as with other handle types 2017-07-12 13:03:09 -04:00
Paul Licameli
d148c39c2d More use of override 2017-07-12 11:38:44 -04:00
Paul Licameli
fa010f643b Fix #include paths, and unnecessary redrawing 2017-07-11 14:17:06 -04:00
Paul Licameli
b11c3c8ccf Highlighting of Wave and Note track vertical rulers 2017-07-11 13:57:59 -04:00
Paul Licameli
ed4057ae1b Highlighting of cutlines and clip boundaries 2017-07-11 13:57:58 -04:00
Paul Licameli
a4d53b43da Highlighting of label text boxes 2017-07-11 13:57:58 -04:00
Paul Licameli
ecebf7656e Highlighting of samples 2017-07-11 13:57:50 -04:00
Paul Licameli
2d65cdc46a Highlighting of time-shift grips 2017-07-11 13:57:43 -04:00
Paul Licameli
7fb107e143 Highlighting of envelopes 2017-07-11 13:56:41 -04:00
Paul Licameli
f8d9c4217c Fix click without drag and double-click on Pan, Gain, Velocity sliders 2017-07-11 12:41:48 -04:00
Paul Licameli
4dcd10584f Fix crashes mousing over TCP 2017-07-10 23:18:33 -04:00
Paul Licameli
0fa0d480e4 build fix 2017-07-09 13:37:20 -04:00
Paul Licameli
1c281faf52 build fixes 2017-07-09 13:27:03 -04:00
Paul Licameli
65c098f85e Revert "More fixes for Windows build"
This reverts commit ef9745b93e.
2017-07-09 13:11:26 -04:00
Paul Licameli
ef9745b93e More fixes for Windows build 2017-07-09 13:06:11 -04:00
Paul Licameli
51e25cdfa0 Highlighting of Track Control Panel sliders 2017-07-09 12:34:46 -04:00
Paul Licameli
44d6d5f427 Highlight MIDI channel buttons 2017-07-09 12:34:46 -04:00
Paul Licameli
25641ae568 Highlight TCP buttons 2017-07-09 12:34:46 -04:00
Paul Licameli
f09a7be3dc TCP draw use hit target for button, slider state; remove hacky global 2017-07-09 12:34:27 -04:00
Paul Licameli
dc864f3782 Fix windows build, and simplify a little 2017-07-09 12:31:19 -04:00
Paul Licameli
8e44827980 TrackPanelCell hit tests can return multiple results...
.. though only the first is used yet
2017-07-09 08:17:40 -04:00
Paul Licameli
b3d62e2ab6 Simplify by removing class HitTestResult...
... Because all hit tests returned all fields blank, or else, returned a
UIHandle object whose Preview method gives the rest of the information; so
the other fields were redundant.
2017-07-09 07:57:34 -04:00
Paul Licameli
c079544667 Defaulting TrackPanel cursor, status message; simplifies other code 2017-07-09 07:57:33 -04:00
Paul Licameli
f5b0afc2fc Rename TrackPanel::HandleCursor as HandleMotion...
Call HitTest in just one place

Can now preserve repeatedly hit UIHandle objects during pre-click motion

Fields of HitTestResult besides the handle pointer are now unused

The need to repaint a track during mouse movement can be indicated when
constructing a UIHandle or when updating it for move; HitPreview no longer
does this

And the last allows simplifications of LabelTrack glyph highlighting

Also move the temporary state for label glyph dragging out of LabelTrack
2017-07-09 07:56:47 -04:00
Paul Licameli
2c1a16f593 Changed lifetime management of UIHandle objects, no singletons...
... Rather, construct them during hit tests (also capturing more state sooner
rather than at Click time, and adding some accessors for later use)

This also fixes bug 1677 by other means and avoids similar problems.

A cell may be implemented to re-use a previously hit handle object, not yet
clicked, in a later hit test, by remembering a weak pointer, but TrackPanel
holds the strong pointers that determine when the object is destroyed.

And the objects will surely be destroyed after drag-release, or ESC key.

For now they are also destroyed whenever not dragging, and hit-testing is
re-invoked; that will be changed later, so that the re-use mentioned above
becomes effective, but still they will be destroyed when the pointer moves
from one cell to another.
2017-07-09 07:23:28 -04:00
Paul Licameli
d2fbca83b2 All UIHandle::Preview() return same cursors, messages as HitTest...
... except TrackSelectHandle.  Cursor changes to a hand only after button-down.

HitTests give a UIHandle, whenever they also give any cursor or status, even
when it's unsafe to click and drag; Click override is reponsible for cancelling.

SelectHandle::Preview introduces much duplication, but the original in the hit
test will later be deleted.
2017-07-09 06:38:56 -04:00
Paul Licameli
3a8280c562 Distinguish TrackPanelMouseState from TrackPanelMouseEvent...
... Let cell hit tests, and handle preview, know states only, not transitions.

Cell hit tests are passed a mouse state that does not always match the current,
but anticipates the button click to come; usually left, but if the Control
[sic] key on Mac is down, then right.

Thus, pressing and releasing Mac Control in multi-tool switches in and out of
the magnifier cursor.
2017-07-09 06:38:55 -04:00
Paul Licameli
c1f667f170 Move some handle and cell classes into their own files 2017-07-09 06:38:54 -04:00
James Crook
d903845a6b Bug 1677 - Residual. Handle ESC during track rearrangement. 2017-07-04 21:21:24 +01:00
James Crook
9ab40113b7 Bug 1677 - Swap two tracks leads to crash on exit. 2017-07-04 11:56:06 +01:00
Pokechu22
b46abbec62 Keep the current note centered when holding control to zoom 2017-07-04 06:45:21 -04:00
Pokechu22
e7065d9e86 Fix note track status message
'verticaly' isn't a word; it's better to just completely reuse the wave track message.
2017-07-03 18:26:25 -04:00