From 4130e9a41646b3455a6ef491d3e1f8326311ef80 Mon Sep 17 00:00:00 2001 From: Beq Date: Thu, 13 Mar 2025 00:51:41 +0000 Subject: [PATCH] Allow toggle of visual manipulators. --- indra/newview/fsfloaterposer.cpp | 53 ++++++++++++------ indra/newview/fsfloaterposer.h | 5 ++ indra/newview/fsjointpose.cpp | 12 ++-- indra/newview/lltoolcomp.cpp | 2 +- .../textures/icons/visual_pose_enabled.png | Bin 0 -> 33593 bytes .../skins/default/textures/textures.xml | 5 ++ .../skins/default/xui/en/floater_fs_poser.xml | 20 ++++++- 7 files changed, 74 insertions(+), 23 deletions(-) create mode 100644 indra/newview/skins/default/textures/icons/visual_pose_enabled.png diff --git a/indra/newview/fsfloaterposer.cpp b/indra/newview/fsfloaterposer.cpp index 7bc29e34f3..7fe558734f 100644 --- a/indra/newview/fsfloaterposer.cpp +++ b/indra/newview/fsfloaterposer.cpp @@ -75,6 +75,7 @@ FSFloaterPoser::FSFloaterPoser(const LLSD& key) : LLFloater(key) mCommitCallbackRegistrar.add("Poser.RefreshAvatars", [this](LLUICtrl*, const LLSD&) { onAvatarsRefresh(); }); mCommitCallbackRegistrar.add("Poser.StartStopAnimating", [this](LLUICtrl*, const LLSD&) { onPoseStartStop(); }); mCommitCallbackRegistrar.add("Poser.ToggleLoadSavePanel", [this](LLUICtrl*, const LLSD&) { onToggleLoadSavePanel(); }); + mCommitCallbackRegistrar.add("Poser.ToggleVisualManipulators", [this](LLUICtrl*, const LLSD&) { onToggleVisualManipulators(); }); mCommitCallbackRegistrar.add("Poser.UndoLastRotation", [this](LLUICtrl*, const LLSD&) { onUndoLastChange(); }); mCommitCallbackRegistrar.add("Poser.RedoLastRotation", [this](LLUICtrl*, const LLSD&) { onRedoLastChange(); }); @@ -149,6 +150,9 @@ bool FSFloaterPoser::postBuild() mPosesScrollList->setCommitOnSelectionChange(true); mPosesScrollList->setCommitCallback([this](LLUICtrl *, const LLSD &) { onPoseFileSelect(); }); + mToggleVisualManipulators = getChild("toggleVisualManipulators"); + mToggleVisualManipulators->setToggleState(true); + mTrackpadSensitivitySlider = getChild("trackpad_sensitivity_slider"); mPoseSaveNameEditor = getChild("pose_save_name"); @@ -219,18 +223,6 @@ bool FSFloaterPoser::postBuild() mBtnJointRotate = getChild("button_joint_rotate_tool"); - mCommitCallbackRegistrar.add("Poser.SetRotateTool", - [](LLUICtrl*, const LLSD&) - { - LLToolMgr::getInstance()->setCurrentToolset(gPoserToolset); - LLToolMgr::getInstance()->getCurrentToolset()->selectTool( (LLTool *) FSToolCompPose::getInstance()); - } - ); - - LLToolMgr::getInstance()->setCurrentToolset(gPoserToolset); - LLToolMgr::getInstance()->getCurrentToolset()->selectTool( (LLTool *) FSToolCompPose::getInstance()); - FSToolCompPose::getInstance()->setAvatar( gAgentAvatarp); - return true; } @@ -242,6 +234,13 @@ void FSFloaterPoser::onOpen(const LLSD& key) onJointTabSelect(); refreshPoseScroll(mHandPresetsScrollList, POSE_PRESETS_HANDS_SUBDIRECTORY); startPosingSelf(); + + enableVisualManipulators(); + LLFloater::onOpen(key); +} + +void FSFloaterPoser::enableVisualManipulators() +{ if (LLToolMgr::getInstance()->getCurrentToolset() != gCameraToolset) { mLastToolset = LLToolMgr::getInstance()->getCurrentToolset(); @@ -249,19 +248,25 @@ void FSFloaterPoser::onOpen(const LLSD& key) LLToolMgr::getInstance()->setCurrentToolset(gPoserToolset); LLToolMgr::getInstance()->getCurrentToolset()->selectTool(FSToolCompPose::getInstance()); FSToolCompPose::getInstance()->setAvatar( gAgentAvatarp); - LLFloater::onOpen(key); } -void FSFloaterPoser::onClose(bool app_quitting) +void FSFloaterPoser::disableVisualManipulators() { - if (gSavedSettings.getBOOL(POSER_STOPPOSINGWHENCLOSED_SAVE_KEY)) - stopPosingAllAvatars(); - if (mLastToolset) { LLToolMgr::getInstance()->setCurrentToolset(mLastToolset); } FSToolCompPose::getInstance()->setAvatar(nullptr); +} + +void FSFloaterPoser::onClose(bool app_quitting) +{ + if (gSavedSettings.getBOOL(POSER_STOPPOSINGWHENCLOSED_SAVE_KEY)) + { + stopPosingAllAvatars(); + } + + disableVisualManipulators(); LLFloater::onClose(app_quitting); } @@ -1385,6 +1390,20 @@ void FSFloaterPoser::enableOrDisableRedoButton() mRedoChangeBtn->setEnabled(shouldEnableRedoButton); } +void FSFloaterPoser::onToggleVisualManipulators() +{ + bool tools_enabled = mToggleVisualManipulators->getValue().asBoolean(); + + if (tools_enabled) + { + enableVisualManipulators(); + } + else + { + disableVisualManipulators(); + } +} + void FSFloaterPoser::selectJointByName(const std::string& jointName) { LLTabContainer* tabContainer = mJointsTabs; diff --git a/indra/newview/fsfloaterposer.h b/indra/newview/fsfloaterposer.h index 447dfbe5ec..cf75cd65c9 100644 --- a/indra/newview/fsfloaterposer.h +++ b/indra/newview/fsfloaterposer.h @@ -218,6 +218,9 @@ public: bool poseFileStartsFromTeePose(const std::string& poseFileName); void setPoseSaveFileTextBoxToUiSelectedAvatarSaveFileName(); void setUiSelectedAvatarSaveFileName(const std::string& saveFileName); + // visual manipulators control + void enableVisualManipulators(); + void disableVisualManipulators(); // UI Event Handlers: void onAvatarsRefresh(); @@ -225,6 +228,7 @@ public: void onJointTabSelect(); void onToggleMirrorChange(); void onToggleSympatheticChange(); + void onToggleVisualManipulators(); void setRotationChangeButtons(bool mirror, bool sympathetic); void onUndoLastChange(); void onRedoLastChange(); @@ -469,6 +473,7 @@ public: LLScrollListCtrl* mPosesScrollList{ nullptr }; LLScrollListCtrl* mHandPresetsScrollList{ nullptr }; + LLButton* mToggleVisualManipulators{ nullptr }; LLButton* mStartStopPosingBtn{ nullptr }; LLButton* mToggleLoadSavePanelBtn{ nullptr }; LLButton* mBrowserFolderBtn{ nullptr }; diff --git a/indra/newview/fsjointpose.cpp b/indra/newview/fsjointpose.cpp index d30d0eb68c..53a6b2869e 100644 --- a/indra/newview/fsjointpose.cpp +++ b/indra/newview/fsjointpose.cpp @@ -147,14 +147,18 @@ void FSJointPose::recaptureJoint() void FSJointPose::recaptureJointAsDelta() { if (mIsCollisionVolume) + { return; - + } + LLJoint* joint = mJointState->getJoint(); if (!joint) + { return; - - addToUndo(mRotation, &mUndoneRotationIndex, &mLastSetRotationDeltas, &mTimeLastUpdatedRotation); - mRotation.updateRotation(joint->getRotation()); + } + + addStateToUndo(mCurrentState); + mCurrentState = FSJointState(joint); } void FSJointPose::swapRotationWith(FSJointPose* oppositeJoint) diff --git a/indra/newview/lltoolcomp.cpp b/indra/newview/lltoolcomp.cpp index b5aa087962..c4d3fbe167 100644 --- a/indra/newview/lltoolcomp.cpp +++ b/indra/newview/lltoolcomp.cpp @@ -997,7 +997,7 @@ void FSToolCompPose::pickCallback(const LLPickInfo& pick_info) else { // If no ring is highlighted, reset interaction or do nothing - LL_INFOS("FSToolCompPose") << "No manipulator ring selected" << LL_ENDL; + LL_DEBUGS("FSToolCompPose") << "No manipulator ring selected" << LL_ENDL; } } diff --git a/indra/newview/skins/default/textures/icons/visual_pose_enabled.png b/indra/newview/skins/default/textures/icons/visual_pose_enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..eee9a94477044f47995ec7af3877d5b17a748014 GIT binary patch literal 33593 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 + + + + + diff --git a/indra/newview/skins/default/xui/en/floater_fs_poser.xml b/indra/newview/skins/default/xui/en/floater_fs_poser.xml index 83a0ccdd81..d9f809a8d7 100644 --- a/indra/newview/skins/default/xui/en/floater_fs_poser.xml +++ b/indra/newview/skins/default/xui/en/floater_fs_poser.xml @@ -925,6 +925,24 @@ width="430"> width="134" /> + - + \ No newline at end of file