Audacity 3.2.0
Public Member Functions | Public Attributes | List of all members
TitleRestorer Class Reference

#include <ProjectFileManager.h>

Public Member Functions

 TitleRestorer (wxTopLevelWindow &window, AudacityProject &project)
 
 ~TitleRestorer ()
 

Public Attributes

wxString sProjNumber
 
wxString sProjName
 
size_t UnnamedCount
 

Detailed Description

TitleRestorer restores project window titles to what they were, in its destructor.

Definition at line 142 of file ProjectFileManager.h.

Constructor & Destructor Documentation

◆ TitleRestorer()

TitleRestorer::TitleRestorer ( wxTopLevelWindow &  window,
AudacityProject project 
)

Definition at line 1479 of file ProjectFileManager.cpp.

1481{
1482 if( window.IsIconized() )
1483 window.Restore();
1484 window.Raise(); // May help identifying the window on Mac
1485
1486 // Construct this project's name and number.
1487 sProjName = project.GetProjectName();
1488 if ( sProjName.empty() ) {
1489 sProjName = _("<untitled>");
1490 UnnamedCount = std::count_if(
1492 []( const AllProjects::value_type &ptr ){
1493 return ptr->GetProjectName().empty();
1494 }
1495 );
1496 if ( UnnamedCount > 1 ) {
1497 sProjNumber.Printf(
1498 _("[Project %02i] "), project.GetProjectNumber() + 1 );
1499 RefreshAllTitles( true );
1500 }
1501 }
1502 else
1503 UnnamedCount = 0;
1504}
#define _(s)
Definition: Internat.h:73
static void RefreshAllTitles(bool bShowProjectNumbers)
const_iterator end() const
Definition: Project.cpp:27
Container::value_type value_type
Definition: Project.h:57
const_iterator begin() const
Definition: Project.cpp:22
int GetProjectNumber()
Definition: Project.h:101
const wxString & GetProjectName() const
Definition: Project.cpp:100

References _, AllProjects::begin(), AllProjects::end(), AudacityProject::GetProjectName(), AudacityProject::GetProjectNumber(), RefreshAllTitles(), sProjName, sProjNumber, and UnnamedCount.

Here is the call graph for this function:

◆ ~TitleRestorer()

TitleRestorer::~TitleRestorer ( )

Definition at line 1506 of file ProjectFileManager.cpp.

1506 {
1507 if( UnnamedCount > 1 )
1508 RefreshAllTitles( false );
1509}

References RefreshAllTitles(), and UnnamedCount.

Here is the call graph for this function:

Member Data Documentation

◆ sProjName

wxString TitleRestorer::sProjName

◆ sProjNumber

wxString TitleRestorer::sProjNumber

◆ UnnamedCount

size_t TitleRestorer::UnnamedCount

Definition at line 148 of file ProjectFileManager.h.

Referenced by TitleRestorer(), and ~TitleRestorer().


The documentation for this class was generated from the following files: