diff options
author | Mark Palange (Mani) <palange@lindenlab.com> | 2009-10-16 16:42:45 -0700 |
---|---|---|
committer | Mark Palange (Mani) <palange@lindenlab.com> | 2009-10-16 16:42:45 -0700 |
commit | 3e10fa4d51a23bf6f1ced23e8d90c636d84fa5db (patch) | |
tree | d4991e4c1a9dd934f48d33804e55eb8ffa085679 /indra/newview/llfolderviewitem.cpp | |
parent | e9f7205ba9f4dfb3422759218609b62d61972722 (diff) | |
parent | f20e9521a9b70f4e83cbb6888feae08a70681ea7 (diff) |
merge from latest svn/viewer-2-0 to hg/viewer-2-0
Diffstat (limited to 'indra/newview/llfolderviewitem.cpp')
-rw-r--r-- | indra/newview/llfolderviewitem.cpp | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp index ee5fba5ace..2b1dd83d72 100644 --- a/indra/newview/llfolderviewitem.cpp +++ b/indra/newview/llfolderviewitem.cpp @@ -125,6 +125,8 @@ LLFolderViewItem::LLFolderViewItem(LLFolderViewItem::Params p) mLabel(p.name), mRoot(p.root), mCreationDate(p.creation_date), + mIcon(p.icon), + mIconOpen(p.icon_open), mListener(p.listener), mArrowImage(p.folder_arrow_image), mBoxImage(p.selection_image) @@ -598,6 +600,11 @@ BOOL LLFolderViewItem::handleRightMouseDown( S32 x, S32 y, MASK mask ) BOOL LLFolderViewItem::handleMouseDown( S32 x, S32 y, MASK mask ) { + if (LLView::childrenHandleMouseDown(x, y, mask)) + { + return TRUE; + } + // No handler needed for focus lost since this class has no // state that depends on it. gFocusMgr.setMouseCapture( this ); @@ -717,6 +724,11 @@ BOOL LLFolderViewItem::handleScrollWheel(S32 x, S32 y, S32 clicks) BOOL LLFolderViewItem::handleMouseUp( S32 x, S32 y, MASK mask ) { + if (LLView::childrenHandleMouseUp(x, y, mask)) + { + return TRUE; + } + // if mouse hasn't moved since mouse down... if ( pointInView(x, y) && mSelectPending ) { @@ -893,11 +905,15 @@ void LLFolderViewItem::draw() mDragAndDropTarget = FALSE; } - - if(mIcon) - { - mIcon->draw(mIndentation + ARROW_SIZE + TEXT_PAD, getRect().getHeight() - mIcon->getHeight()); + // First case is used for open folders + if (!mIconOpen.isNull() && (llabs(mControlLabelRotation) > 80)) + { + mIconOpen->draw(mIndentation + ARROW_SIZE + TEXT_PAD, getRect().getHeight() - mIcon->getHeight()); } + else if(mIcon) + { + mIcon->draw(mIndentation + ARROW_SIZE + TEXT_PAD, getRect().getHeight() - mIcon->getHeight()); + } if (!mLabel.empty()) { |