diff options
| -rw-r--r-- | indra/newview/llfloaterpathfindinglinksets.cpp | 7 | ||||
| -rw-r--r-- | indra/newview/llfloaterpathfindinglinksets.h | 1 | ||||
| -rw-r--r-- | indra/newview/llfloaterpathfindingobjects.cpp | 72 | ||||
| -rw-r--r-- | indra/newview/llfloaterpathfindingobjects.h | 40 | 
4 files changed, 55 insertions, 65 deletions
| diff --git a/indra/newview/llfloaterpathfindinglinksets.cpp b/indra/newview/llfloaterpathfindinglinksets.cpp index 36f54ffae1..d53f4db5c2 100644 --- a/indra/newview/llfloaterpathfindinglinksets.cpp +++ b/indra/newview/llfloaterpathfindinglinksets.cpp @@ -264,13 +264,6 @@ LLSD LLFloaterPathfindingLinksets::convertObjectsIntoScrollListData(const LLPath  void LLFloaterPathfindingLinksets::updateControls()  {  	LLFloaterPathfindingObjects::updateControls(); -	updateStateOnEditFields(); -	updateStateOnEditLinksetUse(); -} - -void LLFloaterPathfindingLinksets::updateSelection() -{ -	LLFloaterPathfindingObjects::updateSelection();  	updateEditFieldValues();  	updateStateOnEditFields();  	updateStateOnEditLinksetUse(); diff --git a/indra/newview/llfloaterpathfindinglinksets.h b/indra/newview/llfloaterpathfindinglinksets.h index d989e0ea4d..87719e28f0 100644 --- a/indra/newview/llfloaterpathfindinglinksets.h +++ b/indra/newview/llfloaterpathfindinglinksets.h @@ -65,7 +65,6 @@ protected:  	virtual LLSD                       convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr) const;  	virtual void                       updateControls(); -	virtual void                       updateSelection();  	virtual S32                        getNameColumnIndex() const;  	virtual const LLColor4             &getBeaconColor() const; diff --git a/indra/newview/llfloaterpathfindingobjects.cpp b/indra/newview/llfloaterpathfindingobjects.cpp index 3f6c4983d5..a8f604b970 100644 --- a/indra/newview/llfloaterpathfindingobjects.cpp +++ b/indra/newview/llfloaterpathfindingobjects.cpp @@ -70,7 +70,7 @@ void LLFloaterPathfindingObjects::onOpen(const LLSD &pKey)  	if (!mSelectionUpdateSlot.connected())  	{ -		mSelectionUpdateSlot = LLSelectMgr::getInstance()->mUpdateSignal.connect(boost::bind(&LLFloaterPathfindingObjects::onSelectionListChanged, this)); +		mSelectionUpdateSlot = LLSelectMgr::getInstance()->mUpdateSignal.connect(boost::bind(&LLFloaterPathfindingObjects::onInWorldSelectionListChanged, this));  	}  	if (!mRegionBoundaryCrossingSlot.connected()) @@ -356,40 +356,6 @@ void LLFloaterPathfindingObjects::updateControls()  	updateStateOnEditFields();  } -void LLFloaterPathfindingObjects::updateSelection() -{ -	mObjectsSelection.clear(); -	LLSelectMgr::getInstance()->deselectAll(); - -	std::vector<LLScrollListItem *> selectedItems = mObjectsScrollList->getAllSelected(); -	if (!selectedItems.empty()) -	{ -		int numSelectedItems = selectedItems.size(); - -		std::vector<LLViewerObject *>viewerObjects; -		viewerObjects.reserve(numSelectedItems); - -		for (std::vector<LLScrollListItem *>::const_iterator selectedItemIter = selectedItems.begin(); -			selectedItemIter != selectedItems.end(); ++selectedItemIter) -		{ -			const LLScrollListItem *selectedItem = *selectedItemIter; - -			LLViewerObject *viewerObject = gObjectList.findObject(selectedItem->getUUID()); -			if (viewerObject != NULL) -			{ -				viewerObjects.push_back(viewerObject); -			} -		} - -		if (!viewerObjects.empty()) -		{ -			mObjectsSelection = LLSelectMgr::getInstance()->selectObjectAndFamily(viewerObjects); -		} -	} - -	updateControls(); -} -  S32 LLFloaterPathfindingObjects::getNameColumnIndex() const  {  	return 0; @@ -551,10 +517,10 @@ void LLFloaterPathfindingObjects::onTeleportClicked()  void LLFloaterPathfindingObjects::onScrollListSelectionChanged()  { -	updateSelection(); +	updateOnScrollListChange();  } -void LLFloaterPathfindingObjects::onSelectionListChanged() +void LLFloaterPathfindingObjects::onInWorldSelectionListChanged()  {  	updateControls();  } @@ -679,6 +645,38 @@ void LLFloaterPathfindingObjects::updateStateOnEditFields()  	mTeleportButton->setEnabled(numSelectedItems == 1);  } +void LLFloaterPathfindingObjects::updateOnScrollListChange() +{ +	mObjectsSelection.clear(); +	LLSelectMgr::getInstance()->deselectAll(); + +	std::vector<LLScrollListItem *> selectedItems = mObjectsScrollList->getAllSelected(); +	if (!selectedItems.empty()) +	{ +		int numSelectedItems = selectedItems.size(); + +		std::vector<LLViewerObject *>viewerObjects; +		viewerObjects.reserve(numSelectedItems); + +		for (std::vector<LLScrollListItem *>::const_iterator selectedItemIter = selectedItems.begin(); +			selectedItemIter != selectedItems.end(); ++selectedItemIter) +		{ +			const LLScrollListItem *selectedItem = *selectedItemIter; + +			LLViewerObject *viewerObject = gObjectList.findObject(selectedItem->getUUID()); +			if (viewerObject != NULL) +			{ +				viewerObjects.push_back(viewerObject); +			} +		} + +		if (!viewerObjects.empty()) +		{ +			mObjectsSelection = LLSelectMgr::getInstance()->selectObjectAndFamily(viewerObjects); +		} +	} +} +  LLPathfindingObjectPtr LLFloaterPathfindingObjects::findObject(const LLScrollListItem *pListItem) const  {  	LLPathfindingObjectPtr objectPtr; 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; | 
