Fixed major bug EXT-6661 (chat log paths reset back to default)

* Removed unused InstantMessageLogFolder
 * Restored initializing logic of InstantMessageLogPath value from 1.23 to share setting between viewers.
 * Restored unused in 2.0 "LogChatTimestamp" and "LogChatIM" settings to avoid removing of them in 2.0
 * Restored default value of the "Save local chat log" setting from 1.23 & replaced with 2.0 own setting (LogNearbyChat was: LogChat)

Reviewed by Igor Borovkov & Kent Quirk at https://codereview.productengine.com/secondlife/r/193/
(transplanted from 43297b92c1bb7487dab6610bea61acac4c355878)
meow-7.2.2
Mike Antipov 2010-04-07 18:33:05 +03:00
parent 4e76ec36a0
commit bbe9b636b5
5 changed files with 51 additions and 24 deletions

View File

@ -22,17 +22,6 @@
<key>Value</key>
<string>|TOKEN COPY BusyModeResponse|</string>
</map>
<key>InstantMessageLogFolder</key>
<map>
<key>Comment</key>
<string>Top level folder to your log files.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>String</string>
<key>Value</key>
<string />
</map>
<key>InstantMessageLogPath</key>
<map>
<key>Comment</key>
@ -55,10 +44,10 @@
<key>Value</key>
<integer>0</integer>
</map>
<key>LogChat</key>
<key>LogNearbyChat</key>
<map>
<key>Comment</key>
<string>Log Chat</string>
<string>Log Nearby Chat messages to a file. Is used instead of LogChat but with the "1" default value.</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
@ -110,5 +99,46 @@
<key>Value</key>
<integer>1</integer>
</map>
<!-- Settings below are for back compatibility only.
They are not used in current viewer anymore. But they can't be removed to avoid
influence on previous versions of the viewer in case of settings are not used or default value
should be changed. See EXT-6661. -->
<!-- 1.23 settings -->
<key>LogChat</key>
<map>
<key>Comment</key>
<string>Log Chat</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>LogChatIM</key>
<map>
<key>Comment</key>
<string>Log Incoming Instant Messages with Chat</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>LogChatTimestamp</key>
<map>
<key>Comment</key>
<string>Log Timestamp of Chat</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<!-- End of back compatibility settings -->
</map>
</llsd>

View File

@ -1093,10 +1093,8 @@ void LLFloaterPreference::onClickLogPath()
{
return; //Canceled!
}
std::string chat_log_dir = picker.getDirName();
std::string chat_log_top_folder= gDirUtilp->getBaseFileName(chat_log_dir);
gSavedPerAccountSettings.setString("InstantMessageLogPath",chat_log_dir);
gSavedPerAccountSettings.setString("InstantMessageLogFolder",chat_log_top_folder);
gSavedPerAccountSettings.setString("InstantMessageLogPath", picker.getDirName());
}
void LLFloaterPreference::setPersonalInfo(const std::string& visibility, bool im_via_email, const std::string& email)

View File

@ -207,7 +207,7 @@ void LLNearbyChat::addMessage(const LLChat& chat,bool archive,const LLSD &args)
return;
}
if (gSavedPerAccountSettings.getBOOL("LogChat"))
if (gSavedPerAccountSettings.getBOOL("LogNearbyChat"))
{
LLLogChat::saveHistory("chat", chat.mFromName, chat.mFromID, chat.mText);
}

View File

@ -886,13 +886,12 @@ bool idle_startup()
}
//Default the path if one isn't set.
if (gSavedPerAccountSettings.getString("InstantMessageLogFolder").empty())
// *NOTE: unable to check variable differ from "InstantMessageLogPath" because it was
// provided in pre 2.0 viewer. See EXT-6661
if (gSavedPerAccountSettings.getString("InstantMessageLogPath").empty())
{
gDirUtilp->setChatLogsDir(gDirUtilp->getOSUserAppDir());
std::string chat_log_dir = gDirUtilp->getChatLogsDir();
std::string chat_log_top_folder=gDirUtilp->getBaseFileName(chat_log_dir);
gSavedPerAccountSettings.setString("InstantMessageLogPath",chat_log_dir);
gSavedPerAccountSettings.setString("InstantMessageLogFolder",chat_log_top_folder);
gSavedPerAccountSettings.setString("InstantMessageLogPath", gDirUtilp->getChatLogsDir());
}
else
{

View File

@ -84,7 +84,7 @@
</text>
<check_box
enabled="false"
control_name="LogChat"
control_name="LogNearbyChat"
height="16"
label="Save nearby chat logs on my computer"
layout="topleft"