diff options
| author | Todd Stinson <stinson@lindenlab.com> | 2012-06-15 12:45:41 -0700 | 
|---|---|---|
| committer | Todd Stinson <stinson@lindenlab.com> | 2012-06-15 12:45:41 -0700 | 
| commit | e78266e9378bdd19ea4a8f7833cf39e59d2faecc (patch) | |
| tree | 60d0ffd21a89aae5e62a40940501a5593a57073b /indra | |
| parent | 9cac312f57391792e9fce380c2c38ae4060ae1d7 (diff) | |
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().
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/newview/llfloaterpathfindingcharacters.cpp | 12 | ||||
| -rw-r--r-- | indra/newview/llfloaterpathfindingcharacters.h | 6 | ||||
| -rw-r--r-- | indra/newview/llfloaterpathfindinglinksets.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llfloaterpathfindinglinksets.h | 2 | ||||
| -rw-r--r-- | indra/newview/llfloaterpathfindingobjects.cpp | 27 | ||||
| -rw-r--r-- | indra/newview/llfloaterpathfindingobjects.h | 9 | 
6 files changed, 34 insertions, 28 deletions
diff --git a/indra/newview/llfloaterpathfindingcharacters.cpp b/indra/newview/llfloaterpathfindingcharacters.cpp index b4a1394b06..60e66174f3 100644 --- a/indra/newview/llfloaterpathfindingcharacters.cpp +++ b/indra/newview/llfloaterpathfindingcharacters.cpp @@ -160,11 +160,11 @@ LLSD LLFloaterPathfindingCharacters::convertObjectsIntoScrollListData(const LLPa  	return scrollListData;  } -void LLFloaterPathfindingCharacters::updateControls() +void LLFloaterPathfindingCharacters::updateControlsOnScrollListChange()  { -	LLFloaterPathfindingObjects::updateControls(); -	updateOnScrollListChange(); -	updateStateOnActionFields(); +	LLFloaterPathfindingObjects::updateControlsOnScrollListChange(); +	updateStateOnDisplayControls(); +	showSelectedCharacterCapsules();  }  S32 LLFloaterPathfindingCharacters::getNameColumnIndex() const @@ -233,7 +233,7 @@ LLSD LLFloaterPathfindingCharacters::buildCharacterScrollListData(const LLPathfi  	return element;  } -void LLFloaterPathfindingCharacters::updateStateOnActionFields() +void LLFloaterPathfindingCharacters::updateStateOnDisplayControls()  {  	int numSelectedItems = getNumSelectedObjects();;  #ifndef SERVER_SIDE_CHARACTER_SHAPE_ROLLOUT_COMPLETE @@ -249,7 +249,7 @@ void LLFloaterPathfindingCharacters::updateStateOnActionFields()  	}  } -void LLFloaterPathfindingCharacters::updateOnScrollListChange() +void LLFloaterPathfindingCharacters::showSelectedCharacterCapsules()  {  	// Hide any previous capsule  	hideCapsule(); diff --git a/indra/newview/llfloaterpathfindingcharacters.h b/indra/newview/llfloaterpathfindingcharacters.h index a86a9700b1..be178d2746 100644 --- a/indra/newview/llfloaterpathfindingcharacters.h +++ b/indra/newview/llfloaterpathfindingcharacters.h @@ -61,7 +61,7 @@ protected:  	virtual LLSD                       convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr); -	virtual void                       updateControls(); +	virtual void                       updateControlsOnScrollListChange();  	virtual S32                        getNameColumnIndex() const;  	virtual const LLColor4             &getBeaconColor() const; @@ -73,8 +73,8 @@ private:  	LLSD buildCharacterScrollListData(const LLPathfindingCharacter *pCharacterPtr) const; -	void updateStateOnActionFields(); -	void updateOnScrollListChange(); +	void updateStateOnDisplayControls(); +	void showSelectedCharacterCapsules();  	void showCapsule() const;  	void hideCapsule() const; diff --git a/indra/newview/llfloaterpathfindinglinksets.cpp b/indra/newview/llfloaterpathfindinglinksets.cpp index 1d7f165ad9..de1a23a025 100644 --- a/indra/newview/llfloaterpathfindinglinksets.cpp +++ b/indra/newview/llfloaterpathfindinglinksets.cpp @@ -271,9 +271,9 @@ LLSD LLFloaterPathfindingLinksets::convertObjectsIntoScrollListData(const LLPath  	return scrollListData;  } -void LLFloaterPathfindingLinksets::updateControls() +void LLFloaterPathfindingLinksets::updateControlsOnScrollListChange()  { -	LLFloaterPathfindingObjects::updateControls(); +	LLFloaterPathfindingObjects::updateControlsOnScrollListChange();  	updateEditFieldValues();  	updateStateOnEditFields();  	updateStateOnEditLinksetUse(); @@ -339,7 +339,7 @@ void LLFloaterPathfindingLinksets::onApplyChangesClicked()  void LLFloaterPathfindingLinksets::onAgentStateChange(LLPathfindingManager::EAgentState pAgentState)  { -	updateControls(); +	updateControlsOnScrollListChange();  }  void LLFloaterPathfindingLinksets::applyFilters() diff --git a/indra/newview/llfloaterpathfindinglinksets.h b/indra/newview/llfloaterpathfindinglinksets.h index 4b19f09cda..2305344a90 100644 --- a/indra/newview/llfloaterpathfindinglinksets.h +++ b/indra/newview/llfloaterpathfindinglinksets.h @@ -64,7 +64,7 @@ protected:  	virtual LLSD                       convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr); -	virtual void                       updateControls(); +	virtual void                       updateControlsOnScrollListChange();  	virtual S32                        getNameColumnIndex() const;  	virtual const LLColor4             &getBeaconColor() const; diff --git a/indra/newview/llfloaterpathfindingobjects.cpp b/indra/newview/llfloaterpathfindingobjects.cpp index 6f183c78b1..14fa0ac428 100644 --- a/indra/newview/llfloaterpathfindingobjects.cpp +++ b/indra/newview/llfloaterpathfindingobjects.cpp @@ -348,7 +348,7 @@ void LLFloaterPathfindingObjects::rebuildObjectsScrollList()  	mObjectsScrollList->selectMultiple(selectedUUIDs);  	mObjectsScrollList->setScrollPos(origScrollPosition); -	updateControls(); +	updateControlsOnScrollListChange();  }  LLSD LLFloaterPathfindingObjects::convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr) @@ -368,11 +368,17 @@ void LLFloaterPathfindingObjects::rebuildScrollListAfterAvatarNameLoads(const LL  	}  } -void LLFloaterPathfindingObjects::updateControls() +void LLFloaterPathfindingObjects::updateControlsOnScrollListChange()  {  	updateMessagingStatus(); -	updateStateOnListActionControls(); -	updateStateOnEditFields(); +	updateStateOnListControls(); +	selectScrollListItemsInWorld(); +	updateStateOnActionControls(); +} + +void LLFloaterPathfindingObjects::updateControlsOnInWorldSelectionChange() +{ +	updateStateOnActionControls();  }  S32 LLFloaterPathfindingObjects::getNameColumnIndex() const @@ -491,7 +497,7 @@ LLFloaterPathfindingObjects::EMessagingState LLFloaterPathfindingObjects::getMes  void LLFloaterPathfindingObjects::setMessagingState(EMessagingState pMessagingState)  {  	mMessagingState = pMessagingState; -	updateControls(); +	updateControlsOnScrollListChange();  }  void LLFloaterPathfindingObjects::onRefreshObjectsClicked() @@ -539,13 +545,12 @@ void LLFloaterPathfindingObjects::onTeleportClicked()  void LLFloaterPathfindingObjects::onScrollListSelectionChanged()  { -	updateOnScrollListChange(); -	updateControls(); +	updateControlsOnScrollListChange();  }  void LLFloaterPathfindingObjects::onInWorldSelectionListChanged()  { -	updateControls(); +	updateControlsOnInWorldSelectionChange();  }  void LLFloaterPathfindingObjects::onRegionBoundaryCrossed() @@ -632,7 +637,7 @@ void LLFloaterPathfindingObjects::updateMessagingStatus()  	mMessagingStatus->setText((LLStringExplicit)statusText, styleParams);  } -void LLFloaterPathfindingObjects::updateStateOnListActionControls() +void LLFloaterPathfindingObjects::updateStateOnListControls()  {  	switch (getMessagingState())  	{ @@ -665,7 +670,7 @@ void LLFloaterPathfindingObjects::updateStateOnListActionControls()  	}  } -void LLFloaterPathfindingObjects::updateStateOnEditFields() +void LLFloaterPathfindingObjects::updateStateOnActionControls()  {  	int numSelectedItems = mObjectsScrollList->getNumSelected();  	bool isEditEnabled = (numSelectedItems > 0); @@ -678,7 +683,7 @@ void LLFloaterPathfindingObjects::updateStateOnEditFields()  	mTeleportButton->setEnabled(numSelectedItems == 1);  } -void LLFloaterPathfindingObjects::updateOnScrollListChange() +void LLFloaterPathfindingObjects::selectScrollListItemsInWorld()  {  	mObjectsSelection.clear();  	LLSelectMgr::getInstance()->deselectAll(); 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;  | 
