From 1887928fe210b2e22fc3c0ca50646d47362c9888 Mon Sep 17 00:00:00 2001 From: Paul Licameli Date: Wed, 25 Dec 2019 14:33:18 -0500 Subject: [PATCH] ProjectManager::GetHoursMinsString returns TranslatableString --- src/ProjectManager.cpp | 23 +++++++++-------------- src/ProjectManager.h | 2 +- src/TimerRecordDialog.cpp | 6 ++---- 3 files changed, 12 insertions(+), 19 deletions(-) diff --git a/src/ProjectManager.cpp b/src/ProjectManager.cpp index 3ec03300d..1752257f0 100644 --- a/src/ProjectManager.cpp +++ b/src/ProjectManager.cpp @@ -955,13 +955,13 @@ void ProjectManager::OnTimer(wxTimerEvent& WXUNUSED(event)) if (projectAudioIO.GetAudioIOToken() > 0 && gAudioIO->GetNumCaptureChannels() > 0) { wxLongLong freeSpace = dirManager.GetFreeDiskSpace(); if (freeSpace >= 0) { - wxString sMessage; int iRecordingMins = GetEstimatedRecordingMinsLeftOnDisk(gAudioIO->GetNumCaptureChannels()); - sMessage.Printf(_("Disk space remaining for recording: %s"), GetHoursMinsString(iRecordingMins)); + auto sMessage = XO("Disk space remaining for recording: %s") + .Format( GetHoursMinsString(iRecordingMins) ); // Do not change mLastMainStatusMessage - statusBar.SetStatusText(sMessage, mainStatusBarField); + statusBar.SetStatusText(sMessage.Translation(), mainStatusBarField); } } else if(ODManager::IsInstanceCreated()) @@ -1029,27 +1029,22 @@ void ProjectManager::OnStatusChange( wxCommandEvent &evt ) RestartTimer(); } -wxString ProjectManager::GetHoursMinsString(int iMinutes) +TranslatableString ProjectManager::GetHoursMinsString(int iMinutes) { - wxString sFormatted; - - if (iMinutes < 1) { + if (iMinutes < 1) // Less than a minute... - sFormatted = _("Less than 1 minute"); - return sFormatted; - } + return XO("Less than 1 minute"); // Calculate int iHours = iMinutes / 60; int iMins = iMinutes % 60; - auto sHours = wxPLURAL( "%d hour", "%d hours", 0 )( iHours ).Translation(); + auto sHours = wxPLURAL( "%d hour", "%d hours", 0 )( iHours ); - auto sMins = wxPLURAL( "%d minute", "%d minutes", 0 )( iMins ).Translation(); + auto sMins = wxPLURAL( "%d minute", "%d minutes", 0 )( iMins ); /* i18n-hint: A time in hours and minutes. Only translate the "and". */ - sFormatted.Printf( _("%s and %s."), sHours, sMins); - return sFormatted; + return XO("%s and %s.").Format( sHours, sMins ); } // This routine will give an estimate of how many diff --git a/src/ProjectManager.h b/src/ProjectManager.h index d01d4b0e9..b9c9ec7a0 100644 --- a/src/ProjectManager.h +++ b/src/ProjectManager.h @@ -59,7 +59,7 @@ public: // Routine to estimate how many minutes of recording time are left on disk int GetEstimatedRecordingMinsLeftOnDisk(long lCaptureChannels = 0); // Converts number of minutes to human readable format - wxString GetHoursMinsString(int iMinutes); + TranslatableString GetHoursMinsString(int iMinutes); private: void OnCloseWindow(wxCloseEvent & event); diff --git a/src/TimerRecordDialog.cpp b/src/TimerRecordDialog.cpp index 5b3303168..87377296f 100644 --- a/src/TimerRecordDialog.cpp +++ b/src/TimerRecordDialog.cpp @@ -437,10 +437,8 @@ void TimerRecordDialog::OnOK(wxCommandEvent& WXUNUSED(event)) if (iMinsRecording >= iMinsLeft) { // Format the strings - wxString sRemainingTime; - sRemainingTime = projectManager.GetHoursMinsString(iMinsLeft); - wxString sPlannedTime; - sPlannedTime = projectManager.GetHoursMinsString(iMinsRecording); + auto sRemainingTime = projectManager.GetHoursMinsString(iMinsLeft); + auto sPlannedTime = projectManager.GetHoursMinsString(iMinsRecording); // Create the message string auto sMessage = XO(