Fixed: Plugins dir may change depending on user #4168

This commit is contained in:
Nick Bolton
2015-03-04 11:15:07 +00:00
parent c5ed03a8a0
commit cfd21216cd
11 changed files with 132 additions and 12 deletions

View File

@@ -107,6 +107,10 @@ ArchFileUnix::getLogDirectory()
std::string
ArchFileUnix::getPluginDirectory()
{
if (!m_pluginDirectory.empty()) {
return m_pluginDirectory;
}
#if WINAPI_XWINDOWS
return getProfileDirectory().append("/plugins");
#else
@@ -117,11 +121,19 @@ ArchFileUnix::getPluginDirectory()
std::string
ArchFileUnix::getProfileDirectory()
{
String dir;
if (!m_profileDirectory.empty()) {
dir = m_profileDirectory;
}
else {
#if WINAPI_XWINDOWS
return getUserDirectory().append("/.synergy");
dir = getUserDirectory().append("/.synergy");
#else
return getUserDirectory().append("/Library/Synergy");
dir = getUserDirectory().append("/Library/Synergy");
#endif
}
return dir;
}
std::string
@@ -137,3 +149,15 @@ ArchFileUnix::concatPath(const std::string& prefix,
path += suffix;
return path;
}
void
ArchFileUnix::setProfileDirectory(const String& s)
{
m_profileDirectory = s;
}
void
ArchFileUnix::setPluginDirectory(const String& s)
{
m_pluginDirectory = s;
}

View File

@@ -38,4 +38,10 @@ public:
virtual std::string getProfileDirectory();
virtual std::string concatPath(const std::string& prefix,
const std::string& suffix);
virtual void setProfileDirectory(const String& s);
virtual void setPluginDirectory(const String& s);
private:
String m_profileDirectory;
String m_pluginDirectory;
};