look in the environment for the options values
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39851 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -29,6 +29,7 @@
|
|||||||
#include "wx/sysopt.h"
|
#include "wx/sysopt.h"
|
||||||
|
|
||||||
#ifndef WX_PRECOMP
|
#ifndef WX_PRECOMP
|
||||||
|
#include "wx/app.h"
|
||||||
#include "wx/list.h"
|
#include "wx/list.h"
|
||||||
#include "wx/string.h"
|
#include "wx/string.h"
|
||||||
#include "wx/arrstr.h"
|
#include "wx/arrstr.h"
|
||||||
@@ -68,11 +69,33 @@ void wxSystemOptions::SetOption(const wxString& name, int value)
|
|||||||
|
|
||||||
wxString wxSystemOptions::GetOption(const wxString& name)
|
wxString wxSystemOptions::GetOption(const wxString& name)
|
||||||
{
|
{
|
||||||
|
wxString val;
|
||||||
|
|
||||||
int idx = gs_optionNames.Index(name, false);
|
int idx = gs_optionNames.Index(name, false);
|
||||||
if (idx == wxNOT_FOUND)
|
if ( idx != wxNOT_FOUND )
|
||||||
return wxEmptyString;
|
{
|
||||||
else
|
val = gs_optionValues[idx];
|
||||||
return gs_optionValues[idx];
|
}
|
||||||
|
else // not set explicitely
|
||||||
|
{
|
||||||
|
// look in the environment: first for a variable named "wx_appname_name"
|
||||||
|
// which can be set to affect the behaviour or just this application
|
||||||
|
// and then for "wx_name" which can be set to change the option globally
|
||||||
|
wxString var(name);
|
||||||
|
var.Replace(_T("."), _T("_")); // '.'s not allowed in env var names
|
||||||
|
|
||||||
|
wxString appname;
|
||||||
|
if ( wxTheApp )
|
||||||
|
appname = wxTheApp->GetAppName();
|
||||||
|
|
||||||
|
if ( !appname.empty() )
|
||||||
|
val = wxGetenv(_T("wx_") + appname + _T('_') + var);
|
||||||
|
|
||||||
|
if ( val.empty() )
|
||||||
|
val = wxGetenv(_T("wx_") + var);
|
||||||
|
}
|
||||||
|
|
||||||
|
return val;
|
||||||
}
|
}
|
||||||
|
|
||||||
int wxSystemOptions::GetOptionInt(const wxString& name)
|
int wxSystemOptions::GetOptionInt(const wxString& name)
|
||||||
@@ -82,7 +105,7 @@ int wxSystemOptions::GetOptionInt(const wxString& name)
|
|||||||
|
|
||||||
bool wxSystemOptions::HasOption(const wxString& name)
|
bool wxSystemOptions::HasOption(const wxString& name)
|
||||||
{
|
{
|
||||||
return gs_optionNames.Index(name, false) != wxNOT_FOUND;
|
return !GetOption(name).empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // wxUSE_SYSTEM_OPTIONS
|
#endif // wxUSE_SYSTEM_OPTIONS
|
||||||
|
Reference in New Issue
Block a user