AO floater fixes, icon column fixed, shows additional information for empty sets and states.

ziree 2012-02-28 16:18:20 +01:00
parent 043beaf7ee
commit 371f5f6ab3
3 changed files with 33 additions and 27 deletions

View File

@ -96,7 +96,7 @@ void FloaterAO::updateAnimationList()
if(!mSelectedSet)
{
mStateSelector->setEnabled(FALSE);
mStateSelector->add("no_animations_loaded"); // getString("no_animations_loaded"));
mStateSelector->add(getString("ao_no_animations_loaded"));
return;
}
@ -138,6 +138,10 @@ void FloaterAO::updateList()
if(mSetList.empty())
{
lldebugs << "empty set list" << llendl;
mSetSelector->add(getString("ao_no_sets_loaded"));
mSetSelectorSmall->add(getString("ao_no_sets_loaded"));
mSetSelector->selectNthItem(0);
mSetSelectorSmall->selectNthItem(0);
enableSetControls(FALSE);
return;
}
@ -362,14 +366,13 @@ void FloaterAO::onClickActivate()
LLScrollListItem* FloaterAO::addAnimation(const std::string& name)
{
LLSD row;
row["columns"][0]["column"]="icon";
row["columns"][0]["type"]="icon";
row["columns"][0]["value"]="Inv_Animation";
row["columns"][0]["width"]=20;
row["columns"][1]["column"]="animation_name";
row["columns"][1]["type"]="text";
row["columns"][1]["value"]=name;
//[FIX FIRE-2835 : SJ] Changed the textcolumn from 120 to 200
row["columns"][1]["width"]=200; // 170 later
return mAnimationList->addElement(row);
}
@ -377,6 +380,9 @@ LLScrollListItem* FloaterAO::addAnimation(const std::string& name)
void FloaterAO::onSelectState()
{
mAnimationList->deleteAllItems();
mAnimationList->setCommentText(getString("ao_no_animations_loaded"));
mAnimationList->setEnabled(FALSE);
onChangeAnimationSelection();
if(!mSelectedSet)
@ -384,30 +390,20 @@ void FloaterAO::onSelectState()
mSelectedState=mSelectedSet->getStateByName(mStateSelector->getSelectedItemLabel());
if(!mSelectedState)
{
// mAnimationList->addSimpleElement("no_animations_loaded"); // getString("no_animations_loaded"));
mAnimationList->setEnabled(FALSE);
LLSD row;
/* row["columns"][0]["type"]="icon";
row["columns"][0]["value"]="";
row["columns"][0]["width"]=20;
*/
row["columns"][0]["type"]="text";
row["columns"][0]["value"]="no_animations_loaded"; // getString("no_animations_loaded"));
//[FIX FIRE-2835 : SJ] Changed the textcolumn from 120 to 200
row["columns"][0]["width"]=200;
mAnimationList->addElement(row);
return;
}
mAnimationList->setEnabled(TRUE);
mSelectedState=(AOSet::AOState*) mStateSelector->getCurrentUserdata();
for(U32 index=0;index<mSelectedState->mAnimations.size();index++)
if(mSelectedState->mAnimations.size())
{
LLScrollListItem* item=addAnimation(mSelectedState->mAnimations[index].mName);
if(item)
item->setUserdata(&mSelectedState->mAnimations[index].mInventoryUUID);
for(U32 index=0;index<mSelectedState->mAnimations.size();index++)
{
LLScrollListItem* item=addAnimation(mSelectedState->mAnimations[index].mName);
if(item)
item->setUserdata(&mSelectedState->mAnimations[index].mInventoryUUID);
}
mAnimationList->setCommentText("");
mAnimationList->setEnabled(TRUE);
}
mCycleCheckBox->setValue(mSelectedState->mCycle);

View File

@ -20,12 +20,12 @@
<floater.string
name="ao_no_sets_loaded">
No Sets Loaded
No Sets Loaded
</floater.string>
<floater.string
name="ao_no_animations_loaded">
No Animations Loaded
No Animations Loaded
</floater.string>
<panel

View File

@ -132,7 +132,15 @@
height="98"
multi_select="true"
follows="all"
layout="topleft" />
layout="topleft">
<scroll_list.columns
name="icon"
dynamic_width="false"
width="20" />
<scroll_list.columns
name="animation_name"
dynamic_width="true" />
</scroll_list>
<panel
name="ao_animation_move_trash_panel"
@ -362,6 +370,7 @@
name="ao_reload_indicator_left_layout_panel"
width="160"
height="32"
auto_resize="true"
user_resize="false">
</layout_panel>
<layout_panel
@ -382,6 +391,7 @@
name="ao_reload_indicator_right_layout_panel"
width="160"
height="32"
auto_resize="true"
user_resize="false">
</layout_panel>
</layout_stack>