Change AutoSelect to only select Audio.
This commit is contained in:
parent
8b9518a90a
commit
09dab612fe
|
@ -813,8 +813,8 @@ bool MenuManager::TryToMakeActionAllowed
|
|||
// This was 'DoSelectSomething()'.
|
||||
// This made autoselect more confusing.
|
||||
// When autoselect triggers, it might not select all audio in all tracks.
|
||||
// So changed to DoSelectAll.
|
||||
SelectActions::DoSelectAll(project);
|
||||
// So changed to DoSelectAllAudio.
|
||||
SelectActions::DoSelectAllAudio(project);
|
||||
flags = GetMenuManager(project).GetUpdateFlags(project);
|
||||
bAllowed = ((flags & mask) == (flagsRqd & mask));
|
||||
return bAllowed;
|
||||
|
|
|
@ -119,6 +119,7 @@ void DoListSelection(
|
|||
AudacityProject &project, Track *t,
|
||||
bool shift, bool ctrl, bool modifyState );
|
||||
void DoSelectAll( AudacityProject &project );
|
||||
void DoSelectAllAudio( AudacityProject &project );
|
||||
void DoSelectSomething( AudacityProject &project );
|
||||
}
|
||||
|
||||
|
|
|
@ -5701,7 +5701,7 @@ void AudacityProject::SelectAllIfNone()
|
|||
auto flags = GetMenuManager(*this).GetUpdateFlags(*this);
|
||||
if(!(flags & TracksSelectedFlag) ||
|
||||
(mViewInfo.selectedRegion.isPoint()))
|
||||
SelectActions::DoSelectAll(*this);
|
||||
SelectActions::DoSelectAllAudio(*this);
|
||||
}
|
||||
|
||||
// Stop playing or recording, if paused.
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
#include "../TimeDialog.h"
|
||||
#include "../TrackPanel.h"
|
||||
#include "../WaveTrack.h"
|
||||
#include "../NoteTrack.h"
|
||||
#include "../commands/CommandContext.h"
|
||||
#include "../commands/CommandManager.h"
|
||||
#include "../toolbars/ControlToolBar.h"
|
||||
|
@ -30,8 +31,35 @@ void DoSelectTimeAndTracks
|
|||
tracks->GetMinOffset(), tracks->GetEndTime());
|
||||
|
||||
if( bAllTracks ) {
|
||||
for (auto t : tracks->Any())
|
||||
for (auto t : tracks->Any()){
|
||||
t->SetSelected(true);
|
||||
}
|
||||
|
||||
project.ModifyState(false);
|
||||
trackPanel->Refresh(false);
|
||||
}
|
||||
}
|
||||
|
||||
// Temporal selection (not TimeTrack selection)
|
||||
// potentially for all wave or not tracks.
|
||||
void DoSelectTimeAndAudioTracks
|
||||
(AudacityProject &project, bool bAllTime, bool bAllTracks)
|
||||
{
|
||||
auto tracks = project.GetTracks();
|
||||
auto trackPanel = project.GetTrackPanel();
|
||||
auto &selectedRegion = project.GetViewInfo().selectedRegion;
|
||||
|
||||
if( bAllTime )
|
||||
selectedRegion.setTimes(
|
||||
tracks->GetMinOffset(), tracks->GetEndTime());
|
||||
|
||||
if( bAllTracks ) {
|
||||
for (auto t : tracks->Any()){
|
||||
auto wt = dynamic_cast<WaveTrack *>(t);
|
||||
auto nt = dynamic_cast<NoteTrack *>(t);
|
||||
if( wt || nt )
|
||||
t->SetSelected(true);
|
||||
}
|
||||
|
||||
project.ModifyState(false);
|
||||
trackPanel->Refresh(false);
|
||||
|
@ -482,6 +510,11 @@ void DoSelectAll(AudacityProject &project)
|
|||
DoSelectTimeAndTracks( project, true, true );
|
||||
}
|
||||
|
||||
void DoSelectAllAudio(AudacityProject &project)
|
||||
{
|
||||
DoSelectTimeAndAudioTracks( project, true, true );
|
||||
}
|
||||
|
||||
// This function selects all tracks if no tracks selected,
|
||||
// and all time if no time selected.
|
||||
// There is an argument for making it just count wave tracks,
|
||||
|
|
Loading…
Reference in New Issue