SL-13877 'Classified' accordion does not disappear after deleting all Classifieds

master
Andrey Kleshchev 2020-08-28 16:26:30 +03:00
parent f3fbb042cc
commit 9527199b0a
2 changed files with 33 additions and 13 deletions

View File

@ -472,19 +472,7 @@ void LLPanelPicks::processProperties(void* data, EAvatarProcessorType type)
mNoClassifieds = !mClassifiedsList->size();
}
bool no_data = mNoPicks && mNoClassifieds;
mNoItemsLabel->setVisible(no_data);
if (no_data)
{
if(getAvatarId() == gAgentID)
{
mNoItemsLabel->setValue(LLTrans::getString("NoPicksClassifiedsText"));
}
else
{
mNoItemsLabel->setValue(LLTrans::getString("NoAvatarPicksClassifiedsText"));
}
}
updateNoItemsLabel();
}
LLPickItem* LLPanelPicks::getSelectedPickItem()
@ -713,6 +701,13 @@ bool LLPanelPicks::callbackDeletePick(const LLSD& notification, const LLSD& resp
{
LLAvatarPropertiesProcessor::instance().sendPickDelete(pick_value[PICK_ID]);
mPicksList->removeItemByValue(pick_value);
mNoPicks = !mPicksList->size();
if (mNoPicks)
{
showAccordion("tab_picks", false);
}
updateNoItemsLabel();
}
updateButtons();
return false;
@ -727,6 +722,13 @@ bool LLPanelPicks::callbackDeleteClassified(const LLSD& notification, const LLSD
{
LLAvatarPropertiesProcessor::instance().sendClassifiedDelete(value[CLASSIFIED_ID]);
mClassifiedsList->removeItemByValue(value);
mNoClassifieds = !mClassifiedsList->size();
if (mNoClassifieds)
{
showAccordion("tab_classifieds", false);
}
updateNoItemsLabel();
}
updateButtons();
return false;
@ -840,6 +842,23 @@ void LLPanelPicks::updateButtons()
}
}
void LLPanelPicks::updateNoItemsLabel()
{
bool no_data = mNoPicks && mNoClassifieds;
mNoItemsLabel->setVisible(no_data);
if (no_data)
{
if (getAvatarId() == gAgentID)
{
mNoItemsLabel->setValue(LLTrans::getString("NoPicksClassifiedsText"));
}
else
{
mNoItemsLabel->setValue(LLTrans::getString("NoAvatarPicksClassifiedsText"));
}
}
}
void LLPanelPicks::setProfilePanel(LLPanelProfile* profile_panel)
{
mProfilePanel = profile_panel;

View File

@ -87,6 +87,7 @@ public:
protected:
/*virtual*/void updateButtons();
void updateNoItemsLabel();
private:
void onClickDelete();