From bbe9b636b5f78e4fe6d1a4da56a4a66ffef407d1 Mon Sep 17 00:00:00 2001 From: Mike Antipov <mantipov@productengine.com> Date: Wed, 7 Apr 2010 18:33:05 +0300 Subject: [PATCH] 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) --- .../app_settings/settings_per_account.xml | 56 ++++++++++++++----- indra/newview/llfloaterpreference.cpp | 6 +- indra/newview/llnearbychat.cpp | 2 +- indra/newview/llstartup.cpp | 9 ++- .../xui/en/panel_preferences_privacy.xml | 2 +- 5 files changed, 51 insertions(+), 24 deletions(-) diff --git a/indra/newview/app_settings/settings_per_account.xml b/indra/newview/app_settings/settings_per_account.xml index af5fa4f3889..3ce32a05b0d 100644 --- a/indra/newview/app_settings/settings_per_account.xml +++ b/indra/newview/app_settings/settings_per_account.xml @@ -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> diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 1172064b59d..1491484ba9a 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -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) diff --git a/indra/newview/llnearbychat.cpp b/indra/newview/llnearbychat.cpp index c8d5d782b74..5d72827a7ac 100644 --- a/indra/newview/llnearbychat.cpp +++ b/indra/newview/llnearbychat.cpp @@ -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); } diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index d4d6a74f0c6..1c439d9d145 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -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 { diff --git a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml index 3d7f3924046..fca9b4bca15 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml @@ -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" -- GitLab