Audacity  3.0.3
Classes | Typedefs | Functions | Variables
anonymous_namespace{ProjectFileManager.cpp} Namespace Reference

Classes

class  CompactDialog
 

Typedefs

using Pair = std::pair< const char *, const char * >
 

Functions

wxString FindHelpUrl (const TranslatableString &libraryError)
 
bool ImportProject (AudacityProject &dest, const FilePath &fileName)
 

Variables

const char *const defaultHelpUrl
 
const Pair helpURLTable []
 

Typedef Documentation

◆ Pair

using anonymous_namespace{ProjectFileManager.cpp}::Pair = typedef std::pair< const char *, const char * >

Definition at line 106 of file ProjectFileManager.cpp.

Function Documentation

◆ FindHelpUrl()

wxString anonymous_namespace{ProjectFileManager.cpp}::FindHelpUrl ( const TranslatableString libraryError)

Definition at line 124 of file ProjectFileManager.cpp.

125 {
126  wxString helpUrl;
127  if ( !libraryError.empty() ) {
128  helpUrl = defaultHelpUrl;
129 
130  auto msgid = libraryError.MSGID().GET();
131  auto found = std::find_if( begin(helpURLTable), end(helpURLTable),
132  [&]( const Pair &pair ) {
133  return msgid.Contains( pair.first ); }
134  );
135  if (found != end(helpURLTable)) {
136  auto url = found->second;
137  if (url[0] == '#')
138  helpUrl += url;
139  else
140  helpUrl = url;
141  }
142  }
143 
144  return helpUrl;
145 }

References defaultHelpUrl, TranslatableString::empty(), Identifier::GET(), helpURLTable, and TranslatableString::MSGID().

Referenced by ProjectFileManager::ReadProjectFile().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ImportProject()

bool anonymous_namespace{ProjectFileManager.cpp}::ImportProject ( AudacityProject dest,
const FilePath fileName 
)

Definition at line 1184 of file ProjectFileManager.cpp.

1185 {
1187  auto &project = temp.Project();
1188 
1189  auto &projectFileIO = ProjectFileIO::Get(project);
1190  if (!projectFileIO.LoadProject(fileName, false))
1191  return false;
1192  auto &srcTracks = TrackList::Get(project);
1193  auto &destTracks = TrackList::Get(dest);
1194  for (const Track *pTrack : srcTracks.Any()) {
1195  auto destTrack = pTrack->PasteInto(dest);
1196  Track::FinishCopy(pTrack, destTrack.get());
1197  if (destTrack.use_count() == 1)
1198  destTracks.Add(destTrack);
1199  }
1200  Tags::Get(dest).Merge(Tags::Get(project));
1201 
1202  return true;
1203 }

References Track::Any(), Track::FinishCopy(), ProjectFileIO::Get(), Tags::Get(), TrackList::Get(), Tags::Merge(), and InvisibleTemporaryProject::Project().

Referenced by ProjectFileManager::Import().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ defaultHelpUrl

const char* const anonymous_namespace{ProjectFileManager.cpp}::defaultHelpUrl
Initial value:
=
"FAQ:Errors_on_opening_or_recovering_an_Audacity_project"

Definition at line 103 of file ProjectFileManager.cpp.

Referenced by FindHelpUrl().

◆ helpURLTable

const Pair anonymous_namespace{ProjectFileManager.cpp}::helpURLTable[]
Initial value:
= {
{
"not well-formed (invalid token)",
"Error:_not_well-formed_(invalid_token)_at_line_x"
},
{
"reference to invalid character number",
"Error_Opening_Project:_Reference_to_invalid_character_number_at_line_x"
},
{
"mismatched tag",
"#mismatched"
},
}

Definition at line 107 of file ProjectFileManager.cpp.

Referenced by FindHelpUrl().

TranslatableString::empty
bool empty() const
Definition: TranslatableString.h:72
InvisibleTemporaryProject
Makes a temporary project that doesn't display on the screen.
Definition: ProjectFileIO.h:333
anonymous_namespace{ProjectFileManager.cpp}::defaultHelpUrl
const char *const defaultHelpUrl
Definition: ProjectFileManager.cpp:103
ProjectFileIO::Get
static ProjectFileIO & Get(AudacityProject &project)
Definition: ProjectFileIO.cpp:265
Track::Any
bool Any() const
Definition: Track.cpp:370
Tags::Get
static Tags & Get(AudacityProject &project)
Definition: Tags.cpp:237
anonymous_namespace{ProjectFileManager.cpp}::Pair
std::pair< const char *, const char * > Pair
Definition: ProjectFileManager.cpp:106
Identifier::GET
const wxString & GET() const
Explicit conversion to wxString, meant to be ugly-looking and demanding of a comment why it's correct...
Definition: Identifier.h:66
TrackList::Get
static TrackList & Get(AudacityProject &project)
Definition: Track.cpp:506
Track
Abstract base class for an object holding data associated with points on a time axis.
Definition: Track.h:239
anonymous_namespace{ProjectFileManager.cpp}::helpURLTable
const Pair helpURLTable[]
Definition: ProjectFileManager.cpp:107
Track::FinishCopy
static void FinishCopy(const Track *n, Track *dest)
Definition: Track.cpp:388
TranslatableString::MSGID
Identifier MSGID() const
MSGID is the English lookup key in the catalog, not necessarily for user's eyes if locale is some oth...
Definition: TranslatableString.cpp:17
InvisibleTemporaryProject::Project
AudacityProject & Project()
Definition: ProjectFileIO.h:337
Tags::Merge
void Merge(const Tags &other)
Definition: Tags.cpp:272