1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-11-23 09:20:16 +01:00
Commit Graph

885 Commits

Author SHA1 Message Date
Paul Licameli
c08c17eafa Add a method to find the rectangle of a given cell...
... Cells are not responsible to remember that; the cells' container determines
that.
2018-08-05 14:02:55 -04:00
Paul Licameli
062066eb79 Split base class CellularPanel out of TrackPanel...
... To be reused with the Ruler too.

The new base class does all the handling of hit tests on cells and managing
of UIHandles, and keyboard events and focus.

It has no knowledge of tracks -- that all resides in overriding functions in
TrackPanel.

Still to do, of course, is reorganizing drawing with callbacks to the cell
objects.
2018-08-05 14:02:52 -04:00
Paul Licameli
d76777bef7 Each cell can define cursor, status, and tooltip in default of hit tests 2018-08-05 13:28:36 -04:00
Paul Licameli
98514194a4 ProcessUIHandleResult takes pointers to TrackPanelCell 2018-08-05 13:28:34 -04:00
Paul Licameli
7395e5acbd Remove pTrack from FoundCell; new function hides some casting 2018-08-04 15:35:36 -04:00
Paul Licameli
79067e43f0 ProcessUIHandleResult is a member function of TrackPanel 2018-08-04 15:35:36 -04:00
Paul Licameli
bbe54f47ca a null check would have fixed crash at 902e1ab0a1 when recording...
... a mono channel into the left side of a stereo track; crash was in drawing;

other code now prevents such recording, but that prevention might be revised
again.
2018-05-24 18:38:04 -04:00
Henric Jungheim
d8da4015ef Make it possible to const'ify xpm. 2018-03-27 05:36:02 -04:00
andheh
ade7854c1d fixed "statement has no effect" warnings 2018-03-06 21:29:31 +00:00
James Crook
e3ef968d57 Add DragCommand. Default Y/N on optional fields. Open/Save project items.
- More Y/N in Optional, making it easier to omit parameters.
- AT removed from Envelope, since T already gives it.
2018-02-24 14:20:29 -05:00
Paul Licameli
2fbe04eda0 Replace more Connect with Bind; needed redeclaration of custom events 2018-02-21 19:30:40 -05:00
Paul Licameli
bf5228267a Calls to Disconnect or Unbind in destructors are not needed, if...
... it's either the source of the connection that is being destroyed, or other
object (such as an ancestor window) transitively owning it and so causing it to
be destroyed too;

or, the sink is being destroyed, and that sink is a wxEvtHandler (which is
always so for Disconnect, though not for Unbind in case Bind was passed a
member function of a non-wxEvtHandler).

wxWidgets takes care of erasing the connection in such cases.

This removes most calls to Disconnect and Unbind.  Many destructors shrank to
nothing.

Notably, in case of popup menu handling, the call to Disconnect is not removable
because the object being destroyed is neither the source nor the sink.
2018-02-21 19:28:06 -05:00
Paul Licameli
28eeca5fa7 Iterate over the pending tracks for drawing and sizing the scrollbars 2018-02-21 19:20:58 -05:00
Paul Licameli
d08ae18ca4 Change details of focusing of tracks in presence of pending ones...
... Don't focus a pending changed track but remap it to the original.

You can focus a pending added track.
2018-02-21 19:20:58 -05:00
Paul Licameli
539e870302 Add machinery to TrackList for pending changes to tracks 2018-02-21 19:20:56 -05:00
Paul Licameli
52a7f2320d Re-fix some warnings about mixing signed and unsigned better...
... Assuming that large unsigned magnitudes with high order bit set are not
the problem, but signed negatives of small magnitude may be:

1) Always cast the unsigned to signed in comparisons, not the other way.

Also:

2) Cast unsigned TERM to signed by itself, before subtracting.  Don't cast
the result.

3) Rewrite some comparisons by moving subtracted term to other side.

See commits
d2fe7b1757
f463eda36c
2018-01-23 18:51:53 -05:00
Pokechu22
1c36409da2 Bug 1819: Hover indication on note track channel toggle appears on all tracks (when they rerender) 2018-01-19 17:01:37 -05:00
Paul Licameli
4ef8da8f16 Revert "Preliminaries to support better interaction of undo and recording"
This reverts commit 6e75ae58ac, reversing
changes made to 714d53e00f.
2018-01-14 21:36:33 -05:00
Paul Licameli
ce5a67a9e9 Iterate over the pending tracks for drawing 2018-01-14 19:04:03 -05:00
Paul Licameli
7d57a17ff4 Change details of focusing of tracks in presence of pending ones...
... Don't focus a pending changed track but remap it to the original.

You can focus a pending added track.
2018-01-14 19:04:01 -05:00
Paul Licameli
a0c3a4b43c Add machinery to TrackList for pending changes to tracks 2018-01-14 19:03:57 -05:00
Paul Licameli
0265b8792d More stl idiom for TrackList and its iterators 2018-01-14 16:58:19 -05:00
Paul Licameli
5407079c62 Remove EXPERIMENTAL_OUTPUT_DISPLAY...
... Maybe a good feature idea, but the implementation pollutes the code in
too many places.

It's a special case of the more general idea of many-to-one associations
between screen rectangles and track objects.  More generalized ways to
accommodate that should be sought.
2018-01-12 12:08:09 -05:00
Paul Licameli
def1d52505 Substitute, don't concatenate, when composing localized strings...
... Avoid English syntax bias.
2018-01-04 04:30:46 -05:00
Paul Licameli
095ee9185f Reimplement the narrowed hot zone for vertical ruler...
... Don't define the TrackPanelCell to be narrower.  Instead, change its
hit-test routine, and only if it is a Wave track.

Previous implementation had the unintended consequence, that a click in the
area excluded from vertical zooming was treated as a click on the background
outside of all tracks, causing de-selection of all tracks.
2017-12-20 23:20:05 -05:00
Paul Licameli
0c2f6bb176 Fix end of range of TrackPanelCellIterator 2017-12-20 11:21:29 -05:00
James Crook
2108515938 Bug 63 - Analysis effects that create labels should give focus to label Track
If a generator, effect or analyser has created a new track, scroll to the bottom of the track list.
Acheived using new function, VerticalScroll()
2017-12-17 14:59:59 +00:00
James Crook
3379b4e499 VZoom cfg defaults different for Audacity and DA.
VZooming remains on by default in Audacity itself.
Also kGuard (the gurard zone in the VRuler) reduced from 8 pixels to 5pixels
following feedback from Steve.
2017-12-12 21:06:09 +00:00
James Crook
13c6fdf663 VZooming Changes
1: Guard zone 8 pixels wide in VRuler to reduce risk of accidental use.
2: VerticalZooming preference, for VRuler zooming, off by default,
3: Enabled Paul's right-click menu in VRuler with some extra
presets (x2 and x0.5)
4: Rearranged some messy code with lots of ifs to use a switch.

Also, with EXPERIMENTAL_HALF_WAVE defined we now get a
'half wave' option in the VRuler menu, that shows the wave top half.
We also use it in collapsed waves (and collapsing and restoring
a WaveTrack will get you back to normal zoom.
2017-12-11 18:41:48 +00:00
James Crook
cb363cdd99 Make right half of VRuler inactive.
This is a buffer zone to reduce risk of accidental activation of VRuler scaling.
2017-12-08 22:16:18 +00:00
James Crook
f463eda36c Clean up some dead code and MSVC warnings.
- Dead code from experiments in SelectionBar removed.
- Many warnings about unused parameters fixed with WXUNUSED()
- Many warnings about signed / unsigned comparisons cleaned up.
- Several 'local variable declared but not used' warnings fixed.
2017-12-08 15:20:39 +00:00
James Crook
c28be778e2 Linty fixes
This commit fixes a number of warnings shown in compilation with MSVC.  No behavioral changes intended.  I did not fix signed/unsigned warnings.
2017-11-07 14:23:30 +00:00
Paul Licameli
5dd72acc02 Bug1770: fix crash applying chains 2017-11-04 20:59:55 -04:00
James Crook
dc05b94fd1 Bug 1701 - Mac: Text descriptors in Selection Toolbar become invisible after Open command
Problem was that on mac enable/disable clears the colour back to black.
The easiest workaround was to create a new class auStaticText that does all that we
need for wxStaticText.
2017-08-13 23:04:13 +01:00
Paul Licameli
f0de38dec1 Scanned for bad naked new; found none; changed comments, used safenew 2017-07-23 09:35:01 -04:00
Paul Licameli
5f8cde43fa Fix condition for displaying (Esc to cancel) 2017-07-17 11:49:11 -04:00
Paul Licameli
14450d6d9f Fix flickering tooltips in TrackPanel 2017-07-17 11:17:23 -04:00
Paul Licameli
c72bb76301 Fix flickering TrackPanel tooltip 2017-07-17 11:12:20 -04:00
Paul Licameli
1faa234b9e Fix bug 1662 (crashing TCP menu commands on Windows) differently...
Previous fix was at commit f9865f39ef

But then that had this strange effect on Mac:  when a menu command such as
rename brought up a modal dialog, then the first click in the dialog would pass
through to the tracks behind it, changing the selection, and only a repeated
click on the OK button would dismiss the dialog.

I don't know exactly why that happened.  This avoids it.
2017-07-17 02:58:37 -04:00
Paul Licameli
cc0f76d076 Clear the tooltip when leaving the cell that defines it 2017-07-16 22:55:45 -04:00
Paul Licameli
053b0b583d Fix highlight of TCP menu button after command 2017-07-16 00:55:16 -04:00
Paul Licameli
ca83b06e84 fix i18n-hint 2017-07-15 21:11:44 -04:00
Paul Licameli
5644bed8bd No TrackPanel tooltips for now, may later reenable selected ones...
... perhaps for the TCP buttons, to make their behavior consistent with toolbar
buttons.
2017-07-15 20:50:34 -04:00
Paul Licameli
e55393af69 Fix assertion when cancelling from selection drag 2017-07-15 20:50:00 -04:00
Paul Licameli
7a038c9e51 Remove tab key target cycling and snap escape; reimplement for Esc 2017-07-15 20:37:39 -04:00
Paul Licameli
558efda20c A null check 2017-07-14 23:02:20 -04:00
Paul Licameli
84a6bad8a0 In a user visible message: TAB > Tab 2017-07-14 20:56:49 -04:00
Paul Licameli
903cebafe1 Bug1669: Close and Menu buttons should never disappear...
... As they did with Ctrl+Shift+F, with a certain minimimum number of wave
tracks that depends on screen resolution.  On my Macbook, that was 13 tracks.

This bug was a consequence of James' TCP layout changes making buttons a little
taller plus my changes to hide any top controls for which there is not
sufficient height.

The fix makes the height of tracks after Ctrl+Shift+F a bit more (44 pixels
not 40) than in 2.1.3.

This fix also replaces some more "magic numbers" with calculation from
tabled data about TCP layout.
2017-07-14 12:03:16 -04:00
Paul Licameli
e9cb5056f1 More guards against recursive event dispatches causing surprises...
...like the problem fixed at commit f9865f39ef
2017-07-14 09:59:47 -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