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 | |
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().
-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; |