mirror of
https://github.com/cookiengineer/audacity
synced 2025-10-16 15:41:11 +02:00
Fix bug #923 and allow for varying decimal sepatators in settings
This commit is contained in:
@@ -44,6 +44,7 @@
|
||||
|
||||
#include <wx/cmdline.h>
|
||||
#include <wx/fileconf.h>
|
||||
#include <wx/intl.h>
|
||||
|
||||
class EffectAutomationParameters : public wxFileConfig
|
||||
{
|
||||
@@ -82,6 +83,22 @@ public:
|
||||
return wxFileConfig::DoReadLong(NormalizeName(key), pl);
|
||||
}
|
||||
|
||||
virtual bool DoReadDouble(const wxString & key, double *pd) const
|
||||
{
|
||||
wxString str;
|
||||
if (Read(key, &str))
|
||||
{
|
||||
wxString dec = wxLocale::GetInfo(wxLOCALE_DECIMAL_POINT, wxLOCALE_CAT_NUMBER);
|
||||
|
||||
str.Replace(wxT(","), dec);
|
||||
str.Replace(wxT("."), dec);
|
||||
|
||||
return str.ToDouble(pd);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
virtual bool DoWriteString(const wxString & key, const wxString & szValue)
|
||||
{
|
||||
return wxFileConfig::DoWriteString(NormalizeName(key), szValue);
|
||||
@@ -94,7 +111,7 @@ public:
|
||||
|
||||
virtual bool DoWriteDouble(const wxString & key, double value)
|
||||
{
|
||||
return DoWriteString(key, wxString::Format(wxT("%.12g"), value));
|
||||
return DoWriteString(key, wxString::Format(wxT("%.12f"), value));
|
||||
}
|
||||
|
||||
bool ReadFloat(const wxString & key, float *pf) const
|
||||
@@ -209,19 +226,6 @@ public:
|
||||
return (*val != wxNOT_FOUND);
|
||||
}
|
||||
|
||||
wxString NormalizeName(const wxString & name) const
|
||||
{
|
||||
wxString cleaned = name;
|
||||
|
||||
cleaned.Trim(true).Trim(false);
|
||||
cleaned.Replace(wxT(" "), wxT("_"));
|
||||
cleaned.Replace(wxT("/"), wxT("_"));
|
||||
cleaned.Replace(wxT("\\"), wxT("_"));
|
||||
cleaned.Replace(wxT(":"), wxT("_"));
|
||||
|
||||
return cleaned;
|
||||
}
|
||||
|
||||
bool GetParameters(wxString & parms)
|
||||
{
|
||||
wxFileConfig::SetPath(wxT("/"));
|
||||
@@ -270,6 +274,19 @@ public:
|
||||
return true;
|
||||
}
|
||||
|
||||
wxString NormalizeName(const wxString & name) const
|
||||
{
|
||||
wxString cleaned = name;
|
||||
|
||||
cleaned.Trim(true).Trim(false);
|
||||
cleaned.Replace(wxT(" "), wxT("_"));
|
||||
cleaned.Replace(wxT("/"), wxT("_"));
|
||||
cleaned.Replace(wxT("\\"), wxT("_"));
|
||||
cleaned.Replace(wxT(":"), wxT("_"));
|
||||
|
||||
return cleaned;
|
||||
}
|
||||
|
||||
wxString Escape(wxString val)
|
||||
{
|
||||
val.Replace(wxT("\\"), wxT("\\\\"), true);
|
||||
|
Reference in New Issue
Block a user