diff options
author | Vadim ProductEngine <vsavchuk@productengine.com> | 2011-11-11 01:37:41 +0200 |
---|---|---|
committer | Vadim ProductEngine <vsavchuk@productengine.com> | 2011-11-11 01:37:41 +0200 |
commit | 4005a820f26d4287bf5c14ec011d4f792c5b82bc (patch) | |
tree | c812b4c6111acc0b8f7e0acc654b1791c9b05d3c /indra/newview/llpanelsnapshotoptions.cpp | |
parent | d1d8ae974c7dc65f9de40e6caf4edf9a1b7442cb (diff) |
EXP-1563 FIXED Negative upload cost displayed on the "Save to My Inventory" button.
Update upload cost in the button label when economy data arrives from server.
Diffstat (limited to 'indra/newview/llpanelsnapshotoptions.cpp')
-rw-r--r-- | indra/newview/llpanelsnapshotoptions.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/indra/newview/llpanelsnapshotoptions.cpp b/indra/newview/llpanelsnapshotoptions.cpp index df904b6836..554fabe5b3 100644 --- a/indra/newview/llpanelsnapshotoptions.cpp +++ b/indra/newview/llpanelsnapshotoptions.cpp @@ -37,14 +37,18 @@ */ class LLPanelSnapshotOptions : public LLPanel +, public LLEconomyObserver { LOG_CLASS(LLPanelSnapshotOptions); public: LLPanelSnapshotOptions(); + ~LLPanelSnapshotOptions(); /*virtual*/ void onOpen(const LLSD& key); + /*virtual*/ void onEconomyDataChange() { updateUploadCost(); } private: + void updateUploadCost(); void openPanel(const std::string& panel_name); void onSaveToProfile(); void onSaveToEmail(); @@ -60,11 +64,23 @@ LLPanelSnapshotOptions::LLPanelSnapshotOptions() mCommitCallbackRegistrar.add("Snapshot.SaveToEmail", boost::bind(&LLPanelSnapshotOptions::onSaveToEmail, this)); mCommitCallbackRegistrar.add("Snapshot.SaveToInventory", boost::bind(&LLPanelSnapshotOptions::onSaveToInventory, this)); mCommitCallbackRegistrar.add("Snapshot.SaveToComputer", boost::bind(&LLPanelSnapshotOptions::onSaveToComputer, this)); + + LLGlobalEconomy::Singleton::getInstance()->addObserver(this); +} + +LLPanelSnapshotOptions::~LLPanelSnapshotOptions() +{ + LLGlobalEconomy::Singleton::getInstance()->removeObserver(this); } // virtual void LLPanelSnapshotOptions::onOpen(const LLSD& key) { + updateUploadCost(); +} + +void LLPanelSnapshotOptions::updateUploadCost() +{ S32 upload_cost = LLGlobalEconomy::Singleton::getInstance()->getPriceUpload(); getChild<LLUICtrl>("save_to_inventory_btn")->setLabelArg("[AMOUNT]", llformat("%d", upload_cost)); } |