Commits

Mike Antipov  committed 7bb8ddb

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)

  • Participants
  • Parent commits 7032259

Comments (0)

Files changed (5)

File indra/newview/app_settings/settings_per_account.xml

         <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>
         <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>
         <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>

File indra/newview/llfloaterpreference.cpp

 	{
 		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)

File indra/newview/llnearbychat.cpp

 		return;
 	}
 
-	if (gSavedPerAccountSettings.getBOOL("LogChat")) 
+	if (gSavedPerAccountSettings.getBOOL("LogNearbyChat"))
 	{
 		LLLogChat::saveHistory("chat", chat.mFromName, chat.mFromID, chat.mText);
 	}

File indra/newview/llstartup.cpp

 		}
 
 		//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
 		{

File indra/newview/skins/default/xui/en/panel_preferences_privacy.xml

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