29#include <wx/html/htmlwin.h>
30#include <wx/statbmp.h>
32#include <wx/sstream.h>
33#include <wx/txtstrm.h>
50#include "../images/AudacityLogoWithName.xpm"
57const char* WhatsNewURL =
"https://audacityteam.org/3.5.0-video";
61# include "../images/WhatsNewBtn.jpeg.h"
66 : mMemoryFSHandler(
std::make_unique<wxMemoryFSHandler>())
68 wxFileSystem::AddHandler(mMemoryFSHandler.get());
70 wxMemoryFSHandler::AddFile(
71 "whats_new_btn.jpeg", bin2c_whats_new_btn_jpeg,
72 sizeof(bin2c_whats_new_btn_jpeg));
77 wxMemoryFSHandler::RemoveFile(
"whats_new_btn.jpeg");
78 wxFileSystem::RemoveHandler(mMemoryFSHandler.get());
82 std::unique_ptr<wxMemoryFSHandler> mMemoryFSHandler;
98 const auto alphamsg =
XO(
99 "<br><br>The version of Audacity you are using is an <b>Alpha test version</b>.");
100 const auto betamsg =
XO(
101 "<br><br>The version of Audacity you are using is a <b>Beta test version</b>.");
103 wxStringOutputStream o;
104 wxTextOutputStream s(o);
105 s <<
wxT(
"<body bgcolor=") <<
theTheme.
Colour(clrTrackInfo).GetAsString(wxC2S_HTML_SYNTAX) <<
wxT(
">")
106 <<
wxT(
"<font color=") <<
theTheme.
Colour(clrTrackPanelText).GetAsString(wxC2S_HTML_SYNTAX) <<
wxT(
">")
108#if defined(IS_ALPHA) || defined(IS_BETA)
109 <<
wxT(
"<center><h3>")
110 <<
XO(
"Get the Official Released Version of Audacity")
111 <<
wxT(
"</h3></center>")
112 <<
wxT(
"<center>[[https://www.audacityteam.org/download|") <<
XO(
"Check Online") <<
wxT(
"]]</center>")
119 <<
XO(
"We strongly recommend that you use our latest stable released version, which has full documentation and support.<br/><br/>")
120 <<
XO(
"You can help us get Audacity ready for release by joining our [[https://www.audacityteam.org/community/|community]].<hr/><br/><br/>")
123 <<
wxT(
"<center><h3>")
125 <<
wxT(
"Audacity ") << AUDACITY_VERSION_STRING
128 <<
XO(
"What's new in Audacity %s").Format(AUDACITY_VERSION_STRING)
129 <<
wxT(R
"(</h3><p><a href=")") << WhatsNewURL << wxT(R"(">)")
131 R"(<img src="memory:whats_new_btn.jpeg" width="263" height="148" /></a></p>)")
132 << XO("<p>In this release we added Beats & Measures, Time Stretching and more.<br/>")
133 <<
XO(
"Watch the [[%s|release video]] or read the [[https://support.audacityteam.org/additional-resources/changelog|changelog]] to learn more!</p>").Format(WhatsNewURL)
135 <<
wxT(
"<h3>") <<
XO(
"How to get help") <<
wxT(
"</h3></center>")
136 <<
XO(
"These are our support methods:")
137 <<
wxT(
"<p><ul><li>")
140 <<
XO(
"[[help:Quick_Help|Quick Help]]") <<
wxT(
"</li><li>")
144 " [[help:Main_Page|Manual]]")
146 <<
XO(
"[[https://support.audacityteam.org/|Tutorials & How-tos]]")
148 <<
XO(
" [[https://forum.audacityteam.org/|Forum]] - ask your question directly, online.")
149 <<
wxT(
"</li></ul></p>") <<
wxT(
"</p></font></body>");
177 wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER)
186 GetPosition( &x, &y );
192 if ( event.ShiftDown() && event.ControlDown() )
193 wxLaunchDefaultBrowser(
"https://www.audacityteam.org");
200 S.StartVerticalLay(1);
203 m_pLogo = std::make_unique<wxBitmap>((
const char **) AudacityLogoWithName_xpm);
207 const float fScale=1.0f;
210 RescaledImage.GetRed(1,1),
211 RescaledImage.GetGreen(1,1),
212 RescaledImage.GetBlue(1,1));
213 this->SetBackgroundColour(MainColour);
217 wxBitmap RescaledBitmap( RescaledImage );
218 wxStaticBitmap *
const icon =
219 safenew wxStaticBitmap(
S.GetParent(), -1,
233 wxHW_SCROLLBAR_AUTO | wxSUNKEN_BORDER );
236 .Position( wxEXPAND )
238 S.Prop(0).StartMultiColumn(2, wxEXPAND);
239 S.SetStretchyCol( 1 );
242 S.Id(
DontShowID).AddCheckBox(
XXO(
"Don't show this again at start up"), !bShow );
247 .AddButton(
XXO(
"OK"), wxALIGN_RIGHT| wxALL,
true);
258 bool bShow = !Evt.IsChecked();
#define LOGOWITHNAME_WIDTH
#define LOGOWITHNAME_HEIGHT
EVT_BUTTON(wxID_NO, DependencyDialog::OnNo) EVT_BUTTON(wxID_YES
XXO("&Cut/Copy/Paste Toolbar")
wxString FormatHtmlText(const wxString &Text)
wxString HelpText(const wxString &Key)
audacity::BasicSettings * gPrefs
AUDACITY_DLL_API wxFrame & GetProjectFrame(AudacityProject &project)
Get the top-level window associated with the project (as a wxFrame only, when you do not need to use ...
accessors for certain important windows associated with each project
constexpr int HTMLWindowHeight
The top-level handle to an Audacity project. It serves as a source of events that other objects can b...
An HtmlWindow that handles linked clicked - usually the link will go to our own local copy of the man...
Derived from ShuttleGuiBase, an Audacity specific class for shuttling data to and from GUI.
The SplashDialog shows help information for Audacity when Audacity starts up.
void Populate(ShuttleGui &S)
SplashDialog(wxWindow *parent)
void OnOK(wxCommandEvent &event)
static void Show2(wxWindow *pParent)
void OnDontShow(wxCommandEvent &Evt)
void OnChar(wxMouseEvent &event)
static SplashDialog * pSelf
std::unique_ptr< wxBitmap > m_pLogo
wxColour & Colour(int iIndex)
virtual bool Flush() noexcept=0
virtual bool Write(const wxString &key, bool value)=0
virtual bool Read(const wxString &key, bool *value) const =0
IMPORT_EXPORT_API ExportResult Show(ExportTask exportTask)
wxString MakeWhatsNewText()