mirror of
https://github.com/cookiengineer/audacity
synced 2025-07-30 23:49:28 +02:00
Rearrange the setting of project snap-to...
... Just one low-level function to simply set the variable, and one high-level function that also pushes notifications. The danger of infinite recursion in the toolbar code, as in the previous commit, doesn't exist here.
This commit is contained in:
parent
35892fc869
commit
c2d57d9e9b
@ -1554,7 +1554,9 @@ int AudacityProject::AS_GetSnapTo()
|
||||
|
||||
void AudacityProject::AS_SetSnapTo(int snap)
|
||||
{
|
||||
mSnapTo = snap;
|
||||
auto &project = *this;
|
||||
|
||||
SetSnapTo( snap );
|
||||
|
||||
// LLL: TODO - what should this be changed to???
|
||||
// GetCommandManager()->Check(wxT("Snap"), mSnapTo);
|
||||
@ -1564,6 +1566,8 @@ void AudacityProject::AS_SetSnapTo(int snap)
|
||||
SnapSelection();
|
||||
|
||||
RedrawProject();
|
||||
|
||||
SelectionBar::Get( project ).SetSnapTo(snap);
|
||||
}
|
||||
|
||||
const NumericFormatSymbol & AudacityProject::AS_GetSelectionFormat()
|
||||
@ -3496,7 +3500,7 @@ bool AudacityProject::HandleXMLTag(const wxChar *tag, const wxChar **attrs)
|
||||
}
|
||||
|
||||
else if (!wxStrcmp(attr, wxT("snapto"))) {
|
||||
SetSnapTo(wxString(value) == wxT("on") ? true : false);
|
||||
AS_SetSnapTo(wxString(value) == wxT("on") ? true : false);
|
||||
}
|
||||
|
||||
else if (!wxStrcmp(attr, wxT("selectionformat")))
|
||||
@ -3513,7 +3517,7 @@ bool AudacityProject::HandleXMLTag(const wxChar *tag, const wxChar **attrs)
|
||||
} // while
|
||||
|
||||
if (longVpos != 0) {
|
||||
// PRL: It seems this must happen after SetSnapTo
|
||||
// PRL: It seems this must happen after AS_SetSnapTo
|
||||
viewInfo.vpos = longVpos;
|
||||
mbInitializingScrollbar = true;
|
||||
}
|
||||
@ -5175,9 +5179,7 @@ void AudacityProject::OnAudioIONewBlockFiles(const AutoSaveFile & blockFileLog)
|
||||
|
||||
void AudacityProject::SetSnapTo(int snap)
|
||||
{
|
||||
auto &project = *this;
|
||||
AS_SetSnapTo(snap);
|
||||
SelectionBar::Get( project ).SetSnapTo(snap);
|
||||
mSnapTo = snap;
|
||||
}
|
||||
|
||||
int AudacityProject::GetSnapTo() const
|
||||
|
@ -250,7 +250,7 @@ void QuickFixDialog::OnFix(wxCommandEvent &event)
|
||||
// preference dialogs.
|
||||
if( Str == "/SnapTo" )
|
||||
{
|
||||
pProject->SetSnapTo( 0 );
|
||||
pProject->AS_SetSnapTo( 0 );
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -883,19 +883,19 @@ void OnZeroCrossing(const CommandContext &context)
|
||||
void OnSnapToOff(const CommandContext &context)
|
||||
{
|
||||
auto &project = context.project;
|
||||
project.SetSnapTo(SNAP_OFF);
|
||||
project.AS_SetSnapTo(SNAP_OFF);
|
||||
}
|
||||
|
||||
void OnSnapToNearest(const CommandContext &context)
|
||||
{
|
||||
auto &project = context.project;
|
||||
project.SetSnapTo(SNAP_NEAREST);
|
||||
project.AS_SetSnapTo(SNAP_NEAREST);
|
||||
}
|
||||
|
||||
void OnSnapToPrior(const CommandContext &context)
|
||||
{
|
||||
auto &project = context.project;
|
||||
project.SetSnapTo(SNAP_PRIOR);
|
||||
project.AS_SetSnapTo(SNAP_PRIOR);
|
||||
}
|
||||
|
||||
void OnSelToStart(const CommandContext &context)
|
||||
|
Loading…
x
Reference in New Issue
Block a user