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:
parent
28f078dcf7
commit
59988357fb
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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();
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user