summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterbuycurrency.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfloaterbuycurrency.cpp')
-rw-r--r--indra/newview/llfloaterbuycurrency.cpp37
1 files changed, 32 insertions, 5 deletions
diff --git a/indra/newview/llfloaterbuycurrency.cpp b/indra/newview/llfloaterbuycurrency.cpp
index 25348474a1..91436e52fe 100644
--- a/indra/newview/llfloaterbuycurrency.cpp
+++ b/indra/newview/llfloaterbuycurrency.cpp
@@ -74,6 +74,7 @@ public:
void onClickBuy();
void onClickCancel();
+ void onClickErrorWeb();
};
LLFloater* LLFloaterBuyCurrency::buildFloater(const LLSD& key)
@@ -131,6 +132,7 @@ BOOL LLFloaterBuyCurrencyUI::postBuild()
getChild<LLUICtrl>("buy_btn")->setCommitCallback( boost::bind(&LLFloaterBuyCurrencyUI::onClickBuy, this));
getChild<LLUICtrl>("cancel_btn")->setCommitCallback( boost::bind(&LLFloaterBuyCurrencyUI::onClickCancel, this));
+ getChild<LLUICtrl>("error_web")->setCommitCallback( boost::bind(&LLFloaterBuyCurrencyUI::onClickErrorWeb, this));
center();
@@ -171,6 +173,7 @@ void LLFloaterBuyCurrencyUI::updateUI()
// hide most widgets - we'll turn them on as needed next
getChildView("info_buying")->setVisible(FALSE);
+ getChildView("info_cannot_buy")->setVisible(FALSE);
getChildView("info_need_more")->setVisible(FALSE);
getChildView("purchase_warning_repurchase")->setVisible(FALSE);
getChildView("purchase_warning_notenough")->setVisible(FALSE);
@@ -180,16 +183,32 @@ void LLFloaterBuyCurrencyUI::updateUI()
if (hasError)
{
// display an error from the server
- LLSD args;
- args["TITLE"] = getString("info_cannot_buy");
- args["MESSAGE"] = mManager.errorMessage();
- LLNotificationsUtil::add("CouldNotBuyCurrency", args);
- closeFloater();
+ getChildView("normal_background")->setVisible(FALSE);
+ getChildView("error_background")->setVisible(TRUE);
+ getChildView("info_cannot_buy")->setVisible(TRUE);
+ getChildView("cannot_buy_message")->setVisible(TRUE);
+ getChildView("balance_label")->setVisible(FALSE);
+ getChildView("balance_amount")->setVisible(FALSE);
+ getChildView("buying_label")->setVisible(FALSE);
+ getChildView("buying_amount")->setVisible(FALSE);
+ getChildView("total_label")->setVisible(FALSE);
+ getChildView("total_amount")->setVisible(FALSE);
+
+ LLTextBox* message = getChild<LLTextBox>("cannot_buy_message");
+ if (message)
+ {
+ message->setText(mManager.errorMessage());
+ }
+
+ getChildView("error_web")->setVisible( !mManager.errorURI().empty());
}
else
{
// display the main Buy L$ interface
getChildView("normal_background")->setVisible(TRUE);
+ getChildView("error_background")->setVisible(FALSE);
+ getChildView("cannot_buy_message")->setVisible(FALSE);
+ getChildView("error_web")->setVisible(FALSE);
if (mHasTarget)
{
@@ -259,6 +278,14 @@ void LLFloaterBuyCurrencyUI::onClickCancel()
LLStatusBar::sendMoneyBalanceRequest();
}
+void LLFloaterBuyCurrencyUI::onClickErrorWeb()
+{
+ LLWeb::loadURL(mManager.errorURI());
+ closeFloater();
+ // Update L$ balance
+ LLStatusBar::sendMoneyBalanceRequest();
+}
+
// static
void LLFloaterBuyCurrency::buyCurrency()
{