audacia/src/prefs/ApplicationPrefs.cpp

97 lines
2.2 KiB
C++

/**********************************************************************
Audacity: A Digital Audio Editor
ApplicationPrefs.cpp
Anton Gerasimov
*******************************************************************//**
\class ApplicationPrefs
\brief A PrefsPanel to enable/disable certain general application options like checking updates, etc.
*//*******************************************************************/
#include "ApplicationPrefs.h"
#include "update/UpdateManager.h"
#include <wx/defs.h>
#include "../Prefs.h"
#include "../ShuttleGui.h"
////////////////////////////////////////////////////////////////////////////////
static ComponentInterfaceSymbol s_ComponentInterfaceSymbol{ XO("Application") };
ApplicationPrefs::ApplicationPrefs(wxWindow * parent, wxWindowID winid)
: PrefsPanel(parent, winid, XO("Application"))
{
Populate();
}
ApplicationPrefs::~ApplicationPrefs()
{
}
ComponentInterfaceSymbol ApplicationPrefs::GetSymbol()
{
return s_ComponentInterfaceSymbol;
}
TranslatableString ApplicationPrefs::GetDescription()
{
return XO("Preferences for Application");
}
ManualPageID ApplicationPrefs::HelpPageName()
{
return "Application_Preferences";
}
void ApplicationPrefs::Populate()
{
//------------------------- Main section --------------------
// Now construct the GUI itself.
// Use 'eIsCreatingFromPrefs' so that the GUI is
// initialised with values from gPrefs.
ShuttleGui S(this, eIsCreatingFromPrefs);
PopulateOrExchange(S);
// ----------------------- End of main section --------------
}
void ApplicationPrefs::PopulateOrExchange(ShuttleGui & S)
{
S.SetBorder(2);
S.StartScroller();
S.StartStatic(XO("Update Audacity"));
{
S.TieCheckBox(XO("&Check for Updates"),
UpdatesCheckingSettings::DefaultUpdatesCheckingFlag);
}
S.EndStatic();
S.EndScroller();
}
bool ApplicationPrefs::Commit()
{
ShuttleGui S(this, eIsSavingToPrefs);
PopulateOrExchange(S);
return true;
}
namespace{
PrefsPanel::Registration sAttachment{ "Application",
[](wxWindow *parent, wxWindowID winid, AudacityProject *)
{
wxASSERT(parent); // to justify safenew
return safenew ApplicationPrefs(parent, winid);
}
};
}