Merge branch 'more-xdg-dirs'
Add possibility to use wxStandardPaths and, hence, wxFileConfig, in XDG-compliant (but backwards-incompatible) mode. Closes #17727.
This commit is contained in:
@@ -29,6 +29,8 @@ public:
|
||||
virtual wxString GetUserLocalDataDir() const wxOVERRIDE;
|
||||
virtual wxString GetPluginsDir() const wxOVERRIDE;
|
||||
virtual wxString GetUserDir(Dir userDir) const wxOVERRIDE;
|
||||
virtual wxString MakeConfigFileName(const wxString& basename,
|
||||
ConfigFileConv conv) const wxOVERRIDE;
|
||||
|
||||
|
||||
// MSW-specific methods
|
||||
|
@@ -32,6 +32,8 @@ public:
|
||||
GetLocalizedResourcesDir(const wxString& lang,
|
||||
ResourceCat category = ResourceCat_None) const wxOVERRIDE;
|
||||
virtual wxString GetUserDir(Dir userDir) const wxOVERRIDE;
|
||||
virtual wxString MakeConfigFileName(const wxString& basename,
|
||||
ConfigFileConv conv) const wxOVERRIDE;
|
||||
|
||||
protected:
|
||||
// Ctor is protected, use wxStandardPaths::Get() instead of instantiating
|
||||
|
@@ -60,6 +60,21 @@ public:
|
||||
Dir_Videos
|
||||
};
|
||||
|
||||
// Layout to use for user config/data files under Unix.
|
||||
enum FileLayout
|
||||
{
|
||||
FileLayout_Classic, // Default: use home directory.
|
||||
FileLayout_XDG // Recommended: use XDG specification.
|
||||
};
|
||||
|
||||
// Naming convention for the config files under Unix.
|
||||
enum ConfigFileConv
|
||||
{
|
||||
ConfigFileConv_Dot, // Classic Unix dot-file convention.
|
||||
ConfigFileConv_Ext // Use .conf extension.
|
||||
};
|
||||
|
||||
|
||||
// return the global standard paths object
|
||||
static wxStandardPaths& Get();
|
||||
|
||||
@@ -155,6 +170,10 @@ public:
|
||||
|
||||
virtual wxString GetUserDir(Dir userDir) const;
|
||||
|
||||
virtual wxString
|
||||
MakeConfigFileName(const wxString& basename,
|
||||
ConfigFileConv conv = ConfigFileConv_Ext) const = 0;
|
||||
|
||||
// virtual dtor for the base class
|
||||
virtual ~wxStandardPathsBase();
|
||||
|
||||
@@ -166,6 +185,15 @@ public:
|
||||
|
||||
bool UsesAppInfo(int info) const { return (m_usedAppInfo & info) != 0; }
|
||||
|
||||
void SetFileLayout(FileLayout layout)
|
||||
{
|
||||
m_fileLayout = layout;
|
||||
}
|
||||
|
||||
FileLayout GetFileLayout() const
|
||||
{
|
||||
return m_fileLayout;
|
||||
}
|
||||
|
||||
protected:
|
||||
// Ctor is protected as this is a base class which should never be created
|
||||
@@ -182,6 +210,9 @@ protected:
|
||||
|
||||
// combination of AppInfo_XXX flags used by AppendAppInfo()
|
||||
int m_usedAppInfo;
|
||||
|
||||
// The file layout to use, currently only used under Unix.
|
||||
FileLayout m_fileLayout;
|
||||
};
|
||||
|
||||
#if wxUSE_STDPATHS
|
||||
|
@@ -49,6 +49,8 @@ public:
|
||||
#ifndef __VMS
|
||||
virtual wxString GetUserDir(Dir userDir) const wxOVERRIDE;
|
||||
#endif
|
||||
virtual wxString MakeConfigFileName(const wxString& basename,
|
||||
ConfigFileConv conv) const wxOVERRIDE;
|
||||
|
||||
protected:
|
||||
// Ctor is protected, use wxStandardPaths::Get() instead of instantiating
|
||||
|
Reference in New Issue
Block a user