Display an arrow overlay on item links.
This commit is contained in:
@@ -72,6 +72,7 @@ void LLBuildNewViewsScheduler::buildNewViews(LLInventoryPanel* panelp, LLInvento
|
|||||||
{
|
{
|
||||||
LLFolderViewFolder* folderp = new LLFolderViewFolder(new_listener->getDisplayName(),
|
LLFolderViewFolder* folderp = new LLFolderViewFolder(new_listener->getDisplayName(),
|
||||||
new_listener->getIcon(),
|
new_listener->getIcon(),
|
||||||
|
NULL,
|
||||||
panelp->getRootFolder(),
|
panelp->getRootFolder(),
|
||||||
new_listener);
|
new_listener);
|
||||||
|
|
||||||
@@ -94,6 +95,7 @@ void LLBuildNewViewsScheduler::buildNewViews(LLInventoryPanel* panelp, LLInvento
|
|||||||
{
|
{
|
||||||
itemp = new LLFolderViewItem(new_listener->getDisplayName(),
|
itemp = new LLFolderViewItem(new_listener->getDisplayName(),
|
||||||
new_listener->getIcon(),
|
new_listener->getIcon(),
|
||||||
|
NULL,
|
||||||
new_listener->getCreationDate(),
|
new_listener->getCreationDate(),
|
||||||
panelp->getRootFolder(),
|
panelp->getRootFolder(),
|
||||||
new_listener);
|
new_listener);
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ LLFolderView::LLFolderView( const std::string& name, LLUIImagePtr root_folder_ic
|
|||||||
#pragma warning( push )
|
#pragma warning( push )
|
||||||
#pragma warning( disable : 4355 ) // warning C4355: 'this' : used in base member initializer list
|
#pragma warning( disable : 4355 ) // warning C4355: 'this' : used in base member initializer list
|
||||||
#endif
|
#endif
|
||||||
LLFolderViewFolder( name, root_folder_icon, this, listener ),
|
LLFolderViewFolder( name, root_folder_icon, NULL, this, listener ),
|
||||||
#if LL_WINDOWS
|
#if LL_WINDOWS
|
||||||
#pragma warning( pop )
|
#pragma warning( pop )
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -75,6 +75,7 @@ void LLFolderViewItem::cleanupClass()
|
|||||||
// Default constructor
|
// Default constructor
|
||||||
// NOTE: Optimize this, we call it a *lot* when opening a large inventory
|
// NOTE: Optimize this, we call it a *lot* when opening a large inventory
|
||||||
LLFolderViewItem::LLFolderViewItem( const std::string& name, LLUIImagePtr icon,
|
LLFolderViewItem::LLFolderViewItem( const std::string& name, LLUIImagePtr icon,
|
||||||
|
LLUIImagePtr icon_overlay,
|
||||||
S32 creation_date,
|
S32 creation_date,
|
||||||
LLFolderView* root,
|
LLFolderView* root,
|
||||||
LLFolderViewEventListener* listener ) :
|
LLFolderViewEventListener* listener ) :
|
||||||
@@ -100,6 +101,7 @@ LLFolderViewItem::LLFolderViewItem( const std::string& name, LLUIImagePtr icon,
|
|||||||
mRoot( root ),
|
mRoot( root ),
|
||||||
mCreationDate(creation_date),
|
mCreationDate(creation_date),
|
||||||
mIcon(icon),
|
mIcon(icon),
|
||||||
|
mIconOverlay(icon_overlay),
|
||||||
mListener(listener)
|
mListener(listener)
|
||||||
{
|
{
|
||||||
sFolderViewItems.insert(this);
|
sFolderViewItems.insert(this);
|
||||||
@@ -917,12 +919,22 @@ void LLFolderViewItem::draw()
|
|||||||
mDragAndDropTarget = FALSE;
|
mDragAndDropTarget = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const LLViewerInventoryItem *item = getInventoryItem();
|
||||||
|
const BOOL highlight_link = mIconOverlay && item && item->getIsLinkType();
|
||||||
|
//--------------------------------------------------------------------------------//
|
||||||
|
// Draw open icon
|
||||||
|
//
|
||||||
const S32 icon_x = mIndentation + ARROW_SIZE + TEXT_PAD;
|
const S32 icon_x = mIndentation + ARROW_SIZE + TEXT_PAD;
|
||||||
if (mIcon)
|
if (mIcon)
|
||||||
{
|
{
|
||||||
mIcon->draw(icon_x, getRect().getHeight() - mIcon->getHeight() - TOP_PAD + 1);
|
mIcon->draw(icon_x, getRect().getHeight() - mIcon->getHeight() - TOP_PAD + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (highlight_link)
|
||||||
|
{
|
||||||
|
mIconOverlay->draw(icon_x, getRect().getHeight() - mIcon->getHeight() - TOP_PAD + 1);
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------//
|
//--------------------------------------------------------------------------------//
|
||||||
// Exit if no label to draw
|
// Exit if no label to draw
|
||||||
//
|
//
|
||||||
@@ -1032,9 +1044,10 @@ void LLFolderViewItem::draw()
|
|||||||
|
|
||||||
// Default constructor
|
// Default constructor
|
||||||
LLFolderViewFolder::LLFolderViewFolder( const std::string& name, LLUIImagePtr icon,
|
LLFolderViewFolder::LLFolderViewFolder( const std::string& name, LLUIImagePtr icon,
|
||||||
|
LLUIImagePtr icon_link,
|
||||||
LLFolderView* root,
|
LLFolderView* root,
|
||||||
LLFolderViewEventListener* listener ):
|
LLFolderViewEventListener* listener ):
|
||||||
LLFolderViewItem( name, icon, 0, root, listener ), // 0 = no create time
|
LLFolderViewItem( name, icon, icon_link, 0, root, listener ), // 0 = no create time
|
||||||
mNumDescendantsSelected(0),
|
mNumDescendantsSelected(0),
|
||||||
mIsOpen(FALSE),
|
mIsOpen(FALSE),
|
||||||
mExpanderHighlighted(FALSE),
|
mExpanderHighlighted(FALSE),
|
||||||
|
|||||||
@@ -125,6 +125,7 @@ protected:
|
|||||||
std::string mLabelSuffix;
|
std::string mLabelSuffix;
|
||||||
LLUIImagePtr mIcon;
|
LLUIImagePtr mIcon;
|
||||||
std::string mStatusText;
|
std::string mStatusText;
|
||||||
|
LLUIImagePtr mIconOverlay;
|
||||||
BOOL mHasVisibleChildren;
|
BOOL mHasVisibleChildren;
|
||||||
S32 mIndentation;
|
S32 mIndentation;
|
||||||
BOOL mPassedFilter;
|
BOOL mPassedFilter;
|
||||||
@@ -166,7 +167,7 @@ public:
|
|||||||
void filterFromRoot( void );
|
void filterFromRoot( void );
|
||||||
|
|
||||||
// creation_date is in UTC seconds
|
// creation_date is in UTC seconds
|
||||||
LLFolderViewItem( const std::string& name, LLUIImagePtr icon, S32 creation_date, LLFolderView* root, LLFolderViewEventListener* listener );
|
LLFolderViewItem( const std::string& name, LLUIImagePtr icon, LLUIImagePtr icon_overlay, S32 creation_date, LLFolderView* root, LLFolderViewEventListener* listener );
|
||||||
virtual ~LLFolderViewItem( void );
|
virtual ~LLFolderViewItem( void );
|
||||||
|
|
||||||
// addToFolder() returns TRUE if it succeeds. FALSE otherwise
|
// addToFolder() returns TRUE if it succeeds. FALSE otherwise
|
||||||
@@ -325,6 +326,7 @@ class LLFolderViewFolder : public LLFolderViewItem
|
|||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
LLFolderViewFolder( const std::string& name, LLUIImagePtr icon,
|
LLFolderViewFolder( const std::string& name, LLUIImagePtr icon,
|
||||||
|
LLUIImagePtr icon_link,
|
||||||
LLFolderView* root,
|
LLFolderView* root,
|
||||||
LLFolderViewEventListener* listener );
|
LLFolderViewEventListener* listener );
|
||||||
|
|
||||||
|
|||||||
@@ -598,7 +598,14 @@ LLFolderView * LLInventoryPanel::createFolderView(LLInvFVBridge * bridge, bool u
|
|||||||
getRect().getWidth(),
|
getRect().getWidth(),
|
||||||
0);
|
0);
|
||||||
|
|
||||||
LLFolderView* ret = new LLFolderView(getName(), NULL, folder_rect, LLUUID::null, this, bridge);
|
LLFolderView* ret = new LLFolderView(
|
||||||
|
|
||||||
|
getName(),
|
||||||
|
NULL,
|
||||||
|
folder_rect,
|
||||||
|
LLUUID::null,
|
||||||
|
this,
|
||||||
|
bridge);
|
||||||
ret->setAllowMultiSelect(mAllowMultiSelect);
|
ret->setAllowMultiSelect(mAllowMultiSelect);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@@ -608,6 +615,7 @@ LLFolderViewFolder * LLInventoryPanel::createFolderViewFolder(LLInvFVBridge * br
|
|||||||
return new LLFolderViewFolder(
|
return new LLFolderViewFolder(
|
||||||
bridge->getDisplayName(),
|
bridge->getDisplayName(),
|
||||||
bridge->getIcon(),
|
bridge->getIcon(),
|
||||||
|
LLUI::getUIImage("inv_link_overlay.tga"),
|
||||||
mFolderRoot,
|
mFolderRoot,
|
||||||
bridge);
|
bridge);
|
||||||
}
|
}
|
||||||
@@ -617,6 +625,7 @@ LLFolderViewItem * LLInventoryPanel::createFolderViewItem(LLInvFVBridge * bridge
|
|||||||
return new LLFolderViewItem(
|
return new LLFolderViewItem(
|
||||||
bridge->getDisplayName(),
|
bridge->getDisplayName(),
|
||||||
bridge->getIcon(),
|
bridge->getIcon(),
|
||||||
|
LLUI::getUIImage("inv_link_overlay.tga"),
|
||||||
bridge->getCreationDate(),
|
bridge->getCreationDate(),
|
||||||
mFolderRoot,
|
mFolderRoot,
|
||||||
bridge);
|
bridge);
|
||||||
|
|||||||
@@ -1760,6 +1760,7 @@ void LLPanelObjectInventory::createFolderViews(LLInventoryObject* inventory_root
|
|||||||
LLFolderViewFolder* new_folder = NULL;
|
LLFolderViewFolder* new_folder = NULL;
|
||||||
new_folder = new LLFolderViewFolder(inventory_root->getName(),
|
new_folder = new LLFolderViewFolder(inventory_root->getName(),
|
||||||
bridge->getIcon(),
|
bridge->getIcon(),
|
||||||
|
NULL,
|
||||||
mFolders,
|
mFolders,
|
||||||
bridge);
|
bridge);
|
||||||
new_folder->addToFolder(mFolders, mFolders);
|
new_folder->addToFolder(mFolders, mFolders);
|
||||||
@@ -1797,6 +1798,7 @@ void LLPanelObjectInventory::createViewsForCategory(LLInventoryObject::object_li
|
|||||||
{
|
{
|
||||||
view = new LLFolderViewFolder(obj->getName(),
|
view = new LLFolderViewFolder(obj->getName(),
|
||||||
bridge->getIcon(),
|
bridge->getIcon(),
|
||||||
|
NULL,
|
||||||
mFolders,
|
mFolders,
|
||||||
bridge);
|
bridge);
|
||||||
child_categories.put(new obj_folder_pair(obj,
|
child_categories.put(new obj_folder_pair(obj,
|
||||||
@@ -1806,6 +1808,7 @@ void LLPanelObjectInventory::createViewsForCategory(LLInventoryObject::object_li
|
|||||||
{
|
{
|
||||||
view = new LLFolderViewItem(obj->getName(),
|
view = new LLFolderViewItem(obj->getName(),
|
||||||
bridge->getIcon(),
|
bridge->getIcon(),
|
||||||
|
NULL,
|
||||||
bridge->getCreationDate(),
|
bridge->getCreationDate(),
|
||||||
mFolders,
|
mFolders,
|
||||||
bridge);
|
bridge);
|
||||||
|
|||||||
BIN
indra/newview/skins/default/textures/inv_link_overlay.tga
Normal file
BIN
indra/newview/skins/default/textures/inv_link_overlay.tga
Normal file
Binary file not shown.
Reference in New Issue
Block a user