aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/lltoolpie.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/newview/lltoolpie.cpp')
-rw-r--r--linden/indra/newview/lltoolpie.cpp63
1 files changed, 52 insertions, 11 deletions
diff --git a/linden/indra/newview/lltoolpie.cpp b/linden/indra/newview/lltoolpie.cpp
index 27d1c4c..5a21992 100644
--- a/linden/indra/newview/lltoolpie.cpp
+++ b/linden/indra/newview/lltoolpie.cpp
@@ -165,6 +165,15 @@ BOOL LLToolPie::pickAndShowMenu(BOOL always_show)
165 // If it's a left-click, and we have a special action, do it. 165 // If it's a left-click, and we have a special action, do it.
166 if (useClickAction(always_show, mask, object, parent)) 166 if (useClickAction(always_show, mask, object, parent))
167 { 167 {
168// [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | Modified: RLVa-0.2.0f
169 // Block left-click special actions (fallback code really since LLToolSelect::handleObjectSelection() wouldn't select it anyway)
170 if ( (gRlvHandler.hasBehaviour(RLV_BHVR_FARTOUCH)) &&
171 (dist_vec_squared(gAgent.getPositionAgent(), mPick.mIntersection) > 1.5f * 1.5f) )
172 {
173 return TRUE;
174 }
175// [/RLVa:KB]
176
168 mClickAction = 0; 177 mClickAction = 0;
169 if (object && object->getClickAction()) 178 if (object && object->getClickAction())
170 { 179 {
@@ -344,7 +353,22 @@ BOOL LLToolPie::pickAndShowMenu(BOOL always_show)
344 //gMutePieMenu->setLabel("Mute"); 353 //gMutePieMenu->setLabel("Mute");
345 } 354 }
346 355
347 gPieAvatar->show(x, y, mPieMouseButtonDown); 356// [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | Added: RLVa-0.2.0f
357#ifdef RLV_EXPERIMENTAL_FARTOUCH_FEEDBACK
358 // If we have an empty selection under @fartouch=n don't show the pie menu but play the "operation block" sound
359 if ( (!gRlvHandler.hasBehaviour(RLV_BHVR_FARTOUCH)) || (!LLSelectMgr::getInstance()->getSelection()->isEmpty()) )
360 {
361#endif // RLV_EXPERIMENTAL_FARTOUCH_FEEDBACK
362 gPieAvatar->show(x, y, mPieMouseButtonDown);
363#ifdef RLV_EXPERIMENTAL_FARTOUCH_FEEDBACK
364 }
365 else
366 {
367 make_ui_sound("UISndInvalidOp");
368 }
369#endif // RLV_EXPERIMENTAL_FARTOUCH_FEEDBACK
370// [/RLVa:KB]
371
348 } 372 }
349 else if (object->isAttachment() && !object->isHUDAttachment()) 373 else if (object->isAttachment() && !object->isHUDAttachment())
350 { 374 {
@@ -374,15 +398,32 @@ BOOL LLToolPie::pickAndShowMenu(BOOL always_show)
374 //gMuteObjectPieMenu->setLabel("Mute"); 398 //gMuteObjectPieMenu->setLabel("Mute");
375 } 399 }
376 400
377 gPieObject->show(x, y, mPieMouseButtonDown); 401// [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | Added: RLVa-0.2.0f
378 402 #ifdef RLV_EXPERIMENTAL_FARTOUCH_FEEDBACK
379 // VEFFECT: ShowPie object 403 // If we have an empty selection under @fartouch=n don't show the pie menu but play the "operation block" sound
380 // Don't show when you click on someone else, it freaks them 404 // (not entirely accurate in case of Tools / Select Only XXX [see LLToolSelect::handleObjectSelection()]
381 // out. 405 if ( (!gRlvHandler.hasBehaviour(RLV_BHVR_FARTOUCH)) || (!LLSelectMgr::getInstance()->getSelection()->isEmpty()) )
382 LLHUDEffectSpiral *effectp = (LLHUDEffectSpiral *)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_SPHERE, TRUE); 406 {
383 effectp->setPositionGlobal(mPick.mPosGlobal); 407 #endif // RLV_EXPERIMENTAL_FARTOUCH_FEEDBACK
384 effectp->setColor(LLColor4U(gAgent.getEffectColor())); 408// [/RLVa:KB]
385 effectp->setDuration(0.25f); 409 gPieObject->show(x, y, mPieMouseButtonDown);
410
411 // VEFFECT: ShowPie object
412 // Don't show when you click on someone else, it freaks them
413 // out.
414 LLHUDEffectSpiral *effectp = (LLHUDEffectSpiral *)LLHUDManager::getInstance()->createViewerEffect(LLHUDObject::LL_HUD_EFFECT_SPHERE, TRUE);
415 effectp->setPositionGlobal(mPick.mPosGlobal);
416 effectp->setColor(LLColor4U(gAgent.getEffectColor()));
417 effectp->setDuration(0.25f);
418// [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) | Added: RLVa-0.2.0f
419 #ifdef RLV_EXPERIMENTAL_FARTOUCH_FEEDBACK
420 }
421 else
422 {
423 make_ui_sound("UISndInvalidOp");
424 }
425 #endif // RLV_EXPERIMENTAL_FARTOUCH_FEEDBACK
426// [/RLVa:KB]
386 } 427 }
387 } 428 }
388 429
@@ -635,7 +676,7 @@ BOOL LLToolPie::handleDoubleClick(S32 x, S32 y, MASK mask)
635 llinfos << "LLToolPie handleDoubleClick (becoming mouseDown)" << llendl; 676 llinfos << "LLToolPie handleDoubleClick (becoming mouseDown)" << llendl;
636 } 677 }
637 678
638 if (gSavedSettings.getBOOL("DoubleClickAutoPilot")) 679 if (gSavedSettings.getBOOL("DoubleClickAutoPilot") || gSavedSettings.getBOOL("DoubleClickTeleport"))
639 { 680 {
640 if (mPick.mPickType == LLPickInfo::PICK_LAND 681 if (mPick.mPickType == LLPickInfo::PICK_LAND
641 && !mPick.mPosGlobal.isExactlyZero()) 682 && !mPick.mPosGlobal.isExactlyZero())