diff options
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/llfacebookconnect.cpp | 11 | ||||
-rw-r--r-- | indra/newview/llfloatersocial.cpp | 45 | ||||
-rw-r--r-- | indra/newview/llfloatersocial.h | 6 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_social.xml | 4 | ||||
-rwxr-xr-x | indra/newview/skins/default/xui/en/strings.xml | 3 |
5 files changed, 56 insertions, 13 deletions
diff --git a/indra/newview/llfacebookconnect.cpp b/indra/newview/llfacebookconnect.cpp index 64fc81cc93..fe4e7fe69e 100644 --- a/indra/newview/llfacebookconnect.cpp +++ b/indra/newview/llfacebookconnect.cpp @@ -36,9 +36,10 @@ #include "llnotificationsutil.h" #include "llurlaction.h" #include "llimagepng.h" +#include "lltrans.h" -// Local function +// Local functions void prompt_user_for_error(U32 status, const std::string& reason, const std::string& code, const std::string& description) { // Note: 302 (redirect) is *not* an error that warrants prompting the user @@ -55,6 +56,13 @@ void prompt_user_for_error(U32 status, const std::string& reason, const std::str } } +void toast_user_for_success() +{ + LLSD args; + args["MESSAGE"] = LLTrans::getString("facebook_post_success"); + LLNotificationsUtil::add("SystemMessage", args); +} + /////////////////////////////////////////////////////////////////////////////// // class LLFacebookConnectHandler : public LLCommandHandler @@ -133,6 +141,7 @@ public: { if (isGoodStatus(status)) { + toast_user_for_success(); LL_DEBUGS("FacebookConnect") << "Post successful. content: " << content << LL_ENDL; } else diff --git a/indra/newview/llfloatersocial.cpp b/indra/newview/llfloatersocial.cpp index 52a4e090f3..23e3d35c22 100644 --- a/indra/newview/llfloatersocial.cpp +++ b/indra/newview/llfloatersocial.cpp @@ -57,21 +57,48 @@ std::string get_map_url() return map_url; } -LLSocialStatusPanel::LLSocialStatusPanel() +LLSocialStatusPanel::LLSocialStatusPanel() : + mMessageTextEditor(NULL), + mPostStatusButton(NULL) { mCommitCallbackRegistrar.add("SocialSharing.SendStatus", boost::bind(&LLSocialStatusPanel::onSend, this)); } +BOOL LLSocialStatusPanel::postBuild() +{ + mMessageTextEditor = getChild<LLUICtrl>("status_message"); + mPostStatusButton = getChild<LLUICtrl>("post_status_btn"); + + return LLPanel::postBuild(); +} + +void LLSocialStatusPanel::draw() +{ + if (mMessageTextEditor && mPostStatusButton) + { + std::string message = mMessageTextEditor->getValue().asString(); + mPostStatusButton->setEnabled(!message.empty()); + } + + LLPanel::draw(); +} + void LLSocialStatusPanel::onSend() { - std::string message = getChild<LLUICtrl>("message")->getValue().asString(); - LLFacebookConnect::instance().updateStatus(message); + if (mMessageTextEditor) + { + std::string message = mMessageTextEditor->getValue().asString(); + if (!message.empty()) + { + LLFacebookConnect::instance().updateStatus(message); - LLFloater* floater = getParentByType<LLFloater>(); - if (floater) - { - floater->closeFloater(); - } + LLFloater* floater = getParentByType<LLFloater>(); + if (floater) + { + floater->closeFloater(); + } + } + } } LLSocialPhotoPanel::LLSocialPhotoPanel() : @@ -84,8 +111,6 @@ mThumbnailPlaceholder(NULL) mCommitCallbackRegistrar.add("PostToFacebook.Send", boost::bind(&LLSocialPhotoPanel::onSend, this)); } - - LLSocialPhotoPanel::~LLSocialPhotoPanel() { if(mPreviewHandle.get()) diff --git a/indra/newview/llfloatersocial.h b/indra/newview/llfloatersocial.h index 7b8db2d64a..1e28e3cb7e 100644 --- a/indra/newview/llfloatersocial.h +++ b/indra/newview/llfloatersocial.h @@ -36,7 +36,13 @@ class LLSocialStatusPanel : public LLPanel { public: LLSocialStatusPanel(); + BOOL postBuild(); + void draw(); void onSend(); + +private: + LLUICtrl* mMessageTextEditor; + LLUICtrl* mPostStatusButton; }; class LLSocialPhotoPanel : public LLPanel diff --git a/indra/newview/skins/default/xui/en/floater_social.xml b/indra/newview/skins/default/xui/en/floater_social.xml index f8ab2000cf..76c15b9624 100644 --- a/indra/newview/skins/default/xui/en/floater_social.xml +++ b/indra/newview/skins/default/xui/en/floater_social.xml @@ -49,7 +49,7 @@ left="9" length="1" max_length="700" - name="message" + name="status_message" type="string" word_wrap="true"> </text_editor> @@ -57,7 +57,7 @@ follows="left|top" height="23" label="Post" - name="post_btn" + name="post_status_btn" top_pad="18" width="100"> <button.commit_callback diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index f7b33b0a4a..4613ae054f 100755 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -3421,6 +3421,9 @@ If you continue to receive this message, contact the [SUPPORT_SITE]. Drag items from inventory here </string> + <string name="facebook_post_success"> + Posting to Facebook was successful. + </string> <string name="no_session_message"> (IM Session Doesn't Exist) |