summaryrefslogtreecommitdiff
path: root/indra/newview/llfloatersocial.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfloatersocial.cpp')
-rw-r--r--indra/newview/llfloatersocial.cpp66
1 files changed, 29 insertions, 37 deletions
diff --git a/indra/newview/llfloatersocial.cpp b/indra/newview/llfloatersocial.cpp
index 6d4262a599..b90cc004d3 100644
--- a/indra/newview/llfloatersocial.cpp
+++ b/indra/newview/llfloatersocial.cpp
@@ -40,6 +40,7 @@
#include "llsdserialize.h"
#include "llloadingindicator.h"
#include "llslurl.h"
+#include "lltrans.h"
#include "llsnapshotlivepreview.h"
#include "llviewerregion.h"
#include "llviewercontrol.h"
@@ -155,8 +156,6 @@ LLSocialPhotoPanel::LLSocialPhotoPanel() :
mSnapshotPanel(NULL),
mResolutionComboBox(NULL),
mRefreshBtn(NULL),
-mRefreshLabel(NULL),
-mWorkingIndicator(NULL),
mWorkingLabel(NULL),
mThumbnailPlaceholder(NULL),
mCaptionTextBox(NULL),
@@ -183,8 +182,6 @@ BOOL LLSocialPhotoPanel::postBuild()
mResolutionComboBox->setCommitCallback(boost::bind(&LLSocialPhotoPanel::updateResolution, this, TRUE));
mRefreshBtn = getChild<LLUICtrl>("new_snapshot_btn");
childSetAction("new_snapshot_btn", boost::bind(&LLSocialPhotoPanel::onClickNewSnapshot, this));
- mRefreshLabel = getChild<LLUICtrl>("refresh_lbl");
- mWorkingIndicator = getChild<LLLoadingIndicator>("working_indicator");
mWorkingLabel = getChild<LLUICtrl>("working_lbl");
mThumbnailPlaceholder = getChild<LLUICtrl>("thumbnail_placeholder");
mCaptionTextBox = getChild<LLUICtrl>("caption");
@@ -226,23 +223,10 @@ void LLSocialPhotoPanel::draw()
previewp->drawPreviewRect(offset_x, offset_y) ;
}
- // Update the visibility of the working (computing preview) indicators
- if (previewp && previewp->getSnapshotUpToDate())
- {
- if (mWorkingIndicator->getVisible())
- {
- mWorkingIndicator->setVisible(false);
- mWorkingIndicator->stop();
- mWorkingLabel->setVisible(false);
- }
- }
- else if (!mWorkingIndicator->getVisible())
- {
- mWorkingIndicator->setVisible(true);
- mWorkingIndicator->start();
- mWorkingLabel->setVisible(true);
- }
+ // Update the visibility of the working (computing preview) label
+ mWorkingLabel->setVisible(!(previewp && previewp->getSnapshotUpToDate()));
+ // Draw the rest of the panel on top of it
LLPanel::draw();
}
@@ -439,7 +423,7 @@ void LLSocialPhotoPanel::updateResolution(BOOL do_update)
{
lldebugs << "Will update controls" << llendl;
updateControls();
- setNeedRefresh(true);
+ LLSocialPhotoPanel::onClickNewSnapshot();
}
}
@@ -467,12 +451,6 @@ void LLSocialPhotoPanel::checkAspectRatio(S32 index)
}
}
-void LLSocialPhotoPanel::setNeedRefresh(bool need)
-{
- mRefreshLabel->setVisible(need);
- mNeedRefresh = need;
-}
-
LLUICtrl* LLSocialPhotoPanel::getRefreshBtn()
{
return mRefreshBtn;
@@ -644,9 +622,6 @@ void LLFloaterSocial::preUpdate()
{
//Will set file size text to 'unknown'
instance->mSocialPhotoPanel->updateControls();
-
- //Hides the refresh text
- instance->mSocialPhotoPanel->setNeedRefresh(false);
}
}
@@ -659,9 +634,6 @@ void LLFloaterSocial::postUpdate()
//Will set the file size text
instance->mSocialPhotoPanel->updateControls();
- //Hides the refresh text
- instance->mSocialPhotoPanel->setNeedRefresh(false);
-
// The refresh button is initially hidden. We show it after the first update,
// i.e. after snapshot is taken
LLUICtrl * refresh_button = instance->mSocialPhotoPanel->getRefreshBtn();
@@ -682,22 +654,42 @@ void LLFloaterSocial::draw()
mStatusLoadingText->setVisible(false);
mStatusLoadingIndicator->setVisible(false);
LLFacebookConnect::EConnectionState connection_state = LLFacebookConnect::instance().getConnectionState();
+ std::string status_text;
+
switch (connection_state)
{
case LLFacebookConnect::FB_NOT_CONNECTED:
+ // No status displayed when first opening the panel and no connection done
+ case LLFacebookConnect::FB_CONNECTED:
+ // When successfully connected, no message is displayed
+ case LLFacebookConnect::FB_POSTED:
+ // No success message to show since we actually close the floater after successful posting completion
break;
case LLFacebookConnect::FB_CONNECTION_IN_PROGRESS:
- case LLFacebookConnect::FB_POSTING:
+ // Connection loading indicator
mStatusLoadingText->setVisible(true);
+ status_text = LLTrans::getString("SocialFacebookConnecting");
+ mStatusLoadingText->setValue(status_text);
mStatusLoadingIndicator->setVisible(true);
break;
- case LLFacebookConnect::FB_CONNECTED:
+ case LLFacebookConnect::FB_POSTING:
+ // Posting indicator
+ mStatusLoadingText->setVisible(true);
+ status_text = LLTrans::getString("SocialFacebookPosting");
+ mStatusLoadingText->setValue(status_text);
+ mStatusLoadingIndicator->setVisible(true);
break;
- case LLFacebookConnect::FB_POSTED:
- break;
case LLFacebookConnect::FB_CONNECTION_FAILED:
+ // Error connecting to the service
+ mStatusErrorText->setVisible(true);
+ status_text = LLTrans::getString("SocialFacebookErrorConnecting");
+ mStatusErrorText->setValue(status_text);
+ break;
case LLFacebookConnect::FB_POST_FAILED:
+ // Error posting to the service
mStatusErrorText->setVisible(true);
+ status_text = LLTrans::getString("SocialFacebookErrorPosting");
+ mStatusErrorText->setValue(status_text);
break;
}
}