diff options
-rw-r--r-- | indra/newview/llcurrencyuimanager.cpp | 7 | ||||
-rw-r--r-- | indra/newview/llfloaterbuycurrency.cpp | 61 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/floater_buy_currency.xml | 624 |
3 files changed, 276 insertions, 416 deletions
diff --git a/indra/newview/llcurrencyuimanager.cpp b/indra/newview/llcurrencyuimanager.cpp index cd7332c4d4..df94e337da 100644 --- a/indra/newview/llcurrencyuimanager.cpp +++ b/indra/newview/llcurrencyuimanager.cpp @@ -454,7 +454,7 @@ void LLCurrencyUIManager::Impl::updateUI() if (!mUserEnteredCurrencyBuy) { - if (mUserCurrencyBuy == 0) + if (!mZeroMessage.empty() && mUserCurrencyBuy == 0) { lindenAmount->setText(LLStringUtil::null); } @@ -467,9 +467,8 @@ void LLCurrencyUIManager::Impl::updateUI() } } - std::string estimated = (mUserCurrencyBuy == 0) ? mPanel.getString("estimated_zero") : getLocalEstimate(); - mPanel.getChild<LLUICtrl>("currency_est")->setTextArg("[LOCALAMOUNT]", estimated); - mPanel.getChildView("currency_est")->setVisible( hasEstimate() || mUserCurrencyBuy == 0); + mPanel.getChild<LLUICtrl>("currency_est")->setTextArg("[LOCALAMOUNT]", getLocalEstimate()); + mPanel.getChildView("currency_est")->setVisible( hasEstimate() && mUserCurrencyBuy > 0); mPanel.getChildView("currency_links")->setVisible( mSupportsInternationalBilling); mPanel.getChildView("exchange_rate_note")->setVisible( mSupportsInternationalBilling); diff --git a/indra/newview/llfloaterbuycurrency.cpp b/indra/newview/llfloaterbuycurrency.cpp index b039475389..25348474a1 100644 --- a/indra/newview/llfloaterbuycurrency.cpp +++ b/indra/newview/llfloaterbuycurrency.cpp @@ -32,8 +32,6 @@ #include "llcurrencyuimanager.h" #include "llfloater.h" #include "llfloaterreg.h" -#include "lllayoutstack.h" -#include "lliconctrl.h" #include "llnotificationsutil.h" #include "llstatusbar.h" #include "lltextbox.h" @@ -62,7 +60,6 @@ public: bool mHasTarget; std::string mTargetName; S32 mTargetPrice; - S32 mRequiredAmount; public: void noTarget(); @@ -71,7 +68,6 @@ public: virtual BOOL postBuild(); void updateUI(); - void collapsePanels(bool collapse); virtual void draw(); virtual BOOL canClose(); @@ -96,9 +92,7 @@ LLFloater* LLFloaterBuyCurrency::buildFloater(const LLSD& key) LLFloaterBuyCurrencyUI::LLFloaterBuyCurrencyUI(const LLSD& key) : LLFloater(key), mChildren(*this), - mManager(*this), - mHasTarget(false), - mTargetPrice(0) + mManager(*this) { } @@ -110,8 +104,7 @@ LLFloaterBuyCurrencyUI::~LLFloaterBuyCurrencyUI() void LLFloaterBuyCurrencyUI::noTarget() { mHasTarget = false; - mTargetPrice = 0; - mManager.setAmount(0); + mManager.setAmount(STANDARD_BUY_AMOUNT); } void LLFloaterBuyCurrencyUI::target(const std::string& name, S32 price) @@ -127,8 +120,7 @@ void LLFloaterBuyCurrencyUI::target(const std::string& name, S32 price) need = 0; } - mRequiredAmount = need + MINIMUM_BALANCE_AMOUNT; - mManager.setAmount(0); + mManager.setAmount(need + MINIMUM_BALANCE_AMOUNT); } @@ -183,6 +175,7 @@ void LLFloaterBuyCurrencyUI::updateUI() getChildView("purchase_warning_repurchase")->setVisible(FALSE); getChildView("purchase_warning_notenough")->setVisible(FALSE); getChildView("contacting")->setVisible(FALSE); + getChildView("buy_action")->setVisible(FALSE); if (hasError) { @@ -215,8 +208,8 @@ void LLFloaterBuyCurrencyUI::updateUI() { if (mHasTarget) { - getChild<LLUICtrl>("target_price")->setTextArg("[AMT]", llformat("%d", mTargetPrice)); - getChild<LLUICtrl>("required_amount")->setTextArg("[AMT]", llformat("%d", mRequiredAmount)); + getChildView("buy_action")->setVisible( true); + getChild<LLUICtrl>("buy_action")->setTextArg("[ACTION]", mTargetName); } } @@ -237,40 +230,18 @@ void LLFloaterBuyCurrencyUI::updateUI() if (mHasTarget) { - getChildView("purchase_warning_repurchase")->setVisible( !getChildView("currency_links")->getVisible()); + if (total >= mTargetPrice) + { + getChildView("purchase_warning_repurchase")->setVisible( true); + } + else + { + getChildView("purchase_warning_notenough")->setVisible( true); + } } } - getChildView("getting_data")->setVisible( !mManager.canBuy() && !hasError && !getChildView("currency_est")->getVisible()); -} - -void LLFloaterBuyCurrencyUI::collapsePanels(bool collapse) -{ - LLLayoutPanel* price_panel = getChild<LLLayoutPanel>("layout_panel_price"); - - if (price_panel->isCollapsed() == collapse) - return; - - LLLayoutStack* outer_stack = getChild<LLLayoutStack>("outer_stack"); - LLLayoutPanel* required_panel = getChild<LLLayoutPanel>("layout_panel_required"); - LLLayoutPanel* msg_panel = getChild<LLLayoutPanel>("layout_panel_msg"); - - S32 delta_height = price_panel->getRect().getHeight() + required_panel->getRect().getHeight() + msg_panel->getRect().getHeight(); - delta_height *= (collapse ? -1 : 1); - - LLIconCtrl* icon = getChild<LLIconCtrl>("normal_background"); - LLRect rect = icon->getRect(); - icon->setRect(rect.setOriginAndSize(rect.mLeft, rect.mBottom - delta_height, rect.getWidth(), rect.getHeight() + delta_height)); - - outer_stack->collapsePanel(price_panel, collapse); - outer_stack->collapsePanel(required_panel, collapse); - outer_stack->collapsePanel(msg_panel, collapse); - - outer_stack->updateLayout(); - - LLRect floater_rect = getRect(); - floater_rect.mBottom -= delta_height; - setShape(floater_rect, false); + getChildView("getting_data")->setVisible( !mManager.canBuy() && !hasError); } void LLFloaterBuyCurrencyUI::onClickBuy() @@ -294,7 +265,6 @@ void LLFloaterBuyCurrency::buyCurrency() LLFloaterBuyCurrencyUI* ui = LLFloaterReg::showTypedInstance<LLFloaterBuyCurrencyUI>("buy_currency"); ui->noTarget(); ui->updateUI(); - ui->collapsePanels(true); } // static @@ -303,7 +273,6 @@ void LLFloaterBuyCurrency::buyCurrency(const std::string& name, S32 price) LLFloaterBuyCurrencyUI* ui = LLFloaterReg::showTypedInstance<LLFloaterBuyCurrencyUI>("buy_currency"); ui->target(name, price); ui->updateUI(); - ui->collapsePanels(false); } diff --git a/indra/newview/skins/default/xui/en/floater_buy_currency.xml b/indra/newview/skins/default/xui/en/floater_buy_currency.xml index e8e83301be..061af1b67c 100644 --- a/indra/newview/skins/default/xui/en/floater_buy_currency.xml +++ b/indra/newview/skins/default/xui/en/floater_buy_currency.xml @@ -1,8 +1,8 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <floater - + legacy_header_height="18" can_minimize="false" - height="285" + height="275" layout="topleft" title="BUY L$" name="buy currency" @@ -17,385 +17,277 @@ name="info_cannot_buy"> Unable to Buy </floater.string> - <floater.string - name="estimated_zero"> - US$ 0.00 - </floater.string> <icon - height="245" + height="215" image_name="Linden_Dollar_Background" layout="topleft" left="0" name="normal_background" - top="0" + top="17" use_draw_context_alpha="false" width="350" /> - <layout_stack - animate="false" - name="outer_stack" - layout="topleft" - follows="all" - orientation="vertical" - left="0" - top="0" - width="350" - height="285"> - <layout_panel - auto_resize="false" - name="layout_panel_title" + <text + type="string" + length="1" + follows="top|left|right" + font="SansSerifHuge" + layout="topleft" + left="20" + height="30" + top="25" + width="340" + name="info_need_more"> + You need more L$ + </text> + <text + type="string" + length="1" + follows="top|left" + height="16" layout="topleft" - follows="all" - width="350" - height="35"> - <text - type="string" - length="1" - follows="top|left|right" - font="SansSerifLarge" - layout="topleft" - left="20" - height="30" - top="8" - width="340" - name="info_need_more"> - You need more L$ - </text> - <text - type="string" - length="1" - follows="top|left|right" - font="SansSerifLarge" - layout="topleft" - left="20" - height="30" - top="8" - width="300" - name="info_buying"> - Buy L$ - </text> - <view_border - bevel_style="none" - height="0" - layout="topleft" - left="20" - name="text_border" - top_delta="25" - width="300"/> - </layout_panel> - <layout_panel - auto_resize="false" - name="layout_panel_price" + top="246" + left="15" + width="300" + name="contacting"> + Contacting LindeX... + </text> + <text + type="string" + length="1" + follows="top|left" + font="SansSerifHuge" layout="topleft" - follows="all" - width="350" - height="18"> - <text - type="string" - length="1" - follows="top|left" - font="SansSerifMedium" - height="16" - layout="topleft" - left="20" - name="target_price_label" - top_pad="3" - width="210"> - You need - </text> - <text - type="string" - length="1" - font="SansSerifMedium" - follows="top|left" - halign="right" - height="16" - layout="topleft" - left="200" - name="target_price" - top_delta="0" - width="120"> - L$ [AMT] - </text> - </layout_panel> - <layout_panel - auto_resize="false" - name="layout_panel_balance" + left="20" + height="30" + top="25" + width="300" + name="info_buying"> + Buy L$ + </text> + <text + type="string" + length="1" + follows="top|left" + font="SansSerifMedium" + height="16" layout="topleft" - follows="all" - width="350" - height="19"> - <text - type="string" - length="1" - follows="top|left" - font="SansSerifMedium" - height="16" - layout="topleft" - left="20" - name="balance_label" - top_pad="5" - width="210"> - You now have - </text> - <text - type="string" - length="1" - font="SansSerifMedium" - follows="top|left" - halign="right" - height="16" - layout="topleft" - left="200" - name="balance_amount" - top_delta="0" - width="120"> + left="20" + name="balance_label" + top="65" + width="210"> + I have + </text> + <text + type="string" + length="1" + font="SansSerifMedium" + follows="top|left" + halign="right" + height="16" + layout="topleft" + left="200" + name="balance_amount" + top_delta="0" + width="120"> L$ [AMT] - </text> - </layout_panel> - <layout_panel - auto_resize="false" - name="layout_panel_required" + </text> + <text + type="string" + length="1" + follows="top|left" + font="SansSerifMedium" + height="16" + top="95" + layout="topleft" + left="20" + name="currency_action" + width="210"> + I want to buy + </text> + <text + font="SansSerifMedium" + type="string" + length="1" + follows="left|top" + height="16" + layout="topleft" + top_delta="0" + left="217" + name="currency_label" + width="15"> + L$ + </text> + <line_editor + type="string" + max_length_bytes="10" + halign="right" + font="SansSerifMedium" + select_on_focus="true" + follows="top|left" + top_delta="-7" + height="22" + label="L$" + left_pad="3" + name="currency_amt" + width="85"> + 1234 + </line_editor> + <text + type="string" + font="SansSerifMedium" + length="1" + follows="top|left" + height="16" + layout="topleft" + left="20" + top="125" + name="buying_label" + width="210"> + For the price + </text> + <text + type="string" + length="1" + font="SansSerifMedium" + text_color="EmphasisColor" + follows="top|left" + halign="right" + height="16" + top_delta="0" layout="topleft" - follows="all" - width="350" - height="22"> - <text - type="string" - length="1" - follows="top|left" - font="SansSerifMedium" - font.style="BOLD" - height="16" - layout="topleft" - left="20" - name="required_label" - top_pad="6" - width="210"> - You should buy at least - </text> - <text - type="string" - length="1" - font="SansSerifMedium" - follows="top|left" - halign="right" - height="16" - layout="topleft" - left="200" - name="required_amount" - top_delta="0" - width="120"> + left="150" + name="currency_est" + width="170"> + approx. [LOCALAMOUNT] + </text> + <text + type="string" + font="SansSerifSmall" + text_color="EmphasisColor" + length="1" + follows="top|left" + height="16" + layout="topleft" + top="125" + left="170" + width="150" + halign="right" + name="getting_data"> + Estimating... + </text> + <text + type="string" + font="SansSerifSmall" + top="145" + length="1" + follows="top|left" + height="16" + halign="right" + left="20" + width="300" + layout="topleft" + name="buy_action"> + [ACTION] + </text> + <text + type="string" + font="SansSerifMedium" + length="1" + follows="top|left" + height="16" + layout="topleft" + left="20" + name="total_label" + top="165" + width="210"> + My new balance will be + </text> + <text + type="string" + length="1" + font="SansSerifMedium" + follows="top|left" + top_delta="0" + height="16" + layout="topleft" + left="200" + halign="right" + name="total_amount" + width="120"> L$ [AMT] - </text> - </layout_panel> - <layout_panel - auto_resize="false" - name="layout_panel_action" + </text> + <text + type="string" + length="1" + text_color="LtGray_50" + follows="top|left" layout="topleft" - follows="all" - width="350" - height="90"> - <view_border - bevel_style="none" - height="0" - layout="topleft" - left="20" - name="text_border_2" - top_pad="5" - width="300"/> - <text - type="string" - length="1" - follows="top|left" - font="SansSerifMedium" - height="16" - top_pad="15" - layout="topleft" - left="20" - name="currency_action" - width="210"> - Choose amount to buy - </text> - <text - font="SansSerifMedium" - type="string" - length="1" - follows="left|top" - height="16" - layout="topleft" - top_delta="0" - left="247" - name="currency_label" - width="15"> - L$ - </text> - <line_editor - type="string" - max_length_bytes="10" - halign="right" - font="SansSerifMedium" - select_on_focus="true" - follows="top|left" - top_delta="-4" - height="22" - label="L$" - left_pad="3" - name="currency_amt" - width="55"> - 1234 - </line_editor> - <text - type="string" - length="1" - font="SansSerifMedium" - text_color="EmphasisColor" - follows="top|left" - halign="right" - height="16" - top_pad="4" - layout="topleft" - left="150" - name="currency_est" - width="170"> - Approx. [LOCALAMOUNT] - </text> - <text - type="string" - font="SansSerifSmall" - text_color="EmphasisColor" - length="1" - follows="top|left" - height="16" - layout="topleft" - left="170" - top_delta="0" - width="150" - halign="right" - name="getting_data"> - Estimating... - </text> - <text - type="string" - font="SansSerifMedium" - length="1" - follows="top|left" - height="16" - layout="topleft" - left="20" - name="total_label" - top_pad="10" - width="210"> - Your new balance will be - </text> - <text - type="string" - length="1" - font="SansSerifMedium" - follows="top|left" - top_delta="0" - height="16" - layout="topleft" - left="200" - halign="right" - name="total_amount" - width="120"> - L$ [AMT] - </text> - </layout_panel> - <layout_panel - auto_resize="false" - name="layout_panel_msg" + halign="right" + top="189" + left="20" + width="300" + height="30" + name="currency_links"> + [http://www.secondlife.com/my/account/payment_method_management.php payment method] | [http://www.secondlife.com/my/account/currency.php currency] + </text> + <text + type="string" + length="1" + text_color="LtGray_50" + follows="top|left" layout="topleft" - follows="all" - width="350" - height="50"> - <view_border - bevel_style="none" - height="0" - layout="topleft" - left="20" - name="text_border_3" - top_pad="0" - width="300"/> - <text - type="string" - length="1" - text_color="LtGray_50" - follows="top|left" - layout="topleft" - halign="right" - top_pad="3" - left="20" - width="300" - height="30" - name="currency_links"> - [http://www.secondlife.com/my/account/payment_method_management.php payment method] | [http://www.secondlife.com/my/account/currency.php currency] - </text> - <text - type="string" - length="1" - text_color="LtGray_50" - follows="top|left" - layout="topleft" - halign="right" - top="19" - left="20" - width="300" - height="30" - name="exchange_rate_note"> + halign="right" + top="202" + left="20" + width="300" + height="30" + name="exchange_rate_note"> Re-enter amount to see the latest exchange rate. - </text> - <text - type="string" - length="1" - follows="top|left" - layout="topleft" - font="SansSerifMedium" - top="10" - left="20" - width="310" - height="35" - name="purchase_warning_repurchase"> -After you receive your L$, you should try your -purchase again. - </text> - </layout_panel> - <layout_panel - auto_resize="false" - name="layout_panel_buttons" + </text> + <text + type="string" + length="1" + text_color="LtGray_50" + follows="top|left" + layout="topleft" + halign="right" + top="208" + left="10" + width="310" + height="35" + name="purchase_warning_repurchase"> + Confirming this purchase only buys L$, not the object. + </text> + <text + type="string" + length="1" + text_color="LtGray_50" + follows="top|left" + layout="topleft" + halign="right" + top="213" + left="20" + width="300" + height="30" + name="purchase_warning_notenough"> + You aren't buying enough L$. Please increase the amount. + </text> + + <button + follows="bottom|left" + height="20" + label="Buy Now" + layout="topleft" + left="151" + name="buy_btn" + top="242" + width="90"/> + <button + follows="bottom|right" + height="20" + label="Cancel" layout="topleft" - follows="all" - width="350" - height="40"> - <text - type="string" - length="1" - follows="top|left" - height="16" - layout="topleft" - top_pad="0" - left="15" - width="300" - name="contacting"> - Contacting LindeX... - </text> - <button - follows="top|left|right" - height="20" - label="Buy L$ now" - layout="topleft" - left="151" - name="buy_btn" - bottom_delta ="8" - width="90"/> - <button - follows="top|left|right" - height="20" - label="Cancel" - layout="topleft" - left_pad="10" - name="cancel_btn" - width="90"/> - </layout_panel> - </layout_stack> + left_pad="10" + name="cancel_btn" + width="90"/> </floater> |