summaryrefslogtreecommitdiff
path: root/indra/newview/lltooldraganddrop.cpp
diff options
context:
space:
mode:
authorLeyla Farazha <leyla@lindenlab.com>2010-04-05 15:12:12 -0700
committerLeyla Farazha <leyla@lindenlab.com>2010-04-05 15:12:12 -0700
commita0a7b7ed16a9161b8060e8f32e5594356e5c7329 (patch)
tree06809cac6cde316219cbcbf58a7381d907a9d5e6 /indra/newview/lltooldraganddrop.cpp
parent6b3ca581e037d52e507a69d82fd6d900bd4641b7 (diff)
parent9bfc1c3b1060f15990bba218795a1ef6009d1535 (diff)
Merge
Diffstat (limited to 'indra/newview/lltooldraganddrop.cpp')
-rw-r--r--indra/newview/lltooldraganddrop.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/indra/newview/lltooldraganddrop.cpp b/indra/newview/lltooldraganddrop.cpp
index 394f550f2e..617518ab57 100644
--- a/indra/newview/lltooldraganddrop.cpp
+++ b/indra/newview/lltooldraganddrop.cpp
@@ -267,8 +267,8 @@ void LLCategoryDropObserver::done()
{
// *FIX: coalesce these...
LLInventoryItem* item = NULL;
- item_ref_t::iterator it = mComplete.begin();
- item_ref_t::iterator end = mComplete.end();
+ uuid_vec_t::iterator it = mComplete.begin();
+ uuid_vec_t::iterator end = mComplete.end();
for(; it < end; ++it)
{
item = gInventory.getItem(*it);
@@ -326,8 +326,8 @@ void LLCategoryDropDescendentsObserver::done()
{
unique_ids.insert(items.get(i)->getUUID());
}
- LLInventoryFetchObserver::item_ref_t ids;
- std::back_insert_iterator<LLInventoryFetchObserver::item_ref_t> copier(ids);
+ uuid_vec_t ids;
+ std::back_insert_iterator<uuid_vec_t> copier(ids);
std::copy(unique_ids.begin(), unique_ids.end(), copier);
LLCategoryDropObserver* dropper;
dropper = new LLCategoryDropObserver(mObjectID, mSource);
@@ -412,9 +412,12 @@ void LLToolDragAndDrop::setDragStart(S32 x, S32 y)
BOOL LLToolDragAndDrop::isOverThreshold(S32 x,S32 y)
{
- const S32 MIN_MANHATTAN_DIST = 3;
- S32 manhattan_dist = llabs( x - mDragStartX ) + llabs( y - mDragStartY );
- return manhattan_dist >= MIN_MANHATTAN_DIST;
+ static LLCachedControl<S32> drag_and_drop_threshold(gSavedSettings,"DragAndDropDistanceThreshold");
+
+ S32 mouse_delta_x = x - mDragStartX;
+ S32 mouse_delta_y = y - mDragStartY;
+
+ return (mouse_delta_x * mouse_delta_x) + (mouse_delta_y * mouse_delta_y) > drag_and_drop_threshold * drag_and_drop_threshold;
}
void LLToolDragAndDrop::beginDrag(EDragAndDropType type,
@@ -2564,7 +2567,7 @@ EAcceptance LLToolDragAndDrop::dad3dUpdateInventoryCategory(
// If every item is accepted, send it on
if (drop && (ACCEPT_YES_COPY_SINGLE <= rv))
{
- LLInventoryFetchObserver::item_ref_t ids;
+ uuid_vec_t ids;
for (LLInventoryModel::item_array_t::const_iterator item_iter = items.begin();
item_iter != items.end();
++item_iter)