1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-05-01 08:09:41 +02:00

Add "Delete Label" to right click when editing labels.

This commit is contained in:
lllucius 2014-07-12 14:26:07 +00:00
parent 357b8c6e0a
commit 96324b5520
2 changed files with 22 additions and 3 deletions

View File

@ -315,6 +315,7 @@ enum {
OnCutSelectedTextID,
OnCopySelectedTextID,
OnPasteSelectedTextID,
OnDeleteSelectedLabelID,
OnTimeTrackLinID,
OnTimeTrackLogID,
@ -354,6 +355,7 @@ BEGIN_EVENT_TABLE(TrackPanel, wxWindow)
EVT_MENU(OnCutSelectedTextID, TrackPanel::OnCutSelectedText)
EVT_MENU(OnCopySelectedTextID, TrackPanel::OnCopySelectedText)
EVT_MENU(OnPasteSelectedTextID, TrackPanel::OnPasteSelectedText)
EVT_MENU(OnDeleteSelectedLabelID, TrackPanel::OnDeleteSelectedLabel)
EVT_MENU(OnTimeTrackLinID, TrackPanel::OnTimeTrackLin)
EVT_MENU(OnTimeTrackLogID, TrackPanel::OnTimeTrackLog)
@ -687,9 +689,10 @@ void TrackPanel::BuildMenus(void)
mTimeTrackMenu->AppendCheckItem(OnTimeTrackLogIntID, _("Logarithmic &Interpolation"));
mLabelTrackInfoMenu = new wxMenu();
mLabelTrackInfoMenu->Append(OnCutSelectedTextID, _("Cut"));
mLabelTrackInfoMenu->Append(OnCopySelectedTextID, _("Copy"));
mLabelTrackInfoMenu->Append(OnPasteSelectedTextID, _("Paste"));
mLabelTrackInfoMenu->Append(OnCutSelectedTextID, _("Cu&t"));
mLabelTrackInfoMenu->Append(OnCopySelectedTextID, _("&Copy"));
mLabelTrackInfoMenu->Append(OnPasteSelectedTextID, _("&Paste"));
mLabelTrackInfoMenu->Append(OnDeleteSelectedLabelID, _("&Delete Label"));
}
void TrackPanel::BuildCommonDropMenuItems(wxMenu * menu)
@ -5362,6 +5365,7 @@ bool TrackPanel::HandleLabelTrackMouseEvent(LabelTrack * lTrack, wxRect &r, wxMo
mLabelTrackInfoMenu->Enable(OnCutSelectedTextID, lTrack->IsTextSelected());
mLabelTrackInfoMenu->Enable(OnCopySelectedTextID, lTrack->IsTextSelected());
mLabelTrackInfoMenu->Enable(OnPasteSelectedTextID, lTrack->IsTextClipSupported());
mLabelTrackInfoMenu->Enable(OnDeleteSelectedLabelID, true);
PopupMenu(mLabelTrackInfoMenu, event.m_x + 1, event.m_y + 1);
// it's an invalid dragging event
lTrack->SetWrongDragging(true);
@ -7991,6 +7995,20 @@ void TrackPanel::OnPasteSelectedText(wxCommandEvent & WXUNUSED(event))
RefreshTrack(lt);
}
/// delete selected label
void TrackPanel::OnDeleteSelectedLabel(wxCommandEvent & WXUNUSED(event))
{
LabelTrack *lt = (LabelTrack *)mPopupMenuTarget;
int ndx = lt->GetLabelIndex(mViewInfo->sel0, mViewInfo->sel1);
if (ndx != -1) {
lt->DeleteLabel(ndx);
MakeParentPushState(_("Deleted Label"),
_("Label Edit"),
true /* consolidate */);
}
RefreshTrack(lt);
}
// Small helper class to enumerate all fonts in the system
// We use this because the default implementation of
// wxFontEnumerator::GetFacenames() has changed between wx2.6 and 2.8

View File

@ -459,6 +459,7 @@ class AUDACITY_DLL_API TrackPanel:public wxPanel {
virtual void OnCutSelectedText(wxCommandEvent &event);
virtual void OnCopySelectedText(wxCommandEvent &event);
virtual void OnPasteSelectedText(wxCommandEvent &event);
virtual void OnDeleteSelectedLabel(wxCommandEvent &event);
virtual void SetTrackPan(Track * t, LWSlider * s);
virtual void SetTrackGain(Track * t, LWSlider * s);