Commits

Merov Linden committed b29a3fa Merge

Pull from viewer-experience-merge

Comments (0)

Files changed (6)

indra/newview/app_settings/settings.xml

       <key>Value</key>
       <integer>0</integer>
     </map>
+     <key>AllowBottomTrayButtonReordering</key>
+    <map>
+      <key>Comment</key>
+      <string>Allow user to move and hide bottom tray buttons</string>
+      <key>Persist</key>
+      <integer>1</integer>
+      <key>Type</key>
+      <string>Boolean</string>
+      <key>Value</key>
+      <integer>1</integer>
+    </map>
 </map>
 </llsd>

indra/newview/app_settings/settings_minimal.xml

         <key>Type</key>
             <string>Boolean</string>
         <key>Value</key>
-            <integer>0</integer>
+            <integer>1</integer>
         </map>
     <key>VoiceDisableMic</key>
         <map>
       <key>Value</key>
       <integer>1</integer>
     </map>
+    <key>AllowBottomTrayButtonReordering</key>
+    <map>
+      <key>Comment</key>
+      <string>Allow user to move and hide bottom tray buttons</string>
+      <key>Persist</key>
+      <integer>1</integer>
+      <key>Type</key>
+      <string>Boolean</string>
+      <key>Value</key>
+      <integer>0</integer>
+    </map>
   </map>
 </llsd>

indra/newview/llbottomtray.cpp

 		// Localization tool doesn't understand custom buttons like <talk_button>
 		mSpeakBtn->setSpeakToolTip( getString("SpeakBtnToolTip") );
 		mSpeakBtn->setShowToolTip( getString("VoiceControlBtnToolTip") );
+	}	
+	else
+	{
+		LLTransientFloaterMgr::getInstance()->addControlView(getChild<LLButton>("speak_btn"));
+		LLTransientFloaterMgr::getInstance()->addControlView(getChild<LLButton>("speak_flyout_btn"));
 	}
 
+
 	// Both parts of speak button should be initially disabled because
 	// it takes some time between logging in to world and connecting to voice channel.
 	getChild<LLButton>("speak_btn")->setEnabled(false);
 
 void LLBottomTray::saveButtonsOrder()
 {
+	if (!gSavedSettings.getBOOL("AllowBottomTrayButtonReordering")) return;
+
 	std::string user_dir = gDirUtilp->getLindenUserDir();
 	if (user_dir.empty()) return;
 	
 
 void LLBottomTray::loadButtonsOrder()
 {
+	if (!gSavedSettings.getBOOL("AllowBottomTrayButtonReordering")) return;
+
 	// load per-resident sorting information
 	std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_PER_SL_ACCOUNT, SORTING_DATA_FILE_NAME);
 
 	mStateProcessedObjectMap.insert(std::make_pair(RS_BUTTON_HOWTO, getChild<LLPanel>("howto_panel")));
 
 	// init an order of processed buttons
-	mButtonsProcessOrder.push_back(RS_BUTTON_GESTURES);
-	mButtonsProcessOrder.push_back(RS_BUTTON_MOVEMENT);
-	mButtonsProcessOrder.push_back(RS_BUTTON_CAMERA);
 	mButtonsProcessOrder.push_back(RS_BUTTON_DESTINATIONS);
 	mButtonsProcessOrder.push_back(RS_BUTTON_AVATARS);
 	mButtonsProcessOrder.push_back(RS_BUTTON_SNAPSHOT);
 	mButtonsProcessOrder.push_back(RS_BUTTON_PROFILE);
 	mButtonsProcessOrder.push_back(RS_BUTTON_SPLITTER_2);
 	mButtonsProcessOrder.push_back(RS_BUTTON_HOWTO);
+	mButtonsProcessOrder.push_back(RS_BUTTON_MOVEMENT);
+	mButtonsProcessOrder.push_back(RS_BUTTON_CAMERA);
+	mButtonsProcessOrder.push_back(RS_BUTTON_GESTURES);
 
 	mButtonsOrder.push_back(RS_BUTTON_SPEAK);
 	mButtonsOrder.insert(mButtonsOrder.end(), mButtonsProcessOrder.begin(), mButtonsProcessOrder.end());

indra/newview/llviewermessage.cpp

 	}
 	else
 	{
-		LLSD args;
-		std::string new_msg =LLNotifications::instance().getGlobalString(message);
-
-		std::string localized_msg;
-		bool is_message_localized = LLTrans::findString(localized_msg, new_msg);
-
-		args["MESSAGE"] = is_message_localized ? localized_msg : new_msg;
-		LLNotificationsUtil::add("SystemMessageTip", args);
+		// Hack fix for EXP-623 (blame fix on RN :)) to avoid a sim deploy
+		const std::string AUTOPILOT_CANCELED_MSG("Autopilot canceled");
+		if (message.find(AUTOPILOT_CANCELED_MSG) == std::string::npos )
+		{
+			LLSD args;
+			std::string new_msg =LLNotifications::instance().getGlobalString(message);
+
+			std::string localized_msg;
+			bool is_message_localized = LLTrans::findString(localized_msg, new_msg);
+
+			args["MESSAGE"] = is_message_localized ? localized_msg : new_msg;
+			LLNotificationsUtil::add("SystemMessageTip", args);
+		}
 	}
 }
 

indra/newview/skins/default/xui/en/floater_sound_devices.xml

  border="false"
  legacy_header_height="18"
  can_minimize="true"
- can_resize="true"
+ can_resize="false"
  can_close="false"
  save_dock_state="true"
  save_visibility="true"

indra/newview/skins/minimal/xui/en/panel_bottomtray.xml

          mouse_opaque="false"
 		 name="chat_bar_layout_panel"
          user_resize="true"
-         width="308" >
+         width="312" >
 			<panel
 		   name="chat_bar"
 			  filename="panel_nearby_chat_bar.xml"
           name="speak_flyout_panel"
           top_delta="0"
           user_resize="false"
-          width="20">
+          width="26">
       <button
      follows="left|right"
      width="20"
              layout="topleft"
              get_more="false"
              view_all="false"
-             left="3"
+             left="0"
              name="Gesture"
              tool_tip="Make your avatar do things"
              top="5"
          mouse_opaque="false"
          name="cam_panel"
          user_resize="false"
-         width="83">
+         width="86">
 			<bottomtray_button
               can_drag="false"
              follows="left|right"
          follows="left|right"
          height="28"
          layout="topleft"
-         min_width="17"
+         min_width="8"
          name="splitter_panel_1"
          user_resize="false"
-         width="17">
+         width="8">
 			<icon
              follows="left|bottom"
              height="18"
              width="2"
-             left="6"
+             left="0"
              image_name="Button_Separator"
              name="separator"
              top="7"/>
 		  mouse_opaque="false"
 		  name="destinations_panel"
 		  user_resize="false"
-		  width="103">
+		  width="106">
 			<bottomtray_button
 			 can_drag="false"
 			follows="left|right"
 		  mouse_opaque="false"
 		  name="avatar_panel"
 		  user_resize="false"
-		  width="103">
+		  width="106">
 			<bottomtray_button
 			 can_drag="false"
 			follows="left|right"
 		  follows="left|right"
 		  height="28"
 		  layout="topleft"
-		  min_width="17"
+		  min_width="8"
 		  name="splitter_panel_2"
 		  user_resize="false"
-		  width="17">
+		  width="8">
 			<icon
              follows="left|bottom"
              height="18"
              width="2"
-             left="6"
+             left="0"
              image_name="Button_Separator"
              name="separator"
              top="7"/>
          name="people_panel"
          top_delta="0"
          user_resize="false"
-         width="105">
+         width="106">
 			<bottomtray_button
 			   can_drag="false"
 			  follows="left|right"
 		   name="profile_panel"
 		   top_delta="0"
 		   user_resize="false"
-		   width="105">
+		   width="106">
 			<bottomtray_button
 			   can_drag="false"
 			  follows="left|right"
 		   name="howto_panel"
 		   top_delta="0"
 		   user_resize="false"
-		   width="105">
+		   width="106">
 			<bottomtray_button
 			   can_drag="false"
 			  follows="left|right"