mirror of
https://github.com/cookiengineer/audacity
synced 2025-11-23 17:30:17 +01:00
Move responsibilities from Track to TrackView classes...
... And Track no longer inherits TrackPanelCell, so be careful to rewrite some dynamic_casts too to check instead for TrackView. Those casts won't fail to recompile if not rewritten.
This commit is contained in:
@@ -1804,13 +1804,14 @@ bool LabelTrackView::DoCaptureKey(wxKeyEvent & event)
|
||||
return false;
|
||||
}
|
||||
|
||||
unsigned LabelTrack::CaptureKey(wxKeyEvent & event, ViewInfo &, wxWindow *)
|
||||
unsigned LabelTrackView::CaptureKey(wxKeyEvent & event, ViewInfo &, wxWindow *)
|
||||
{
|
||||
event.Skip(!LabelTrackView::Get( *this ).DoCaptureKey(event));
|
||||
event.Skip(!DoCaptureKey(event));
|
||||
return RefreshCode::RefreshNone;
|
||||
}
|
||||
|
||||
unsigned LabelTrack::KeyDown(wxKeyEvent & event, ViewInfo &viewInfo, wxWindow *WXUNUSED(pParent))
|
||||
unsigned LabelTrackView::KeyDown(
|
||||
wxKeyEvent & event, ViewInfo &viewInfo, wxWindow *WXUNUSED(pParent))
|
||||
{
|
||||
double bkpSel0 = viewInfo.selectedRegion.t0(),
|
||||
bkpSel1 = viewInfo.selectedRegion.t1();
|
||||
@@ -1819,8 +1820,7 @@ unsigned LabelTrack::KeyDown(wxKeyEvent & event, ViewInfo &viewInfo, wxWindow *W
|
||||
|
||||
// Pass keystroke to labeltrack's handler and add to history if any
|
||||
// updates were done
|
||||
auto &view = LabelTrackView::Get( *this );
|
||||
if (view.DoKeyDown(viewInfo.selectedRegion, event)) {
|
||||
if (DoKeyDown(viewInfo.selectedRegion, event)) {
|
||||
ProjectHistory::Get( *pProj ).PushState(_("Modified Label"),
|
||||
_("Label Edit"),
|
||||
UndoPush::CONSOLIDATE);
|
||||
@@ -1828,7 +1828,8 @@ unsigned LabelTrack::KeyDown(wxKeyEvent & event, ViewInfo &viewInfo, wxWindow *W
|
||||
|
||||
// Make sure caret is in view
|
||||
int x;
|
||||
if (CalcCursorX(&x)) {
|
||||
const auto pTrack = FindLabelTrack();
|
||||
if (pTrack->CalcCursorX(&x)) {
|
||||
TrackPanel::Get( *pProj ).ScrollIntoView(x);
|
||||
}
|
||||
|
||||
@@ -1843,7 +1844,8 @@ unsigned LabelTrack::KeyDown(wxKeyEvent & event, ViewInfo &viewInfo, wxWindow *W
|
||||
return RefreshCode::RefreshNone;
|
||||
}
|
||||
|
||||
unsigned LabelTrack::Char(wxKeyEvent & event, ViewInfo &viewInfo, wxWindow *)
|
||||
unsigned LabelTrackView::Char(
|
||||
wxKeyEvent & event, ViewInfo &viewInfo, wxWindow *)
|
||||
{
|
||||
double bkpSel0 = viewInfo.selectedRegion.t0(),
|
||||
bkpSel1 = viewInfo.selectedRegion.t1();
|
||||
@@ -1852,7 +1854,7 @@ unsigned LabelTrack::Char(wxKeyEvent & event, ViewInfo &viewInfo, wxWindow *)
|
||||
|
||||
AudacityProject *const pProj = GetActiveProject();
|
||||
|
||||
if (LabelTrackView::Get( *this ).DoChar(viewInfo.selectedRegion, event))
|
||||
if (DoChar(viewInfo.selectedRegion, event))
|
||||
ProjectHistory::Get( *pProj ).PushState(_("Modified Label"),
|
||||
_("Label Edit"),
|
||||
UndoPush::CONSOLIDATE);
|
||||
|
||||
Reference in New Issue
Block a user