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:
parent
05295c1caa
commit
0b67e1c5ac
@ -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;
|
||||
|
@ -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 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user