Separate user settings and chat logs by grid (appending .gridlabel to the directory) in OS builds, Settings and directories in Havok build remain the same (firstname lastname) Remove option to append. We assume OS build users connect to more than one grid.

meow-7.2.2
Cinders 2012-12-20 10:28:45 -07:00
parent e10b9d5d11
commit 6b42562cfd
7 changed files with 59 additions and 42 deletions

View File

@ -596,8 +596,13 @@ std::string LLDir::getForbiddenFileChars()
{
return "\\/:*?\"<>|";
}
// <FS:CR> Seperate user directories per grid on OS build
#ifdef HAS_OPENSIM_SUPPORT
void LLDir::setLindenUserDir(const std::string &username, const std::string &gridname)
#else
void LLDir::setLindenUserDir(const std::string &username)
#endif // HAS_OPENSIM_SUPPORT
// </FS:CR>
{
// if the username isn't set, that's bad
if (!username.empty())
@ -607,9 +612,24 @@ void LLDir::setLindenUserDir(const std::string &username)
std::string userlower(username);
LLStringUtil::toLower(userlower);
LLStringUtil::replaceChar(userlower, ' ', '_');
// <FS:CR> Seperate user directories per grid on OS build
#ifdef HAS_OPENSIM_SUPPORT
std::string gridlower(gridname);
LLStringUtil::toLower(gridlower);
LLStringUtil::replaceChar(gridlower, ' ', '_');
#endif // HAS_OPENSIM_SUPPORT
// </FS:CR>
mLindenUserDir = getOSUserAppDir();
mLindenUserDir += mDirDelimiter;
mLindenUserDir += userlower;
// <FS:CR> Seperate user directories per grid on OS build
#ifdef HAS_OPENSIM_SUPPORT
if (!gridname.empty())
{
mLindenUserDir += "." + gridlower;
}
#endif // HAS_OPENSIM_SUPPORT
// </FS:CR>
}
else
{
@ -631,10 +651,13 @@ void LLDir::setChatLogsDir(const std::string &path)
}
}
// <FS:CR> FIRE-7343: Seperate chat logs per grid
//void LLDir::setPerAccountChatLogsDir(const std::string &username)
void LLDir::setPerAccountChatLogsDir(const std::string &gridname, const std::string &username, bool append)
// <//FS:CR> FIRE-7343: Seperate chat logs per grid
// <FS:CR> Seperate user directories per grid on OS build
#ifdef HAS_OPENSIM_SUPPORT
void LLDir::setPerAccountChatLogsDir(const std::string &username, const std::string &gridname)
#else
void LLDir::setPerAccountChatLogsDir(const std::string &username)
#endif // HAS_OPENSIM_SUPPORT
// <//FS:CR>
{
// if both first and last aren't set, assume we're grabbing the cached dir
if (!username.empty())
@ -644,20 +667,24 @@ void LLDir::setPerAccountChatLogsDir(const std::string &gridname, const std::str
std::string userlower(username);
LLStringUtil::toLower(userlower);
LLStringUtil::replaceChar(userlower, ' ', '_');
// <FS:CR> FIRE-7343: Seperate chat logs per grid
// <FS:CR> Seperate user directories per grid on OS build
#ifdef HAS_OPENSIM_SUPPORT
std::string gridlower(gridname);
LLStringUtil::toLower(gridlower);
LLStringUtil::replaceChar(gridlower, ' ', '_');
// </FS:CR> FIRE-7343: Seperate chat logs per grid
#endif // HAS_OPENSIM_SUPPORT
// </FS:CR>
mPerAccountChatLogsDir = getChatLogsDir();
mPerAccountChatLogsDir += mDirDelimiter;
mPerAccountChatLogsDir += userlower;
// <FS:CR> FIRE-7343: Seperate chat logs per grid
// If the user has elected, append the grid name to chat log directories
if (append && !gridname.empty())
// <FS:CR> Seperate user directories per grid on OS build
#ifdef HAS_OPENSIM_SUPPORT
if (!gridname.empty())
{
mPerAccountChatLogsDir += "." + gridlower;
}
#endif // HAS_OPENSIM_SUPPORT
// </FS:CR>
}
else

View File

@ -160,11 +160,15 @@ class LLDir
static std::string getForbiddenFileChars();
virtual void setChatLogsDir(const std::string &path); // Set the chat logs dir to this user's dir
// <FS:CR> FIRE-7343: Seperate chat logs per grid
//virtual void setPerAccountChatLogsDir(const std::string &username); // Set the per user chat log directory.
virtual void setPerAccountChatLogsDir(const std::string &gridname, const std::string &username, bool append); // Set the per user chat log directory.
// </FS:CR> FIRE-7343: Seperate chat logs per grid
// <FS:CR> Seperate user directories per grid on OS build
#ifdef HAS_OPENSIM_SUPPORT
virtual void setPerAccountChatLogsDir(const std::string &username, const std::string &gridname);
virtual void setLindenUserDir(const std::string &username, const std::string &gridname);
#else
virtual void setPerAccountChatLogsDir(const std::string &username); // Set the per user chat log directory.
virtual void setLindenUserDir(const std::string &username); // Set the linden user dir to this user's dir
#endif // HAS_OPENSIM_SUPPORT
// </FS:CR>
virtual void setSkinFolder(const std::string &skin_folder);
virtual void setSkinThemeFolder(const std::string &theme_folder); // KB: Catznip Viewer-skins
virtual bool setCacheDir(const std::string &path);

View File

@ -18950,17 +18950,6 @@ Change of this parameter will affect the layout of buttons in notification toast
<key>Value</key>
<integer>0</integer>
</map>
<key>FSAppendGridToLogFolder</key>
<map>
<key>Comment</key>
<string>Append grid name to chat log folder</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<!-- Start: Sounds for Prefs > Chat > Radar -->
<key>PlayModeUISndRadarChatEnter</key>

View File

@ -1092,7 +1092,14 @@ bool idle_startup()
// create necessary directories
// *FIX: these mkdir's should error check
// <FS:CR> Seperate user directories per grid on OS build
#ifdef HAS_OPENSIM_SUPPORT
std::string gridlabel = LLGridManager::getInstance()->getGridLabel();
gDirUtilp->setLindenUserDir(userid, gridlabel);
#else
gDirUtilp->setLindenUserDir(userid);
#endif // HAS_OPENSIM_SUPPORT
// </FS:CR>
LLFile::mkdir(gDirUtilp->getLindenUserDir());
// Set PerAccountSettingsFile to the default value.
@ -1124,12 +1131,13 @@ bool idle_startup()
{
gDirUtilp->setChatLogsDir(gSavedPerAccountSettings.getString("InstantMessageLogPath"));
}
// <FS:CR> FIRE-7343: Seperate chat logs per grid
//gDirUtilp->setPerAccountChatLogsDir(userid);
static LLCachedControl<bool> AppendGrid(gSavedSettings, "FSAppendGridToLogFolder");
gDirUtilp->setPerAccountChatLogsDir(LLGridManager::getInstance()->getGridLabel(), userid, AppendGrid);
// </FS:CR> FIRE-7343: Seperate chat logs per grid
// <FS:CR> Seperate user directories per grid on OS build
#ifdef HAS_OPENSIM_SUPPORT
gDirUtilp->setPerAccountChatLogsDir(userid, gridlabel);
#else
gDirUtilp->setPerAccountChatLogsDir(userid);
#endif // HAS_OPENSIM_SUPPORT
// </FS:CR>
LLFile::mkdir(gDirUtilp->getChatLogsDir());
LLFile::mkdir(gDirUtilp->getPerAccountChatLogsDir());

View File

@ -32,7 +32,6 @@
<check_box label="Zeige Sekunden im Chat- und Log-Zeitstempel" name="seconds_in_timestamps"/>
<check_box label="Verstecke Zeitstempel im Chat in der Nähe" name="hide_timestamps_nearby_chat"/>
<check_box label="Datumsstempel zu Protokolldateinamen hinzufügen" name="logfile_name_datestamp"/>
<check_box label="Grid-Namen zum Verzeichnis der Protokolldateien hinzufügen" name="grid_append_chat_log_folder"/>
<text name="log_path_desc">
Protokolle speichern in:
</text>

View File

@ -230,15 +230,6 @@
name="logfile_name_datestamp"
top_pad="3"
width="350"/>
<check_box
control_name="FSAppendGridToLogFolder"
height="16"
label="Append the grid name to chat log folders (Set at login)"
layout="topleft"
left_delta="0"
name="grid_append_chat_log_folder"
top_pad="3"
width="350"/>
<button
follows="left|top"
height="23"

View File

@ -27,7 +27,6 @@
<check_box label="Dodaj znacznik czasu do każdej linii w logu rozmów" name="show_timestamps_check_im"/>
<check_box label="Pokazuj sekundy w logach" name="seconds_in_timestamps"/>
<check_box label="Dodaj znacznik czasu do nazwy pliku z zapisem rozmów" name="logfile_name_datestamp"/>
<check_box label="Dodawaj nazwę siatki (grida) do folderów logów czatów (ustawiane przy logowaniu)" name="grid_append_chat_log_folder"/>
<button label="Lista zablokowanych / wyciszonych" name="block_list"/>
</panel>
<panel label="Śledzenie spojrzeń" name="tab-lookat">