summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMerov Linden <merov@lindenlab.com>2013-06-05 19:40:33 -0700
committerMerov Linden <merov@lindenlab.com>2013-06-05 19:40:33 -0700
commitba90e388855f99ec5b3f1991f2437f616a5d9e62 (patch)
tree9df6e5600e5d376243c0114ffc54559891603d26
parentfaf99f2e1c88f281836c555d9fa6886d45f13751 (diff)
ACME-464 : WIP : Make the menu Connect to FB only connect and be disabled if the user is already connected
-rwxr-xr-xindra/newview/llpanelsnapshotfacebook.cpp3
-rwxr-xr-xindra/newview/llviewermenu.cpp17
-rwxr-xr-xindra/newview/skins/default/xui/en/menu_viewer.xml2
3 files changed, 13 insertions, 9 deletions
diff --git a/indra/newview/llpanelsnapshotfacebook.cpp b/indra/newview/llpanelsnapshotfacebook.cpp
index 200c64f16b..27abbfa456 100755
--- a/indra/newview/llpanelsnapshotfacebook.cpp
+++ b/indra/newview/llpanelsnapshotfacebook.cpp
@@ -90,7 +90,8 @@ void LLPanelSnapshotFacebook::onOpen(const LLSD& key)
void LLPanelSnapshotFacebook::updateControls(const LLSD& info)
{
const bool have_snapshot = info.has("have-snapshot") ? info["have-snapshot"].asBoolean() : true;
- getChild<LLUICtrl>("post_btn")->setEnabled(have_snapshot);
+ const bool is_connected = LLFacebookConnect::instance().getConnected();
+ getChild<LLUICtrl>("post_btn")->setEnabled(have_snapshot && is_connected);
}
void LLPanelSnapshotFacebook::onSend()
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 471db8d8fc..bc2e13d77e 100755
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -5974,16 +5974,18 @@ void handle_report_abuse()
void handle_facebook_connect()
{
- if (LLFacebookConnect::instance().getConnected())
- {
- LLFacebookConnect::instance().disconnectFromFacebook();
- }
- else
+ if (!LLFacebookConnect::instance().getConnected())
{
LLFacebookConnect::instance().getConnectionToFacebook();
}
}
+bool enable_facebook_connect()
+{
+ // The menu item will be disabled if we are already connected
+ return !LLFacebookConnect::instance().getConnected();
+}
+
void handle_facebook_checkin()
{
@@ -5999,9 +6001,6 @@ void handle_facebook_checkin()
LLFacebookConnect::instance().postCheckin(slurl_string, region_name, description, "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQDL4jdC_vCh0ow-QCXZjN-WNojEXWiz0APEa6Qhpl8cxawjkoC7w", "");
}
-//bool is_facebook_connected();
-
-
void handle_buy_currency()
{
LLBuyCurrencyHTML::openCurrencyFloater();
@@ -8754,6 +8753,8 @@ void initialize_menus()
// Facebook Connect
commit.add("Facebook.Connect", boost::bind(&handle_facebook_connect));
+ enable.add("Facebook.EnableConnect", boost::bind(&enable_facebook_connect));
+
// Facebook Checkin
commit.add("Facebook.Checkin", boost::bind(&handle_facebook_checkin));
}
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index 5061842c7f..e67350722d 100755
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -20,6 +20,8 @@
name="ConnectToFacebook">
<menu_item_call.on_click
function="Facebook.Connect" />
+ <menu_item_call.on_enable
+ function="Facebook.EnableConnect" />
</menu_item_call>
<menu_item_call
label="Check in to Facebook"