From 0fb59172f7c8c2ad2d3f4f77e14108fc16accdc7 Mon Sep 17 00:00:00 2001 From: Merov Linden Date: Fri, 28 Feb 2014 16:10:27 -0800 Subject: ACME-1335, ACME-1336 : Add info text to the Friends tab in Facebook when no friends are visible --- indra/newview/llfloaterfacebook.cpp | 46 ++++++++++++++++++---- indra/newview/llfloaterfacebook.h | 1 + .../default/xui/en/panel_facebook_friends.xml | 19 +++++++++ 3 files changed, 59 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("facebook_friends_status"); + mSecondLifeFriends = getChild("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("tab_second_life_friends")->setVisible(mSecondLifeFriends->filterHasMatches()); - getChild("tab_suggested_friends")->setVisible(mSuggestedFriends->filterHasMatches()); - - // Rearrange accordions - LLAccordionCtrl* accordion = getChild("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("friends_accordion")->setVisible(false); + getChild("tab_second_life_friends")->setVisible(false); + getChild("tab_suggested_friends")->setVisible(false); + } + else + { + // We have something in the lists, hide that + mFriendsStatusCaption->setVisible(false); + + // Show the lists + LLAccordionCtrl* accordion = getChild("friends_accordion"); + accordion->setVisible(true); + + // Expand and show accordions if needed, else - hide them + getChild("tab_second_life_friends")->setVisible(mSecondLifeFriends->filterHasMatches()); + getChild("tab_suggested_friends")->setVisible(mSuggestedFriends->filterHasMatches()); + + // Rearrange accordions + accordion->arrange(); + } } void LLFacebookFriendsPanel::changed(U32 mask) diff --git a/indra/newview/llfloaterfacebook.h b/indra/newview/llfloaterfacebook.h index 39264c8bff..8eff46412d 100644 --- a/indra/newview/llfloaterfacebook.h +++ b/indra/newview/llfloaterfacebook.h @@ -143,6 +143,7 @@ private: void updateFacebookList(bool visible); bool onConnectedToFacebook(const LLSD& data); + LLTextBox * mFriendsStatusCaption; LLAvatarList* mSecondLifeFriends; LLAvatarList* mSuggestedFriends; }; diff --git a/indra/newview/skins/default/xui/en/panel_facebook_friends.xml b/indra/newview/skins/default/xui/en/panel_facebook_friends.xml index 9d5c86c79d..23820d209a 100644 --- a/indra/newview/skins/default/xui/en/panel_facebook_friends.xml +++ b/indra/newview/skins/default/xui/en/panel_facebook_friends.xml @@ -4,6 +4,12 @@ layout="topleft" follows="all" name="panel_facebook_friends"> + + + + Not connected to Facebook. + -- cgit v1.2.3