FIRE-34908: Pose only Animeshes you own
removed unused posingAnyoneOnScrollList() method, renamed a UI-control that had a duplicate name.master
parent
9402a6b6f8
commit
b909b05745
|
|
@ -238,7 +238,7 @@ void FSFloaterPoser::onClose(bool app_quitting)
|
|||
gSavedSettings.setBOOL(POSER_ADVANCEDWINDOWSTATE_SAVE_KEY, mToggleAdvancedPanelBtn->getValue().asBoolean());
|
||||
|
||||
if (gSavedSettings.getBOOL(POSER_STOPPOSINGWHENCLOSED_SAVE_KEY))
|
||||
stopPosingSelf();
|
||||
stopPosingAllAvatars();
|
||||
|
||||
LLFloater::onClose(app_quitting);
|
||||
}
|
||||
|
|
@ -892,20 +892,24 @@ void FSFloaterPoser::startPosingSelf()
|
|||
onAvatarSelect();
|
||||
}
|
||||
|
||||
void FSFloaterPoser::stopPosingSelf()
|
||||
void FSFloaterPoser::stopPosingAllAvatars()
|
||||
{
|
||||
if (!gAgentAvatarp || gAgentAvatarp.isNull())
|
||||
return;
|
||||
|
||||
LLVOAvatar* avatar = getAvatarByUuid(gAgentAvatarp->getID());
|
||||
if (!avatar)
|
||||
return;
|
||||
for (auto listItem : mAvatarSelectionScrollList->getAllData())
|
||||
{
|
||||
LLScrollListCell* cell = listItem->getColumn(COL_UUID);
|
||||
if (!cell)
|
||||
continue;
|
||||
|
||||
bool arePosingSelected = mPoserAnimator.isPosingAvatar(avatar);
|
||||
if (!arePosingSelected)
|
||||
return;
|
||||
LLUUID selectedAvatarId = cell->getValue().asUUID();
|
||||
LLVOAvatar* listAvatar = getAvatarByUuid(selectedAvatarId);
|
||||
|
||||
if (mPoserAnimator.isPosingAvatar(listAvatar))
|
||||
mPoserAnimator.stopPosingAvatar(listAvatar);
|
||||
}
|
||||
|
||||
mPoserAnimator.stopPosingAvatar(avatar);
|
||||
onAvatarSelect();
|
||||
}
|
||||
|
||||
|
|
@ -2074,7 +2078,7 @@ void FSFloaterPoser::onAvatarsRefresh()
|
|||
LLAvatarName av_name;
|
||||
std::string animeshName = getControlAvatarName(avatar);
|
||||
if (animeshName.empty())
|
||||
animeshName = avatar->getFullname();
|
||||
continue;
|
||||
|
||||
LLSD row;
|
||||
row["columns"][COL_ICON]["column"] = "icon";
|
||||
|
|
@ -2109,6 +2113,9 @@ std::string FSFloaterPoser::getControlAvatarName(const LLControlAvatar* avatar)
|
|||
if (attachedItem)
|
||||
return attachedItem->getName();
|
||||
|
||||
if (rootEditObject->permYouOwner())
|
||||
return avatar->getFullname();
|
||||
|
||||
return "";
|
||||
}
|
||||
|
||||
|
|
@ -2146,24 +2153,6 @@ void FSFloaterPoser::setSavePosesButtonText(bool setAsSaveDiff)
|
|||
setAsSaveDiff ? mSavePosesBtn->setLabel("Save Diff") : mSavePosesBtn->setLabel("Save Pose");
|
||||
}
|
||||
|
||||
bool FSFloaterPoser::posingAnyoneOnScrollList()
|
||||
{
|
||||
for (auto listItem : mAvatarSelectionScrollList->getAllData())
|
||||
{
|
||||
LLScrollListCell* cell = listItem->getColumn(COL_UUID);
|
||||
if (!cell)
|
||||
continue;
|
||||
|
||||
LLUUID selectedAvatarId = cell->getValue().asUUID();
|
||||
LLVOAvatar* listAvatar = getAvatarByUuid(selectedAvatarId);
|
||||
|
||||
if (mPoserAnimator.isPosingAvatar(listAvatar))
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
void FSFloaterPoser::addBoldToScrollList(LLScrollListCtrl* list, LLVOAvatar* avatar)
|
||||
{
|
||||
if (!avatar)
|
||||
|
|
|
|||
|
|
@ -236,7 +236,7 @@ class FSFloaterPoser : public LLFloater
|
|||
void enableOrDisableRedoButton();
|
||||
void onPoseStartStop();
|
||||
void startPosingSelf();
|
||||
void stopPosingSelf();
|
||||
void stopPosingAllAvatars();
|
||||
void onLimbTrackballChanged();
|
||||
void onYawPitchRollSliderChanged();
|
||||
void onAvatarPositionSet();
|
||||
|
|
@ -328,11 +328,6 @@ class FSFloaterPoser : public LLFloater
|
|||
/// <param name="setAsSaveDiff">Whether to indicate a diff will be saved, instead of a pose.</param>
|
||||
void setSavePosesButtonText(bool setAsSaveDiff);
|
||||
|
||||
/// <summary>
|
||||
/// Gets whether any avatar know by the UI is being posed.
|
||||
/// </summary>
|
||||
bool posingAnyoneOnScrollList();
|
||||
|
||||
/// <summary>
|
||||
/// Applies the appropriate font-face (such as bold) to the text of the supplied list, to indicate use.
|
||||
/// </summary>
|
||||
|
|
|
|||
|
|
@ -923,7 +923,7 @@ width="403">
|
|||
layout="topleft"
|
||||
image_overlay="Inv_TrashOpen"
|
||||
image_unselected="Toolbar_Middle_Off"
|
||||
name="refresh_avatars"
|
||||
name="poser_joint_reset"
|
||||
tool_tip="Double click to reset all selected body parts to when you first started posing"
|
||||
width="18"
|
||||
top_delta="0"
|
||||
|
|
|
|||
Loading…
Reference in New Issue