diff options
author | Merov Linden <merov@lindenlab.com> | 2014-02-28 16:10:27 -0800 |
---|---|---|
committer | Merov Linden <merov@lindenlab.com> | 2014-02-28 16:10:27 -0800 |
commit | 0fb59172f7c8c2ad2d3f4f77e14108fc16accdc7 (patch) | |
tree | 05987db9fba2f6d70221ba3eb20c62f4cb51d210 /indra/newview/llfloaterfacebook.cpp | |
parent | 209ed601dd6cf9af66eb44d71ab0d28ec94fb81e (diff) |
ACME-1335, ACME-1336 : Add info text to the Friends tab in Facebook when no friends are visible
Diffstat (limited to 'indra/newview/llfloaterfacebook.cpp')
-rw-r--r-- | indra/newview/llfloaterfacebook.cpp | 46 |
1 files changed, 39 insertions, 7 deletions
diff --git a/indra/newview/llfloaterfacebook.cpp b/indra/newview/llfloaterfacebook.cpp index 5acc5260d2..9a08f5d581 100644 --- a/indra/newview/llfloaterfacebook.cpp +++ b/indra/newview/llfloaterfacebook.cpp @@ -752,6 +752,7 @@ void LLFacebookCheckinPanel::clearAndClose() /////////////////////////// LLFacebookFriendsPanel::LLFacebookFriendsPanel() : +mFriendsStatusCaption(NULL), mSecondLifeFriends(NULL), mSuggestedFriends(NULL) { @@ -764,6 +765,8 @@ LLFacebookFriendsPanel::~LLFacebookFriendsPanel() BOOL LLFacebookFriendsPanel::postBuild() { + mFriendsStatusCaption = getChild<LLTextBox>("facebook_friends_status"); + mSecondLifeFriends = getChild<LLAvatarList>("second_life_friends"); mSecondLifeFriends->setContextMenu(&LLPanelPeopleMenus::gPeopleContextMenu); @@ -815,13 +818,42 @@ bool LLFacebookFriendsPanel::updateSuggestedFriendList() void LLFacebookFriendsPanel::showFriendsAccordionsIfNeeded() { - // Expand and show accordions if needed, else - hide them - getChild<LLAccordionCtrlTab>("tab_second_life_friends")->setVisible(mSecondLifeFriends->filterHasMatches()); - getChild<LLAccordionCtrlTab>("tab_suggested_friends")->setVisible(mSuggestedFriends->filterHasMatches()); - - // Rearrange accordions - LLAccordionCtrl* accordion = getChild<LLAccordionCtrl>("friends_accordion"); - accordion->arrange(); + // Show / hide the status text : needs to be done *before* showing / hidding the accordions + if (!mSecondLifeFriends->filterHasMatches() && !mSuggestedFriends->filterHasMatches()) + { + // Show some explanation text if the lists are empty... + mFriendsStatusCaption->setVisible(true); + if (LLFacebookConnect::instance().isConnected()) + { + //...you're connected to FB but have no friends :( + mFriendsStatusCaption->setText(getString("facebook_friends_empty")); + } + else + { + //...you're not connected to FB + mFriendsStatusCaption->setText(getString("facebook_friends_no_connected")); + } + // Hide the lists + getChild<LLAccordionCtrlTab>("friends_accordion")->setVisible(false); + getChild<LLAccordionCtrlTab>("tab_second_life_friends")->setVisible(false); + getChild<LLAccordionCtrlTab>("tab_suggested_friends")->setVisible(false); + } + else + { + // We have something in the lists, hide that + mFriendsStatusCaption->setVisible(false); + + // Show the lists + LLAccordionCtrl* accordion = getChild<LLAccordionCtrl>("friends_accordion"); + accordion->setVisible(true); + + // Expand and show accordions if needed, else - hide them + getChild<LLAccordionCtrlTab>("tab_second_life_friends")->setVisible(mSecondLifeFriends->filterHasMatches()); + getChild<LLAccordionCtrlTab>("tab_suggested_friends")->setVisible(mSuggestedFriends->filterHasMatches()); + + // Rearrange accordions + accordion->arrange(); + } } void LLFacebookFriendsPanel::changed(U32 mask) |