diff options
author | James Cook <james@lindenlab.com> | 2010-05-26 10:53:59 -0700 |
---|---|---|
committer | James Cook <james@lindenlab.com> | 2010-05-26 10:53:59 -0700 |
commit | 0ebdba45f6fbcecfe0aa63bb37ddcde2efba6d87 (patch) | |
tree | dcfb58e0756c0034075345363559e068f53e8f2a /indra/newview/llviewermenu.cpp | |
parent | dd672e6dfbe6347e7498fb32b9cade6a2133f4a8 (diff) | |
parent | 74279f551b84a409af52634df4b7d78294a818dc (diff) |
Merge with dessie/viewer-public to get Callum's webkit changes
Diffstat (limited to 'indra/newview/llviewermenu.cpp')
-rw-r--r-- | indra/newview/llviewermenu.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 224bfec9eb..d8f19f3e03 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -108,6 +108,8 @@ #include "llfloatercamera.h" #include "lluilistener.h" #include "llappearancemgr.h" +#include "lltrans.h" +#include "lleconomy.h" using namespace LLVOAvatarDefines; @@ -7611,6 +7613,42 @@ void handle_flush_name_caches() if (gCacheName) gCacheName->clear(); } +class LLUploadCostCalculator : public view_listener_t +{ + std::string mCostStr; + + bool handleEvent(const LLSD& userdata) + { + std::string menu_name = userdata.asString(); + gMenuHolder->childSetLabelArg(menu_name, "[COST]", mCostStr); + + return true; + } + + void calculateCost(); + +public: + LLUploadCostCalculator() + { + calculateCost(); + } +}; + +void LLUploadCostCalculator::calculateCost() +{ + S32 upload_cost = LLGlobalEconomy::Singleton::getInstance()->getPriceUpload(); + + // getPriceUpload() returns -1 if no data available yet. + if(upload_cost >= 0) + { + mCostStr = llformat("%d", upload_cost); + } + else + { + mCostStr = llformat("%d", gSavedSettings.getU32("DefaultUploadCost")); + } +} + void show_navbar_context_menu(LLView* ctrl, S32 x, S32 y) { static LLMenuGL* show_navbar_context_menu = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_hide_navbar.xml", @@ -7652,6 +7690,8 @@ void initialize_menus() enable.add("IsGodCustomerService", boost::bind(&is_god_customer_service)); enable.add("IsGodCustomerService", boost::bind(&is_god_customer_service)); + view_listener_t::addEnable(new LLUploadCostCalculator(), "Upload.CalculateCosts"); + // Agent commit.add("Agent.toggleFlying", boost::bind(&LLAgent::toggleFlying)); enable.add("Agent.enableFlying", boost::bind(&LLAgent::enableFlying)); |