1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-30 15:39:27 +02:00

Change default state of scrub bar. Make Togglable via QP.

1) Enable scrub bar by default, to increase visibility of the new feature.
2) Add 'Enable/Disable Scrub Bar' to QP right click menu.

Did not remove Scrubbing from transport menu, as to do so disables scrubbing.
This commit is contained in:
James Crook 2016-08-20 16:02:06 +01:00
parent 28f078dcf7
commit 59988357fb
2 changed files with 20 additions and 2 deletions

View File

@ -1911,6 +1911,7 @@ enum {
OnTimelineToolTipID,
OnAutoScrollID,
OnLockPlayRegionID,
OnScrubBarID,
OnTogglePinnedStateID,
};
@ -1927,6 +1928,7 @@ BEGIN_EVENT_TABLE(AdornedRulerPanel, OverlayPanel)
EVT_MENU(OnTimelineToolTipID, AdornedRulerPanel::OnTimelineToolTips)
EVT_MENU(OnAutoScrollID, AdornedRulerPanel::OnAutoScroll)
EVT_MENU(OnLockPlayRegionID, AdornedRulerPanel::OnLockPlayRegion)
EVT_MENU(OnScrubBarID, AdornedRulerPanel::OnToggleScrubBarFromMenu)
// Pop up menus on Windows
EVT_CONTEXT_MENU(AdornedRulerPanel::OnContextMenu)
@ -2015,7 +2017,7 @@ namespace {
bool ReadScrubEnabledPref()
{
bool result {};
gPrefs->Read(scrubEnabledPrefName, &result, false);
gPrefs->Read(scrubEnabledPrefName, &result, true);
return result;
}
@ -2795,6 +2797,15 @@ void AdornedRulerPanel::UpdateStatusBarAndTooltips(StatusChoice choice)
RegenerateTooltips(choice);
}
// This version toggles ruler state indirectly via the scrubber
// to ensure that all the places where the state is shown update.
// For example buttons and menus must update.
void AdornedRulerPanel::OnToggleScrubBarFromMenu(wxCommandEvent& Evt)
{
auto &scrubber = mProject->GetScrubber();
scrubber.OnToggleScrubBar( Evt );
}
void AdornedRulerPanel::OnToggleScrubBar(/*wxCommandEvent&*/)
{
mShowScrubbing = !mShowScrubbing;
@ -2911,6 +2922,12 @@ void AdornedRulerPanel::ShowMenu(const wxPoint & pos)
prlitem = rulerMenu.Append(OnLockPlayRegionID, _("Unlock Play Region"));
prlitem->Enable(mProject->IsPlayRegionLocked() || (mPlayRegionStart != mPlayRegionEnd));
wxMenuItem *baritem;
if (mShowScrubbing)
baritem = rulerMenu.Append(OnScrubBarID, _("Disable Scrub Bar"));
else
baritem = rulerMenu.Append(OnScrubBarID, _("Enable Scrub Bar"));
PopupMenu(&rulerMenu, pos);
}

View File

@ -330,7 +330,8 @@ public:
void UpdateQuickPlayPos(wxCoord &mousPosX);
bool ShowingScrubBar() const { return mShowScrubbing; }
void OnToggleScrubBar(/*wxCommandEvent&*/);
void OnToggleScrubBar(/*wxCommandEvent& */);
void OnToggleScrubBarFromMenu(wxCommandEvent& );
void SetPanelSize();