From d7945e5d31f3cf8da0e21d417ad07459b12e8711 Mon Sep 17 00:00:00 2001
From: Alexei Arabadji <aarabadji@productengine.com>
Date: Wed, 24 Feb 2010 12:43:27 +0200
Subject: =?UTF-8?q?implemented=20EXT-4641=20=E2=80=9C[BSI]=20Undocked=20ca?=
 =?UTF-8?q?mera=20and=20movement=20floaters=20position=20should=20persist?=
 =?UTF-8?q?=20across=20the=20sessions=E2=80=9D,=20made=20move=20and=20came?=
 =?UTF-8?q?ra=20floaters=20save=20dock=20state;?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

--HG--
branch : product-engine
---
 indra/llui/lldockablefloater.cpp                        | 8 ++------
 indra/llui/lldockablefloater.h                          | 2 +-
 indra/newview/llimfloater.cpp                           | 2 ++
 indra/newview/llscriptfloater.cpp                       | 4 +++-
 indra/newview/skins/default/xui/en/floater_camera.xml   | 1 +
 indra/newview/skins/default/xui/en/floater_moveview.xml | 1 +
 6 files changed, 10 insertions(+), 8 deletions(-)

(limited to 'indra')

diff --git a/indra/llui/lldockablefloater.cpp b/indra/llui/lldockablefloater.cpp
index 0492ab0f25..3d8670fef2 100644
--- a/indra/llui/lldockablefloater.cpp
+++ b/indra/llui/lldockablefloater.cpp
@@ -202,10 +202,6 @@ void LLDockableFloater::setDocked(bool docked, bool pop_on_undock)
 			translate(0, UNDOCK_LEAP_HEIGHT);
 		}
 	}
-	else
-	{
-		docked = false;
-	}
 
 	LLFloater::setDocked(docked, pop_on_undock);
 }
@@ -223,10 +219,10 @@ void LLDockableFloater::draw()
 	LLFloater::draw();
 }
 
-void LLDockableFloater::setDockControl(LLDockControl* dockControl, bool docked /* = true */)
+void LLDockableFloater::setDockControl(LLDockControl* dockControl)
 {
 	mDockControl.reset(dockControl);
-	setDocked(docked && mDockControl.get() != NULL && mDockControl.get()->isDockVisible());
+	setDocked(isDocked());
 }
 
 const LLUIImagePtr& LLDockableFloater::getDockTongue()
diff --git a/indra/llui/lldockablefloater.h b/indra/llui/lldockablefloater.h
index 4d747390af..2b1ce99ae2 100644
--- a/indra/llui/lldockablefloater.h
+++ b/indra/llui/lldockablefloater.h
@@ -127,7 +127,7 @@ private:
 	void resetInstance();
 
 protected:
-	void setDockControl(LLDockControl* dockControl, bool docked = true);
+	void setDockControl(LLDockControl* dockControl);
 	const LLUIImagePtr& getDockTongue();
 
 private:
diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp
index 098e540678..8cdc50eb70 100644
--- a/indra/newview/llimfloater.cpp
+++ b/indra/newview/llimfloater.cpp
@@ -112,6 +112,8 @@ LLIMFloater::LLIMFloater(const LLUUID& session_id)
 	setOverlapsScreenChannel(true);
 
 	LLTransientFloaterMgr::getInstance()->addControlView(LLTransientFloaterMgr::IM, this);
+
+	setDocked(true);
 }
 
 void LLIMFloater::onFocusLost()
diff --git a/indra/newview/llscriptfloater.cpp b/indra/newview/llscriptfloater.cpp
index a88a242fbe..32fd42aded 100644
--- a/indra/newview/llscriptfloater.cpp
+++ b/indra/newview/llscriptfloater.cpp
@@ -283,7 +283,9 @@ void LLScriptFloater::dockToChiclet(bool dock)
 		setSavePosition(false);
 
 		setDockControl(new LLDockControl(chiclet, this, getDockTongue(),
-			LLDockControl::TOP,  boost::bind(&LLScriptFloater::getAllowedRect, this, _1)), dock);
+			LLDockControl::TOP,  boost::bind(&LLScriptFloater::getAllowedRect, this, _1)));
+
+		setDocked(dock);
 
 		// Restore saving
 		setSavePosition(save);
diff --git a/indra/newview/skins/default/xui/en/floater_camera.xml b/indra/newview/skins/default/xui/en/floater_camera.xml
index 2bd8420925..1b8bbe42d2 100644
--- a/indra/newview/skins/default/xui/en/floater_camera.xml
+++ b/indra/newview/skins/default/xui/en/floater_camera.xml
@@ -12,6 +12,7 @@
  help_topic="camera_floater"
  save_rect="true"
  save_visibility="true"
+ save_dock_state="true"
  single_instance="true"
  width="150">
     <floater.string
diff --git a/indra/newview/skins/default/xui/en/floater_moveview.xml b/indra/newview/skins/default/xui/en/floater_moveview.xml
index 851a689d42..0a5820ce73 100644
--- a/indra/newview/skins/default/xui/en/floater_moveview.xml
+++ b/indra/newview/skins/default/xui/en/floater_moveview.xml
@@ -12,6 +12,7 @@
  help_topic="move_floater"
  save_rect="true"
  save_visibility="true"
+ save_dock_state="true"
  width="115">
     <string
      name="walk_forward_tooltip">
-- 
cgit v1.2.3