1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-24 00:00:06 +02:00

Allow Quick Play to be disabled (requested by Gale Andrews).

This commit is contained in:
Steve Daulton 2015-04-21 00:51:23 +01:00
parent 05295c1caa
commit 0b67e1c5ac
2 changed files with 37 additions and 14 deletions

View File

@ -1601,7 +1601,8 @@ void RulerPanel::DoSetSize(int x, int y,
#include "../AColor.h"
enum {
OnSyncQuickPlaySelID = 7000,
OnToggleQuickPlayID = 7000,
OnSyncQuickPlaySelID,
OnTimelineToolTipID,
OnAutoScrollID,
OnLockPlayRegionID
@ -1613,6 +1614,7 @@ BEGIN_EVENT_TABLE(AdornedRulerPanel, wxPanel)
EVT_SIZE(AdornedRulerPanel::OnSize)
EVT_MOUSE_EVENTS(AdornedRulerPanel::OnMouseEvents)
EVT_MOUSE_CAPTURE_LOST(AdornedRulerPanel::OnCaptureLost)
EVT_MENU(OnToggleQuickPlayID, AdornedRulerPanel::OnToggleQuickPlay)
EVT_MENU(OnSyncQuickPlaySelID, AdornedRulerPanel::OnSyncSelToQuickPlay)
EVT_MENU(OnTimelineToolTipID, AdornedRulerPanel::OnTimelineToolTips)
EVT_MENU(OnAutoScrollID, AdornedRulerPanel::OnAutoScroll)
@ -1666,6 +1668,7 @@ AdornedRulerPanel::AdornedRulerPanel(wxWindow* parent,
mTimelineToolTip = gPrefs->Read(wxT("/QuickPlay/ToolTips"), wxT("Enabled")) == wxT("Enabled");
mPlayRegionDragsSelection = gPrefs->Read(wxT("/QuickPlay/DragLoopSelection"), wxT("Enabled")) == wxT("Enabled");
mQuickPlayEnabled = gPrefs->Read(wxT("/QuickPlay/QuickPlayEnabled"), wxT("Enabled")) == wxT("Enabled");
#if wxUSE_TOOLTIPS
RegenerateTooltips();
@ -1697,8 +1700,11 @@ void AdornedRulerPanel::RegenerateTooltips()
if (mIsRecording) {
this->SetToolTip(_("Timeline actions disabled during recording"));
}
else if (!mQuickPlayEnabled) {
this->SetToolTip(_("Quick Play disabled"));
}
else {
this->SetToolTip(_("Timeline - Quick Play enabled"));
this->SetToolTip(_("Quick Play enabled"));
}
}
else {
@ -1869,17 +1875,24 @@ void AdornedRulerPanel::OnMouseEvents(wxMouseEvent &evt)
Refresh(false);
}
else {
else if (mQuickPlayEnabled) {
mQuickPlayInd = true;
Refresh(false);
if (isWithinStart || isWithinEnd) {
SetCursor(wxCursor(wxCURSOR_SIZEWE));
}
else {
SetCursor(wxCursor(wxCURSOR_HAND));
}
}
else {
SetCursor(wxCursor(wxCURSOR_HAND));
}
if (evt.RightDown()) {
ShowMenu(evt.GetPosition());
}
if (!mQuickPlayEnabled)
return;
if (mSnapManager) {
// Create a new snap manager in case any snap-points have changed
@ -1890,7 +1903,7 @@ void AdornedRulerPanel::OnMouseEvents(wxMouseEvent &evt)
QUICK_PLAY_SNAP_PIXEL);
bool snappedPoint, snappedTime;
mIsSnapped = (mSnapManager->Snap(NULL, mQuickPlayPos, false,
&mQuickPlayPos, &snappedPoint, &snappedTime));
&mQuickPlayPos, &snappedPoint, &snappedTime));
if (evt.LeftDown())
{
@ -1918,11 +1931,6 @@ void AdornedRulerPanel::OnMouseEvents(wxMouseEvent &evt)
CaptureMouse();
}
if (evt.RightDown())
{
ShowMenu(evt.GetPosition());
}
switch (mMouseEventState)
{
case mesNone:
@ -2074,12 +2082,17 @@ void AdornedRulerPanel::ShowMenu(const wxPoint & pos)
{
wxMenu *rulerMenu = new wxMenu();
if (mQuickPlayEnabled)
rulerMenu->Append(OnToggleQuickPlayID, _("Disable Quick Play"));
else
rulerMenu->Append(OnToggleQuickPlayID, _("Enable Quick Play"));
wxMenuItem *dragitem;
if (mPlayRegionDragsSelection && !mProject->IsPlayRegionLocked())
dragitem = rulerMenu->Append(OnSyncQuickPlaySelID, _("Disable dragging selection"));
else
dragitem = rulerMenu->Append(OnSyncQuickPlaySelID, _("Enable dragging selection"));
dragitem->Enable(!mProject->IsPlayRegionLocked());
dragitem->Enable(mQuickPlayEnabled && !mProject->IsPlayRegionLocked());
#if wxUSE_TOOLTIPS
if (mTimelineToolTip)
@ -2098,7 +2111,7 @@ void AdornedRulerPanel::ShowMenu(const wxPoint & pos)
prlitem = rulerMenu->Append(OnLockPlayRegionID, _("Lock Play Region"));
else
prlitem = rulerMenu->Append(OnLockPlayRegionID, _("Unlock Play Region"));
prlitem->Enable(mProject->GetSel0() != mProject->GetSel1());
prlitem->Enable(mProject->IsPlayRegionLocked() || mProject->GetSel0() != mProject->GetSel1());
PopupMenu(rulerMenu, pos);
@ -2109,6 +2122,14 @@ void AdornedRulerPanel::ShowMenu(const wxPoint & pos)
DrawQuickPlayIndicator(&cdc, true);
}
void AdornedRulerPanel::OnToggleQuickPlay(wxCommandEvent& evt)
{
mQuickPlayEnabled = (mQuickPlayEnabled)? false : true;
gPrefs->Write(wxT("/QuickPlay/QuickPlayEnabled"), mQuickPlayEnabled ? wxT("Enabled") : wxT("Disabled"));
gPrefs->Flush();
RegenerateTooltips();
}
void AdornedRulerPanel::OnSyncSelToQuickPlay(wxCommandEvent& evt)
{
mPlayRegionDragsSelection = (mPlayRegionDragsSelection)? false : true;

View File

@ -327,6 +327,7 @@ private:
//
void ShowMenu(const wxPoint & pos);
void DragLoopSelection();
void OnToggleQuickPlay(wxCommandEvent &evt);
void OnSyncSelToQuickPlay(wxCommandEvent &evt);
void OnTimelineToolTips(wxCommandEvent &evt);
void OnAutoScroll(wxCommandEvent &evt);
@ -334,6 +335,7 @@ private:
bool mPlayRegionDragsSelection;
bool mTimelineToolTip;
bool mQuickPlayEnabled;
enum MouseEventState {