Commits

Anonymous committed cabffc5 Merge

Merge with tip

Comments (0)

Files changed (9)

indra/newview/llhudeffectblob.cpp

 
 #include "llhudeffectblob.h"
 
-LLHUDEffectBlob::LLHUDEffectBlob(const U8 type) : LLHUDEffect(type)
+#include "llagent.h"
+#include "llviewercamera.h"
+#include "llrendersphere.h"
+
+LLHUDEffectBlob::LLHUDEffectBlob(const U8 type) 
+:	LLHUDEffect(type), 
+	mPixelSize(10)
 {
+	mTimer.start();
 }
 
 LLHUDEffectBlob::~LLHUDEffectBlob()
 
 void LLHUDEffectBlob::render()
 {
+	F32 time = mTimer.getElapsedTimeF32();
+	if (mDuration < time)
+	{
+		markDead();
+	}
+
+	LLVector3 pos_agent = gAgent.getPosAgentFromGlobal(mPositionGlobal);
+
+	LLVector3 pixel_up, pixel_right;
+
+	LLViewerCamera::instance().getPixelVectors(pos_agent, pixel_up, pixel_right);
+
+	LLGLSPipelineAlpha gls_pipeline_alpha;
+	gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
+
+	LLColor4U color = mColor;
+	color.mV[VALPHA] = clamp_rescale(time, 0.f, mDuration, 255.f, 0.f);
+	glColor4ubv(color.mV);
+
+	glPushMatrix();
+	glTranslatef(pos_agent.mV[0], pos_agent.mV[1], pos_agent.mV[2]);
+	F32 scale = pixel_up.magVec() * (F32)mPixelSize;
+	glScalef(scale, scale, scale);
+	gSphere.render(0);
+	glPopMatrix();
 }
 
 void LLHUDEffectBlob::renderForTimer()

indra/newview/llhudeffectblob.h

 public:
 	friend class LLHUDObject;
 
+	void setPixelSize(S32 pixels) { mPixelSize = pixels; }
+
 protected:
 	LLHUDEffectBlob(const U8 type);
 	~LLHUDEffectBlob();
 	/*virtual*/ void render();
 	/*virtual*/ void renderForTimer();
 private:
-
+	S32				mPixelSize;
+	LLFrameTimer	mTimer;
 };
 
 #endif // LL_LLHUDEFFECTBLOB_H

indra/newview/llhudobject.cpp

 		break;
 	case LL_HUD_EFFECT_BLOB:
 		hud_objectp = new LLHUDEffectBlob(type);
+		break;
 	default:
 		llwarns << "Unknown type of hud effect:" << (U32) type << llendl;
 	}

indra/newview/lltoolpie.cpp

 	mPick.mKeyMask = mask;
 
 	mMouseButtonDown = true;
-	mAbortClickToWalk = false;
 	
 	handleLeftClickPick();
 
 			mPick.mPosGlobal = gAgent.getPositionGlobal() + LLVector3d(LLViewerCamera::instance().getAtAxis()) * SELF_CLICK_WALK_DISTANCE;
 		}
 		gAgentCamera.setFocusOnAvatar(TRUE, TRUE);
+		if(mAutoPilotDestination) { mAutoPilotDestination->markDead(); }
 		mAutoPilotDestination = (LLHUDEffectBlob *)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_BLOB, FALSE);
 		mAutoPilotDestination->setPositionGlobal(mPick.mPosGlobal);
-		mAutoPilotDestination->setColor(LLColor4U::white);
-		mAutoPilotDestination->setDuration(5.f);
+		mAutoPilotDestination->setPixelSize(5);
+		mAutoPilotDestination->setColor(LLColor4U(50, 50, 200));
+		mAutoPilotDestination->setDuration(3.f);
 
 		handle_go_to();
+		mAbortClickToWalk = false;
+
 		return TRUE;
 	}
 	gViewerWindow->setCursor(UI_CURSOR_ARROW);
 
 	LLToolMgr::getInstance()->clearTransientTool();
 	gAgentCamera.setLookAt(LOOKAT_TARGET_CONVERSATION, obj); // maybe look at object/person clicked on
+
+	mAbortClickToWalk = false;
 	return LLTool::handleMouseUp(x, y, mask);
 }
 
 	}
 }
 
+void LLToolPie::handleSelect()
+{
+	mAbortClickToWalk = true;	
+}
 
 void LLToolPie::handleDeselect()
 {
 void LLToolPie::stopCameraSteering()
 {
 	mMouseOutsideSlop = false;
-	mMouseSteerGrabPoint = NULL;
 }
 
 bool LLToolPie::inCameraSteerMode()
 		const LLVector3 rotation_center_to_pick		= gAgent.getPosAgentFromGlobal(mSteerPick.mPosGlobal) - gAgent.getFrameAgent().getOrigin();
 
 		mClockwise = camera_to_rotation_center * rotation_center_to_pick < 0.f;
-		mMouseSteerGrabPoint= (LLHUDEffectBlob *)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_BLOB, FALSE);
-		mMouseSteerGrabPoint->setPositionGlobal(mPick.mPosGlobal);
-		mMouseSteerGrabPoint->setColor(LLColor4U::white);
-		mMouseSteerGrabPoint->setDuration(1000.f);
+		if (mMouseSteerGrabPoint) { mMouseSteerGrabPoint->markDead(); }
+		mMouseSteerGrabPoint = (LLHUDEffectBlob *)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_BLOB, FALSE);
+		mMouseSteerGrabPoint->setPositionGlobal(mSteerPick.mPosGlobal);
+		mMouseSteerGrabPoint->setColor(LLColor4U(50, 50, 200));
+		mMouseSteerGrabPoint->setPixelSize(5);
+		mMouseSteerGrabPoint->setDuration(2.f);
 	}
 }
 

indra/newview/lltoolpie.h

 	virtual void		stopEditing();
 
 	virtual void		onMouseCaptureLost();
+	virtual void		handleSelect();
 	virtual void		handleDeselect();
 	virtual LLTool*		getOverrideTool(MASK mask);
 
 	S32					mMouseDownY;
 	S32					mMouseSteerX;
 	S32					mMouseSteerY;
-	LLHUDEffectBlob*	mAutoPilotDestination;
-	LLHUDEffectBlob*	mMouseSteerGrabPoint;
+	LLPointer<LLHUDEffectBlob>	mAutoPilotDestination;
+	LLPointer<LLHUDEffectBlob>	mMouseSteerGrabPoint;
 	bool				mClockwise;			
 	bool				mAbortClickToWalk;
 	LLUUID				mMediaMouseCaptureID;

indra/newview/llviewermenu.cpp

 	LLView* container = gViewerWindow->getRootView()->getChildView("avatar_picker_and_destination_guide_container");
 	LLMediaCtrl* destinations = container->findChild<LLMediaCtrl>("destination_guide_contents");
 	LLMediaCtrl* avatar_picker = container->findChild<LLMediaCtrl>("avatar_picker_contents");
+	LLButton* avatar_btn = gViewerWindow->getRootView()->getChildView("bottom_tray")->getChild<LLButton>("avatar_btn");
+	LLButton* destination_btn = gViewerWindow->getRootView()->getChildView("bottom_tray")->getChild<LLButton>("destination_btn");
 
 	switch(panel_idx)
 	{
 		destinations->setVisible(true);
 		avatar_picker->setVisible(false);
 		LLFirstUse::notUsingDestinationGuide(false);
+		avatar_btn->setToggleState(false);
+		destination_btn->setToggleState(true);
 		break;
 	case 1:
 		container->setVisible(true);
 		destinations->setVisible(false);
 		avatar_picker->setVisible(true);
+		avatar_btn->setToggleState(true);
+		destination_btn->setToggleState(false);
 		break;
 	default:
 		container->setVisible(false);
 		destinations->setVisible(false);
 		avatar_picker->setVisible(false);
+		avatar_btn->setToggleState(false);
+		destination_btn->setToggleState(false);
 		break;
 	}
-
-	gViewerWindow->getRootView()->getChildView("bottom_tray")->getChild<LLUICtrl>("avatar_and_destination_btns")->setValue(show);
 };
 
 
 
 	view_listener_t::addMenu(new LLToggleUIHints(), "ToggleUIHints");
 
-	commit.add("DestinationAndAvatar.show", boost::bind(&toggle_destination_and_avatar_picker, _2));
-}
+	commit.add("Destination.show", boost::bind(&toggle_destination_and_avatar_picker, 0));
+	commit.add("Avatar.show", boost::bind(&toggle_destination_and_avatar_picker, 1));
+}

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

+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<floater
+ legacy_header_height="18"
+ can_resize="true"
+ height="440"
+ layout="topleft"
+ min_height="140"
+ min_width="467"
+ name="floater_about"
+ save_rect="true"
+ auto_tile="true"
+ title="MEDIA BROWSER"
+ width="820">
+    <floater.string
+     name="home_page_url">
+        http://www.secondlife.com
+    </floater.string>
+    <floater.string
+     name="support_page_url">
+        http://support.secondlife.com
+    </floater.string>
+    <layout_stack
+     bottom="440"
+     follows="left|right|top|bottom"
+     layout="topleft"
+     left="10"
+     name="stack1"
+     orientation="vertical" 
+     top="20"
+     width="800">
+        <layout_panel
+         auto_resize="false"
+         default_tab_group="1" 
+         height="20"
+         layout="topleft"
+         left="0"
+         min_height="20"
+         name="nav_controls"
+         top="400"
+         user_resize="false"
+         width="800">
+            <button
+             follows="left|top"
+             height="20"
+             label="Back"
+             layout="topleft"
+             left="0"
+             name="back"
+             top="0"
+             width="55">
+				<button.commit_callback
+				function="MediaBrowser.Back" />
+			</button>
+            <button
+             follows="left|top"
+             height="20"
+             label="Forward"
+             layout="topleft"
+             left_pad="3"
+             name="forward"
+             top_delta="0"
+             width="68">
+				<button.commit_callback
+				function="MediaBrowser.Forward" />
+			</button>
+            <button
+             enabled="false"
+             follows="left|top"
+             height="20"
+             label="Reload"
+             layout="topleft"
+             left_pad="2"
+             name="reload"
+             top_delta="0"
+             width="70">
+				<button.commit_callback
+				function="MediaBrowser.Refresh" />
+			</button>
+            <combo_box
+             allow_text_entry="true"
+             follows="left|top|right"
+             tab_group="1"
+             height="20"
+             layout="topleft"
+             left_pad="5"
+             max_chars="1024"
+             name="address"
+             combo_editor.select_on_focus="true"
+             top_delta="0"
+             width="540">
+				<combo_box.commit_callback
+				function="MediaBrowser.EnterAddress" />
+			</combo_box>
+            <button
+             enabled="false"
+             follows="right|top"
+             height="20"
+             label="Go"
+             layout="topleft"
+             left_pad="5"
+             name="go"
+             top_delta="0"
+             width="50">
+				<button.commit_callback
+				function="MediaBrowser.Go" />
+			</button>
+        </layout_panel>
+        <layout_panel
+         auto_resize="false"
+         height="20"
+         layout="topleft"
+         left_delta="0"
+         min_height="20"         
+         name="time_controls"
+         top_delta="0"
+         user_resize="false"
+         width="800">
+            <button
+             follows="left|top"
+             height="20"
+             label="rewind"
+             layout="topleft"
+             left="0"
+             name="rewind"
+             top="0"
+             width="55" />
+            <button
+             follows="left|top"
+             height="20"
+             image_selected="button_anim_play_selected.tga"
+             image_unselected="button_anim_play.tga"
+             layout="topleft"
+             left_delta="55"
+             name="play"
+             top_delta="0"
+             width="55" />
+            <button
+             follows="left|top"
+             height="20"
+             image_selected="button_anim_pause_selected.tga"
+             image_unselected="button_anim_pause.tga"
+             layout="topleft"
+             left_delta="0"
+             name="pause"
+             top_delta="0"
+             width="55" />
+            <button
+             follows="left|top"
+             height="20"
+             label="stop"
+             layout="topleft"
+             left_pad="10"
+             name="stop"
+             top_delta="0"
+             width="55" />
+            <button
+             follows="left|top"
+             height="20"
+             label="forward"
+             layout="topleft"
+             left_pad="20"
+             name="seek"
+             top_delta="0"
+             width="55" />
+        </layout_panel>
+        <layout_panel
+         auto_resize="false"
+         height="20"
+         layout="topleft"
+         left_delta="0"
+         min_height="20"         
+         name="parcel_owner_controls"
+         top_delta="0"
+         user_resize="false"
+         width="540">
+            <button
+             enabled="false"
+             follows="left|top"
+             height="20"
+             label="Send Current Page to Parcel"
+             layout="topleft"
+             left="0"
+             name="assign"
+             top="0"
+             width="200">
+				<button.commit_callback
+				function="MediaBrowser.Assign" />
+			</button>
+        </layout_panel>
+        <layout_panel
+         height="40"
+         layout="topleft"
+         left_delta="0"
+         name="external_controls"
+         top_delta="0"
+         user_resize="false"
+         width="540">
+          <web_browser
+             bottom="-30"
+             follows="all"
+             layout="topleft"
+             left="0"
+             name="browser"
+             top="0"
+             width="540" />
+            <button
+             follows="bottom|left"
+             height="20"
+             label="Open in My Web Browser"
+             layout="topleft"
+             left_delta="0"
+             name="open_browser"
+             top_pad="5"
+             width="185">
+              <button.commit_callback
+                function="MediaBrowser.OpenWebBrowser" />
+            </button>
+            <check_box
+             control_name="UseExternalBrowser"
+             follows="bottom|left"
+             height="20"
+             label="Always open in my web browser"
+             layout="topleft"
+             left_pad="5"
+             name="open_always"
+             top_delta="0"
+             width="200" />
+            <button
+             follows="bottom|right"
+             height="20"
+             label="Close"
+             layout="topleft"
+             left_pad="80"
+             name="close"
+             top_delta="0"
+             width="70">
+				<button.commit_callback
+				function="MediaBrowser.Close" />
+			</button>
+        </layout_panel>
+    </layout_stack>
+</floater>

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

+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<floater
+  legacy_header_height="18"
+  can_resize="true"
+  height="775"
+  layout="topleft"
+  min_height="400"
+  min_width="500"
+  name="floater_web_content"
+  save_rect="true"
+  auto_tile="true"
+  title=""
+  initial_mime_type="text/html"
+  width="780">
+  <layout_stack
+    bottom="775"
+    follows="left|right|top|bottom"
+    layout="topleft"
+    left="5"
+    name="stack1"
+    orientation="vertical"
+    top="20"
+    width="770">
+    <layout_panel
+      auto_resize="false"
+      default_tab_group="1"
+      height="22"
+      layout="topleft"
+      left="0"
+      min_height="20"
+      name="nav_controls"
+      top="400"
+      user_resize="false"
+      width="770">
+      <button
+        image_overlay="Arrow_Left_Off"
+		    image_disabled="PushButton_Disabled"
+		    image_disabled_selected="PushButton_Disabled"
+		    image_selected="PushButton_Selected"
+		    image_unselected="PushButton_Off"
+		    hover_glow_amount="0.15"
+        tool_tip="Navigate back"
+        follows="left|top"
+        height="22"
+        layout="topleft"
+        left="1"
+        name="back"
+        top="0"
+        width="22">
+        <button.commit_callback
+          function="WebContent.Back" />
+      </button>
+      <button
+        image_overlay="Arrow_Right_Off"
+		    image_disabled="PushButton_Disabled"
+		    image_disabled_selected="PushButton_Disabled"
+		    image_selected="PushButton_Selected"
+		    image_unselected="PushButton_Off"
+        tool_tip="Navigate forward"
+        follows="left|top"
+        height="22"
+        layout="topleft"
+        left="27"
+        name="forward"
+        top_delta="0"
+        width="22">
+        <button.commit_callback
+          function="WebContent.Forward" />
+      </button>
+      <button
+        image_overlay="Stop_Off"
+		    image_disabled="PushButton_Disabled"
+		    image_disabled_selected="PushButton_Disabled"
+		    image_selected="PushButton_Selected"
+		    image_unselected="PushButton_Off"
+        tool_tip="Stop navigation"
+        enabled="true"
+        follows="left|top"
+        height="22"
+        layout="topleft"
+        left="51"
+        name="stop"
+        top_delta="0"
+        width="22">
+        <button.commit_callback
+          function="WebContent.Stop" />
+      </button>
+      <button
+        image_overlay="Refresh_Off"
+		    image_disabled="PushButton_Disabled"
+		    image_disabled_selected="PushButton_Disabled"
+		    image_selected="PushButton_Selected"
+		    image_unselected="PushButton_Off"
+        tool_tip="Reload page"
+        follows="left|top"
+        height="22"
+        layout="topleft"
+        left="51"
+        name="reload"
+        top_delta="0"
+        width="22">
+        <button.commit_callback
+          function="WebContent.Reload" />
+      </button>
+      <combo_box
+        allow_text_entry="true"
+        follows="left|top|right"
+        tab_group="1"
+        height="22"
+        layout="topleft"
+        left_pad="4"
+        max_chars="1024"
+        name="address"
+        combo_editor.select_on_focus="true"
+        tool_tip="Enter URL here"
+        top_delta="0"
+        width="672">
+        <combo_box.commit_callback
+          function="WebContent.EnterAddress" />
+      </combo_box>
+      <icon
+        name="media_secure_lock_flag"
+        height="16"
+        follows="top|right"
+        image_name="Lock2"
+        layout="topleft"
+        left_delta="620"
+        top_delta="2"
+        visible="false" 
+        tool_tip="Secured Browsing"
+        width="16" />
+      <button
+        image_overlay="ExternalBrowser_Off"
+		    image_disabled="PushButton_Disabled"
+		    image_disabled_selected="PushButton_Disabled"
+		    image_selected="PushButton_Selected"
+		    image_unselected="PushButton_Off"
+        tool_tip="Open current URL in your desktop browser"
+        follows="right|top"
+        enabled="true" 
+        height="22"
+        layout="topleft"
+        name="popexternal"
+        right="770"
+        top_delta="-2"
+        width="22">
+        <button.commit_callback
+          function="WebContent.PopExternal" />
+      </button>
+    </layout_panel>
+    <layout_panel
+      height="40"
+      layout="topleft"
+      left_delta="0"
+      name="external_controls"
+      top_delta="0"
+      user_resize="false"
+      width="585">
+      <web_browser
+        bottom="-22"
+        follows="all"
+        layout="topleft"
+        left="0"
+        name="webbrowser"
+        top="0"/>
+      <text
+        type="string"
+        length="200"
+        follows="bottom|left"
+        height="20"
+        layout="topleft"
+        left_delta="0"
+        name="statusbartext"
+        parse_urls="false"
+        text_color="0.4 0.4 0.4 1"
+        top_pad="5"
+        width="495"/>
+      <progress_bar
+        color_bar="0.3 1.0 0.3 1"
+        follows="bottom|right"
+        height="16"
+        top_delta="-1"
+        left_pad="24"
+        layout="topleft"
+        name="statusbarprogress"
+        width="64"/>
+    </layout_panel>
+  </layout_stack>
+</floater>

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

  layout="topleft"
  left="0"
  name="bottom_tray"
- focus_root="true" 
+ focus_root="true"
  top="28"
  width="1310">
-    <string
+	<string
      name="DragIndicationImageName"
      value="Accordion_ArrowOpened_Off" />
-    <string
+	<string
      name="SpeakBtnToolTip"
      value="Turns microphone on/off" />
-    <string
+	<string
      name="VoiceControlBtnToolTip"
      value="Shows/hides voice control panel" />
-    <layout_stack
+	<layout_stack
      border_size="0"
      clip="false"
      follows="all"
      orientation="horizontal"
      top="0"
      width="1310">
-        <layout_panel
+		<layout_panel
          auto_resize="false"
-         user_resize="false" 
+         user_resize="false"
          min_width="2"
          width="2" />
-        <layout_panel
+		<layout_panel
          auto_resize="false"
          layout="topleft"
          max_width="320"
          min_width="214"
-         height="28" 
+         height="28"
          mouse_opaque="false"
 		 name="chat_bar_layout_panel"
          user_resize="true"
          width="308" >
-          <panel
-         name="chat_bar"
-            filename="panel_nearby_chat_bar.xml"
-            left="0"
-            height="28"
-            width="306"
-            top="0"
-            mouse_opaque="false"
-            follows="left|right"
+			<panel
+		   name="chat_bar"
+			  filename="panel_nearby_chat_bar.xml"
+			  left="0"
+			  height="28"
+			  width="306"
+			  top="0"
+			  mouse_opaque="false"
+			  follows="left|right"
           />
-        </layout_panel>
-        <layout_panel
+		</layout_panel>
+		<layout_panel
          auto_resize="false"
          follows="right"
          height="28"
          top_delta="0"
          user_resize="false"
          width="85">
-            <gesture_combo_list
+			<gesture_combo_list
              follows="left|right"
              height="23"
              label="Gesture"
              layout="topleft"
              get_more="false"
-             view_all="false" 
+             view_all="false"
              left="0"
              name="Gesture"
              tool_tip="Shows/hides gestures"
              top="5"
              width="82">
-                <combo_button
+				<combo_button
                  pad_right="10"
-                 can_drag="false" 
+                 can_drag="false"
                  use_ellipses="true" />
-                <combo_list
+				<combo_list
                  page_lines="17" />
-            </gesture_combo_list>
-        </layout_panel>
-        <layout_panel
+			</gesture_combo_list>
+		</layout_panel>
+		<layout_panel
          auto_resize="false"
          follows="left|right"
          height="28"
          name="cam_panel"
          user_resize="false"
          width="83">
-            <bottomtray_button
-              can_drag="false" 
+			<bottomtray_button
+              can_drag="false"
              follows="left|right"
              height="23"
              image_pressed="PushButton_Press"
              top="5"
              use_ellipses="true"
              width="80">
-                <init_callback
+				<init_callback
                  function="Button.SetDockableFloaterToggle"
                  parameter="camera" />
-            </bottomtray_button>
-        </layout_panel>
-        <layout_panel
+			</bottomtray_button>
+		</layout_panel>
+		<layout_panel
          auto_resize="false"
          follows="left|right"
          height="28"
          name="splitter_panel"
          user_resize="false"
          width="17">
-            <icon
+			<icon
              follows="left|bottom"
              height="18"
-             width="2" 
-             left="6" 
-             image_name="Button_Separator" 
-             name="separator" 
+             width="2"
+             left="6"
+             image_name="Button_Separator"
+             name="separator"
              top="7"/>
-        </layout_panel>
-      <layout_panel
-        auto_resize="false"
-        follows="left|right"
-        height="28"
-        layout="topleft"
-        min_height="28"
-        min_width="206"
-        mouse_opaque="false"
-        name="avatar_and_destinations_panel"
-        user_resize="false"
-        width="206">
-        <radio_group name="avatar_and_destination_btns"
-                     commit_callback.function="DestinationAndAvatar.show" 
-                     allow_deselect="true"
-                     top="5"
-                     left="0"
-                     height="23" 
-                     width="206">
-          <radio_item left="0" 
-                      height="23"
-                      bottom="0"
-                      width="100"
-                      name="destination_btn"
-                      value="0">
-            <check_button  image_pressed="PushButton_Press"
-                           image_pressed_selected="PushButton_Selected_Press"
-                           image_selected="PushButton_Selected_Press"
-                           image_unselected="PushButton_Off"
-                           scale_image="true"
-                           font="SansSerifSmall"
-                           label="Destinations"
-                           left="0"
-                           height="23"
-                           width="100"
-                           bottom="0"/>
-          </radio_item>
-          <radio_item left="105"
-                      height="23"
-                      bottom="0"
-                      width="100"
-                      name="avatar_btn"
-                      value="1">
-            <check_button  image_pressed="PushButton_Press"
-                           image_pressed_selected="PushButton_Selected_Press"
-                           image_selected="PushButton_Selected_Press"
-                           image_unselected="PushButton_Off"
-                           scale_image="true"
-                           font="SansSerifSmall"
-                           label="My Avatar"
-                           left="0"
-                           height="23"
-                           width="100"
-                           bottom="0"/>
-          </radio_item>
-        </radio_group>
-       </layout_panel>
-       <layout_panel
-         auto_resize="false"
-         follows="left|right"
-         height="28"
-         layout="topleft"
-         min_width="17"
-         name="splitter_panel"
-         user_resize="false"
-         width="17">
-            <icon
+		</layout_panel>
+		<layout_panel
+		  auto_resize="false"
+		  follows="left|right"
+		  height="28"
+		  layout="topleft"
+		  min_height="28"
+		  min_width="83"
+		  mouse_opaque="false"
+		  name="avatar_and_destinations_panel"
+		  user_resize="false"
+		  width="103">
+			<bottomtray_button
+			 can_drag="false"
+			follows="left|right"
+			height="23"
+			image_pressed="PushButton_Press"
+			image_pressed_selected="PushButton_Selected_Press"
+			image_selected="PushButton_Selected_Press"
+			label="Destinations"
+			layout="topleft"
+			left="0"
+			name="destination_btn"
+			tool_tip="Shows people window"
+			top="5"
+			is_toggle="true"
+			use_ellipses="true"
+			width="100">
+				<bottomtray_button.commit_callback
+				  function="Destination.show" />
+			</bottomtray_button>
+		</layout_panel>
+		<layout_panel
+		  auto_resize="false"
+		  follows="left|right"
+		  height="28"
+		  layout="topleft"
+		  min_height="28"
+		  min_width="73"
+		  mouse_opaque="false"
+		  name="avatar_and_destinations_panel"
+		  user_resize="false"
+		  width="103">
+			<bottomtray_button
+			 can_drag="false"
+			follows="left|right"
+			height="23"
+			image_pressed="PushButton_Press"
+			image_pressed_selected="PushButton_Selected_Press"
+			image_selected="PushButton_Selected_Press"
+			label="My Avatar"
+			layout="topleft"
+			left="0"
+			name="avatar_btn"
+			top="5"
+			is_toggle="true"
+			use_ellipses="true"
+			width="100">
+				<bottomtray_button.commit_callback
+				  function="Avatar.show" />
+			</bottomtray_button>
+		</layout_panel>
+		<layout_panel
+		  auto_resize="false"
+		  follows="left|right"
+		  height="28"
+		  layout="topleft"
+		  min_width="17"
+		  name="splitter_panel"
+		  user_resize="false"
+		  width="17">
+			<icon
              follows="left|bottom"
              height="18"
-             width="2" 
-             left="6" 
-             image_name="Button_Separator" 
-             name="separator" 
+             width="2"
+             left="6"
+             image_name="Button_Separator"
+             name="separator"
              top="7"/>
-        </layout_panel>
-        <layout_panel
+		</layout_panel>
+		<layout_panel
          auto_resize="false"
          follows="right"
          height="28"
          top_delta="0"
          user_resize="false"
          width="105">
-          <bottomtray_button
-             can_drag="false"
-            follows="left|right"
-            height="23"
-            image_pressed="PushButton_Press"
-            image_pressed_selected="PushButton_Selected_Press"
-            image_selected="PushButton_Selected_Press"
-            label="People"
-            layout="topleft"
-            left="0"
-            name="show_people_button"
-            tool_tip="Shows people window"
-            top="5"
-            is_toggle="true"
-            use_ellipses="true"
-            width="100">
-            <bottomtray_button.commit_callback
-              function="ShowSidetrayPanel"
-             parameter="panel_people" />
-          </bottomtray_button>
-        </layout_panel>
-      <layout_panel
-         auto_resize="false"
-         follows="right"
-         height="28"
-         layout="topleft"
-         min_height="28"
-         min_width="65"
-         mouse_opaque="false"
-         name="profile_panel"
-         top_delta="0"
-         user_resize="false"
-         width="105">
-          <bottomtray_button
-             can_drag="false"
-            follows="left|right"
-            height="23"
-            image_pressed="PushButton_Press"
-            image_pressed_selected="PushButton_Selected_Press"
-            image_selected="PushButton_Selected_Press"
-            label="Profile"
-            layout="topleft"
-            left="0"
-            name="show_profile_btn"
-            tool_tip="Shows profile window"
-            is_toggle="true" 
-            top="5"
-            use_ellipses="true"
-            width="100">
-            <bottomtray_button.commit_callback
-              function="ToggleAgentProfile"
-              parameter="agent"/>
-          </bottomtray_button>
-        </layout_panel>
-      <layout_panel
-         auto_resize="false"
-         follows="right"
-         height="28"
-         layout="topleft"
-         min_height="28"
-         min_width="65"
-         mouse_opaque="false"
-         name="howto_panel"
-         top_delta="0"
-         user_resize="false"
-         width="105">
-        <bottomtray_button
-           can_drag="false"
-          follows="left|right"
-          height="23"
-          image_pressed="PushButton_Press"
-          image_pressed_selected="PushButton_Selected_Press"
-          image_selected="PushButton_Selected_Press"
-          label="How To"
-          layout="topleft"
-          left="0"
-          name="show_help_btn"
-          tool_tip="Open Second Life How To topics"
-          is_toggle="true"
-          top="5"
-          use_ellipses="true"
-          width="100">
-          <bottomtray_button.commit_callback
-            function="ToggleHelp"
-            parameter="f1_help" />
-          </bottomtray_button>
-      </layout_panel>
-      <layout_panel
-         follows="left|right"
-         height="30"
-         layout="topleft"
-         min_width="95"
-         mouse_opaque="false"
-         name="chiclet_list_panel"
-         top="0"
-         user_resize="false"
-         width="189">
-<!--*NOTE: min_width of the chiclet_panel (chiclet_list) must be the same
+			<bottomtray_button
+			   can_drag="false"
+			  follows="left|right"
+			  height="23"
+			  image_pressed="PushButton_Press"
+			  image_pressed_selected="PushButton_Selected_Press"
+			  image_selected="PushButton_Selected_Press"
+			  label="People"
+			  layout="topleft"
+			  left="0"
+			  name="show_people_button"
+			  tool_tip="Shows people window"
+			  top="5"
+			  is_toggle="true"
+			  use_ellipses="true"
+			  width="100">
+				<bottomtray_button.commit_callback
+				  function="ShowSidetrayPanel"
+				 parameter="panel_people" />
+			</bottomtray_button>
+		</layout_panel>
+		<layout_panel
+		   auto_resize="false"
+		   follows="right"
+		   height="28"
+		   layout="topleft"
+		   min_height="28"
+		   min_width="65"
+		   mouse_opaque="false"
+		   name="profile_panel"
+		   top_delta="0"
+		   user_resize="false"
+		   width="105">
+			<bottomtray_button
+			   can_drag="false"
+			  follows="left|right"
+			  height="23"
+			  image_pressed="PushButton_Press"
+			  image_pressed_selected="PushButton_Selected_Press"
+			  image_selected="PushButton_Selected_Press"
+			  label="Profile"
+			  layout="topleft"
+			  left="0"
+			  name="show_profile_btn"
+			  tool_tip="Shows profile window"
+			  is_toggle="true"
+			  top="5"
+			  use_ellipses="true"
+			  width="100">
+				<bottomtray_button.commit_callback
+				  function="ToggleAgentProfile"
+				  parameter="agent"/>
+			</bottomtray_button>
+		</layout_panel>
+		<layout_panel
+		   auto_resize="false"
+		   follows="right"
+		   height="28"
+		   layout="topleft"
+		   min_height="28"
+		   min_width="65"
+		   mouse_opaque="false"
+		   name="howto_panel"
+		   top_delta="0"
+		   user_resize="false"
+		   width="105">
+			<bottomtray_button
+			   can_drag="false"
+			  follows="left|right"
+			  height="23"
+			  image_pressed="PushButton_Press"
+			  image_pressed_selected="PushButton_Selected_Press"
+			  image_selected="PushButton_Selected_Press"
+			  label="How To"
+			  layout="topleft"
+			  left="0"
+			  name="show_help_btn"
+			  tool_tip="Open Second Life How To topics"
+			  is_toggle="true"
+			  top="5"
+			  use_ellipses="true"
+			  width="100">
+				<bottomtray_button.commit_callback
+				  function="ToggleHelp"
+				  parameter="f1_help" />
+			</bottomtray_button>
+		</layout_panel>
+		<layout_panel
+		   follows="left|right"
+		   height="30"
+		   layout="topleft"
+		   min_width="95"
+		   mouse_opaque="false"
+		   name="chiclet_list_panel"
+		   top="0"
+		   user_resize="false"
+		   width="189">
+			<!--*NOTE: min_width of the chiclet_panel (chiclet_list) must be the same
 as for parent layout_panel (chiclet_list_panel) to resize bottom tray properly. EXT-991-->
-            <chiclet_panel
+			<chiclet_panel
              chiclet_padding="4"
              follows="left|right"
              height="24"
              name="chiclet_list"
              top="7"
              width="189">
-                <button
+				<button
                  auto_resize="true"
                  follows="right"
                  height="29"
                  top="-28"
                  visible="false"
                  width="7" />
-                <button
+				<button
                  auto_resize="true"
                  follows="right"
                  height="29"
                  top="-28"
                  visible="false"
                  width="7" />
-            </chiclet_panel>
-        </layout_panel>
-        <layout_panel auto_resize="false"
-                      user_resize="false" 
+			</chiclet_panel>
+		</layout_panel>
+		<layout_panel auto_resize="false"
+                      user_resize="false"
                       width="4"
                       min_width="4"/>
-        <layout_panel
+		<layout_panel
          auto_resize="false"
          follows="right"
          height="28"
          top="0"
          user_resize="false"
          width="37">
-            <chiclet_im_well
+			<chiclet_im_well
              follows="right"
              height="28"
              layout="topleft"
              name="im_well"
              top="0"
              width="35">
-             <!--
+				<!--
 Emulate 4 states of button by background images, see details in EXT-3147. The same should be for notification_well button
 xml attribute           Description
 image_unselected        "Unlit" - there are no new messages
 image_pressed           "Lit" - there are new messages
 image_pressed_selected  "Lit" + "Selected" - there are new messages and the Well is open
              -->
-                <button
+				<button
                  auto_resize="true"
                  follows="right"
                  halign="center"
                  name="Unread IM messages"
                  tool_tip="Conversations"
                  width="34">
-                    <init_callback
+					<init_callback
                      function="Button.SetDockableFloaterToggle"
                      parameter="im_well_window" />
-                </button>
-            </chiclet_im_well>
-        </layout_panel>
-        <layout_panel
+				</button>
+			</chiclet_im_well>
+		</layout_panel>
+		<layout_panel
          auto_resize="false"
          follows="right"
          height="28"
          top="0"
          user_resize="false"
          width="37">
-            <chiclet_notification
+			<chiclet_notification
              follows="right"
              height="23"
              layout="topleft"
              name="notification_well"
              top="5"
              width="35">
-                <button
+				<button
                  auto_resize="true"
                  bottom_pad="3"
                  follows="right"
                  name="Unread"
                  tool_tip="Notifications"
                  width="34">
-                    <init_callback
+					<init_callback
                      function="Button.SetDockableFloaterToggle"
                      parameter="notification_well_window" />
-                </button>
-            </chiclet_notification>
-        </layout_panel>
-      <layout_panel
-         auto_resize="false"
-         user_resize="false" 
-         min_width="4"
-         name="DUMMY2"
-         width="8" />
-    </layout_stack>
+				</button>
+			</chiclet_notification>
+		</layout_panel>
+		<layout_panel
+		   auto_resize="false"
+		   user_resize="false"
+		   min_width="4"
+		   name="DUMMY2"
+		   width="8" />
+	</layout_stack>
 </panel>