diff --git a/indra/newview/llfloaterpathfindingcharacters.cpp b/indra/newview/llfloaterpathfindingcharacters.cpp index b4a1394b06503d5eefba4bf07414ef3f39b9dbc9..60e66174f361c554fbb4ece461981a1fb5d9cad7 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 a86a9700b15ad439c62ff3d4885c966832579aef..be178d2746ee4bfc1f1c3671dadf43c8c4dad0aa 100644 --- a/indra/newview/llfloaterpathfindingcharacters.h +++ b/indra/newview/llfloaterpathfindingcharacters.h @@ -61,7 +61,7 @@ class LLFloaterPathfindingCharacters : public LLFloaterPathfindingObjects 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 @@ class LLFloaterPathfindingCharacters : public LLFloaterPathfindingObjects 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 8488ee1aa3bdac066e4fee5687e3a747eb217046..a7b856b271f972bed7a1aea5c635937ddd9f8903 100644 --- a/indra/newview/llfloaterpathfindinglinksets.cpp +++ b/indra/newview/llfloaterpathfindinglinksets.cpp @@ -250,9 +250,9 @@ LLSD LLFloaterPathfindingLinksets::convertObjectsIntoScrollListData(const LLPath return scrollListData; } -void LLFloaterPathfindingLinksets::updateControls() +void LLFloaterPathfindingLinksets::updateControlsOnScrollListChange() { - LLFloaterPathfindingObjects::updateControls(); + LLFloaterPathfindingObjects::updateControlsOnScrollListChange(); updateEditFieldValues(); updateStateOnEditFields(); updateStateOnEditLinksetUse(); diff --git a/indra/newview/llfloaterpathfindinglinksets.h b/indra/newview/llfloaterpathfindinglinksets.h index 8c464dc1d5e70ad5a4088b384e5e7748c9e2ecc5..c9ae5a059a896a8df4a55dedf0bebf69211bbc43 100644 --- a/indra/newview/llfloaterpathfindinglinksets.h +++ b/indra/newview/llfloaterpathfindinglinksets.h @@ -60,7 +60,7 @@ class LLFloaterPathfindingLinksets : public LLFloaterPathfindingObjects 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 6f183c78b102e51feba61c6c6c4315e6bc080e74..14fa0ac4282990185dd837a4fe3e91ea8030f3a9 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 cf418b3b71cd4cbd4bf682004846a918c646eda2..88790db12d2a20245eaa4702657d502463bb6da9 100644 --- a/indra/newview/llfloaterpathfindingobjects.h +++ b/indra/newview/llfloaterpathfindingobjects.h @@ -82,7 +82,8 @@ class LLFloaterPathfindingObjects : public LLFloater 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 @@ class LLFloaterPathfindingObjects : public LLFloater 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;