From dbe1f9755896e41e2064a3ee69725d753c67921f Mon Sep 17 00:00:00 2001 From: Rick Pasetto Date: Mon, 23 Nov 2009 17:18:54 -0800 Subject: Highlight the object if it is being dragged over and can be dropped upon --- indra/newview/llviewerwindow.cpp | 10 ++++++++-- indra/newview/llviewerwindow.h | 3 +++ 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 55e66e1138..17b9490f63 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -833,7 +833,8 @@ BOOL LLViewerWindow::handleDragNDrop( LLWindow *window, LLCoordGL pos, MASK mas llinfos << "### Object: picked at " << pos.mX << ", " << pos.mY << " - face = " << object_face << " - URL = " << url << llendl; LLVOVolume *obj = dynamic_cast(static_cast(pick_info.getObject())); - if (obj) + gPipeline.setHighlightObject(NULL); + if (obj && obj->permModify()) { LLTextureEntry *te = obj->getTE(object_face); if (te) @@ -859,11 +860,16 @@ BOOL LLViewerWindow::handleDragNDrop( LLWindow *window, LLCoordGL pos, MASK mas } } else { - // XXX TODO: make object glow? Hard because how do we "unglow?" + mDragHoveredObject = obj; + // Make the object glow + gPipeline.setHighlightObject(mDragHoveredObject->mDrawable); } result = TRUE; } } + else { + mDragHoveredObject = NULL; + } } return result; } diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h index 311fea3508..428c602b73 100644 --- a/indra/newview/llviewerwindow.h +++ b/indra/newview/llviewerwindow.h @@ -474,6 +474,9 @@ protected: static std::string sSnapshotDir; static std::string sMovieBaseName; + +private: + LLPointer mDragHoveredObject; }; void toggle_flying(void*); -- cgit v1.2.3