summaryrefslogtreecommitdiff
path: root/indra/newview/llfloatersocial.cpp
diff options
context:
space:
mode:
authorGilbert Gonzales <gilbert@lindenlab.com>2013-07-17 17:50:54 -0700
committerGilbert Gonzales <gilbert@lindenlab.com>2013-07-17 17:50:54 -0700
commit095c53fa060b3d336b408e8b87f30518c8db36cd (patch)
tree3e4f4061df806923bcd3b6e3ebe0321098676cc7 /indra/newview/llfloatersocial.cpp
parent9988e4739f2af029732c66d0bc5f03e6f43c5685 (diff)
ACME-731 Create the llsocialaccountpanel class to handle input/feedback.
Diffstat (limited to 'indra/newview/llfloatersocial.cpp')
-rw-r--r--indra/newview/llfloatersocial.cpp77
1 files changed, 77 insertions, 0 deletions
diff --git a/indra/newview/llfloatersocial.cpp b/indra/newview/llfloatersocial.cpp
index c8c203fc25..66624f6355 100644
--- a/indra/newview/llfloatersocial.cpp
+++ b/indra/newview/llfloatersocial.cpp
@@ -48,6 +48,7 @@
static LLRegisterPanelClassWrapper<LLSocialStatusPanel> t_panel_status("llsocialstatuspanel");
static LLRegisterPanelClassWrapper<LLSocialPhotoPanel> t_panel_photo("llsocialphotopanel");
static LLRegisterPanelClassWrapper<LLSocialCheckinPanel> t_panel_checkin("llsocialcheckinpanel");
+static LLRegisterPanelClassWrapper<LLSocialAccountPanel> t_panel_account("llsocialaccountpanel");
const S32 MAX_POSTCARD_DATASIZE = 1024 * 1024; // one megabyte
const std::string DEFAULT_CHECKIN_ICON_URL = "http://logok.org/wp-content/uploads/2010/07/podcastlogo1.jpg";
@@ -609,6 +610,82 @@ void LLSocialCheckinPanel::clearAndClose()
}
}
+///////////////////////////
+//LLSocialAccountPanel//////
+///////////////////////////
+
+LLSocialAccountPanel::LLSocialAccountPanel() :
+mAccountCaptionLabel(NULL),
+mAccountNameLabel(NULL),
+mPanelButtons(NULL),
+mConnectButton(NULL),
+mUseAnotherAccountButton(NULL),
+mDisconnectButton(NULL)
+{
+ mCommitCallbackRegistrar.add("SocialSharing.Connect", boost::bind(&LLSocialAccountPanel::onConnect, this));
+ mCommitCallbackRegistrar.add("SocialSharing.UseAnotherAccount", boost::bind(&LLSocialAccountPanel::onUseAnotherAccount, this));
+ mCommitCallbackRegistrar.add("SocialSharing.Disconnect", boost::bind(&LLSocialAccountPanel::onDisconnect, this));
+}
+
+BOOL LLSocialAccountPanel::postBuild()
+{
+ mAccountCaptionLabel = getChild<LLTextBox>("account_caption_label");
+ mAccountNameLabel = getChild<LLTextBox>("account_name_label");
+ mPanelButtons = getChild<LLUICtrl>("panel_buttons");
+ mConnectButton = getChild<LLUICtrl>("connect_btn");
+ mUseAnotherAccountButton = getChild<LLUICtrl>("use_another_account_btn");
+ mDisconnectButton = getChild<LLUICtrl>("disconnect_btn");
+
+ hideConnectButton();
+
+ return LLPanel::postBuild();
+}
+
+void LLSocialAccountPanel::showConnectButton()
+{
+ if(!mConnectButton->getVisible())
+ {
+ mConnectButton->setVisible(TRUE);
+ LLRect mLayoutStackRect = mPanelButtons->getRect();
+ F32 deltaTopPadding = mConnectButton->getRect().mBottom - mUseAnotherAccountButton->getRect().mTop;
+ mLayoutStackRect.translate(0, -(mConnectButton->getRect().getHeight() + deltaTopPadding));
+ mPanelButtons->setRect(mLayoutStackRect);
+
+ mUseAnotherAccountButton->setVisible(FALSE);
+ mDisconnectButton->setVisible(FALSE);
+ }
+}
+
+void LLSocialAccountPanel::hideConnectButton()
+{
+ if(mConnectButton->getVisible())
+ {
+ mConnectButton->setVisible(FALSE);
+ LLRect mLayoutStackRect = mPanelButtons->getRect();
+ F32 deltaTopPadding = mConnectButton->getRect().mBottom - mUseAnotherAccountButton->getRect().mTop;
+ mLayoutStackRect.translate(0, mConnectButton->getRect().getHeight() + deltaTopPadding);
+ mPanelButtons->setRect(mLayoutStackRect);
+
+ mUseAnotherAccountButton->setVisible(TRUE);
+ mDisconnectButton->setVisible(TRUE);
+ }
+}
+
+void LLSocialAccountPanel::onConnect()
+{
+ hideConnectButton();
+}
+
+void LLSocialAccountPanel::onUseAnotherAccount()
+{
+
+}
+
+void LLSocialAccountPanel::onDisconnect()
+{
+ showConnectButton();
+}
+
////////////////////////
//LLFloaterSocial///////
////////////////////////