From cbf5396ea7c303413b37c543fa028dcdfaa12612 Mon Sep 17 00:00:00 2001 From: James Cook Date: Wed, 26 May 2010 10:48:42 -0700 Subject: DEV-50013 Inventory item properties in sidetray uses completename --- indra/newview/llsidepaneliteminfo.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'indra/newview/llsidepaneliteminfo.cpp') diff --git a/indra/newview/llsidepaneliteminfo.cpp b/indra/newview/llsidepaneliteminfo.cpp index 0ec351965a..fabb80ab02 100644 --- a/indra/newview/llsidepaneliteminfo.cpp +++ b/indra/newview/llsidepaneliteminfo.cpp @@ -283,8 +283,9 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item) if (item->getCreatorUUID().notNull()) { - std::string name; - gCacheName->getFullName(item->getCreatorUUID(), name); + LLUUID creator_id = item->getCreatorUUID(); + std::string name = + LLSLURL("agent", creator_id, "completename").getSLURLString(); childSetEnabled("BtnCreator",TRUE); childSetEnabled("LabelCreatorTitle",TRUE); childSetEnabled("LabelCreatorName",TRUE); @@ -310,7 +311,8 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item) } else { - gCacheName->getFullName(perm.getOwner(), name); + LLUUID owner_id = perm.getOwner(); + name = LLSLURL("agent", owner_id, "completename").getSLURLString(); } childSetEnabled("BtnOwner",TRUE); childSetEnabled("LabelOwnerTitle",TRUE); -- cgit v1.2.3 From b6a0211a7ef5da8abdc939e5335ba096831f5032 Mon Sep 17 00:00:00 2001 From: James Cook Date: Wed, 26 May 2010 11:51:48 -0700 Subject: DEV-50013 Inventory item creator/owner not clickable, layout fix --- indra/newview/llsidepaneliteminfo.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview/llsidepaneliteminfo.cpp') diff --git a/indra/newview/llsidepaneliteminfo.cpp b/indra/newview/llsidepaneliteminfo.cpp index fabb80ab02..9373ff0d18 100644 --- a/indra/newview/llsidepaneliteminfo.cpp +++ b/indra/newview/llsidepaneliteminfo.cpp @@ -288,7 +288,7 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item) LLSLURL("agent", creator_id, "completename").getSLURLString(); childSetEnabled("BtnCreator",TRUE); childSetEnabled("LabelCreatorTitle",TRUE); - childSetEnabled("LabelCreatorName",TRUE); + childSetEnabled("LabelCreatorName",FALSE); childSetText("LabelCreatorName",name); } else @@ -316,7 +316,7 @@ void LLSidepanelItemInfo::refreshFromItem(LLViewerInventoryItem* item) } childSetEnabled("BtnOwner",TRUE); childSetEnabled("LabelOwnerTitle",TRUE); - childSetEnabled("LabelOwnerName",TRUE); + childSetEnabled("LabelOwnerName",FALSE); childSetText("LabelOwnerName",name); } else -- cgit v1.2.3 From db56afd656fe978e0a67a29f67bd8434141ffcaa Mon Sep 17 00:00:00 2001 From: Paul Guslisty Date: Mon, 1 Nov 2010 15:12:14 +0200 Subject: STORM-288 FIXED New name resets to old if change it on 'Item Profile' panel while fetching inventory Reason: 'item info panel' updated EACH time some inventory object changed Fix: update 'item info panel' only if changed inventory object is the object for which 'item profile panel' is shown --- indra/newview/llsidepaneliteminfo.cpp | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'indra/newview/llsidepaneliteminfo.cpp') diff --git a/indra/newview/llsidepaneliteminfo.cpp b/indra/newview/llsidepaneliteminfo.cpp index f9c0fd398e..be797ea937 100644 --- a/indra/newview/llsidepaneliteminfo.cpp +++ b/indra/newview/llsidepaneliteminfo.cpp @@ -68,10 +68,22 @@ private: void LLItemPropertiesObserver::changed(U32 mask) { - // if there's a change we're interested in. - if((mask & (LLInventoryObserver::LABEL | LLInventoryObserver::INTERNAL | LLInventoryObserver::REMOVE)) != 0) + const std::set& mChangedItemIDs = gInventory.getChangedIDs(); + std::set::const_iterator it; + + const LLUUID& object_id = mFloater->getObjectID(); + + for (it = mChangedItemIDs.begin(); it != mChangedItemIDs.end(); it++) { - mFloater->dirty(); + // set dirty for 'item profile panel' only if changed item is the item for which 'item profile panel' is shown (STORM-288) + if (*it == object_id) + { + // if there's a change we're interested in. + if((mask & (LLInventoryObserver::LABEL | LLInventoryObserver::INTERNAL | LLInventoryObserver::REMOVE)) != 0) + { + mFloater->dirty(); + } + } } } @@ -179,6 +191,11 @@ void LLSidepanelItemInfo::setItemID(const LLUUID& item_id) mItemID = item_id; } +const LLUUID& LLSidepanelItemInfo::getObjectID() const +{ + return mObjectID; +} + void LLSidepanelItemInfo::reset() { LLSidepanelInventorySubpanel::reset(); -- cgit v1.2.3