From 3c2be426e5e905076d00b9492c0e66c8b31caf19 Mon Sep 17 00:00:00 2001
From: Todd Stinson <stinson@lindenlab.com>
Date: Wed, 30 May 2012 18:47:12 -0700
Subject: First pass at refactoring the pathfinding linksets and pathfinding
 characters classes to reduce code duplication, as both functionalities were
 heavily duplicated.

---
 indra/newview/llfloaterpathfindingobjects.h | 152 ++++++++++++++++++++++++++++
 1 file changed, 152 insertions(+)
 create mode 100644 indra/newview/llfloaterpathfindingobjects.h

(limited to 'indra/newview/llfloaterpathfindingobjects.h')

diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
new file mode 100644
index 0000000000..7fa7f89f51
--- /dev/null
+++ b/indra/newview/llfloaterpathfindingobjects.h
@@ -0,0 +1,152 @@
+/** 
+* @file   llfloaterpathfindingobjects.h
+* @brief  Header file for llfloaterpathfindingobjects
+* @author Stinson@lindenlab.com
+*
+* $LicenseInfo:firstyear=2012&license=viewerlgpl$
+* Second Life Viewer Source Code
+* Copyright (C) 2012, Linden Research, Inc.
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Lesser General Public
+* License as published by the Free Software Foundation;
+* version 2.1 of the License only.
+*
+* This library is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this library; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+*
+* Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
+* $/LicenseInfo$
+*/
+#ifndef LL_LLFLOATERPATHFINDINGOBJECTS_H
+#define LL_LLFLOATERPATHFINDINGOBJECTS_H
+
+#include <boost/signals2.hpp>
+
+#include "llfloater.h"
+#include "llpathfindingmanager.h"
+#include "llpathfindingobject.h"
+#include "llpathfindingobjectlist.h"
+#include "llselectmgr.h"
+#include "v4color.h"
+
+class LLButton;
+class LLCheckBoxCtrl;
+class LLScrollListCtrl;
+class LLSD;
+class LLTextBase;
+
+class LLFloaterPathfindingObjects : public LLFloater
+{
+public:
+	virtual void onOpen(const LLSD &pKey);
+	virtual void onClose(bool pIsAppQuitting);
+	virtual void draw();
+
+protected:
+	friend class LLFloaterReg;
+
+	typedef enum
+	{
+		kMessagingUnknown,
+		kMessagingGetRequestSent,
+		kMessagingGetError,
+		kMessagingSetRequestSent,
+		kMessagingSetError,
+		kMessagingComplete,
+		kMessagingNotEnabled
+	} EMessagingState;
+
+	LLFloaterPathfindingObjects(const LLSD &pSeed);
+	virtual ~LLFloaterPathfindingObjects();
+
+	virtual BOOL                       postBuild();
+
+	virtual void                       requestGetObjects();
+	LLPathfindingManager::request_id_t getNewRequestId();
+	void                               handleNewObjectList(LLPathfindingManager::request_id_t pRequestId, LLPathfindingManager::ERequestStatus pRequestStatus, LLPathfindingObjectListPtr pObjectList);
+	void                               handleUpdateObjectList(LLPathfindingManager::request_id_t pRequestId, LLPathfindingManager::ERequestStatus pRequestStatus, LLPathfindingObjectListPtr pObjectList);
+
+	void                               rebuildObjectsScrollList();
+	virtual LLSD                       convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr) const;
+
+	virtual void                       updateControls();
+	virtual void                       updateSelection();
+
+	virtual S32                        getNameColumnIndex() const;
+	virtual const LLColor4             &getBeaconColor() const;
+	virtual const LLColor4             &getBeaconTextColor() const;
+	virtual S32                        getBeaconWidth() const;
+
+	BOOL                               isShowBeacons() const;
+	void                               clearAllObjects();
+	void                               selectAllObjects();
+	void                               selectNoneObjects();
+	void                               teleportToSelectedObject();
+
+	virtual LLPathfindingObjectListPtr getEmptyObjectList() const;
+	int                                getNumSelectedObjects() const;
+	LLPathfindingObjectListPtr         getSelectedObjects() const;
+	LLPathfindingObjectPtr             getFirstSelectedObject() const;
+
+	EMessagingState                    getMessagingState() const;
+
+private:
+	LLFloaterPathfindingObjects(const LLFloaterPathfindingObjects &pOther);
+
+	void setMessagingState(EMessagingState pMessagingState);
+
+	void onRefreshObjectsClicked();
+	void onSelectAllObjectsClicked();
+	void onSelectNoneObjectsClicked();
+	void onTakeClicked();
+	void onTakeCopyClicked();
+	void onReturnClicked();
+	void onDeleteClicked();
+	void onTeleportClicked();
+
+	void onScrollListSelectionChanged();
+	void onSelectionListChanged();
+	void onRegionBoundaryCrossed();
+
+	void updateMessagingStatus();
+	void updateStateOnListActionControls();
+	void updateStateOnEditFields();
+
+	LLPathfindingObjectPtr findObject(const LLScrollListItem *pListItem) const;
+
+	LLScrollListCtrl                   *mObjectsScrollList;
+	LLTextBase                         *mMessagingStatus;
+	LLButton                           *mRefreshListButton;
+	LLButton                           *mSelectAllButton;
+	LLButton                           *mSelectNoneButton;
+	LLCheckBoxCtrl                     *mShowBeaconCheckBox;
+	LLButton                           *mTakeButton;
+	LLButton                           *mTakeCopyButton;
+	LLButton                           *mReturnButton;
+	LLButton                           *mDeleteButton;
+	LLButton                           *mTeleportButton;
+
+	LLColor4                           mDefaultBeaconColor;
+	LLColor4                           mDefaultBeaconTextColor;
+	LLColor4                           mErrorTextColor;
+	LLColor4                           mWarningTextColor;
+
+	EMessagingState                    mMessagingState;
+	LLPathfindingManager::request_id_t mMessagingRequestId;
+
+	LLPathfindingObjectListPtr         mObjectList;
+
+	LLObjectSelectionHandle            mObjectsSelection;
+
+	boost::signals2::connection        mSelectionUpdateSlot;
+	boost::signals2::connection        mRegionBoundaryCrossingSlot;
+};
+
+#endif // LL_LLFLOATERPATHFINDINGOBJECTS_H
-- 
cgit v1.2.3


From 3352a1eac15f752535b636866eeb966ec3900c62 Mon Sep 17 00:00:00 2001
From: Todd Stinson <stinson@lindenlab.com>
Date: Wed, 30 May 2012 19:39:08 -0700
Subject: Cleaning up some unreferenced headers and classes definitions from
 previous refactoring.

---
 indra/newview/llfloaterpathfindingobjects.h | 1 +
 1 file changed, 1 insertion(+)

(limited to 'indra/newview/llfloaterpathfindingobjects.h')

diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
index 7fa7f89f51..34eb129864 100644
--- a/indra/newview/llfloaterpathfindingobjects.h
+++ b/indra/newview/llfloaterpathfindingobjects.h
@@ -39,6 +39,7 @@
 class LLButton;
 class LLCheckBoxCtrl;
 class LLScrollListCtrl;
+class LLScrollListItem;
 class LLSD;
 class LLTextBase;
 
-- 
cgit v1.2.3


From 938f42ded789dd70b31820d29694256cec3a1572 Mon Sep 17 00:00:00 2001
From: Todd Stinson <stinson@lindenlab.com>
Date: Thu, 31 May 2012 12:22:47 -0700
Subject: Reloading the the pathfinding object floaters when the god level is
 changed.

---
 indra/newview/llfloaterpathfindingobjects.h | 3 +++
 1 file changed, 3 insertions(+)

(limited to 'indra/newview/llfloaterpathfindingobjects.h')

diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
index 34eb129864..79d241757c 100644
--- a/indra/newview/llfloaterpathfindingobjects.h
+++ b/indra/newview/llfloaterpathfindingobjects.h
@@ -29,6 +29,7 @@
 
 #include <boost/signals2.hpp>
 
+#include "llagent.h"
 #include "llfloater.h"
 #include "llpathfindingmanager.h"
 #include "llpathfindingobject.h"
@@ -115,6 +116,7 @@ private:
 	void onScrollListSelectionChanged();
 	void onSelectionListChanged();
 	void onRegionBoundaryCrossed();
+	void onGodLevelChange(U8 pGodLevel);
 
 	void updateMessagingStatus();
 	void updateStateOnListActionControls();
@@ -148,6 +150,7 @@ private:
 
 	boost::signals2::connection        mSelectionUpdateSlot;
 	boost::signals2::connection        mRegionBoundaryCrossingSlot;
+	LLAgent::god_level_change_slot_t   mGodLevelChangeSlot;
 };
 
 #endif // LL_LLFLOATERPATHFINDINGOBJECTS_H
-- 
cgit v1.2.3


From ef75a2e07ec4f26c9126c04af1adfbd28d7eaa9b Mon Sep 17 00:00:00 2001
From: prep <prep@lindenlab.com>
Date: Thu, 31 May 2012 16:38:19 -0400
Subject: WIP:Displaying physics capsule for a character - it is currently
 disabled.

---
 indra/newview/llfloaterpathfindingobjects.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

(limited to 'indra/newview/llfloaterpathfindingobjects.h')

diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
index 34eb129864..f9c099e1a2 100644
--- a/indra/newview/llfloaterpathfindingobjects.h
+++ b/indra/newview/llfloaterpathfindingobjects.h
@@ -98,6 +98,11 @@ protected:
 
 	EMessagingState                    getMessagingState() const;
 
+public:
+	LLUUID getUUIDFromSelection( LLVector3& pos );
+	BOOL isPhysicsCapsuleEnabled( LLUUID& id, LLVector3& pos );
+	void onShowPhysicsCapsuleClicked();
+
 private:
 	LLFloaterPathfindingObjects(const LLFloaterPathfindingObjects &pOther);
 
@@ -128,6 +133,7 @@ private:
 	LLButton                           *mSelectAllButton;
 	LLButton                           *mSelectNoneButton;
 	LLCheckBoxCtrl                     *mShowBeaconCheckBox;
+	LLCheckBoxCtrl                     *mShowPhysicsCapsuleCheckBox;
 	LLButton                           *mTakeButton;
 	LLButton                           *mTakeCopyButton;
 	LLButton                           *mReturnButton;
@@ -148,6 +154,11 @@ private:
 
 	boost::signals2::connection        mSelectionUpdateSlot;
 	boost::signals2::connection        mRegionBoundaryCrossingSlot;
+public:
+	
+	LLRootHandle<LLFloaterPathfindingObjects>     mSelfHandle;
+	static LLHandle<LLFloaterPathfindingObjects>  sInstanceHandle;
+	static LLHandle<LLFloaterPathfindingObjects> getInstanceHandle();
 };
 
 #endif // LL_LLFLOATERPATHFINDINGOBJECTS_H
-- 
cgit v1.2.3


From 41bcd567646190cda86ec3ee77041bd84193c377 Mon Sep 17 00:00:00 2001
From: Todd Stinson <stinson@lindenlab.com>
Date: Thu, 31 May 2012 17:25:41 -0700
Subject: A bit more class clean-up for the LLFloaterPathfindingObjects.

---
 indra/newview/llfloaterpathfindingobjects.h | 40 ++++++++++++++---------------
 1 file changed, 20 insertions(+), 20 deletions(-)

(limited to 'indra/newview/llfloaterpathfindingobjects.h')

diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
index 79d241757c..aacf299d13 100644
--- a/indra/newview/llfloaterpathfindingobjects.h
+++ b/indra/newview/llfloaterpathfindingobjects.h
@@ -79,7 +79,6 @@ protected:
 	virtual LLSD                       convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr) const;
 
 	virtual void                       updateControls();
-	virtual void                       updateSelection();
 
 	virtual S32                        getNameColumnIndex() const;
 	virtual const LLColor4             &getBeaconColor() const;
@@ -102,25 +101,26 @@ protected:
 private:
 	LLFloaterPathfindingObjects(const LLFloaterPathfindingObjects &pOther);
 
-	void setMessagingState(EMessagingState pMessagingState);
-
-	void onRefreshObjectsClicked();
-	void onSelectAllObjectsClicked();
-	void onSelectNoneObjectsClicked();
-	void onTakeClicked();
-	void onTakeCopyClicked();
-	void onReturnClicked();
-	void onDeleteClicked();
-	void onTeleportClicked();
-
-	void onScrollListSelectionChanged();
-	void onSelectionListChanged();
-	void onRegionBoundaryCrossed();
-	void onGodLevelChange(U8 pGodLevel);
-
-	void updateMessagingStatus();
-	void updateStateOnListActionControls();
-	void updateStateOnEditFields();
+	void                   setMessagingState(EMessagingState pMessagingState);
+
+	void                   onRefreshObjectsClicked();
+	void                   onSelectAllObjectsClicked();
+	void                   onSelectNoneObjectsClicked();
+	void                   onTakeClicked();
+	void                   onTakeCopyClicked();
+	void                   onReturnClicked();
+	void                   onDeleteClicked();
+	void                   onTeleportClicked();
+
+	void                   onScrollListSelectionChanged();
+	void                   onInWorldSelectionListChanged();
+	void                   onRegionBoundaryCrossed();
+	void                   onGodLevelChange(U8 pGodLevel);
+
+	void                   updateMessagingStatus();
+	void                   updateStateOnListActionControls();
+	void                   updateStateOnEditFields();
+	void                   updateOnScrollListChange();
 
 	LLPathfindingObjectPtr findObject(const LLScrollListItem *pListItem) const;
 
-- 
cgit v1.2.3


From a8ff37b95609148c60ddda9acfca65b2b89d6b9d Mon Sep 17 00:00:00 2001
From: prep <none@none>
Date: Fri, 1 Jun 2012 15:48:19 -0400
Subject: Migrated physics capsule logic into pathing character object

---
 indra/newview/llfloaterpathfindingobjects.h | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

(limited to 'indra/newview/llfloaterpathfindingobjects.h')

diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
index fc096a7c31..e0f3c12419 100644
--- a/indra/newview/llfloaterpathfindingobjects.h
+++ b/indra/newview/llfloaterpathfindingobjects.h
@@ -50,6 +50,7 @@ public:
 	virtual void onOpen(const LLSD &pKey);
 	virtual void onClose(bool pIsAppQuitting);
 	virtual void draw();
+	virtual void updateStateOnEditFields();
 
 protected:
 	friend class LLFloaterReg;
@@ -98,11 +99,6 @@ protected:
 
 	EMessagingState                    getMessagingState() const;
 
-public:
-	LLUUID getUUIDFromSelection( LLVector3& pos );
-	BOOL isPhysicsCapsuleEnabled( LLUUID& id, LLVector3& pos );
-	void onShowPhysicsCapsuleClicked();
-
 private:
 	LLFloaterPathfindingObjects(const LLFloaterPathfindingObjects &pOther);
 
@@ -124,18 +120,20 @@ private:
 
 	void updateMessagingStatus();
 	void updateStateOnListActionControls();
-	void updateStateOnEditFields();
 	void                   updateOnScrollListChange();
 
 	LLPathfindingObjectPtr findObject(const LLScrollListItem *pListItem) const;
 
+	void unhideAnyCharacters( );
+
+protected:
 	LLScrollListCtrl                   *mObjectsScrollList;
 	LLTextBase                         *mMessagingStatus;
 	LLButton                           *mRefreshListButton;
 	LLButton                           *mSelectAllButton;
 	LLButton                           *mSelectNoneButton;
 	LLCheckBoxCtrl                     *mShowBeaconCheckBox;
-	LLCheckBoxCtrl                     *mShowPhysicsCapsuleCheckBox;
+	
 	LLButton                           *mTakeButton;
 	LLButton                           *mTakeCopyButton;
 	LLButton                           *mReturnButton;
@@ -157,11 +155,7 @@ private:
 	boost::signals2::connection        mSelectionUpdateSlot;
 	boost::signals2::connection        mRegionBoundaryCrossingSlot;
 	LLAgent::god_level_change_slot_t   mGodLevelChangeSlot;
-public:
-	
-	LLRootHandle<LLFloaterPathfindingObjects>     mSelfHandle;
-	static LLHandle<LLFloaterPathfindingObjects>  sInstanceHandle;
-	static LLHandle<LLFloaterPathfindingObjects> getInstanceHandle();
+
 };
 
 #endif // LL_LLFLOATERPATHFINDINGOBJECTS_H
-- 
cgit v1.2.3


From bf8d3e1d304007cbd2a723808193e172b3e56c8a Mon Sep 17 00:00:00 2001
From: prep <none@none>
Date: Fri, 1 Jun 2012 16:02:12 -0400
Subject: Migrated restoration of physics capsule into pathing character

---
 indra/newview/llfloaterpathfindingobjects.h | 2 --
 1 file changed, 2 deletions(-)

(limited to 'indra/newview/llfloaterpathfindingobjects.h')

diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
index e0f3c12419..7e7f1b9449 100644
--- a/indra/newview/llfloaterpathfindingobjects.h
+++ b/indra/newview/llfloaterpathfindingobjects.h
@@ -124,8 +124,6 @@ private:
 
 	LLPathfindingObjectPtr findObject(const LLScrollListItem *pListItem) const;
 
-	void unhideAnyCharacters( );
-
 protected:
 	LLScrollListCtrl                   *mObjectsScrollList;
 	LLTextBase                         *mMessagingStatus;
-- 
cgit v1.2.3


From ea23285f8b728bf52c8490610c610f4abd2d6957 Mon Sep 17 00:00:00 2001
From: Todd Stinson <stinson@lindenlab.com>
Date: Mon, 4 Jun 2012 14:36:43 -0700
Subject: Ensuring that the scroll list is rebuilt after any missing avatar
 names are loaded into cache.

---
 indra/newview/llfloaterpathfindingobjects.h | 39 +++++++++++++++++------------
 1 file changed, 23 insertions(+), 16 deletions(-)

(limited to 'indra/newview/llfloaterpathfindingobjects.h')

diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
index 7e7f1b9449..604d026f29 100644
--- a/indra/newview/llfloaterpathfindingobjects.h
+++ b/indra/newview/llfloaterpathfindingobjects.h
@@ -27,6 +27,7 @@
 #ifndef LL_LLFLOATERPATHFINDINGOBJECTS_H
 #define LL_LLFLOATERPATHFINDINGOBJECTS_H
 
+#include <set>
 #include <boost/signals2.hpp>
 
 #include "llagent.h"
@@ -37,6 +38,7 @@
 #include "llselectmgr.h"
 #include "v4color.h"
 
+class LLAvatarName;
 class LLButton;
 class LLCheckBoxCtrl;
 class LLScrollListCtrl;
@@ -77,7 +79,9 @@ protected:
 	void                               handleUpdateObjectList(LLPathfindingManager::request_id_t pRequestId, LLPathfindingManager::ERequestStatus pRequestStatus, LLPathfindingObjectListPtr pObjectList);
 
 	void                               rebuildObjectsScrollList();
-	virtual LLSD                       convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr) const;
+	virtual LLSD                       convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr);
+
+	void                               rebuildScrollListAfterAvatarNameLoads(const LLUUID &pAvatarId);
 
 	virtual void                       updateControls();
 
@@ -102,24 +106,26 @@ protected:
 private:
 	LLFloaterPathfindingObjects(const LLFloaterPathfindingObjects &pOther);
 
-	void setMessagingState(EMessagingState pMessagingState);
+	void                   setMessagingState(EMessagingState pMessagingState);
 
-	void onRefreshObjectsClicked();
-	void onSelectAllObjectsClicked();
-	void onSelectNoneObjectsClicked();
-	void onTakeClicked();
-	void onTakeCopyClicked();
-	void onReturnClicked();
-	void onDeleteClicked();
-	void onTeleportClicked();
+	void                   onRefreshObjectsClicked();
+	void                   onSelectAllObjectsClicked();
+	void                   onSelectNoneObjectsClicked();
+	void                   onTakeClicked();
+	void                   onTakeCopyClicked();
+	void                   onReturnClicked();
+	void                   onDeleteClicked();
+	void                   onTeleportClicked();
 
-	void onScrollListSelectionChanged();
+	void                   onScrollListSelectionChanged();
 	void                   onInWorldSelectionListChanged();
-	void onRegionBoundaryCrossed();
+	void                   onRegionBoundaryCrossed();
 	void                   onGodLevelChange(U8 pGodLevel);
 
-	void updateMessagingStatus();
-	void updateStateOnListActionControls();
+	void                   handleAvatarNameLoads(const LLUUID &pAvatarId, const LLAvatarName &pAvatarName);
+
+	void                   updateMessagingStatus();
+	void                   updateStateOnListActionControls();
 	void                   updateOnScrollListChange();
 
 	LLPathfindingObjectPtr findObject(const LLScrollListItem *pListItem) const;
@@ -131,13 +137,15 @@ protected:
 	LLButton                           *mSelectAllButton;
 	LLButton                           *mSelectNoneButton;
 	LLCheckBoxCtrl                     *mShowBeaconCheckBox;
-	
+
 	LLButton                           *mTakeButton;
 	LLButton                           *mTakeCopyButton;
 	LLButton                           *mReturnButton;
 	LLButton                           *mDeleteButton;
 	LLButton                           *mTeleportButton;
 
+	std::set<LLUUID>                   mLoadingAvatarNames;
+
 	LLColor4                           mDefaultBeaconColor;
 	LLColor4                           mDefaultBeaconTextColor;
 	LLColor4                           mErrorTextColor;
@@ -153,7 +161,6 @@ protected:
 	boost::signals2::connection        mSelectionUpdateSlot;
 	boost::signals2::connection        mRegionBoundaryCrossingSlot;
 	LLAgent::god_level_change_slot_t   mGodLevelChangeSlot;
-
 };
 
 #endif // LL_LLFLOATERPATHFINDINGOBJECTS_H
-- 
cgit v1.2.3


From e85909aa9b52ac439f2886ca0048069fb9561893 Mon Sep 17 00:00:00 2001
From: Todd Stinson <stinson@lindenlab.com>
Date: Mon, 4 Jun 2012 16:22:01 -0700
Subject: Some class refactoring.

---
 indra/newview/llfloaterpathfindingobjects.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

(limited to 'indra/newview/llfloaterpathfindingobjects.h')

diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
index 604d026f29..cf418b3b71 100644
--- a/indra/newview/llfloaterpathfindingobjects.h
+++ b/indra/newview/llfloaterpathfindingobjects.h
@@ -52,7 +52,6 @@ public:
 	virtual void onOpen(const LLSD &pKey);
 	virtual void onClose(bool pIsAppQuitting);
 	virtual void draw();
-	virtual void updateStateOnEditFields();
 
 protected:
 	friend class LLFloaterReg;
@@ -126,11 +125,11 @@ private:
 
 	void                   updateMessagingStatus();
 	void                   updateStateOnListActionControls();
+	void                   updateStateOnEditFields();
 	void                   updateOnScrollListChange();
 
 	LLPathfindingObjectPtr findObject(const LLScrollListItem *pListItem) const;
 
-protected:
 	LLScrollListCtrl                   *mObjectsScrollList;
 	LLTextBase                         *mMessagingStatus;
 	LLButton                           *mRefreshListButton;
-- 
cgit v1.2.3


From e78266e9378bdd19ea4a8f7833cf39e59d2faecc Mon Sep 17 00:00:00 2001
From: Todd Stinson <stinson@lindenlab.com>
Date: Fri, 15 Jun 2012 12:45:41 -0700
Subject: BUGFIX: Correcting a behavior where moving the cursor over a selected
 object inappropriately called updateControls().  Fix was to break the
 updateControl() functionality into two separate handlers
 updateControlsOnScrollListChange() and
 updateControlsOnInWorldSelectionChange().

---
 indra/newview/llfloaterpathfindingobjects.h | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

(limited to 'indra/newview/llfloaterpathfindingobjects.h')

diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
index cf418b3b71..88790db12d 100644
--- a/indra/newview/llfloaterpathfindingobjects.h
+++ b/indra/newview/llfloaterpathfindingobjects.h
@@ -82,7 +82,8 @@ protected:
 
 	void                               rebuildScrollListAfterAvatarNameLoads(const LLUUID &pAvatarId);
 
-	virtual void                       updateControls();
+	virtual void                       updateControlsOnScrollListChange();
+	virtual void                       updateControlsOnInWorldSelectionChange();
 
 	virtual S32                        getNameColumnIndex() const;
 	virtual const LLColor4             &getBeaconColor() const;
@@ -124,9 +125,9 @@ private:
 	void                   handleAvatarNameLoads(const LLUUID &pAvatarId, const LLAvatarName &pAvatarName);
 
 	void                   updateMessagingStatus();
-	void                   updateStateOnListActionControls();
-	void                   updateStateOnEditFields();
-	void                   updateOnScrollListChange();
+	void                   updateStateOnListControls();
+	void                   updateStateOnActionControls();
+	void                   selectScrollListItemsInWorld();
 
 	LLPathfindingObjectPtr findObject(const LLScrollListItem *pListItem) const;
 
-- 
cgit v1.2.3


From 328322436c046bf229de83041b29ebe5ce7c4029 Mon Sep 17 00:00:00 2001
From: Todd Stinson <stinson@lindenlab.com>
Date: Fri, 22 Jun 2012 16:12:32 -0700
Subject: PATH-764,PATH-765: Adding in a context menu option on right-click of
 an object to show in the linksets floater if all objects are non-characters,
 or to show in the characters floater if all objects are characters.

---
 indra/newview/llfloaterpathfindingobjects.h | 6 ++++++
 1 file changed, 6 insertions(+)

(limited to 'indra/newview/llfloaterpathfindingobjects.h')

diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
index 88790db12d..6d5d6d24b2 100644
--- a/indra/newview/llfloaterpathfindingobjects.h
+++ b/indra/newview/llfloaterpathfindingobjects.h
@@ -36,6 +36,7 @@
 #include "llpathfindingobject.h"
 #include "llpathfindingobjectlist.h"
 #include "llselectmgr.h"
+#include "lluuid.h"
 #include "v4color.h"
 
 class LLAvatarName;
@@ -90,6 +91,8 @@ protected:
 	virtual const LLColor4             &getBeaconTextColor() const;
 	virtual S32                        getBeaconWidth() const;
 
+	void                               showFloaterWithSelectionObjects();
+
 	BOOL                               isShowBeacons() const;
 	void                               clearAllObjects();
 	void                               selectAllObjects();
@@ -158,6 +161,9 @@ private:
 
 	LLObjectSelectionHandle            mObjectsSelection;
 
+	bool                               mHasObjectsToBeSelected;
+	uuid_vec_t                         mObjectsToBeSelected;
+
 	boost::signals2::connection        mSelectionUpdateSlot;
 	boost::signals2::connection        mRegionBoundaryCrossingSlot;
 	LLAgent::god_level_change_slot_t   mGodLevelChangeSlot;
-- 
cgit v1.2.3


From bf86a697313869627f8b7025ecd68032f2556f6f Mon Sep 17 00:00:00 2001
From: Todd Stinson <stinson@lindenlab.com>
Date: Mon, 25 Jun 2012 15:37:18 -0700
Subject: PATH-717: Minor UI changes from Leo.  Also, adding a notification
 when attempting to return or delete multiple items.

---
 indra/newview/llfloaterpathfindingobjects.h | 3 +++
 1 file changed, 3 insertions(+)

(limited to 'indra/newview/llfloaterpathfindingobjects.h')

diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
index 6d5d6d24b2..84b0f3f3fe 100644
--- a/indra/newview/llfloaterpathfindingobjects.h
+++ b/indra/newview/llfloaterpathfindingobjects.h
@@ -132,6 +132,9 @@ private:
 	void                   updateStateOnActionControls();
 	void                   selectScrollListItemsInWorld();
 
+	void                   handleReturnItemsResponse(const LLSD &pNotification, const LLSD &pResponse);
+	void                   handleDeleteItemsResponse(const LLSD &pNotification, const LLSD &pResponse);
+
 	LLPathfindingObjectPtr findObject(const LLScrollListItem *pListItem) const;
 
 	LLScrollListCtrl                   *mObjectsScrollList;
-- 
cgit v1.2.3


From 78910cf3016fc55eaf8214640b348df0f8bcdeda Mon Sep 17 00:00:00 2001
From: Todd Stinson <stinson@lindenlab.com>
Date: Tue, 26 Jun 2012 18:04:19 -0700
Subject: Updating the header licensing comments.

---
 indra/newview/llfloaterpathfindingobjects.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'indra/newview/llfloaterpathfindingobjects.h')

diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
index 84b0f3f3fe..42db7bba65 100644
--- a/indra/newview/llfloaterpathfindingobjects.h
+++ b/indra/newview/llfloaterpathfindingobjects.h
@@ -1,6 +1,6 @@
 /** 
 * @file   llfloaterpathfindingobjects.h
-* @brief  Header file for llfloaterpathfindingobjects
+* @brief  Base class for both the pathfinding linksets and characters floater.
 * @author Stinson@lindenlab.com
 *
 * $LicenseInfo:firstyear=2012&license=viewerlgpl$
-- 
cgit v1.2.3


From 685a672b74550ca0dbf8a816257c84c9c44fd34d Mon Sep 17 00:00:00 2001
From: Todd Stinson <stinson@lindenlab.com>
Date: Thu, 28 Jun 2012 15:37:55 -0700
Subject: Cleaning up new files in preparation for merge into viewer-release.

---
 indra/newview/llfloaterpathfindingobjects.h | 1 +
 1 file changed, 1 insertion(+)

(limited to 'indra/newview/llfloaterpathfindingobjects.h')

diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
index 42db7bba65..e8d446b598 100644
--- a/indra/newview/llfloaterpathfindingobjects.h
+++ b/indra/newview/llfloaterpathfindingobjects.h
@@ -28,6 +28,7 @@
 #define LL_LLFLOATERPATHFINDINGOBJECTS_H
 
 #include <set>
+
 #include <boost/signals2.hpp>
 
 #include "llagent.h"
-- 
cgit v1.2.3


From 683a96a5f1e9111d62710fe621d52192d34079ed Mon Sep 17 00:00:00 2001
From: Todd Stinson <stinson@lindenlab.com>
Date: Tue, 14 Aug 2012 14:54:29 -0700
Subject: PATH-849: Refactoring the behavior after loading the owner name of a
 pathfinding object into the avatar name cache so that each object can simply
 update its respective row in the scroll list rather than rebuilding from
 scratch after all names are loaded.

---
 indra/newview/llfloaterpathfindingobjects.h | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

(limited to 'indra/newview/llfloaterpathfindingobjects.h')

diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
index e8d446b598..b7fd4340ed 100644
--- a/indra/newview/llfloaterpathfindingobjects.h
+++ b/indra/newview/llfloaterpathfindingobjects.h
@@ -27,7 +27,8 @@
 #ifndef LL_LLFLOATERPATHFINDINGOBJECTS_H
 #define LL_LLFLOATERPATHFINDINGOBJECTS_H
 
-#include <set>
+#include <string>
+#include <map>
 
 #include <boost/signals2.hpp>
 
@@ -80,14 +81,14 @@ protected:
 	void                               handleUpdateObjectList(LLPathfindingManager::request_id_t pRequestId, LLPathfindingManager::ERequestStatus pRequestStatus, LLPathfindingObjectListPtr pObjectList);
 
 	void                               rebuildObjectsScrollList();
-	virtual LLSD                       convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr);
-
-	void                               rebuildScrollListAfterAvatarNameLoads(const LLUUID &pAvatarId);
+	virtual void                       buildObjectsScrollList(const LLPathfindingObjectListPtr pObjectListPtr);
+	void                               addObjectToScrollList(const LLPathfindingObjectPtr pObjectPr, const LLSD &pScrollListItemData);
 
 	virtual void                       updateControlsOnScrollListChange();
 	virtual void                       updateControlsOnInWorldSelectionChange();
 
 	virtual S32                        getNameColumnIndex() const;
+	virtual S32                        getOwnerNameColumnIndex() const;
 	virtual const LLColor4             &getBeaconColor() const;
 	virtual const LLColor4             &getBeaconTextColor() const;
 	virtual S32                        getBeaconWidth() const;
@@ -126,7 +127,7 @@ private:
 	void                   onRegionBoundaryCrossed();
 	void                   onGodLevelChange(U8 pGodLevel);
 
-	void                   handleAvatarNameLoads(const LLUUID &pAvatarId, const LLAvatarName &pAvatarName);
+	void                   handleObjectNameResponse(const LLUUID &pObjectUUID, const std::string &pOwnerName);
 
 	void                   updateMessagingStatus();
 	void                   updateStateOnListControls();
@@ -151,8 +152,6 @@ private:
 	LLButton                           *mDeleteButton;
 	LLButton                           *mTeleportButton;
 
-	std::set<LLUUID>                   mLoadingAvatarNames;
-
 	LLColor4                           mDefaultBeaconColor;
 	LLColor4                           mDefaultBeaconTextColor;
 	LLColor4                           mErrorTextColor;
@@ -161,6 +160,9 @@ private:
 	EMessagingState                    mMessagingState;
 	LLPathfindingManager::request_id_t mMessagingRequestId;
 
+	typedef std::map<std::string, LLScrollListItem *> scroll_list_item_map;
+	scroll_list_item_map               mMissingNameObjectsScrollListItems;
+
 	LLPathfindingObjectListPtr         mObjectList;
 
 	LLObjectSelectionHandle            mObjectsSelection;
-- 
cgit v1.2.3


From fddaf38f892aa608f9db9c034f6c583d638b6fcf Mon Sep 17 00:00:00 2001
From: Todd Stinson <stinson@lindenlab.com>
Date: Tue, 14 Aug 2012 16:04:12 -0700
Subject: PATH-849: Group objects were losing their [group] identifier
 following the last commit.  This should fix that issue.

---
 indra/newview/llfloaterpathfindingobjects.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

(limited to 'indra/newview/llfloaterpathfindingobjects.h')

diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
index b7fd4340ed..4024e15fd6 100644
--- a/indra/newview/llfloaterpathfindingobjects.h
+++ b/indra/newview/llfloaterpathfindingobjects.h
@@ -89,6 +89,7 @@ protected:
 
 	virtual S32                        getNameColumnIndex() const;
 	virtual S32                        getOwnerNameColumnIndex() const;
+	virtual std::string                getOwnerName(const LLPathfindingObject *pObject) const;
 	virtual const LLColor4             &getBeaconColor() const;
 	virtual const LLColor4             &getBeaconTextColor() const;
 	virtual S32                        getBeaconWidth() const;
@@ -127,7 +128,7 @@ private:
 	void                   onRegionBoundaryCrossed();
 	void                   onGodLevelChange(U8 pGodLevel);
 
-	void                   handleObjectNameResponse(const LLUUID &pObjectUUID, const std::string &pOwnerName);
+	void                   handleObjectNameResponse(const LLPathfindingObject *pObject);
 
 	void                   updateMessagingStatus();
 	void                   updateStateOnListControls();
-- 
cgit v1.2.3


From bf6182daa8b4d7cea79310547f71d7a3155e17b0 Mon Sep 17 00:00:00 2001
From: Graham Madarasz <graham@lindenlab.com>
Date: Fri, 29 Mar 2013 07:50:08 -0700
Subject: Update Mac and Windows breakpad builds to latest

---
 indra/newview/llfloaterpathfindingobjects.h | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 mode change 100644 => 100755 indra/newview/llfloaterpathfindingobjects.h

(limited to 'indra/newview/llfloaterpathfindingobjects.h')

diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h
old mode 100644
new mode 100755
-- 
cgit v1.2.3