MAINT-8061 update folder label when item count changes
parent
da58afc9f8
commit
763939b254
|
|
@ -608,6 +608,7 @@ void LLInventoryPanel::modelChanged(U32 mask)
|
|||
{
|
||||
setSelection(item_id, FALSE);
|
||||
}
|
||||
updateFolderLabel(model_item->getParentUUID());
|
||||
}
|
||||
|
||||
//////////////////////////////
|
||||
|
|
@ -619,6 +620,7 @@ void LLInventoryPanel::modelChanged(U32 mask)
|
|||
// Don't process the item if it is the root
|
||||
if (old_parent)
|
||||
{
|
||||
LLFolderViewModelItemInventory* viewmodel_folder = static_cast<LLFolderViewModelItemInventory*>(old_parent->getViewModelItem());
|
||||
LLFolderViewFolder* new_parent = (LLFolderViewFolder*)getItemByID(model_item->getParentUUID());
|
||||
// Item has been moved.
|
||||
if (old_parent != new_parent)
|
||||
|
|
@ -636,6 +638,7 @@ void LLInventoryPanel::modelChanged(U32 mask)
|
|||
setSelection(item_id, FALSE);
|
||||
}
|
||||
}
|
||||
updateFolderLabel(model_item->getParentUUID());
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -647,6 +650,10 @@ void LLInventoryPanel::modelChanged(U32 mask)
|
|||
// doesn't include trash). Just remove the item's UI.
|
||||
view_item->destroyView();
|
||||
}
|
||||
if(viewmodel_folder)
|
||||
{
|
||||
updateFolderLabel(viewmodel_folder->getUUID());
|
||||
}
|
||||
old_parent->getViewModelItem()->dirtyDescendantsFilter();
|
||||
}
|
||||
}
|
||||
|
|
@ -664,6 +671,11 @@ void LLInventoryPanel::modelChanged(U32 mask)
|
|||
if(parent)
|
||||
{
|
||||
parent->getViewModelItem()->dirtyDescendantsFilter();
|
||||
LLFolderViewModelItemInventory* viewmodel_folder = static_cast<LLFolderViewModelItemInventory*>(parent->getViewModelItem());
|
||||
if(viewmodel_folder)
|
||||
{
|
||||
updateFolderLabel(viewmodel_folder->getUUID());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1234,6 +1246,23 @@ void LLInventoryPanel::onSelectionChange(const std::deque<LLFolderViewItem*>& it
|
|||
|
||||
}
|
||||
|
||||
void LLInventoryPanel::updateFolderLabel(const LLUUID& folder_id)
|
||||
{
|
||||
if(folder_id != mPreviousSelectedFolder) return;
|
||||
|
||||
LLFolderViewItem* folder_item = getItemByID(mPreviousSelectedFolder);
|
||||
if(folder_item)
|
||||
{
|
||||
LLFolderBridge* bridge = (LLFolderBridge*)folder_item->getViewModelItem();
|
||||
if(bridge)
|
||||
{
|
||||
bridge->clearDisplayName();
|
||||
bridge->setShowDescendantsCount(true);
|
||||
folder_item->refresh();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void LLInventoryPanel::doCreate(const LLSD& userdata)
|
||||
{
|
||||
// <FS:Ansariel> FIRE-20108: Can't create new folder in secondary inventory if view is filtered
|
||||
|
|
|
|||
|
|
@ -218,6 +218,8 @@ public:
|
|||
// <FS:Ansariel> Optional hiding of Inbox folder
|
||||
void updateShowInboxFolder(const LLSD &data);
|
||||
|
||||
void updateFolderLabel(const LLUUID& folder_id);
|
||||
|
||||
// DEBUG ONLY:
|
||||
static void dumpSelectionInformation(void* user_data);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue