X-Git-Url: http://Server1/repobrowser/?p=xestiaab%2F.git;a=blobdiff_plain;f=source%2Fcommon%2Fdirs.cpp;h=63232c087c572a86685411918c28b86f02242be2;hp=0ced7abc56c490a2cc64ff0957838251ef0b6db6;hb=f69e09d827e06435ea94bb73aa71ab5f9d5c035b;hpb=45729fca56479bd9158486e0cda0c4a94b4dd1dc diff --git a/source/common/dirs.cpp b/source/common/dirs.cpp index 0ced7ab..63232c0 100644 --- a/source/common/dirs.cpp +++ b/source/common/dirs.cpp @@ -1,166 +1,286 @@ +// dirs.cpp - Directory subroutines. +// +// (c) 2012-2015 Xestia Software Development. +// +// This file is part of Xestia Address Book. +// +// Xestia Address Book is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by the +// Free Software Foundation, version 3 of the license. +// +// Xestia Address Book is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with Xestia Address Book. If not, see + #include wxString GetUserDir() { - + + // Get the user directory. + wxString UserDir; - + #if defined(__HAIKU__) - - //preffilename = wxT("noo"); - + #elif defined(__WIN32__) - + UserDir.Clear(); UserDir.Append(wxString::FromUTF8(getenv("APPDATA"))); UserDir.Append(wxT("\\Xestia\\Address Book\\")); - + +#elif defined(__APPLE__) + + UserDir.Clear(); + UserDir.Append(wxString::FromUTF8(getenv("HOME"))); + UserDir.Append(wxT("/Library/Preferences/Xestia/Address Book/")); + #else - + UserDir.Clear(); UserDir.Append(wxString::FromUTF8(getenv("HOME"))); UserDir.Append(wxT("/.xestiaab/")); - -#endif - + +#endif + return UserDir; - + } wxString GetUserPrefDir() { - + + // Get the user preferences directory. + wxString UserPrefDir; - + #if defined(__HAIKU__) - - //preffilename = wxT("noo"); - + #elif defined(__WIN32__) - + UserPrefDir.Clear(); UserPrefDir.Append(wxString::FromUTF8(getenv("APPDATA"))); UserPrefDir.Append(wxT("\\Xestia\\Address Book\\preferences\\")); - + +#elif defined(__APPLE__) + + UserPrefDir.Clear(); + UserPrefDir.Append(wxString::FromUTF8(getenv("HOME"))); + UserPrefDir.Append(wxT("/Library/Preferences/Xestia/Address Book/preferences/")); + #else - + UserPrefDir.Clear(); UserPrefDir.Append(wxString::FromUTF8(getenv("HOME"))); UserPrefDir.Append(wxT("/.xestiaab/preferences/")); - -#endif - + +#endif + return UserPrefDir; - + } wxString GetRecoveryDB() { - + + // Get recovery database. + wxString RecoveryDBFile; - + #if defined(__HAIKU__) - - //preffilename = wxT("noo"); - + #elif defined(__WIN32__) - + RecoveryDBFile.Clear(); RecoveryDBFile.Append(wxString::FromUTF8(getenv("APPDATA"))); RecoveryDBFile.Append(wxT("\\Xestia\\Address Book\\recovery.db")); - + +#elif defined(__APPLE__) + + RecoveryDBFile.Clear(); + RecoveryDBFile.Append(wxString::FromUTF8(getenv("HOME"))); + RecoveryDBFile.Append(wxT("/Library/Preferences/Xestia/Address Book/recovery.db")); + #else - + RecoveryDBFile.Clear(); RecoveryDBFile.Append(wxString::FromUTF8(getenv("HOME"))); RecoveryDBFile.Append(wxT("/.xestiaab/.recovery.db")); - -#endif - + +#endif + return RecoveryDBFile; - + } wxString GetAccountDir(wxString AccName, bool ServerCert) { - + + // Get the account directory. + wxString AccountDir; - + #if defined(__HAIKU__) - + #elif defined(__WIN32__) - + AccountDir.Clear(); AccountDir.Append(wxString::FromUTF8(getenv("APPDATA"))); AccountDir.Append(wxT("\\Xestia\\Address Book\\accounts\\")); AccountDir.Append(AccName); AccountDir.Append(wxT("\\")); + if (ServerCert == TRUE){ AccountDir.Append(wxT("server.crt")); } - + +#elif defined(__APPLE__) + + AccountDir.Clear(); + AccountDir.Append(wxString::FromUTF8(getenv("HOME"))); + AccountDir.Append(wxT("/Library/Preferences/Xestia/Address Book/accounts/")); + AccountDir.Append(AccName); + AccountDir.Append(wxT("/")); + + if (ServerCert == TRUE){ + AccountDir.Append(wxT("server.crt")); + } + #else - + AccountDir.Clear(); AccountDir.Append(wxString::FromUTF8(getenv("HOME"))); AccountDir.Append(wxT("/.xestiaab/accounts/")); AccountDir.Append(AccName); AccountDir.Append(wxT("/")); + if (ServerCert == TRUE){ AccountDir.Append(wxT("server.crt")); } - + #endif - + return AccountDir; + +} +std::string GetAccountDir(std::string AccName, bool ServerCert) +{ + + // Get the account directory. + + std::string AccountDir; + +#if defined(__HAIKU__) + +#elif defined(__WIN32__) + + AccountDir.clear(); + AccountDir.append(getenv("APPDATA")); + AccountDir.append("\\Xestia\\Address Book\\accounts\\"); + AccountDir.append(AccName); + AccountDir.append("\\"); + + if (ServerCert == true){ + AccountDir.append("server.crt"); + } + +#elif defined(__APPLE__) + + AccountDir.clear(); + AccountDir.append(getenv("HOME")); + AccountDir.append("/Library/Preferences/Xestia/Address Book/accounts/"); + AccountDir.append(AccName); + AccountDir.append("/"); + + if (ServerCert == true){ + AccountDir.append("server.crt"); + } + +#else + + AccountDir.clear(); + AccountDir.append(getenv("HOME")); + AccountDir.append("/.xestiaab/accounts/"); + AccountDir.append(AccName); + AccountDir.append("/"); + + if (ServerCert == true){ + AccountDir.append("server.crt"); + } + +#endif + + return AccountDir; + } wxString GetAccountsFile() { - + + // Get the accounts preferences file. + wxString AccountsFile; - + #if defined(__HAIKU__) - + #elif defined(__WIN32__) - + AccountsFile.Clear(); AccountsFile.Append(wxString::FromUTF8(getenv("APPDATA"))); AccountsFile.Append(wxT("\\Xestia\\Address Book\\preferences\\accounts")); + +#elif defined(__APPLE__) + + AccountsFile.Clear(); + AccountsFile.Append(wxString::FromUTF8(getenv("HOME"))); + AccountsFile.Append(wxT("/Library/Preferences/Xestia/Address Book/preferences/accounts")); + #else - + AccountsFile.Clear(); AccountsFile.Append(wxString::FromUTF8(getenv("HOME"))); AccountsFile.Append(wxT("/.xestiaab/preferences/accounts")); - + #endif - + return AccountsFile; - + } wxString GetSettingsFile() { - + + // Get the preferences general settings file. + wxString SettingsFile; - + #if defined(__HAIKU__) - + #elif defined(__WIN32__) - + SettingsFile.Clear(); SettingsFile.Append(wxString::FromUTF8(getenv("APPDATA"))); SettingsFile.Append(wxT("\\Xestia\\Address Book\\preferences\\settings")); - + +#elif defined(__APPLE__) + + SettingsFile.Clear(); + SettingsFile.Append(wxString::FromUTF8(getenv("HOME"))); + SettingsFile.Append(wxT("/Library/Preferences/Xestia/Address Book/preferences/settings")); + #else - + SettingsFile.Clear(); SettingsFile.Append(wxString::FromUTF8(getenv("HOME"))); SettingsFile.Append(wxT("/.xestiaab/preferences/settings")); - + #endif - + return SettingsFile; - + } \ No newline at end of file