1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-22 15:20:15 +02:00
audacity/src/prefs/WarningsPrefs.cpp

115 lines
2.9 KiB
C++

/**********************************************************************
Audacity: A Digital Audio Editor
WarningsPrefs.cpp
Brian Gunlogson
Joshua Haberman
Dominic Mazzoni
James Crook
*******************************************************************//**
\class WarningsPrefs
\brief A PrefsPanel to enable/disable certain warning messages.
*//*******************************************************************/
#include "../Audacity.h"
#include "WarningsPrefs.h"
#include <wx/defs.h>
#include "../ShuttleGui.h"
////////////////////////////////////////////////////////////////////////////////
WarningsPrefs::WarningsPrefs(wxWindow * parent, wxWindowID winid)
: PrefsPanel(parent, winid, XO("Warnings"))
{
Populate();
}
WarningsPrefs::~WarningsPrefs()
{
}
ComponentInterfaceSymbol WarningsPrefs::GetSymbol()
{
return WARNINGS_PREFS_PLUGIN_SYMBOL;
}
TranslatableString WarningsPrefs::GetDescription()
{
return XO("Preferences for Warnings");
}
wxString WarningsPrefs::HelpPageName()
{
return "Warnings_Preferences";
}
void WarningsPrefs::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 WarningsPrefs::PopulateOrExchange(ShuttleGui & S)
{
S.SetBorder(2);
S.StartScroller();
S.StartStatic(XO("Show Warnings/Prompts for"));
{
S.TieCheckBox(XO("Saving &projects"),
{wxT("/Warnings/FirstProjectSave"),
true});
S.TieCheckBox(XO("Saving &empty project"),
{wxT("/GUI/EmptyCanBeDirty"),
true});
S.TieCheckBox(XO("&Low disk space at launch or new project"),
{wxT("/Warnings/DiskSpaceWarning"),
true});
S.TieCheckBox(XO("Mixing down to &mono during export"),
{wxT("/Warnings/MixMono"),
true});
S.TieCheckBox(XO("Mixing down to &stereo during export"),
{wxT("/Warnings/MixStereo"),
true});
S.TieCheckBox(XO("Mixing down on export (&Custom FFmpeg or external program)"),
{wxT("/Warnings/MixUnknownChannels"),
true});
#ifdef EXPERIMENTAL_OD_DATA
S.TieCheckBox(XO("&Importing uncompressed audio files"),
{wxT("/Warnings/CopyOrEditUncompressedDataAsk"),
true});
#endif
}
S.EndStatic();
S.EndScroller();
}
bool WarningsPrefs::Commit()
{
ShuttleGui S(this, eIsSavingToPrefs);
PopulateOrExchange(S);
return true;
}
PrefsPanel::Factory
WarningsPrefsFactory = [](wxWindow *parent, wxWindowID winid, AudacityProject *)
{
wxASSERT(parent); // to justify safenew
return safenew WarningsPrefs(parent, winid);
};