From 917e84f3827ab43dbd1a210976953a21d83dbd88 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Tue, 31 Dec 2019 11:16:26 -0500 Subject: [PATCH] Implement double-click at the view separator to split view evenly... ... And this can even change an unsplit view to evenly split when you get the cursor near the top or bottom --- .../wavetrack/ui/WaveTrackView.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.cpp b/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.cpp index de051e20d..5c259894b 100644 --- a/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.cpp +++ b/src/tracks/playabletrack/wavetrack/ui/WaveTrackView.cpp @@ -223,7 +223,7 @@ public: } Result Click( - const TrackPanelMouseEvent &event, AudacityProject * ) override + const TrackPanelMouseEvent &event, AudacityProject *pProject ) override { using namespace RefreshCode; const auto &permutation = mAdjuster.mPermutation; @@ -231,6 +231,20 @@ public: if ( mMySubView >= size ) return Cancelled; + if (event.event.LeftDClick()) { + for ( auto &placement : mAdjuster.mNewPlacements ) { + if ( placement.index >= 0 ) + placement.fraction = 1.0f; + else + placement.fraction = 0.0f; + } + mAdjuster.UpdateViews( false ); + ProjectHistory::Get( *pProject ).ModifyState( false ); + + // Do not start a drag + return Cancelled | RefreshAll; + } + const auto &rect = event.rect; const auto height = rect.GetHeight(); mOrigHeight = height; @@ -359,7 +373,8 @@ public: static auto resizeCursor = ::MakeCursor(wxCURSOR_ARROW, SubViewsCursorXpm, 16, 16); return { - XO("Click and drag to adjust sizes of sub-views."), + XO( +"Click and drag to adjust sizes of sub-views, double-click to split evenly"), &*resizeCursor }; }