Adding Grid manager panel and button (by nhede Core from angstrom viewer)

Also implemented dynamic currency symbol, and search browser using grid_info search url
Tank_Master 2012-05-21 16:27:25 -07:00
parent 6e1d7f7d24
commit 8b92e953a0
518 changed files with 2874 additions and 1752 deletions

View File

@ -129,7 +129,7 @@
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
<integer>0</integer>
</map>
<key>GridListDownloadURL</key>
<map>

View File

@ -274,5 +274,15 @@
<key>Value</key>
<integer>1</integer>
</map>
<key>ForceShowGrid</key>
<map>
<key>Comment</key>
<string>Always show grid dropdown on login screen</string>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
</map>
</llsd>

View File

@ -53,6 +53,7 @@
#include "llviewercontrol.h"
#include "llvoiceclient.h"
#include "lggcontactsetsfloater.h"
#include "llviewernetwork.h"
//Maximum number of people you can select to do an operation on at once.
#define MAX_FRIEND_SELECT 20
@ -142,6 +143,8 @@ BOOL FSFloaterContacts::postBuild()
mFriendsTab->childSetAction("offer_teleport_btn", boost::bind(&FSFloaterContacts::onTeleportButtonClicked, this));
mFriendsTab->childSetAction("pay_btn", boost::bind(&FSFloaterContacts::onPayButtonClicked, this));
std::string type_currency = LLGridManager::getInstance()->getCurrency();
mFriendsTab->getChild<LLUICtrl>("pay_btn")->setToolTipArg(std::string("[CUR]"), type_currency);
mFriendsTab->childSetAction("remove_btn", boost::bind(&FSFloaterContacts::onDeleteFriendButtonClicked, this));
mFriendsTab->childSetAction("add_btn", boost::bind(&FSFloaterContacts::onAddFriendWizButtonClicked, this));

View File

@ -51,6 +51,7 @@
#include "llnotificationmanager.h"
#include "llviewerobject.h"
#include "llappearancemgr.h"
#include "llviewernetwork.h"
#include <boost/regex.hpp>
#include <string>
@ -294,6 +295,12 @@ void FSLSLBridge :: initBridge()
return;
}
if(LLGridManager::getInstance()->isInOpenSim()) {
llwarns << "Asked to create bridge, but we are in opensim, so no library items are available. Aborting." << llendl;
mBridgeCreating = false;
return;
}
LLUUID catID = findFSCategory();
LLUUID libCatID = findFSBridgeContainerCategory();

View File

@ -55,6 +55,8 @@
#include "lltrans.h"
#include "llscrollcontainer.h"
#include "llstatusbar.h"
#include "llviewernetwork.h"
#include "llspinctrl.h"
const S32 MINIMUM_PRICE_FOR_LISTING = 50; // L$
@ -163,6 +165,8 @@ BOOL FSPanelClassifiedInfo::postBuild()
mSnapshotCtrl = getChild<LLTextureCtrl>("classified_snapshot");
mSnapshotRect = getDefaultSnapshotRect();
std::string type_currency = LLGridManager::getInstance()->getCurrency();
getChild<LLSpinCtrl>("price_for_listing")->setLabel(type_currency);
return TRUE;
}
@ -279,7 +283,9 @@ void FSPanelClassifiedInfo::processProperties(void* data, EAvatarProcessorType t
getString("auto_renew_on") : getString("auto_renew_off");
getChild<LLUICtrl>("auto_renew")->setValue(auto_renew_str);
std::string type_currency = LLGridManager::getInstance()->getCurrency();
price_str.setArg("[PRICE]", llformat("%d", c_info->price_for_listing));
price_str.setArg("[CUR]", type_currency);
getChild<LLUICtrl>("price_for_listing")->setValue(LLSD(price_str));
std::string date_str = date_fmt;

View File

@ -51,6 +51,7 @@
#include "llviewerwindow.h"
#include "lltexlayer.h"
#include "lltrans.h"
#include "llviewernetwork.h"
//-TT Client LSL Bridge
#include "fslslbridge.h"
//-TT
@ -89,8 +90,10 @@ void on_new_single_inventory_upload_complete(
// and display something saying that it cost L$
LLStatusBar::sendMoneyBalanceRequest();
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLSD args;
args["AMOUNT"] = llformat("%d", upload_price);
args["CUR"] = type_currency;
LLNotificationsUtil::add("UploadPayment", args);
}
@ -308,9 +311,11 @@ void LLAssetUploadResponder::uploadFailure(const LLSD& content)
// deal with L$ errors
if (reason == "insufficient funds")
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
S32 price = LLGlobalEconomy::Singleton::getInstance()->getPriceUpload();
LLStringUtil::format_map_t args;
args["AMOUNT"] = llformat("%d", price);
args["CUR"] = type_currency;
LLBuyCurrencyHTML::openCurrencyFloater( LLTrans::getString("uploading_costs", args), price );
}
else
@ -1138,7 +1143,9 @@ void LLNewAgentInventoryVariablePriceResponder::showConfirmationDialog(
LLSD substitutions;
LLSD payload;
std::string type_currency = LLGridManager::getInstance()->getCurrency();
substitutions["PRICE"] = upload_price;
substitutions["CUR"] = type_currency;
payload["confirmation_url"] = confirmation_url;

View File

@ -567,6 +567,8 @@ void LLCurrencyUIManager::buy(const std::string& buy_msg)
}
LLUIString msg = buy_msg;
std::string type_currency = LLGridManager::getInstance()->getCurrency();
msg.setArg("[CUR]", type_currency);
msg.setArg("[LINDENS]", llformat("%d", impl.mUserCurrencyBuy));
msg.setArg("[LOCALAMOUNT]", getLocalEstimate());
LLConfirmationManager::confirm(impl.mSiteConfirm,

View File

@ -38,6 +38,7 @@
#include "llui.h"
#include "llappviewer.h"
#include "lltracker.h"
#include "llviewernetwork.h"
// static
@ -163,7 +164,10 @@ void LLFirstUse::setDisplayName(bool enable)
// static
void LLFirstUse::receiveLindens(bool enable)
{
firstUseNotification("FirstReceiveLindens", enable, "HintLindenDollar", LLSD(), LLSD().with("target", "linden_balance").with("direction", "bottom"));
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLSD args;
args["CUR"] = type_currency;
firstUseNotification("FirstReceiveLindens", enable, "HintLindenDollar", args, LLSD().with("target", "linden_balance").with("direction", "bottom"));
}

View File

@ -56,6 +56,7 @@
#include "llsdutil.h"
#include "llsdutil_math.h"
#include "lltrans.h"
#include "llviewernetwork.h"
///----------------------------------------------------------------------------
/// Local function declarations, constants, enums, and typedefs
@ -448,10 +449,12 @@ void LLFloaterAuction::onClickSellToAnyone(void* data)
S32 sale_price = parcelp->getArea(); // Selling for L$1 per meter
S32 area = parcelp->getArea();
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLSD args;
args["LAND_SIZE"] = llformat("%d", area);
args["SALE_PRICE"] = llformat("%d", sale_price);
args["NAME"] = LLTrans::getString("Anyone");
args["CUR"] = type_currency;
LLNotification::Params params("ConfirmLandSaleChange"); // Re-use existing dialog
params.substitutions(args)

View File

@ -46,6 +46,7 @@
#include "llviewerobject.h"
#include "lluictrlfactory.h"
#include "llviewerwindow.h"
#include "llviewernetwork.h"
#include "lltrans.h"
LLFloaterBuy::LLFloaterBuy(const LLSD& key)
@ -176,7 +177,9 @@ void LLFloaterBuy::show(const LLSaleInfo& sale_info)
// Add after columns added so appropriate heights are correct.
object_list->addElement(row);
std::string type_currency = LLGridManager::getInstance()->getCurrency();
floater->getChild<LLUICtrl>("buy_text")->setTextArg("[AMOUNT]", llformat("%d", sale_info.getSalePrice()));
floater->getChild<LLUICtrl>("buy_text")->setTextArg("[CUR]", type_currency);
floater->getChild<LLUICtrl>("buy_name_text")->setTextArg("[NAME]", owner_name);
// Must do this after the floater is created, because

View File

@ -51,6 +51,7 @@
#include "llviewerregion.h"
#include "lluictrlfactory.h"
#include "llviewerwindow.h"
#include "llviewernetwork.h"
LLFloaterBuyContents::LLFloaterBuyContents(const LLSD& key)
: LLFloater(key)
@ -127,6 +128,8 @@ void LLFloaterBuyContents::show(const LLSaleInfo& sale_info)
floater->getChild<LLUICtrl>("buy_text")->setTextArg("[AMOUNT]", llformat("%d", sale_info.getSalePrice()));
floater->getChild<LLUICtrl>("buy_text")->setTextArg("[NAME]", owner_name);
std::string type_currency = LLGridManager::getInstance()->getCurrency();
floater->getChild<LLUICtrl>("buy_text")->setTextArg("[CUR]", type_currency);
// Must do this after the floater is created, because
// sometimes the inventory is already there and
// the callback is called immediately.

View File

@ -41,6 +41,7 @@
#include "llweb.h"
#include "llwindow.h"
#include "llappviewer.h"
#include "llviewernetwork.h"
static const S32 STANDARD_BUY_AMOUNT = 2000;
static const S32 MINIMUM_BALANCE_AMOUNT = 0;
@ -130,9 +131,12 @@ BOOL LLFloaterBuyCurrencyUI::postBuild()
{
mManager.prepare();
std::string type_currency = LLGridManager::getInstance()->getCurrency();
std::string title = "BUY " + type_currency;
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));
setTitle(title);
center();
@ -147,7 +151,10 @@ void LLFloaterBuyCurrencyUI::draw()
{
if (mManager.bought())
{
LLNotificationsUtil::add("BuyLindenDollarSuccess");
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLSD args;
args["CUR"] = type_currency;
LLNotificationsUtil::add("BuyLindenDollarSuccess", args);
closeFloater();
return;
}
@ -232,20 +239,30 @@ void LLFloaterBuyCurrencyUI::updateUI()
}
}
std::string type_currency = LLGridManager::getInstance()->getCurrency();
S32 balance = gStatusBar->getBalance();
getChildView("balance_label")->setVisible(TRUE);
getChildView("balance_amount")->setVisible(TRUE);
getChild<LLUICtrl>("balance_amount")->setTextArg("[AMT]", llformat("%d", balance));
getChild<LLUICtrl>("balance_amount")->setTextArg("[CUR]", type_currency);
S32 buying = mManager.getAmount();
getChildView("buying_label")->setVisible(TRUE);
getChildView("buying_amount")->setVisible(TRUE);
getChild<LLUICtrl>("buying_amount")->setTextArg("[AMT]", llformat("%d", buying));
getChild<LLUICtrl>("buying_amount")->setTextArg("[CUR]", type_currency);
S32 total = balance + buying;
getChildView("total_label")->setVisible(TRUE);
getChildView("total_amount")->setVisible(TRUE);
getChild<LLUICtrl>("total_amount")->setTextArg("[AMT]", llformat("%d", total));
getChild<LLUICtrl>("total_amount")->setTextArg("[CUR]", type_currency);
getChild<LLUICtrl>("info_need_more")->setTextArg("[CUR]", type_currency);
getChild<LLUICtrl>("info_buying")->setTextArg("[CUR]", type_currency);
getChild<LLUICtrl>("currency_label")->setTextArg("[CUR]", type_currency);
getChild<LLUICtrl>("purchase_warning_repurchase")->setTextArg("[CUR]", type_currency);
getChild<LLUICtrl>("purchase_warning_notenough")->setTextArg("[CUR]", type_currency);
if (mHasTarget)
{

View File

@ -1018,6 +1018,7 @@ void LLFloaterBuyLandUI::onVisibilityChange ( const LLSD& new_visibility )
void LLFloaterBuyLandUI::refreshUI()
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
// section zero: title area
{
LLTextureCtrl* snapshot = getChild<LLTextureCtrl>("info_image");
@ -1046,6 +1047,7 @@ void LLFloaterBuyLandUI::refreshUI()
LLStringUtil::format_map_t info_price_args;
info_price_args["[PRICE]"] = llformat("%d", mParcelPrice);
info_price_args["[PRICE_PER_SQM]"] = llformat("%.1f", cost_per_sqm);
info_price_args["[CUR]"] = type_currency;
if (mParcelSoldWithObjects)
{
info_price_args["[SOLD_WITH_OBJECTS]"] = getString("sold_with_objects");
@ -1235,6 +1237,7 @@ void LLFloaterBuyLandUI::refreshUI()
LLStringUtil::format_map_t string_args;
string_args["[AMOUNT]"] = llformat("%d", mParcelPrice);
string_args["[SELLER]"] = mParcelSellerName;
string_args["[CUR]"] = type_currency;
getChild<LLUICtrl>("purchase_action")->setValue(getString("pay_to_for_land", string_args));
getChildView("purchase_action")->setVisible( mParcelValid);
@ -1244,6 +1247,7 @@ void LLFloaterBuyLandUI::refreshUI()
{
LLStringUtil::format_map_t string_args;
string_args["[AMOUNT]"] = llformat("%d", mAgentCashBalance);
string_args["[CUR]"] = type_currency;
getChild<LLUICtrl>("currency_reason")->setValue(getString("have_enough_lindens", string_args));
}
@ -1252,6 +1256,7 @@ void LLFloaterBuyLandUI::refreshUI()
LLStringUtil::format_map_t string_args;
string_args["[AMOUNT]"] = llformat("%d", mAgentCashBalance);
string_args["[AMOUNT2]"] = llformat("%d", mParcelPrice - mAgentCashBalance);
string_args["[CUR]"] = type_currency;
getChild<LLUICtrl>("currency_reason")->setValue(getString("not_enough_lindens", string_args));
@ -1262,6 +1267,7 @@ void LLFloaterBuyLandUI::refreshUI()
{
LLStringUtil::format_map_t string_args;
string_args["[AMOUNT]"] = llformat("%d", finalBalance);
string_args["[CUR]"] = type_currency;
getChild<LLUICtrl>("currency_balance")->setValue(getString("balance_left", string_args));
@ -1270,11 +1276,13 @@ void LLFloaterBuyLandUI::refreshUI()
{
LLStringUtil::format_map_t string_args;
string_args["[AMOUNT]"] = llformat("%d", mParcelPrice - mAgentCashBalance);
string_args["[CUR]"] = type_currency;
getChild<LLUICtrl>("currency_balance")->setValue(getString("balance_needed", string_args));
}
getChild<LLUICtrl>("currency_action")->setTextArg("[CUR]", type_currency);
getChild<LLUICtrl>("remove_contribution")->setValue(LLSD(groupContributionEnough));
getChildView("remove_contribution")->setEnabled(groupContributionEnough);
bool showRemoveContribution = mParcelIsGroupLand
@ -1312,6 +1320,7 @@ void LLFloaterBuyLandUI::startBuyPreConfirm()
{
std::string action;
std::string type_currency = LLGridManager::getInstance()->getCurrency();
if (mSiteMembershipUpgrade)
{
action += mSiteMembershipAction;
@ -1335,6 +1344,7 @@ void LLFloaterBuyLandUI::startBuyPreConfirm()
LLStringUtil::format_map_t string_args;
string_args["[AMOUNT]"] = llformat("%d", mCurrency.getAmount());
string_args["[LOCAL_AMOUNT]"] = mCurrency.getLocalEstimate();
string_args["[CUR]"] = type_currency;
action += getString("buy_for_US", string_args);
}
@ -1342,6 +1352,7 @@ void LLFloaterBuyLandUI::startBuyPreConfirm()
LLStringUtil::format_map_t string_args;
string_args["[AMOUNT]"] = llformat("%d", mParcelPrice);
string_args["[SELLER]"] = mParcelSellerName;
string_args["[CUR]"] = type_currency;
action += getString("pay_to_for_land", string_args);

View File

@ -69,6 +69,7 @@
#include "llviewercontrol.h"
#include "lluictrlfactory.h"
#include "lltrans.h"
#include "llviewernetwork.h"
#include "lltransfertargetfile.h"
#include "lltransfersourcefile.h"
@ -480,6 +481,8 @@ void LLPanelRegionTools::clearAllWidgets()
getChild<LLUICtrl>("billable factor")->setValue(BILLABLE_FACTOR_DEFAULT);
getChildView("billable factor")->setEnabled(FALSE);
std::string type_currency = LLGridManager::getInstance()->getCurrency();
getChild<LLUICtrl>("land cost text")->setTextArg("[CUR]", type_currency);
getChild<LLUICtrl>("land cost")->setValue(PRICE_PER_METER_DEFAULT);
getChildView("land cost")->setEnabled(FALSE);

View File

@ -75,6 +75,7 @@
#include "llviewercontrol.h"
#include "roles_constants.h"
#include "lltrans.h"
#include "llviewernetwork.h"
#include "llgroupactions.h"
#include "llsdutil_math.h"
@ -655,9 +656,16 @@ void LLPanelLandGeneral::refresh()
mTextClaimDate->setText(claim_date_str);
mTextClaimDate->setEnabled(is_leased);
BOOL enable_auction = (gAgent.getGodLevel() >= GOD_LIAISON)
BOOL enable_auction;
if(LLGridManager::getInstance()->isInSLMain() || LLGridManager::getInstance()->isInSLBeta()) {
enable_auction = (gAgent.getGodLevel() >= GOD_LIAISON)
&& (owner_id == GOVERNOR_LINDEN_ID)
&& (parcel->getAuctionID() == 0);
}
else {
enable_auction = (gAgent.getGodLevel() >= GOD_LIAISON)
&& (parcel->getAuctionID() == 0);
}
mBtnStartAuction->setEnabled(enable_auction);
}
@ -748,6 +756,9 @@ void LLPanelLandGeneral::refresh()
}
S32 price = parcel->getSalePrice();
std::string type_currency = LLGridManager::getInstance()->getCurrency();
mSaleInfoForSale1->setTextArg("[CUR]", type_currency);
mSaleInfoForSale1->setTextArg("[PRICE]", LLResMgr::getInstance()->getMonetaryString(price));
mSaleInfoForSale1->setTextArg("[PRICE_PER_SQM]", llformat("%.1f", cost_per_sqm));
if (can_be_sold)
@ -1009,10 +1020,12 @@ void LLPanelLandGeneral::onClickBuyPass(void* data)
cost = llformat("%d", pass_price);
time = llformat("%.2f", pass_hours);
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLSD args;
args["COST"] = cost;
args["PARCEL_NAME"] = parcel_name;
args["TIME"] = time;
args["CUR"] = type_currency;
// creating pointer on selection to avoid deselection of parcel until we are done with buying pass (EXT-6464)
sSelectionForBuyPass = LLViewerParcelMgr::getInstance()->getParcelSelection();
@ -2427,6 +2440,8 @@ BOOL LLPanelLandAccess::postBuild()
mListBanned->setContextMenu(LLScrollListCtrl::MENU_AVATAR);
}
std::string type_currency = LLGridManager::getInstance()->getCurrency();
getChild<LLUICtrl>("PriceSpin")->setLabelArg(std::string("[CUR]"), type_currency);
return TRUE;
}

View File

@ -5842,12 +5842,14 @@ void LLFloaterModelPreview::handleModelPhysicsFeeReceived()
{
const LLSD& result = mModelPhysicsFee;
mUploadModelUrl = result["url"].asString();
std::string type_currency = LLGridManager::getInstance()->getCurrency();
childSetTextArg("prim_weight", "[EQ]", llformat("%0.3f", result["resource_cost"].asReal()));
childSetTextArg("download_weight", "[ST]", llformat("%0.3f", result["model_streaming_cost"].asReal()));
childSetTextArg("server_weight", "[SIM]", llformat("%0.3f", result["simulation_cost"].asReal()));
childSetTextArg("physics_weight", "[PH]", llformat("%0.3f", result["physics_cost"].asReal()));
childSetTextArg("upload_fee", "[FEE]", llformat("%d", result["upload_price"].asInteger()));
childSetTextArg("upload_fee", "[CUR]", type_currency);
childSetTextArg("price_breakdown", "[STREAMING]", llformat("%d", result["upload_price_breakdown"]["mesh_streaming"].asInteger()));
childSetTextArg("price_breakdown", "[PHYSICS]", llformat("%d", result["upload_price_breakdown"]["mesh_physics"].asInteger()));
childSetTextArg("price_breakdown", "[INSTANCES]", llformat("%d", result["upload_price_breakdown"]["mesh_instance"].asInteger()));

View File

@ -39,6 +39,7 @@
#include "llsliderctrl.h"
#include "lltoolmgr.h"
#include "llviewerwindow.h"
#include "llviewernetwork.h"
LLFloaterModelWizard* LLFloaterModelWizard::sInstance = NULL;
@ -499,8 +500,11 @@ void LLFloaterModelWizard::onModelPhysicsFeeReceived(const LLSD& result, std::st
mUploadModelUrl = upload_url;
S32 fee = result["upload_price"].asInteger();
std::string type_currency = LLGridManager::getInstance()->getCurrency();
childSetTextArg("review_fee", "[FEE]", llformat("%d", fee));
childSetTextArg("review_fee", "[CUR]", type_currency);
childSetTextArg("charged_fee", "[FEE]", llformat("%d", fee));
childSetTextArg("charged_fee", "[CUR]", type_currency);
setState(REVIEW);
}

View File

@ -45,6 +45,7 @@
#include "lluictrlfactory.h"
#include "llstring.h"
#include "lleconomy.h"
#include "llviewernetwork.h"
// linden includes
#include "llassetstorage.h"
@ -127,6 +128,8 @@ BOOL LLFloaterNameDesc::postBuild()
getChild<LLUICtrl>("ok_btn")->setLabelArg("[AMOUNT]", llformat("%d", LLGlobalEconomy::Singleton::getInstance()->getPriceUpload() ));
std::string type_currency = LLGridManager::getInstance()->getCurrency();
getChild<LLUICtrl>("ok_btn")->setLabelArg(std::string("[CUR]"), type_currency);
setDefaultBtn("ok_btn");
return TRUE;

View File

@ -50,6 +50,7 @@
#include "llselectmgr.h"
#include "lltransactiontypes.h"
#include "lluictrlfactory.h"
#include "llviewernetwork.h"
///----------------------------------------------------------------------------
/// Local function declarations, constants, enums, and typedefs
@ -145,6 +146,7 @@ BOOL LLFloaterPay::postBuild()
{
S32 i = 0;
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLGiveMoneyInfo* info = new LLGiveMoneyInfo(this, PAY_BUTTON_DEFAULT_0);
mCallbackData.push_back(info);
@ -152,6 +154,8 @@ BOOL LLFloaterPay::postBuild()
getChildView("fastpay 1")->setVisible(FALSE);
mQuickPayButton[i] = getChild<LLButton>("fastpay 1");
mQuickPayButton[i]->setLabelArg("[CUR]", type_currency);
mQuickPayButton[i]->setLabelSelected(mQuickPayButton[i]->getLabelUnselected());
mQuickPayInfo[i] = info;
++i;
@ -162,6 +166,8 @@ BOOL LLFloaterPay::postBuild()
getChildView("fastpay 5")->setVisible(FALSE);
mQuickPayButton[i] = getChild<LLButton>("fastpay 5");
mQuickPayButton[i]->setLabelArg("[CUR]", type_currency);
mQuickPayButton[i]->setLabelSelected(mQuickPayButton[i]->getLabelUnselected());
mQuickPayInfo[i] = info;
++i;
@ -172,6 +178,8 @@ BOOL LLFloaterPay::postBuild()
getChildView("fastpay 10")->setVisible(FALSE);
mQuickPayButton[i] = getChild<LLButton>("fastpay 10");
mQuickPayButton[i]->setLabelArg("[CUR]", type_currency);
mQuickPayButton[i]->setLabelSelected(mQuickPayButton[i]->getLabelUnselected());
mQuickPayInfo[i] = info;
++i;
@ -182,6 +190,8 @@ BOOL LLFloaterPay::postBuild()
getChildView("fastpay 20")->setVisible(FALSE);
mQuickPayButton[i] = getChild<LLButton>("fastpay 20");
mQuickPayButton[i]->setLabelArg("[CUR]", type_currency);
mQuickPayButton[i]->setLabelSelected(mQuickPayButton[i]->getLabelUnselected());
mQuickPayInfo[i] = info;
++i;
@ -270,13 +280,14 @@ void LLFloaterPay::processPayPriceReply(LLMessageSystem* msg, void **userdata)
S32 max_pay_amount = 0;
S32 padding_required = 0;
std::string type_currency = LLGridManager::getInstance()->getCurrency();
for (i=0;i<num_blocks;++i)
{
S32 pay_button;
msg->getS32Fast(_PREHASH_ButtonData,_PREHASH_PayButton,pay_button,i);
if (pay_button > 0)
{
std::string button_str = "L$";
std::string button_str = type_currency;
button_str += LLResMgr::getInstance()->getMonetaryString( pay_button );
self->mQuickPayButton[i]->setLabelSelected(button_str);
@ -297,7 +308,7 @@ void LLFloaterPay::processPayPriceReply(LLMessageSystem* msg, void **userdata)
}
// build a string containing the maximum value and calc nerw button width from it.
std::string balance_str = "L$";
std::string balance_str = type_currency;
balance_str += LLResMgr::getInstance()->getMonetaryString( max_pay_amount );
const LLFontGL* font = LLFontGL::getFontSansSerif();
S32 new_button_width = font->getWidth( std::string(balance_str));

View File

@ -123,6 +123,8 @@
//-TT
#include "NACLantispam.h"
#include "lggautocorrectfloater.h"
#include "llviewernetwork.h"
#include "lltexteditor.h"
// [SL:KB] - Patch: Misc-Spellcheck | Checked: 2011-09-06 (Catznip-2.8.0a) | Added: Catznip-2.8.0a
#include "llhunspell.h"
@ -2023,6 +2025,17 @@ BOOL LLPanelPreference::postBuild()
getChildView("OnlineOfflinetoNearbyChatHistory")->setEnabled(getChild<LLUICtrl>("OnlineOfflinetoNearbyChat")->getValue().asBoolean());
}
std::string type_currency = LLGridManager::getInstance()->getCurrency();
if (hasChild("notify_money_change_checkbox", TRUE))
{
getChild<LLCheckBoxCtrl>("notify_money_change_checkbox")->setLabelArg("[CUR]", type_currency);
}
if (hasChild("FSPaymentInfoInChat", TRUE))
{
getChild<LLCheckBoxCtrl>("FSPaymentInfoInChat")->setLabelArg("[CUR]", type_currency);
}
apply();
return true;
}
@ -2661,3 +2674,281 @@ void LLPanelPreferenceSkins::refreshSkinThemeList()
m_pSkinThemeCombo->selectFirstItem();
}
// </KB>
static LLRegisterPanelClassWrapper<LLPanelPreferenceGrids> t_pref_grids("panel_preference_grids");
LLPanelPreferenceGrids::LLPanelPreferenceGrids() : LLPanelPreference(), m_GridCombo(NULL), mState(NORMAL)
{
}
BOOL LLPanelPreferenceGrids::postBuild()
{
m_GridCombo = getChild<LLComboBox>("grid_selector");
if (m_GridCombo)
m_GridCombo->setCommitCallback(boost::bind(&LLPanelPreferenceGrids::onSelectGrid, this));
getChild<LLUICtrl>("btn_delete")->setCommitCallback(boost::bind(&LLPanelPreferenceGrids::onClickDelete, this));
getChild<LLUICtrl>("btn_new")->setCommitCallback(boost::bind(&LLPanelPreferenceGrids::onClickNew, this));
getChild<LLUICtrl>("btn_copy")->setCommitCallback(boost::bind(&LLPanelPreferenceGrids::onClickCopy, this));
getChild<LLUICtrl>("btn_default")->setCommitCallback(boost::bind(&LLPanelPreferenceGrids::onClickDefault, this));
getChild<LLUICtrl>("btn_add")->setCommitCallback(boost::bind(&LLPanelPreferenceGrids::onClickAdd, this));
getChild<LLUICtrl>("btn_help_render_compat")->setCommitCallback(boost::bind(&LLPanelPreferenceGrids::onClickHelpRenderCompat, this));
getChild<LLUICtrl>("btn_advanced")->setCommitCallback(boost::bind(&LLPanelPreferenceGrids::onClickAdvanced, this));
reset();
return LLPanelPreference::postBuild();
}
void LLPanelPreferenceGrids::apply()
{
if (saveCurGrid()) {
// adding new grid did not fail
LLGridManager::getInstance()->setGridChoice(mCurGrid);
}
LLPanelLogin::loadLoginPage();
LLGridManager::getInstance()->saveGridList();
refresh();
// update render compatibility
//if (mCurGrid == LLGridManager::getInstance()->getGrid()) {
//gHippoLimits->setLimits();
//}
}
void LLPanelPreferenceGrids::cancel()
{
reset();
}
void LLPanelPreferenceGrids::onClickDelete()
{
if (mState == NORMAL)
LLGridManager::getInstance()->deleteGrid(mCurGrid);
reset();
}
void LLPanelPreferenceGrids::onClickNew()
{
mState = ADD_NEW;
loadCurGrid();
}
void LLPanelPreferenceGrids::onClickCopy()
{
if (mState == NORMAL) {
mState = ADD_COPY;
loadCurGrid();
}
}
void LLPanelPreferenceGrids::onClickDefault()
{
if (mState == NORMAL) {
saveCurGrid();
LLGridManager::getInstance()->setGridChoice(mCurGrid);
refresh();
}
}
void LLPanelPreferenceGrids::onClickAdd()
{
std::string loginuri = getChild<LLLineEditor>("loginuri",true)->getText();
mState = NORMAL;
getChild<LLButton>("btn_add", true)->setVisible(false);
if(loginuri != "<required>") {
GridEntry* grid_entry = new GridEntry;
grid_entry->grid = LLSD::emptyMap();
grid_entry->grid[GRID_VALUE] = loginuri;
grid_entry->set_current = false;
grid_entry->mOnDoneCallback = boost::bind(&LLPanelPreferenceGrids::loadCurGrid, this);
LLGridManager::getInstance()->addGrid(grid_entry, LLGridManager::FETCH);
}
else {
loadCurGrid();
}
}
void LLPanelPreferenceGrids::onClickHelpRenderCompat()
{
//LLNotificationsUtil::add("HelpRenderCompat");
}
void LLPanelPreferenceGrids::onClickAdvanced()
{
if(getChildView("loginpage_label")->getVisible())
{
getChildView("loginpage_label")->setVisible(false);
getChildView("loginpage")->setVisible(false);
getChildView("helperuri_label")->setVisible(false);
getChildView("helperuri")->setVisible(false);
getChildView("website_label")->setVisible(false);
getChildView("website")->setVisible(false);
getChildView("support_label")->setVisible(false);
getChildView("support")->setVisible(false);
getChildView("register_label")->setVisible(false);
getChildView("register")->setVisible(false);
getChildView("password_label")->setVisible(false);
getChildView("password")->setVisible(false);
getChildView("search_label")->setVisible(false);
getChildView("search")->setVisible(false);
//getChildView("render_compat")->setVisible(false);
//getChildView("btn_help_render_compat")->setVisible(false);
}
else
{
getChildView("loginpage_label")->setVisible(true);
getChildView("loginpage")->setVisible(true);
getChildView("helperuri_label")->setVisible(true);
getChildView("helperuri")->setVisible(true);
getChildView("website_label")->setVisible(true);
getChildView("website")->setVisible(true);
getChildView("support_label")->setVisible(true);
getChildView("support")->setVisible(true);
getChildView("register_label")->setVisible(true);
getChildView("register")->setVisible(true);
getChildView("password_label")->setVisible(true);
getChildView("password")->setVisible(true);
getChildView("search_label")->setVisible(true);
getChildView("search")->setVisible(true);
//getChildView("render_compat")->setVisible(true);
//getChildView("btn_help_render_compat")->setVisible(true);
}
}
void LLPanelPreferenceGrids::onSelectGrid()
{
std::string newGrid = m_GridCombo->getSelectedItemLabel();
if (!saveCurGrid()) {
m_GridCombo->setCurrentByIndex(m_GridCombo->getItemCount() - 1);
return;
}
mCurGrid = LLGridManager::getInstance()->getGridByLabel(newGrid);
if(mState != NORMAL) mState = NORMAL;
loadCurGrid();
}
void LLPanelPreferenceGrids::loadCurGrid()
{
LLSD grid_info;
LLGridManager::getInstance()->getGridData(mCurGrid, grid_info);
if (mState != ADD_NEW) {
getChild<LLLineEditor>("gridname", true)->setText(grid_info[GRID_LABEL_VALUE].asString());
getChild<LLLineEditor>("loginuri",true)->setText(grid_info[GRID_LOGIN_URI_VALUE][0].asString());
getChild<LLLineEditor>("loginpage",true)->setText(grid_info[GRID_LOGIN_PAGE_VALUE].asString());
getChild<LLLineEditor>("helperuri",true)->setText(grid_info[GRID_HELPER_URI_VALUE].asString());
getChild<LLLineEditor>("website",true)->setText(grid_info["about"].asString());
getChild<LLLineEditor>("support",true)->setText(grid_info["help"].asString());
getChild<LLLineEditor>("register",true)->setText(grid_info[GRID_REGISTER_NEW_ACCOUNT].asString());
getChild<LLLineEditor>("password",true)->setText(grid_info[GRID_FORGOT_PASSWORD].asString());
getChild<LLLineEditor>("search",true)->setText(grid_info["search"].asString());
getChild<LLTextEditor>("gridmessage",true)->setText(grid_info["message"].asString());
getChild<LLButton>("btn_add", true)->setVisible(false);
//getChild<LLCheckBoxCtrl>("render_compat",true)->set(gridInfo->isRenderCompat());
} else {
std::string empty = "";
getChild<LLLineEditor>("gridname",true)->setText(empty);
getChild<LLLineEditor>("loginuri",true)->setText(empty);
getChild<LLLineEditor>("loginpage",true)->setText(empty);
getChild<LLLineEditor>("helperuri",true)->setText(empty);
getChild<LLLineEditor>("website",true)->setText(empty);
getChild<LLLineEditor>("support",true)->setText(empty);
getChild<LLLineEditor>("register",true)->setText(empty);
getChild<LLLineEditor>("password",true)->setText(empty);
getChild<LLLineEditor>("search",true)->setText(empty);
getChild<LLTextEditor>("gridmessage",true)->setText(empty);
//getChild<LLCheckBoxCtrl>("render_compat",true)->setEnabled(true);
//getChild<LLCheckBoxCtrl>("render_compat",true)->set(true);
}
if (mState == ADD_NEW) {
std::string required = "<required>";
getChild<LLButton>("btn_add", true)->setVisible(true);
getChild<LLLineEditor>("loginuri",true)->setText(required);
} else if (mState == ADD_COPY) {
getChild<LLLineEditor>("gridname",true)->setText(std::string("<required>"));
} else if (mState != NORMAL) {
llwarns << "Illegal state " << mState << '.' << llendl;
}
refresh();
}
bool LLPanelPreferenceGrids::saveCurGrid()
{
LLGridManager::getInstance()->saveGridList();
refresh();
return true;
}
void LLPanelPreferenceGrids::refresh()
{
const std::string &defaultGrid = LLGridManager::getInstance()->getGridLabel();
S32 selectIndex = -1, i = 0;
m_GridCombo->removeall();
if (defaultGrid != "") {
m_GridCombo->add(defaultGrid);
selectIndex = i++;
}
std::map<std::string, std::string> known_grids = LLGridManager::getInstance()->getKnownGrids(!gSavedSettings.getBOOL("ShowBetaGrids"));
for (std::map<std::string, std::string>::iterator grid_choice = known_grids.begin();
grid_choice != known_grids.end();
grid_choice++)
{
const std::string &grid = grid_choice->second;
if (!grid.empty() && grid != defaultGrid)
{
m_GridCombo->add(grid);
if (LLGridManager::getInstance()->getGridByLabel(grid) == mCurGrid) selectIndex = i;
i++;
}
}
if ((mState == ADD_NEW) || (mState == ADD_COPY)) {
m_GridCombo->add("<new>");
selectIndex = i++;
}
if (selectIndex >= 0) {
m_GridCombo->setCurrentByIndex(selectIndex);
} else {
m_GridCombo->setLabel(LLStringExplicit("")); // LLComboBox::removeall() does not clear the label
}
getChild<LLTextBase>("default_grid", true)->setTextArg("[DEFAULT]", (defaultGrid != "")? defaultGrid: " ");
getChild<LLButton>("btn_delete", true)->setEnabled((selectIndex >= 0));
//getChild<LLButton>("btn_copy", true)->setEnabled((mState == NORMAL) && (selectIndex >= 0));
getChild<LLButton>("btn_default", true)->setEnabled((mState == NORMAL) && (selectIndex > 0));
getChild<LLButton>("gridname", true)->setEnabled((mState == ADD_NEW) || (mState == ADD_COPY));
/* old, todo
if (LLGridManager::getInstance()->isInSLMain() || LLGridManager::getInstance()->isInSLBeta()) {
// disable platform selector, if logged into the grid edited and it is SL
// so object export restrictions cannot be circumvented by changing the platform
bool enablePlatform = (LLStartUp::getStartupState() < STATE_LOGIN_CLEANUP) ||
(mCurGrid != LLGridManager::getInstance()->getGrid());
childSetEnabled("platform", enablePlatform);
childSetEnabled("search", false);
childSetText("search", LLStringExplicit(""));
childSetEnabled("render_compat", false);
childSetValue("render_compat", false);
} else {
childSetEnabled("platform", true);
childSetEnabled("search", true);
childSetText("search", LLGridManager::getInstance()->getSearchUrl());
childSetEnabled("render_compat", true);
}
*/
}
void LLPanelPreferenceGrids::reset()
{
mState = NORMAL;
mCurGrid = LLGridManager::getInstance()->getGrid();
loadCurGrid();
}

View File

@ -328,5 +328,37 @@ private:
};
class LLPanelPreferenceGrids : public LLPanelPreference
{
public:
LLPanelPreferenceGrids();
/*virtual*/ BOOL postBuild();
/*virtual*/ void apply();
/*virtual*/ void cancel();
protected:
void onClickDelete();
void onClickNew();
void onClickCopy();
void onClickDefault();
void onClickAdd();
void onClickHelpRenderCompat();
void onClickAdvanced();
void onSelectGrid();
void onSelectPlatform();
protected:
LLComboBox* m_GridCombo;
private:
enum State { NORMAL, ADD_NEW, ADD_COPY };
State mState;
std::string mCurGrid;
void loadCurGrid();
bool saveCurGrid();
void refresh();
void reset();
};
#endif // LL_LLPREFERENCEFLOATER_H

View File

@ -55,6 +55,7 @@
#include "llviewercontrol.h"
#include "llviewerwindow.h"
#include "llgroupactions.h"
#include "llviewernetwork.h"
#include "lluictrlfactory.h"
@ -553,6 +554,8 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
comboSaleType->setCurrentByIndex(-1);
getChild<LLUICtrl>("Edit Cost")->setValue(llformat("%d",0));
}
std::string type_currency = LLGridManager::getInstance()->getCurrency();
getChild<LLUICtrl>("CurrencySymbol")->setTextArg("[CUR]", type_currency);
}
void LLFloaterProperties::onClickCreator()

View File

@ -91,6 +91,7 @@
#include "lltrans.h"
#include "llagentui.h"
#include "llmeshrepository.h"
#include "llviewernetwork.h"
const S32 TERRAIN_TEXTURE_COUNT = 4;
const S32 CORNER_COUNT = 4;
@ -1390,6 +1391,10 @@ void LLPanelEstateInfo::onClickAddAllowedGroup()
}
LLNotification::Params params("ChangeLindenAccess");
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLSD args;
args["CUR"] = type_currency;
params.substitutions(args);
params.functor.function(boost::bind(&LLPanelEstateInfo::addAllowedGroup, this, _1, _2));
if (isLindenEstate())
{
@ -1627,6 +1632,10 @@ void LLPanelEstateInfo::accessAddCore(U32 operation_flag, const std::string& dia
// agent id filled in after avatar picker
LLNotification::Params params("ChangeLindenAccess");
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLSD args;
args["CUR"] = type_currency;
params.substitutions(args);
params.payload(payload)
.functor.function(accessAddCore2);
@ -1755,6 +1764,10 @@ void LLPanelEstateInfo::accessRemoveCore(U32 operation_flag, const std::string&
}
LLNotification::Params params("ChangeLindenAccess");
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLSD args;
args["CUR"] = type_currency;
params.substitutions(args);
params.payload(payload)
.functor.function(accessRemoveCore2);
@ -3414,6 +3427,7 @@ void LLPanelEnvironmentInfo::onBtnApply()
// Start spinning the progress indicator.
setApplyProgress(true);
refresh();
}
void LLPanelEnvironmentInfo::onBtnCancel()

View File

@ -180,6 +180,8 @@ BOOL LLFloaterReporter::postBuild()
std::string reporter = LLSLURL("agent", gAgent.getID(), "inspect").getSLURLString();
getChild<LLUICtrl>("reporter_field")->setValue(reporter);
std::string type_currency = LLGridManager::getInstance()->getCurrency();
getChild<LLUICtrl>("Fraud__L$")->setLabelArg("[CUR]", type_currency);
center();
return TRUE;

View File

@ -38,6 +38,7 @@
#include "llui.h"
#include "llviewercontrol.h"
#include "llweb.h"
#include "llviewernetwork.h"
// support secondlife:///app/search/{CATEGORY}/{QUERY} SLapps
class LLSearchHandler : public LLCommandHandler
@ -101,6 +102,17 @@ LLFloaterSearch::LLFloaterSearch(const Params& key) :
mCategoryPaths["wiki"] = "search/wiki";
mCategoryPaths["destinations"] = "destinations";
mCategoryPaths["classifieds"] = "classifieds";
if(LLGridManager::getInstance()->isInSLMain() || LLGridManager::getInstance()->isInSLBeta()) return;
//if not in sl
mCategoryPaths["all"] = "Any Category";
mCategoryPaths["people"] = "People";
mCategoryPaths["places"] = "Places";
mCategoryPaths["events"] = "Events";
mCategoryPaths["groups"] = "Groups";
mCategoryPaths["wiki"] = "Wiki";
mCategoryPaths["destinations"] = "Destinations";
mCategoryPaths["classifieds"] = "Classifieds";
}
BOOL LLFloaterSearch::postBuild()
@ -198,8 +210,26 @@ void LLFloaterSearch::search(const SearchQuery &p)
subs["GODLIKE"] = gAgent.isGodlike() ? "1" : "0";
// get the search URL and expand all of the substitutions
// (also adds things like [LANGUAGE], [VERSION], [OS], etc.)
std::string url = gSavedSettings.getString("SearchURL");
//if not in sl
if(!(LLGridManager::getInstance()->isInSLMain() || LLGridManager::getInstance()->isInSLBeta())) {
//new sl type search
//http://search.secondlife.com/viewer/[CATEGORY]/?q=[QUERY]&amp;p=[AUTH_TOKEN]&amp;r=[MATURITY]&amp;lang=[LANGUAGE]&amp;sid=[SESSION_ID]
//old sl type search + opensim search
//(query) "q=[QUERY]&s=[COLLECTION]&" //[COLLECTION] == [CATEGORY] ?
//(template) "lang=[LANG]&mat=[MATURITY]&t=[TEEN]&region=[REGION]&x=[X]&y=[Y]&z=[Z]&session=[SESSION]" //still not used in opensim and aurora
LLSD grid_info;
LLGridManager::getInstance()->getGridData(grid_info);
if(grid_info.has(GRID_SEARCH)) {
url = grid_info[GRID_SEARCH].asString();
if(url.length() > 0 && url[url.length()-1] != '?') url += "?";
url += "q=[QUERY]&s=[CATEGORY]&";
}
}
// (also adds things like [LANGUAGE], [VERSION], [OS], etc.)
url = LLWeb::expandURLSubstitutions(url, subs);
// and load the URL in the web view

View File

@ -42,6 +42,7 @@
#include "lluictrlfactory.h"
#include "llviewerwindow.h"
#include "lltrans.h"
#include "llviewernetwork.h"
class LLAvatarName;
@ -161,9 +162,11 @@ void LLFloaterSellLandUI::SelectionObserver::changed()
BOOL LLFloaterSellLandUI::postBuild()
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
childSetCommitCallback("sell_to", onChangeValue, this);
childSetCommitCallback("price", onChangeValue, this);
getChild<LLLineEditor>("price")->setPrevalidate(LLTextValidate::validateNonNegativeS32);
getChild<LLUICtrl>("price_ld")->setTextArg("[CUR]", type_currency);
childSetCommitCallback("sell_objects", onChangeValue, this);
childSetAction("sell_to_select_agent", boost::bind( &LLFloaterSellLandUI::doSelectAgent, this));
childSetAction("cancel_btn", doCancel, this);
@ -280,6 +283,8 @@ void LLFloaterSellLandUI::refreshUI()
{
F32 per_meter_price = 0;
per_meter_price = F32(mParcelPrice) / F32(mParcelActualArea);
std::string type_currency = LLGridManager::getInstance()->getCurrency();
getChild<LLUICtrl>("price_per_m")->setTextArg("[CUR]", type_currency);
getChild<LLUICtrl>("price_per_m")->setTextArg("[PER_METER]", llformat("%0.2f", per_meter_price));
getChildView("price_per_m")->setVisible(TRUE);
@ -465,14 +470,19 @@ void LLFloaterSellLandUI::doSellLand(void *userdata)
&& (sale_price == 0)
&& sell_to_anyone)
{
LLNotificationsUtil::add("SalePriceRestriction");
LLSD args;
std::string type_currency = LLGridManager::getInstance()->getCurrency();
args["CUR"] = type_currency;
LLNotificationsUtil::add("SalePriceRestriction", args);
return;
}
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLSD args;
args["LAND_SIZE"] = llformat("%d",area);
args["SALE_PRICE"] = llformat("%d",sale_price);
args["NAME"] = authorizedBuyerName;
args["CUR"] = type_currency;
LLNotification::Params params("ConfirmLandSaleChange");
params.substitutions(args)

View File

@ -90,6 +90,8 @@
#include "qtoolalign.h"
#include "llselectmgr.h"
#include "llmeshrepository.h"
#include "llviewernetwork.h"
#include "llspinctrl.h"
// Globals
LLFloaterTools *gFloaterTools = NULL;
@ -337,6 +339,14 @@ BOOL LLFloaterTools::postBuild()
gSavedSettings.setBOOL("FSToolboxExpanded", TRUE);
}
std::string type_currency = LLGridManager::getInstance()->getCurrency();
std::string type_currency_label = "Price: " + type_currency;
//getChild<LLSpinCtrl>("Edit Cost")->setLabelArg("[CUR]", type_currency); //setLabelArg is not inplemented properly in spinners
getChild<LLSpinCtrl>("Edit Cost")->setLabel(type_currency_label);
getChild<LLUICtrl>("Cost Default")->setTextArg("[CUR]", type_currency);
getChild<LLUICtrl>("Cost Total")->setTextArg("[CUR]", type_currency);
getChild<LLUICtrl>("Cost Per Unit")->setTextArg("[CUR]", type_currency);
return TRUE;
}

View File

@ -40,6 +40,7 @@
#include "llnotificationsutil.h"
#include "llstatusbar.h" // can_afford_transaction()
#include "llimfloater.h"
#include "llviewernetwork.h"
//-TT ShowGroupFloaters
#include "llpanelgroup.h"
//-TT
@ -183,8 +184,10 @@ void LLGroupActions::join(const LLUUID& group_id)
{
S32 cost = gdatap->mMembershipFee;
LLSD args;
std::string type_currency = LLGridManager::getInstance()->getCurrency();
args["COST"] = llformat("%d", cost);
args["NAME"] = gdatap->mName;
args["CUR"] = type_currency;
LLSD payload;
payload["group_id"] = group_id;

View File

@ -41,6 +41,7 @@
#include "lltooltip.h" // positionViewNearMouse()
#include "lltrans.h"
#include "lluictrl.h"
#include "llviewernetwork.h"
class LLFetchGroupData;
@ -267,11 +268,13 @@ void LLInspectGroup::processGroupData()
}
else
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
std::string amount =
LLResMgr::getInstance()->getMonetaryString(
data->mMembershipFee);
LLStringUtil::format_map_t args;
args["[AMOUNT]"] = amount;
args["[CUR]"] = type_currency;
cost = getString("CostToJoin", args);
}
}

View File

@ -55,6 +55,7 @@
#include "lltrans.h"
#include "llui.h" // positionViewNearMouse()
#include "lluictrl.h"
#include "llviewernetwork.h"
// [RLVa:KB] - Checked: 2010-02-27 (RLVa-1.2.0c)
@ -188,6 +189,8 @@ BOOL LLInspectObject::postBuild(void)
LLSelectMgr::getInstance()->mUpdateSignal.connect(
boost::bind(&LLInspectObject::update, this) );
std::string type_currency = LLGridManager::getInstance()->getCurrency();
getChild<LLUICtrl>("pay_btn")->setToolTipArg(std::string("[CUR]"), type_currency);
return TRUE;
}
@ -558,11 +561,15 @@ void LLInspectObject::updatePrice(LLSelectNode* nodep)
else if (for_sale)
{
LLStringUtil::format_map_t args;
std::string type_currency = LLGridManager::getInstance()->getCurrency();
args["[AMOUNT]"] = LLResMgr::getInstance()->getMonetaryString(price);
args["[CUR]"] = type_currency;
line = getString("Price", args);
show_price_icon = true;
}
std::string type_currency = LLGridManager::getInstance()->getCurrency();
getChild<LLUICtrl>("price_text")->setValue(line);
getChild<LLUICtrl>("price_symbol")->setTextArg("[CUR]", type_currency);
getChild<LLUICtrl>("price_icon")->setVisible(show_price_icon);
}

View File

@ -55,6 +55,8 @@
#include "lltrans.h"
#include "llscrollcontainer.h"
#include "llstatusbar.h"
#include "llviewernetwork.h"
#include "llspinctrl.h"
const S32 MINIMUM_PRICE_FOR_LISTING = 50; // L$
@ -163,6 +165,8 @@ BOOL LLPanelClassifiedInfo::postBuild()
mSnapshotCtrl = getChild<LLTextureCtrl>("classified_snapshot");
mSnapshotRect = getDefaultSnapshotRect();
std::string type_currency = LLGridManager::getInstance()->getCurrency();
getChild<LLSpinCtrl>("price_for_listing")->setLabel(type_currency);
return TRUE;
}
@ -279,7 +283,9 @@ void LLPanelClassifiedInfo::processProperties(void* data, EAvatarProcessorType t
getString("auto_renew_on") : getString("auto_renew_off");
getChild<LLUICtrl>("auto_renew")->setValue(auto_renew_str);
std::string type_currency = LLGridManager::getInstance()->getCurrency();
price_str.setArg("[PRICE]", llformat("%d", c_info->price_for_listing));
price_str.setArg("[CUR]", type_currency);
getChild<LLUICtrl>("price_for_listing")->setValue(LLSD(price_str));
std::string date_str = date_fmt;
@ -1149,6 +1155,8 @@ BOOL LLPublishClassifiedFloater::postBuild()
childSetAction("publish_btn", boost::bind(&LLFloater::closeFloater, this, false));
childSetAction("cancel_btn", boost::bind(&LLFloater::closeFloater, this, false));
std::string type_currency = "Price: " + LLGridManager::getInstance()->getCurrency();
getChild<LLSpinCtrl>("price_for_listing")->setLabel(type_currency);
return TRUE;
}

View File

@ -52,6 +52,7 @@
#include "llaccordionctrltab.h"
#include "llaccordionctrl.h"
#include "llviewernetwork.h"
#include "lltrans.h"
//-TT - Patch : ShowGroupFloaters
@ -215,7 +216,9 @@ BOOL LLPanelGroup::postBuild()
mButtonJoin = button;
mButtonJoin->setCommitCallback(boost::bind(&LLPanelGroup::onBtnJoin,this));
std::string type_currency = LLGridManager::getInstance()->getCurrency();
mJoinText = panel_general->getChild<LLUICtrl>("join_cost_text");
mJoinText->setTextArg("[CUR]", type_currency);
}
LLVoiceClient::getInstance()->addObserver(this);
@ -368,7 +371,9 @@ void LLPanelGroup::update(LLGroupChange gc)
std::string fee_buff;
if(gdatap->mMembershipFee)
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
string_args["[AMOUNT]"] = llformat("%d", gdatap->mMembershipFee);
string_args["[CUR]"] = type_currency;
fee_buff = getString("group_join_btn", string_args);
}

View File

@ -50,6 +50,7 @@
#include "lltexturectrl.h"
#include "lltrans.h"
#include "llviewerwindow.h"
#include "llviewernetwork.h"
// for copy URI button
#include "llclipboard.h"
@ -144,7 +145,9 @@ BOOL LLPanelGroupGeneral::postBuild()
mCtrlEnrollmentFee->setCommitCallback(onCommitEnrollment, this);
}
std::string type_currency = LLGridManager::getInstance()->getCurrency();
mSpinEnrollmentFee = getChild<LLSpinCtrl>("spin_enrollment_fee", recurse);
mSpinEnrollmentFee->setLabel(type_currency);
if (mSpinEnrollmentFee)
{
mSpinEnrollmentFee->setCommitCallback(onCommitAny, this);
@ -379,7 +382,10 @@ bool LLPanelGroupGeneral::apply(std::string& mesg)
return false;
}
LLNotificationsUtil::add("CreateGroupCost", LLSD(), LLSD(), boost::bind(&LLPanelGroupGeneral::createGroupCallback, this, _1, _2));
LLSD args;
std::string type_currency = LLGridManager::getInstance()->getCurrency();
args["CUR"] = type_currency;
LLNotificationsUtil::add("CreateGroupCost", args, LLSD(), boost::bind(&LLPanelGroupGeneral::createGroupCallback, this, _1, _2));
return false;
}

View File

@ -54,6 +54,7 @@
#include "llstatusbar.h"
#include "llfloaterworldmap.h"
#include "llviewermessage.h"
#include "llviewernetwork.h"
static LLRegisterPanelClassWrapper<LLPanelGroupLandMoney> t_panel_group_money("panel_group_land_money");
@ -665,6 +666,8 @@ BOOL LLPanelGroupLandMoney::postBuild()
bool can_view = gAgent.isInGroup(mGroupID);
std::string type_currency = LLGridManager::getInstance()->getCurrency();
this->setLabelArg("[CUR]", type_currency);
mImplementationp->mGroupOverLimitIconp =
getChild<LLIconCtrl>("group_over_limit_icon");
mImplementationp->mGroupOverLimitTextp =
@ -803,6 +806,7 @@ BOOL LLPanelGroupLandMoney::postBuild()
loading_text);
}
getChild<LLUICtrl>("group_money_heading")->setTextArg("[CUR]", type_currency);
return LLPanelGroupTab::postBuild();
}
@ -1445,9 +1449,10 @@ void LLGroupMoneyPlanningTabEventHandler::processReply(LLMessageSystem* msg,
substitution["datetime"] = LLDateUtil::secondsSinceEpochFromString("%Y-%m-%d", next_stipend_date);
LLStringUtil::format (time_str, substitution);
std::string type_currency = LLGridManager::getInstance()->getCurrency();
text.append(time_str);
text.append(".\n\n");
text.append(llformat("%-23sL$%6d\n", LLTrans::getString("GroupMoneyBalance").c_str(), balance ));
text.append(llformat("%-23s%s%6d\n", LLTrans::getString("GroupMoneyBalance").c_str(), type_currency.c_str(), balance ));
text.append(1, '\n');
}

View File

@ -43,6 +43,7 @@
#include "roles_constants.h"
#include "lluictrlfactory.h"
#include "llviewernetwork.h"
// [RLVa:KB]
#include "rlvhandler.h"
@ -210,6 +211,8 @@ void LLPanelLandInfo::refresh()
&dwell);
if(is_public || (is_for_sale && LLViewerParcelMgr::getInstance()->getParcelSelection()->getWholeParcelSelected()))
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
getChild<LLUICtrl>("label_area_price")->setTextArg("[CUR]", type_currency);
getChild<LLUICtrl>("label_area_price")->setTextArg("[PRICE]", llformat("%d",claim_price));
getChild<LLUICtrl>("label_area_price")->setTextArg("[AREA]", llformat("%d",area));
getChildView("label_area_price")->setVisible(true);

View File

@ -68,6 +68,7 @@
#include "lltrans.h"
#include "llglheaders.h"
#include "llpanelloginlistener.h"
#include "lltabcontainer.h"
#include "fsdata.h"
@ -178,6 +179,7 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
childSetAction("delete_saved_login_btn", onClickDelete, this);
childSetAction("connect_btn", onClickConnect, this);
childSetAction("grids_btn", onClickGrids, this);
getChild<LLPanel>("login")->setDefaultBtn("connect_btn");
@ -889,7 +891,16 @@ void LLPanelLogin::loadLoginPage()
curl_free(curl_version);
// Grid
char* curl_grid = curl_escape(LLGridManager::getInstance()->getGridLabel().c_str(), 0);
char* curl_grid;
if(LLGridManager::getInstance()->isInSLMain()) {
curl_grid = curl_escape("Agni", 0);
}
else if(LLGridManager::getInstance()->isInSLBeta()) {
curl_grid = curl_escape("Aditi", 0);
}
else {
curl_grid = curl_escape(LLGridManager::getInstance()->getGridLabel().c_str(), 0);
}
oStr << "&grid=" << curl_grid;
curl_free(curl_grid);
@ -1086,6 +1097,24 @@ void LLPanelLogin::onClickDelete(void*)
}
}
//static
void LLPanelLogin::onClickGrids(void*)
{
// bring up the prefs floater
LLFloaterPreference* prefsfloater = dynamic_cast<LLFloaterPreference*>(LLFloaterReg::showInstance("preferences"));
if (prefsfloater)
{
// grab the 'grids' panel from the preferences floater and
// bring it the front!
LLTabContainer* tabcontainer = prefsfloater->getChild<LLTabContainer>("pref core");
LLPanel* gridspanel = prefsfloater->getChild<LLPanel>("grids");
if (tabcontainer && gridspanel)
{
tabcontainer->selectTabPanel(gridspanel);
}
}
}
// static
void LLPanelLogin::onPassKey(LLLineEditor* caller, void* user_data)
{

View File

@ -97,6 +97,7 @@ private:
static void onClickForgotPassword(void*);
static void onClickHelp(void*);
static void onClickDelete(void*);
static void onClickGrids(void*);
static void onPassKey(LLLineEditor* caller, void* user_data);
static void onSelectServer(LLUICtrl*, void*);
static void onSelectSavedLogin(LLUICtrl*, void*);

View File

@ -54,6 +54,7 @@
#include "llviewermenu.h"
#include "llviewertexturelist.h"
#include "llsidepanelinventory.h"
#include "llviewernetwork.h"
const std::string FILTERS_FILENAME("filters.xml");
@ -284,6 +285,12 @@ BOOL LLPanelMainInventory::postBuild()
mMenuAdd->getChild<LLMenuItemGL>("Upload Animation")->setLabelArg("[COST]", upload_cost);
mMenuAdd->getChild<LLMenuItemGL>("Bulk Upload")->setLabelArg("[COST]", upload_cost);
std::string type_currency = LLGridManager::getInstance()->getCurrency();
mMenuAdd->getChild<LLMenuItemGL>("Upload Image")->setLabelArg("[CUR]", type_currency);
mMenuAdd->getChild<LLMenuItemGL>("Upload Sound")->setLabelArg("[CUR]", type_currency);
mMenuAdd->getChild<LLMenuItemGL>("Upload Animation")->setLabelArg("[CUR]", type_currency);
mMenuAdd->getChild<LLMenuItemGL>("Bulk Upload")->setLabelArg("[CUR]", type_currency);
// Trigger callback for focus received so we can deselect items in inbox/outbox
LLFocusableElement::setFocusReceivedCallback(boost::bind(&LLPanelMainInventory::onFocusReceived, this));
@ -1592,6 +1599,12 @@ void LLPanelMainInventory::setUploadCostIfNeeded()
upload_menu->getChild<LLView>("Upload Sound")->setLabelArg("[COST]", cost_str);
upload_menu->getChild<LLView>("Upload Animation")->setLabelArg("[COST]", cost_str);
upload_menu->getChild<LLView>("Bulk Upload")->setLabelArg("[COST]", cost_str);
std::string type_currency = LLGridManager::getInstance()->getCurrency();
upload_menu->getChild<LLView>("Upload Image")->setLabelArg("[CUR]", type_currency);
upload_menu->getChild<LLView>("Upload Sound")->setLabelArg("[CUR]", type_currency);
upload_menu->getChild<LLView>("Upload Animation")->setLabelArg("[CUR]", type_currency);
upload_menu->getChild<LLView>("Bulk Upload")->setLabelArg("[CUR]", type_currency);
}
}
}

View File

@ -65,6 +65,7 @@
#include "llviewerregion.h"
#include "llviewerobjectlist.h"
#include "llviewermessage.h"
#include "llviewernetwork.h"
// [RLVa:KB] - Checked: 2011-05-22 (RLVa-1.3.1a)
#include "rlvhandler.h"
#include "rlvlocks.h"
@ -224,9 +225,11 @@ void LLTaskInvFVBridge::buyItem()
}
else
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLSD args;
args["PRICE"] = llformat("%d",sale_info.getSalePrice());
args["OWNER"] = owner_name;
args["CUR"] = type_currency;
if (sale_info.getSaleType() != LLSaleInfo::FS_CONTENTS)
{
U32 next_owner_mask = perm.getMaskNextOwner();
@ -664,8 +667,10 @@ void LLTaskInvFVBridge::performAction(LLInventoryModel* model, std::string actio
{
if (price > 0 && price > gStatusBar->getBalance())
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLStringUtil::format_map_t args;
args["AMOUNT"] = llformat("%d", price);
args["CUR"] = type_currency;
LLBuyCurrencyHTML::openCurrencyFloater( LLTrans::getString("this_costs", args), price );
}
else
@ -711,8 +716,11 @@ void LLTaskInvFVBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
}
else
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLSD args;
args["CUR"] = type_currency;
std::ostringstream info;
info << LLTrans::getString("BuyforL$") << price;
info << LLTrans::getString("BuyforL$",args) << price;
label.assign(info.str());
}
@ -1056,8 +1064,11 @@ void LLTaskSoundBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
}
else
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLSD args;
args["CUR"] = type_currency;
std::ostringstream info;
info << LLTrans::getString("BuyforL$") << price;
info << LLTrans::getString("BuyforL$",args) << price;
label.assign(info.str());
}
@ -1428,8 +1439,11 @@ void LLTaskMeshBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
}
else
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLSD args;
args["CUR"] = type_currency;
std::ostringstream info;
info << LLTrans::getString("BuyforL$") << price;
info << LLTrans::getString("BuyforL$",args) << price;
label.assign(info.str());
}

View File

@ -62,6 +62,7 @@
#include "llspinctrl.h"
#include "roles_constants.h"
#include "llgroupactions.h"
#include "llviewernetwork.h"
// [RLVa:KB] - Checked: 2010-08-25 (RLVa-1.2.2a)
#include "llslurl.h"
#include "rlvhandler.h"
@ -983,7 +984,10 @@ bool callback_deed_to_group(const LLSD& notification, const LLSD& response)
void LLPanelPermissions::onClickDeedToGroup(void* data)
{
LLNotificationsUtil::add( "DeedObjectToGroup", LLSD(), LLSD(), callback_deed_to_group);
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLSD args;
args["CUR"] = type_currency;
LLNotificationsUtil::add( "DeedObjectToGroup", args, LLSD(), callback_deed_to_group);
}
///----------------------------------------------------------------------------

View File

@ -52,6 +52,7 @@
#include "llviewercontrol.h"
#include "llviewerparcelmgr.h"
#include "llviewerregion.h"
#include "llviewernetwork.h"
// [RLVa:KB] - Checked: 2010-09-02 (RLVa-1.2.1b)
#include "rlvhandler.h"
// [/RLVa:KB]
@ -543,7 +544,9 @@ void LLPanelPlaceProfile::displaySelectedParcelInfo(LLParcel* parcel,
mForSalePanel->setVisible(for_sale);
const U8* sign = (U8*)getString("price_text").c_str();
//const U8* sign = (U8*)getString("price_text").c_str();
std::string type_currency = LLGridManager::getInstance()->getCurrency();
const U8* sign = (U8*)type_currency.c_str();
const U8* sqm = (U8*)getString("area_text").c_str();
mSalesPriceText->setText(llformat("%s%d ", sign, parcel->getSalePrice()));
@ -633,8 +636,10 @@ void LLPanelPlaceProfile::onForSaleBannerClick()
if(price - gStatusBar->getBalance() > 0)
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLStringUtil::format_map_t args;
args["AMOUNT"] = llformat("%d", price);
args["CUR"] = type_currency;
LLBuyCurrencyHTML::openCurrencyFloater( LLTrans::getString("buying_selected_land", args), price );
}
else

View File

@ -34,6 +34,7 @@
#include "llfloatersnapshot.h" // FIXME: replace with a snapshot storage model
#include "llpanelsnapshot.h"
#include "llviewercontrol.h" // gSavedSettings
#include "llviewernetwork.h"
/**
* The panel provides UI for saving snapshot as an inventory texture.
@ -81,7 +82,9 @@ BOOL LLPanelSnapshotInventory::postBuild()
// virtual
void LLPanelSnapshotInventory::onOpen(const LLSD& key)
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
getChild<LLUICtrl>("hint_lbl")->setTextArg("[UPLOAD_COST]", llformat("%d", LLGlobalEconomy::Singleton::getInstance()->getPriceUpload()));
getChild<LLUICtrl>("hint_lbl")->setTextArg("[CUR]", type_currency);
LLPanelSnapshot::onOpen(key);
}

View File

@ -29,6 +29,7 @@
#include "lleconomy.h"
#include "llpanel.h"
#include "llsidetraypanelcontainer.h"
#include "llviewernetwork.h"
#include "llfloatersnapshot.h" // FIXME: create a snapshot model
@ -83,8 +84,10 @@ void LLPanelSnapshotOptions::onOpen(const LLSD& key)
void LLPanelSnapshotOptions::updateUploadCost()
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
S32 upload_cost = LLGlobalEconomy::Singleton::getInstance()->getPriceUpload();
getChild<LLUICtrl>("save_to_inventory_btn")->setLabelArg("[AMOUNT]", llformat("%d", upload_cost));
getChild<LLUICtrl>("save_to_inventory_btn")->setLabelArg("[CUR]", type_currency);
}
void LLPanelSnapshotOptions::openPanel(const std::string& panel_name)

View File

@ -43,6 +43,8 @@
#include "llviewercontrol.h"
#include "llviewerinventory.h"
#include "llviewerobjectlist.h"
#include "llspinctrl.h"
#include "llviewernetwork.h"
// [RLVa:KB] - Checked: 2010-08-25 (RLVa-1.2.2a)
#include "rlvhandler.h"
// [/RLVa:KB]
@ -177,6 +179,8 @@ BOOL LLSidepanelItemInfo::postBuild()
getChild<LLUICtrl>("CheckPurchase")->setCommitCallback(boost::bind(&LLSidepanelItemInfo::onCommitSaleInfo, this));
// "Price" label for edit
getChild<LLUICtrl>("Edit Cost")->setCommitCallback(boost::bind(&LLSidepanelItemInfo::onCommitSaleInfo, this));
std::string type_currency = "Price: " + LLGridManager::getInstance()->getCurrency();
getChild<LLSpinCtrl>("Edit Cost")->setLabel(type_currency);
refresh();
return TRUE;
}

View File

@ -61,6 +61,7 @@
#include "llspinctrl.h"
#include "roles_constants.h"
#include "llgroupactions.h"
#include "llviewernetwork.h"
// [RLVa:KB] - Checked: 2010-08-25 (RLVa-1.2.2a)
#include "llslurl.h"
#include "rlvhandler.h"
@ -935,7 +936,10 @@ static bool callback_deed_to_group(const LLSD& notification, const LLSD& respons
void LLSidepanelTaskInfo::onClickDeedToGroup(void *data)
{
LLNotificationsUtil::add("DeedObjectToGroup", LLSD(), LLSD(), callback_deed_to_group);
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLSD args;
args["CUR"] = type_currency;
LLNotificationsUtil::add("DeedObjectToGroup", args, LLSD(), callback_deed_to_group);
}
///----------------------------------------------------------------------------

View File

@ -68,6 +68,7 @@
#include "llviewerparcelmgr.h"
#include "llviewerthrottle.h"
#include "lluictrlfactory.h"
#include "llviewernetwork.h"
#include "llagentui.h"
#include "llclipboard.h"
@ -507,9 +508,14 @@ void LLStatusBar::setBalance(S32 balance)
LLStringUtil::format_map_t string_args;
string_args["[AMT]"] = llformat("%s", money_str.c_str());
std::string type_currency = LLGridManager::getInstance()->getCurrency();
string_args["[CUR]"] = llformat("%s", type_currency.c_str());
std::string label_str = getString("buycurrencylabel", string_args);
mBoxBalance->setValue(label_str);
getChild<LLButton>("buyL")->setLabelArg("[CUR]", type_currency);
getChild<LLButton>("buyL")->setToolTipArg(std::string("[CUR]"), type_currency);
getChild<LLTextBase>("balance")->setToolTipArg(std::string("[CUR]"), type_currency);
// Resize the L$ balance background to be wide enough for your balance plus the buy button
{
const S32 HPAD = 24;

View File

@ -68,6 +68,7 @@
#include "llviewermedia.h"
#include "llvoavatarself.h"
#include "llviewermediafocus.h"
#include "llviewernetwork.h"
#include "llworld.h"
#include "llui.h"
#include "llweb.h"
@ -974,9 +975,11 @@ BOOL LLToolPie::handleTooltipLand(std::string line, std::string tooltip_msg)
if (hover_parcel && hover_parcel->getParcelFlag(PF_FOR_SALE))
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLStringUtil::format_map_t args;
S32 price = hover_parcel->getSalePrice();
args["[AMOUNT]"] = LLResMgr::getInstance()->getMonetaryString(price);
args["[CUR]"] = type_currency;
line = LLTrans::getString("TooltipForSaleL$", args);
tooltip_msg.append(line);
tooltip_msg.push_back('\n');
@ -1135,9 +1138,11 @@ BOOL LLToolPie::handleTooltipObject( LLViewerObject* hover_object, std::string l
bool for_sale = for_sale_selection(nodep);
if(for_sale)
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLStringUtil::format_map_t args;
S32 price = nodep->mSaleInfo.getSalePrice();
args["[AMOUNT]"] = LLResMgr::getInstance()->getMonetaryString(price);
args["[CUR]"] = type_currency;
tooltip_msg.append(LLTrans::getString("TooltipPrice", args) );
}
@ -1206,7 +1211,8 @@ BOOL LLToolPie::handleTooltipObject( LLViewerObject* hover_object, std::string l
}
if (hover_object->flagTakesMoney() || (parentobject && parentobject->flagTakesMoney()))
{
permissionsline += LLTrans::getString("TooltipFlagL$") + " ";
permissionsline += LLGridManager::getInstance()->getCurrency();
//permissionsline += LLTrans::getString("TooltipFlagL$") + " ";
}
if (hover_object->flagAllowInventoryAdd())
{

View File

@ -115,6 +115,7 @@
#include "lltoolgrab.h"
#include "llwindow.h"
#include "boost/unordered_map.hpp"
#include "llviewernetwork.h"
// [RLVa:KB] - Checked: 2011-05-22 (RLVa-1.3.1a)
#include "rlvhandler.h"
#include "rlvlocks.h"
@ -547,6 +548,15 @@ void init_menus()
gMenuHolder->childSetLabelArg("Upload Sound", "[COST]", upload_cost);
gMenuHolder->childSetLabelArg("Upload Animation", "[COST]", upload_cost);
gMenuHolder->childSetLabelArg("Bulk Upload", "[COST]", upload_cost);
std::string type_currency = LLGridManager::getInstance()->getCurrency();
gMenuHolder->childSetLabelArg("Upload Image", "[CUR]", type_currency);
gMenuHolder->childSetLabelArg("Upload Sound", "[CUR]", type_currency);
gMenuHolder->childSetLabelArg("Upload Animation", "[CUR]", type_currency);
gMenuHolder->childSetLabelArg("Bulk Upload", "[CUR]", type_currency);
gMenuHolder->childSetLabelArg("Buy and Sell L$", "[CUR]", type_currency);
gMenuHolder->childSetLabelArg("LindenXchange", "[CUR]", type_currency);
gAFKMenu = gMenuBarView->getChild<LLMenuItemCallGL>("Set Away", TRUE);
gBusyMenu = gMenuBarView->getChild<LLMenuItemCallGL>("Set Busy", TRUE);
@ -2813,6 +2823,38 @@ bool enable_object_open()
return root->allowOpen();
}
bool enable_object_export()
{
LLViewerObject* object = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject();
bool new_value = (object != NULL);
if (new_value)
{
/*
struct ff : public LLSelectedNodeFunctor
{
ff(const LLSD& data) : LLSelectedNodeFunctor(), userdata(data)
{
}
const LLSD& userdata;
virtual bool apply(LLSelectNode* node)
{
// Note: the actual permission checking algorithm depends on the grid TOS and must be
// performed for each prim and texture. This is done later in llviewerobjectbackup.cpp.
// This means that even if the item is enabled in the menu, the export may fail should
// the permissions not be met for each exported asset. The permissions check below
// therefore only corresponds to the minimal permissions requirement common to all grids.
LLPermissions *item_permissions = node->mPermissions;
return (gAgent.getID() == item_permissions->getOwner() &&
(gAgent.getID() == item_permissions->getCreator() ||
(item_permissions->getMaskOwner() & PERM_ITEM_UNRESTRICTED) == PERM_ITEM_UNRESTRICTED));
}
};
ff * the_ff = new ff(userdata);
new_value = LLSelectMgr::getInstance()->getSelection()->applyToNodes(the_ff, false);
*/
}
return new_value;
}
class LLViewJoystickFlycam : public view_listener_t
{
@ -5105,8 +5147,10 @@ void handle_buy_or_take()
}
else
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLStringUtil::format_map_t args;
args["AMOUNT"] = llformat("%d", total_price);
args["CUR"] = type_currency;
LLBuyCurrencyHTML::openCurrencyFloater( LLTrans::getString( "BuyingCosts", args ), total_price );
}
}
@ -5228,11 +5272,13 @@ void show_buy_currency(const char* extra)
}
mesg << "Go to " << LLNotifications::instance().getGlobalString("BUY_CURRENCY_URL")<< "\nfor information on purchasing currency?";
*/
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLSD args;
if (extra != NULL)
{
args["EXTRA"] = extra;
}
args["CUR"] = type_currency;
LLNotificationsUtil::add("PromptGoToCurrencyPage", args);//, LLSD(), callback_show_buy_currency);
}
@ -5248,8 +5294,10 @@ void handle_buy()
if (price > 0 && price > gStatusBar->getBalance())
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLStringUtil::format_map_t args;
args["AMOUNT"] = llformat("%d", price);
args["CUR"] = type_currency;
LLBuyCurrencyHTML::openCurrencyFloater( LLTrans::getString("this_object_costs", args), price );
return;
}
@ -8987,8 +9035,11 @@ class LLUploadCostCalculator : public view_listener_t
bool handleEvent(const LLSD& userdata)
{
calculateCost();
std::string menu_name = userdata.asString();
gMenuHolder->childSetLabelArg(menu_name, "[COST]", mCostStr);
std::string type_currency = LLGridManager::getInstance()->getCurrency();
gMenuHolder->childSetLabelArg(menu_name, "[CUR]", type_currency);
return true;
}
@ -9002,6 +9053,20 @@ public:
}
};
class LLCurrencyTypeCheck : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
{
std::string menu_name = userdata.asString();
std::string type_currency = LLGridManager::getInstance()->getCurrency();
gMenuHolder->childSetLabelArg(menu_name, "[CUR]", type_currency);
return true;
}
public:
LLCurrencyTypeCheck() {}
};
class LLToggleUIHints : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
@ -9220,6 +9285,7 @@ void initialize_menus()
enable.add("IsGodCustomerService", boost::bind(&is_god_customer_service));
view_listener_t::addEnable(new LLUploadCostCalculator(), "Upload.CalculateCosts");
view_listener_t::addEnable(new LLCurrencyTypeCheck(), "Currency.TypeCheck");
commit.add("Inventory.NewWindow", boost::bind(&LLFloaterInventory::showAgentInventory));

View File

@ -61,6 +61,7 @@
#include "lluploaddialog.h"
#include "lltrans.h"
#include "llfloaterbuycurrency.h"
#include "llviewernetwork.h"
// linden libraries
#include "llassetuploadresponders.h"
@ -967,9 +968,11 @@ void upload_done_callback(
if(!(can_afford_transaction(expected_upload_cost)))
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLStringUtil::format_map_t args;
args["NAME"] = data->mAssetInfo.getName();
args["AMOUNT"] = llformat("%d", expected_upload_cost);
args["CUR"] = type_currency;
LLBuyCurrencyHTML::openCurrencyFloater( LLTrans::getString("UploadingCosts", args), expected_upload_cost );
is_balance_sufficient = FALSE;
}
@ -1286,10 +1289,12 @@ void upload_new_resource(
S32 balance = gStatusBar->getBalance();
if (balance < expected_upload_cost)
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
// insufficient funds, bail on this upload
LLStringUtil::format_map_t args;
args["NAME"] = name;
args["AMOUNT"] = llformat("%d", expected_upload_cost);
args["CUR"] = type_currency;
LLBuyCurrencyHTML::openCurrencyFloater( LLTrans::getString("UploadingCosts", args), expected_upload_cost );
return;
}

View File

@ -111,6 +111,7 @@
#include "llagentui.h"
#include "llpanelblockedlist.h"
#include "llpanelplaceprofile.h"
#include "llviewernetwork.h"
// [RLVa:KB] - Checked: 2010-03-09 (RLVa-1.2.0a)
#include "rlvhandler.h"
#include "rlvinventory.h"
@ -311,8 +312,10 @@ void give_money(const LLUUID& uuid, LLViewerRegion* region, S32 amount, BOOL is_
}
else
{
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLStringUtil::format_map_t args;
args["AMOUNT"] = llformat("%d", amount);
args["CUR"] = type_currency;
LLBuyCurrencyHTML::openCurrencyFloater( LLTrans::getString("giving", args), amount );
}
}
@ -699,7 +702,9 @@ bool join_group_response(const LLSD& notification, const LLSD& response)
{
delete_context_data = FALSE;
LLSD args;
std::string type_currency = LLGridManager::getInstance()->getCurrency();
args["COST"] = llformat("%d", fee);
args["CUR"] = type_currency;
// Set the fee for next time to 0, so that we don't keep
// asking about a fee.
LLSD next_payload = notification["payload"];
@ -6134,9 +6139,11 @@ static void process_money_balance_reply_extended(LLMessageSystem* msg)
std::string reason =
reason_from_transaction_type(transaction_type, item_description);
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLStringUtil::format_map_t args;
args["REASON"] = reason; // could be empty
args["AMOUNT"] = llformat("%d", amount);
args["CUR"] = type_currency;
// Need to delay until name looked up, so need to know whether or not
// is group
@ -6659,6 +6666,12 @@ void process_economy_data(LLMessageSystem *msg, void** /*user_data*/)
gMenuHolder->getChild<LLUICtrl>("Upload Sound")->setLabelArg("[COST]", llformat("%d", upload_cost));
gMenuHolder->getChild<LLUICtrl>("Upload Animation")->setLabelArg("[COST]", llformat("%d", upload_cost));
gMenuHolder->getChild<LLUICtrl>("Bulk Upload")->setLabelArg("[COST]", llformat("%d", upload_cost));
std::string type_currency = LLGridManager::getInstance()->getCurrency();
gMenuHolder->getChild<LLUICtrl>("Upload Image")->setLabelArg("[CUR]", type_currency);
gMenuHolder->getChild<LLUICtrl>("Upload Sound")->setLabelArg("[CUR]", type_currency);
gMenuHolder->getChild<LLUICtrl>("Upload Animation")->setLabelArg("[CUR]", type_currency);
gMenuHolder->getChild<LLUICtrl>("Bulk Upload")->setLabelArg("[CUR]", type_currency);
}
void notify_cautioned_script_question(const LLSD& notification, const LLSD& response, S32 orig_questions, BOOL granted)
@ -6728,6 +6741,7 @@ void notify_cautioned_script_question(const LLSD& notification, const LLSD& resp
BOOL caution = FALSE;
S32 count = 0;
std::string perms;
std::string type_currency = LLGridManager::getInstance()->getCurrency();
for (S32 i = 0; i < SCRIPT_PERMISSION_EOF; i++)
{
if ((orig_questions & LSCRIPTRunTimePermissionBits[i]) && SCRIPT_QUESTION_IS_CAUTION[i])
@ -6742,7 +6756,9 @@ void notify_cautioned_script_question(const LLSD& notification, const LLSD& resp
perms.append(", ");
}
perms.append(LLTrans::getString(SCRIPT_QUESTIONS[i]));
LLSD args;
args["CUR"] = type_currency;
perms.append(LLTrans::getString(SCRIPT_QUESTIONS[i],args));
}
}
@ -6771,7 +6787,12 @@ bool script_question_cb(const LLSD& notification, const LLSD& response)
LLNotificationsUtil::add(notification["name"], notification["substitutions"], notification["payload"]);
// ...with description on top
LLNotificationsUtil::add("DebitPermissionDetails");
// LLNotificationsUtil::add("DebitPermissionDetails"); - FS:TM grid pannel support
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLSD args;
args["CUR"] = type_currency;
LLNotificationsUtil::add("DebitPermissionDetails", args);
//FS:TM grid pannel support
return false;
}

View File

@ -440,8 +440,8 @@ void LLGridManager::gridInfoResponderCB(GridEntry* grid_entry)
check = "gridnick";
if (node->hasName(check))
{
grid_entry->grid[check] = node->getTextContents();
LL_DEBUGS("GridManager") << "[\""<<check<<"\"]: " << grid_entry->grid[check] << LL_ENDL;
grid_entry->grid[GRID_NICK_VALUE] = node->getTextContents();
LL_DEBUGS("GridManager") << "[\""<<check<<"\"]: " << grid_entry->grid[GRID_NICK_VALUE] << LL_ENDL;
continue;
}
check = "welcome";
@ -468,15 +468,71 @@ void LLGridManager::gridInfoResponderCB(GridEntry* grid_entry)
check = "help";
if (node->hasName(check))
{
grid_entry->grid[check] = node->getTextContents();
LL_DEBUGS("GridManager") << "[\""<<check<<"\"]: " << grid_entry->grid[check] << LL_ENDL;
grid_entry->grid[GRID_HELP] = node->getTextContents();
LL_DEBUGS("GridManager") << "[\""<<check<<"\"]: " << grid_entry->grid[GRID_HELP] << LL_ENDL;
continue;
}
check = "about";
if (node->hasName(check))
{
grid_entry->grid[check] = node->getTextContents();
LL_DEBUGS("GridManager") << "[\""<<check<<"\"]: " << grid_entry->grid[check] << LL_ENDL;
grid_entry->grid[GRID_ABOUT] = node->getTextContents();
LL_DEBUGS("GridManager") << "[\""<<check<<"\"]: " << grid_entry->grid[GRID_ABOUT] << LL_ENDL;
continue;
}
check = "search";
if (node->hasName(check))
{
grid_entry->grid[GRID_SEARCH] = node->getTextContents();
LL_DEBUGS("GridManager") << "[\""<<check<<"\"]: " << grid_entry->grid[GRID_SEARCH] << LL_ENDL;
continue;
}
check = "SendGridInfoToViewerOnLogin";
if (node->hasName(check))
{
grid_entry->grid[GRID_SENDGRIDINFO] = node->getTextContents();
LL_DEBUGS("GridManager") << "[\""<<check<<"\"]: " << grid_entry->grid[GRID_SENDGRIDINFO] << LL_ENDL;
continue;
}
check = "DirectoryFee";
if (node->hasName(check))
{
grid_entry->grid[GRID_DIRECTORY_FEE] = node->getTextContents();
LL_DEBUGS("GridManager") << "[\""<<check<<"\"]: " << grid_entry->grid[GRID_DIRECTORY_FEE] << LL_ENDL;
continue;
}
check = "CurrencySymbol";
if (node->hasName(check))
{
grid_entry->grid[GRID_CURRENCY_SYMBOL] = node->getTextContents();
LL_DEBUGS("GridManager") << "[\""<<check<<"\"]: " << grid_entry->grid[GRID_CURRENCY_SYMBOL] << LL_ENDL;
continue;
}
check = "RealCurrencySymbol";
if (node->hasName(check))
{
grid_entry->grid[GRID_REAL_CURRENCY_SYMBOL] = node->getTextContents();
LL_DEBUGS("GridManager") << "[\""<<check<<"\"]: " << grid_entry->grid[GRID_REAL_CURRENCY_SYMBOL] << LL_ENDL;
continue;
}
check = "MaxGroups";
if (node->hasName(check))
{
grid_entry->grid[GRID_MAXGROUPS] = node->getTextContents();
LL_DEBUGS("GridManager") << "[\""<<check<<"\"]: " << grid_entry->grid[GRID_MAXGROUPS] << LL_ENDL;
continue;
}
check = "platform";
if (node->hasName(check))
{
grid_entry->grid[GRID_PLATFORM] = node->getTextContents();
LL_DEBUGS("GridManager") << "[\""<<check<<"\"]: " << grid_entry->grid[GRID_PLATFORM] << LL_ENDL;
continue;
}
check = "message";
if (node->hasName(check))
{
grid_entry->grid[GRID_MESSAGE] = node->getTextContents();
LL_DEBUGS("GridManager") << "[\""<<check<<"\"]: " << grid_entry->grid[GRID_MESSAGE] << LL_ENDL;
continue;
}
check = "helperuri";
@ -759,11 +815,20 @@ void LLGridManager::addGrid(GridEntry* grid_entry, AddState state)
if (grid_entry)
{
if(!grid_entry->mOnDoneCallback.empty()) {
grid_entry->mOnDoneCallback();
}
delete grid_entry;
grid_entry = NULL;
}
}
void LLGridManager::deleteGrid(const std::string& grid)
{
if(MAINGRID == grid) return;
mGridList.erase(grid);
if(mGrid == grid) setGridChoice(MAINGRID);
}
//
// LLGridManager::addSystemGrid - helper for adding a system grid.
void LLGridManager::addSystemGrid(const std::string& label,
@ -979,6 +1044,20 @@ std::string LLGridManager::getLoginPage()
return mGridList[mGrid][GRID_LOGIN_PAGE_VALUE];
}
std::string LLGridManager::getCurrency()
{
std::string type_currency = "L$";
if(!(isInSLMain() || isInSLBeta())) {
if(mGridList[mGrid].has(GRID_CURRENCY_SYMBOL)) {
type_currency = mGridList[mGrid][GRID_CURRENCY_SYMBOL].asString();
}
else {
type_currency = "OS$";
}
}
return type_currency;
}
// <AW opensim>
void LLGridManager::updateIsInProductionGrid()
{

View File

@ -47,6 +47,16 @@ extern const char* DEFAULT_LOGIN_PAGE;
#define GRID_IS_FAVORITE_VALUE "favorite"
#define GRID_REGISTER_NEW_ACCOUNT "register"
#define GRID_FORGOT_PASSWORD "password"
#define GRID_HELP "help"
#define GRID_ABOUT "about"
#define GRID_SEARCH "search"
#define GRID_SENDGRIDINFO "SendGridInfoToViewerOnLogin"
#define GRID_DIRECTORY_FEE "DirectoryFee"
#define GRID_CURRENCY_SYMBOL "CurrencySymbol"
#define GRID_REAL_CURRENCY_SYMBOL "RealCurrencySymbol"
#define GRID_MAXGROUPS "MaxGroups"
#define GRID_PLATFORM "platform"
#define GRID_MESSAGE "message"
// </AW opensim>
#define GRID_IS_SYSTEM_GRID_VALUE "system_grid"
#define GRID_IS_FAVORITE_VALUE "favorite"
@ -66,6 +76,7 @@ struct GridEntry
LLXMLNodePtr info_root;
bool set_current;
std::string last_http_error;
boost::function<void()> mOnDoneCallback;
};
class LLInvalidGridName
@ -120,6 +131,7 @@ public:
void gridInfoResponderCB(GridEntry* grid_data);
// add a grid to the list of grids
void addGrid(GridEntry* grid_info, AddState state);
void deleteGrid(const std::string& grid);
// retrieve a map of grid-name <-> label
// by default only return the user visible grids
@ -147,6 +159,7 @@ public:
std::string getLoginPage(const std::string& grid) { return mGridList[grid][GRID_LOGIN_PAGE_VALUE]; }
void getLoginIdentifierTypes(LLSD& idTypes) { idTypes = mGridList[mGrid][GRID_LOGIN_IDENTIFIER_TYPES]; }
std::string getGridNick() { return mGridList[mGrid][GRID_NICK_VALUE]; }
std::string getCurrency();
// get location slurl base for the given region within the selected grid
std::string getSLURLBase(const std::string& grid);

View File

@ -69,6 +69,7 @@
#include "llweb.h"
#include "llvieweraudio.h"
#include "kcwlinterface.h"
#include "llviewernetwork.h"
const F32 PARCEL_COLLISION_DRAW_SECS = 1.f;
@ -2152,8 +2153,10 @@ void LLViewerParcelMgr::startReleaseLand()
}
// Compute claim price
std::string type_currency = LLGridManager::getInstance()->getCurrency();
LLSD args;
args["AREA"] = llformat("%d",mCurrentParcel->getArea());
args["CUR"] = type_currency;
LLNotificationsUtil::add("ReleaseLandWarning", args, LLSD(), releaseAlertCB);
}

View File

@ -33,6 +33,7 @@
#include "lltracker.h"
#include "lluistring.h"
#include "llviewertexturelist.h"
#include "llviewernetwork.h"
#include "lltrans.h"
// Timers to temporise database requests
@ -520,9 +521,11 @@ bool LLWorldMap::insertItem(U32 x_world, U32 y_world, std::string& name, LLUUID&
case MAP_ITEM_LAND_FOR_SALE_ADULT: // adult land for sale
{
static LLUIString tooltip_fmt = LLTrans::getString("worldmap_item_tooltip_format");
std::string type_currency = LLGridManager::getInstance()->getCurrency();
tooltip_fmt.setArg("[AREA]", llformat("%d", extra));
tooltip_fmt.setArg("[PRICE]", llformat("%d", extra2));
tooltip_fmt.setArg("[CUR]", type_currency);
new_item.setTooltip(tooltip_fmt.getString());
if (type == MAP_ITEM_LAND_FOR_SALE)

View File

@ -107,7 +107,7 @@ Gå til &apos;Verden&apos; &gt; &apos;Om land&apos; eller vælg en anden parcel
Ikke til salg.
</text>
<text name="For Sale: Price L$[PRICE].">
Pris: L$[PRICE] (L$[PRICE_PER_SQM]/m²).
Pris: [CUR][PRICE] ([CUR][PRICE_PER_SQM]/m²).
</text>
<button label="Sælg land" name="Sell Land..."/>
<text name="For sale to">
@ -342,7 +342,7 @@ Kun større parceller kan vises i søgning.
</text>
<check_box label="Sikker (ingen skade)" name="check safe" tool_tip="Hvis valgt, er det ikke muligt at forårsage skade på andre beboere. Hvis fravalgt er det muligt at få skader (f.eks. ved kamp)."/>
<check_box label="Skub forbudt" name="PushRestrictCheck" tool_tip="Forhindrer scripts i at skubbe. Valg af denne mulighed, kan være nyttigt for at forhindre forstyrrende adfærd på dit land."/>
<check_box label="Vis sted i søgning (L$30/uge)" name="ShowDirectoryCheck" tool_tip="Lad dit parcel blive vist i søge resultaterne"/>
<check_box label="Vis sted i søgning ([CUR]30/uge)" name="ShowDirectoryCheck" tool_tip="Lad dit parcel blive vist i søge resultaterne"/>
<combo_box name="land category with adult">
<combo_box.item label="Enhver kategori" name="item0"/>
<combo_box.item label="Linden sted" name="item1"/>
@ -470,7 +470,7 @@ Kun større parceller kan vises i søgning.
<combo_box.item label="Alle" name="Anyone"/>
<combo_box.item label="Gruppe" name="Group"/>
</combo_box>
<spinner label="Pris i L$:" name="PriceSpin"/>
<spinner label="Pris i [CUR]:" name="PriceSpin"/>
<spinner label="Timers adgang:" name="HoursSpin"/>
<panel name="Allowed_layout_panel">
<name_list name="AccessList" tool_tip="([LISTED] vist, [MAX] maks.)"/>

View File

@ -182,6 +182,6 @@ Maksimal animations længde er [MAX_LENGTH] sekunder.
Vi anbefaler BVH filer der er exporteret fra Poser 4.
</text>
<button label="Hent (L$[AMOUNT])" name="ok_btn"/>
<button label="Hent ([CUR][AMOUNT])" name="ok_btn"/>
<button label="Annullér" name="cancel_btn"/>
</floater>

View File

@ -4,7 +4,7 @@
&lt;nolink&gt;[NAME]&lt;/nolink&gt; contains:
</text>
<text name="buy_text">
Køb for L$[AMOUNT] fra [NAME]?
Køb for [CUR][AMOUNT] fra [NAME]?
</text>
<button label="Annullér" label_selected="Annullér" name="cancel_btn"/>
<button label="Køb" label_selected="Køb" name="buy_btn"/>

View File

@ -1,30 +1,30 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="buy currency" title="KØB L$">
<floater name="buy currency" title="KØB [CUR]">
<floater.string name="buy_currency">
Køb L$ [LINDENS] for ca. [LOCALAMOUNT]
Køb [CUR] [LINDENS] for ca. [LOCALAMOUNT]
</floater.string>
<text name="info_need_more">
Du skal bruge flere L$
Du skal bruge flere [CUR]
</text>
<text name="contacting">
Kontakter LindeX...
</text>
<text name="info_buying">
Køb L$
Køb [CUR]
</text>
<text name="balance_label">
Jeg har
</text>
<text name="balance_amount">
L$ [AMT]
[CUR] [AMT]
</text>
<text name="currency_action">
Jeg ønsker at købe
</text>
<text name="currency_label">
L$
[CUR]
</text>
<line_editor label="L$" name="currency_amt">
<line_editor label="[CUR]" name="currency_amt">
1234
</line_editor>
<text name="buying_label">
@ -43,7 +43,7 @@
Min nye beholdning vil være
</text>
<text name="total_amount">
L$ [AMT]
[CUR] [AMT]
</text>
<text name="currency_links">
[http://www.secondlife.com/my/account/payment_method_management.php payment method] | [http://www.secondlife.com/my/account/currency.php currency]
@ -52,11 +52,11 @@
Indtast beløbet for at se nyeste valutakurs.
</text>
<text name="purchase_warning_repurchase">
Bekræftelse af dette køb medfører kun køb af L$, ikke
Bekræftelse af dette køb medfører kun køb af [CUR], ikke
objektet.
</text>
<text name="purchase_warning_notenough">
Du køber ikke nok L$. Forøg venligst beløbet.
Du køber ikke nok [CUR]. Forøg venligst beløbet.
</text>
<button label="Køb nu" name="buy_btn"/>
<button label="Annullér" name="cancel_btn"/>

View File

@ -77,10 +77,10 @@ Prøv at vælge et mindre område.
Du ejer [BUYER] m² land.
</floater.string>
<floater.string name="pay_to_for_land">
Betal L$ [AMOUNT] til [SELLER] for dette stykke jord
Betal [CUR] [AMOUNT] til [SELLER] for dette stykke jord
</floater.string>
<floater.string name="buy_for_US">
Køb L$ [AMOUNT] for ca. [LOCAL_AMOUNT],
Køb [CUR] [AMOUNT] for ca. [LOCAL_AMOUNT],
</floater.string>
<floater.string name="parcel_meters">
Denne parcel er på [AMOUNT] m²
@ -102,8 +102,8 @@ kan indeholde [AMOUNT2] objekter
objekter ikke inkluderet
</floater.string>
<floater.string name="info_price_string">
L$ [PRICE]
(L$ [PRICE_PER_SQM]/m²)
[CUR] [PRICE]
([CUR] [PRICE_PER_SQM]/m²)
[SOLD_WITH_OBJECTS]
</floater.string>
<floater.string name="insufficient_land_credits">
@ -112,16 +112,16 @@ kredit for at dække dette parcel før købet vil blive
gennemført.
</floater.string>
<floater.string name="have_enough_lindens">
Du har L$ [AMOUNT], hvilket er nok til at købe denne jord.
Du har [CUR] [AMOUNT], hvilket er nok til at købe denne jord.
</floater.string>
<floater.string name="not_enough_lindens">
Du har kun L$ [AMOUNT], og har brug for yderligere L$ [AMOUNT2].
Du har kun [CUR] [AMOUNT], og har brug for yderligere L$ [AMOUNT2].
</floater.string>
<floater.string name="balance_left">
Efter købet, vil du have L$ [AMOUNT] tilbage.
Efter købet, vil du have [CUR] [AMOUNT] tilbage.
</floater.string>
<floater.string name="balance_needed">
Du skal købe mindst L$ [AMOUNT] for at have råd til denne jord.
Du skal købe mindst [CUR] [AMOUNT] for at have råd til denne jord.
</floater.string>
<floater.string name="no_parcel_selected">
(intet parcel er valgt)
@ -183,8 +183,8 @@ gennemført.
Pris:
</text>
<text left_delta="62" name="info_price">
L$ 1500
(L$ 1.1/m²)
[CUR] 1500
([CUR] 1.1/m²)
solgt med objekter
</text>
<text name="info_action">
@ -213,13 +213,13 @@ solgt med objekter
Denne parcel er på 512 m².
</text>
<text name="purchase_action">
Betal Joe Resident L$ 4000 dette areal
Betal Joe Resident [CUR] 4000 dette areal
</text>
<text name="currency_reason">
Du har L$2,100.
Du har [CUR]2,100.
</text>
<text name="currency_action">
Køb yderligere L$
Køb yderligere [CUR]
</text>
<line_editor name="currency_amt">
1000
@ -228,7 +228,7 @@ Denne parcel er på 512 m².
for ca. [LOCAL_AMOUNT]
</text>
<text name="currency_balance">
Du har L$2,100.
Du har [CUR]2,100.
</text>
<check_box label="Fjern [AMOUNT] m² af bidrag fra gruppe." name="remove_contribution"/>
<button label="Køb" name="buy_btn"/>

View File

@ -19,7 +19,7 @@
Indeholder:
</text>
<text name="buy_text">
Køb for L$[AMOUNT] af:
Køb for [CUR][AMOUNT] af:
</text>
<text name="buy_name_text">
[NAME]?

View File

@ -28,5 +28,5 @@ Prøv at gemme billede som en 24 bit Targa fil (.tga).
</text>
<check_box label="Benyt komprimering uden tab" name="lossless_check"/>
<button label="Annullér" name="cancel_btn"/>
<button label="Hent (L$[AMOUNT])" name="ok_btn"/>
<button label="Hent ([CUR][AMOUNT])" name="ok_btn"/>
</floater>

View File

@ -62,6 +62,6 @@
</combo_box>
<spinner label="Pris:" name="Edit Cost"/>
<text name="CurrencySymbol">
L$
[CUR]
</text>
</floater>

View File

@ -140,7 +140,7 @@
</text>
</panel>
<text name="description">
Review the details below then click. Upload to upload your model. Your L$ balance will be charged when you click Upload.
Review the details below then click. Upload to upload your model. Your [CUR] balance will be charged when you click Upload.
</text>
<panel name="content">
<text name="lod_label">

View File

@ -13,10 +13,10 @@
<text name="payee_name">
Test navn der er meget lang for at checke afkortning
</text>
<button label="L$1" label_selected="L$1" name="fastpay 1"/>
<button label="L$5" label_selected="L$5" name="fastpay 5"/>
<button label="L$10" label_selected="L$10" name="fastpay 10"/>
<button label="L$20" label_selected="L$20" name="fastpay 20"/>
<button label="[CUR]1" label_selected="[CUR]1" name="fastpay 1"/>
<button label="[CUR]5" label_selected="[CUR]5" name="fastpay 5"/>
<button label="[CUR]10" label_selected="[CUR]10" name="fastpay 10"/>
<button label="[CUR]20" label_selected="[CUR]20" name="fastpay 20"/>
<text left="4" name="amount text">
eler vælg beløb:
</text>

View File

@ -17,10 +17,10 @@
<text name="object_name_text">
Mit fantastiske objekt med et virkeligt langt navn
</text>
<button label="L$1" label_selected="L$1" name="fastpay 1"/>
<button label="L$5" label_selected="L$5" name="fastpay 5"/>
<button label="L$10" label_selected="L$10" name="fastpay 10"/>
<button label="L$20" label_selected="L$20" name="fastpay 20"/>
<button label="[CUR]1" label_selected="[CUR]1" name="fastpay 1"/>
<button label="[CUR]5" label_selected="[CUR]5" name="fastpay 5"/>
<button label="[CUR]10" label_selected="[CUR]10" name="fastpay 10"/>
<button label="[CUR]20" label_selected="[CUR]20" name="fastpay 20"/>
<text name="amount text">
Eller vælg beløb:
</text>

View File

@ -11,7 +11,7 @@ De annoncer der betales mest for vises øverst i lister og højere i søgeresult
Pris for annonce:
</text>
<text name="price_symbol">
L$
[CUR]
</text>
<button label="OK" name="set_price_btn"/>
<button label="Annullér" name="cancel_btn"/>

View File

@ -5,8 +5,8 @@
Husk, annonceomkostninger kan ikke refunderes.
</text>
<spinner label="Pris: L$" name="price_for_listing" tool_tip="Pris for optagelse af annonce." value="50"/>
<text name="l$_text" value="L$"/>
<spinner label="Pris: [CUR]" name="price_for_listing" tool_tip="Pris for optagelse af annonce." value="50"/>
<text name="l$_text" value="[CUR]"/>
<text name="more_info_text">
Mere info (link til hjælp om annoncer)
</text>

View File

@ -24,13 +24,13 @@
Vælg en passende pris for jorden.
</text>
<text name="price_ld">
L$
[CUR]
</text>
<line_editor name="price">
0
</line_editor>
<text name="price_per_m">
(L$[PER_METER] pr. m²)
([CUR][PER_METER] pr. m²)
</text>
<text name="sell_to_label">
2. Sælg denne parcel til:

View File

@ -5,7 +5,7 @@
</floater.string>
<radio_group label="foto type" name="snapshot_type_radio">
<radio_item label="Email" name="postcard"/>
<radio_item label="Min beholdning (L$[AMOUNT])" name="texture"/>
<radio_item label="Min beholdning ([CUR][AMOUNT])" name="texture"/>
<radio_item label="Gem til min computer" name="local"/>
</radio_group>
<text name="file_size_label">

View File

@ -7,5 +7,5 @@
Beskrivelse:
</text>
<button label="Annullér" label_selected="Annullér" name="cancel_btn"/>
<button label="Hent (L$[AMOUNT])" label_selected="Hent (L$[AMOUNT])" name="ok_btn"/>
<button label="Hent ([CUR][AMOUNT])" label_selected="Hent ([CUR][AMOUNT])" name="ok_btn"/>
</floater>

View File

@ -155,13 +155,13 @@
Du skal vælge hele objektet for at sætte rettigheder
</panel.string>
<panel.string name="Cost Default">
Pris: L$
Pris: [CUR]
</panel.string>
<panel.string name="Cost Total">
Total pris: L$
Total pris: [CUR]
</panel.string>
<panel.string name="Cost Per Unit">
Pris pr: L$
Pris pr: [CUR]
</panel.string>
<panel.string name="Cost Mixed">
Blandet pris
@ -205,7 +205,7 @@
<combo_box.item label="Indhold" name="Contents"/>
<combo_box.item label="Original" name="Original"/>
</combo_box>
<spinner label="Pris: L$" name="Edit Cost"/>
<spinner label="Pris: [CUR]" name="Edit Cost"/>
<check_box label="Vis i søgning" name="search_check" tool_tip="Lad folk se dette objekt i søgeresultater"/>
<panel name="perms_build">
<text name="perm_modify">
@ -491,7 +491,7 @@
Parcel information
</text>
<text name="label_area_price">
Pris: L$[PRICE] for [AREA] m²
Pris: [CUR][PRICE] for [AREA] m²
</text>
<text name="label_area">
Areal: [AREA] m²

View File

@ -11,7 +11,7 @@
Åben tilmelding
</string>
<string name="CostToJoin">
Tilmeldingsgebyr: L$[AMOUNT]
Tilmeldingsgebyr: [CUR][AMOUNT]
</string>
<string name="YouAreMember">
Du er meldlem

View File

@ -12,7 +12,7 @@
Owner [OWNER]
</string>
<string name="Price">
L$[AMOUNT]
[CUR][AMOUNT]
</string>
<string name="PriceFree">
Gratis!
@ -25,7 +25,7 @@ Owner [OWNER]
</string>
<text name="object_name" value="Test objekt navn der reelt er to linier og meget lang"/>
<text name="price_text">
L$30,000
[CUR]30,000
</text>
<text name="object_description">
Dette er en meget lang beskrivelse af et objekt udformet så den fylder mindst 80 karakterer i længden eller endda nærmere 120 på dette sted. Man kan aldrig vide....

View File

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<menu name="menu_inventory_add">
<menu label="Hent" name="upload">
<menu_item_call label="Billede (L$[COST])..." name="Upload Image"/>
<menu_item_call label="Lyd (L$[COST])..." name="Upload Sound"/>
<menu_item_call label="Animation (L$[COST])..." name="Upload Animation"/>
<menu_item_call label="Billede ([CUR][COST])..." name="Upload Image"/>
<menu_item_call label="Lyd ([CUR][COST])..." name="Upload Sound"/>
<menu_item_call label="Animation ([CUR][COST])..." name="Upload Animation"/>
<menu_item_call label="Model..." name="Upload Model"/>
<menu_item_call label="Model Wizard..." name="Upload Model Wizard"/>
<menu_item_call label="Hent mange (L$[COST] pr. fil)..." name="Bulk Upload"/>
<menu_item_call label="Hent mange ([CUR][COST] pr. fil)..." name="Bulk Upload"/>
<menu_item_call label="Sæt standardværdier for upload rettigheder" name="perm prefs"/>
</menu>
<menu_item_call label="Ny mappe" name="New Folder"/>

View File

@ -3,7 +3,7 @@
<menu label="Mig" name="Me">
<menu_item_call label="Indstillinger" name="Preferences"/>
<menu_item_call label="Mit instrumentpanel" name="Manage My Account"/>
<menu_item_call label="Køb L$" name="Buy and Sell L$"/>
<menu_item_call label="Køb [CUR]" name="Buy and Sell [CUR]"/>
<menu_item_call label="Profil" name="Profile"/>
<menu_item_call label="Udseende" name="ChangeOutfit"/>
<menu_item_check label="Beholdning" name="Inventory"/>
@ -112,12 +112,12 @@
<menu_item_call label="Gitter indstillinger" name="Grid Options"/>
</menu>
<menu label="Send" name="Upload">
<menu_item_call label="Billede (L$[COST])..." name="Upload Image"/>
<menu_item_call label="Lyd (L$[COST])..." name="Upload Sound"/>
<menu_item_call label="Animation (L$[COST])..." name="Upload Animation"/>
<menu_item_call label="Billede ([CUR][COST])..." name="Upload Image"/>
<menu_item_call label="Lyd ([CUR][COST])..." name="Upload Sound"/>
<menu_item_call label="Animation ([CUR][COST])..." name="Upload Animation"/>
<menu_item_call label="Model..." name="Upload Model"/>
<menu_item_call label="Model Wizard..." name="Upload Model Wizard"/>
<menu_item_call label="Mange (L$[COST] pr. fil)..." name="Bulk Upload"/>
<menu_item_call label="Mange ([CUR][COST] pr. fil)..." name="Bulk Upload"/>
<menu_item_call label="Sæt standardværdier for upload rettigheder" name="perm prefs"/>
</menu>
<menu_item_call label="Fortyd" name="Undo"/>

View File

@ -173,20 +173,20 @@ Add this Ability to &apos;[ROLE_NAME]&apos;?
<usetemplate name="okcancelbuttons" notext="Annullér" yestext="Bliv medlem"/>
</notification>
<notification name="JoinGroupCannotAfford">
Tilmelding til denne gruppe koster L$[COST].
Du har ikke nok L$ til denne tilmelding.
Tilmelding til denne gruppe koster [CUR][COST].
Du har ikke nok [CUR] til denne tilmelding.
</notification>
<notification name="CreateGroupCost">
Oprettelse af denne gruppe vil koste L$100.
Oprettelse af denne gruppe vil koste [CUR]100.
Grupper skal have mindst 2 medlemmer, ellers slettes de for altid.
Invitér venligst medlemmer indenfor 48 timer.
<usetemplate canceltext="Annullér" name="okcancelbuttons" notext="Annullér" yestext="Oprete en gruppe for L$100"/>
<usetemplate canceltext="Annullér" name="okcancelbuttons" notext="Annullér" yestext="Oprete en gruppe for [CUR]100"/>
</notification>
<notification name="ConfirmLandSaleToAnyoneChange">
ADVARSEL: Ved at vælge &apos;sælg til enhver&apos; bliver til land tilgængeligt for alle i hele [CURRENT_GRID], også de som ikke er i denne region.
Det valgte antal [LAND_SIZE] m² land bliver sat til salg.
Salgprisen vil være [SALE_PRICE]L$ og vil være til salg til [NAME].
Salgprisen vil være [SALE_PRICE][CUR] og vil være til salg til [NAME].
</notification>
<notification name="MultipleFacesSelected">
Flere overflader er valgt for øjeblikket.
@ -286,7 +286,7 @@ og du vil miste dem fra din beholdning hvis du forærer dem væk. Er du sikker p
<notification name="PromptGoToCurrencyPage">
[EXTRA]
Gå til [_URL] for information om køb af L$?
Gå til [_URL] for information om køb af [CUR]?
</notification>
<notification name="SoundFileInvalidChunkSize">
Fejl i WAV fil (chunk size):
@ -525,7 +525,7 @@ Subject Key Identifier: [SUBJECTKEYIDENTIFIER]
<usetemplate name="okcancelbuttons" notext="Annullér" yestext="Stol på"/>
</notification>
<notification name="NotEnoughCurrency">
[NAME] L$ [PRICE] Du har ikke nok L$ til dette.
[NAME] [CUR] [PRICE] Du har ikke nok [CUR] til dette.
</notification>
<notification name="GrantedModifyRights">
[NAME] har givet dig rettighed til at redigere sine objekter.
@ -1036,7 +1036,7 @@ Henvis til dette fra en hjemmeside for at give andre nem adgang til denne lokati
(Tager omkring 5 minutter.)
</notification>
<notification name="UploadPayment">
Du betalte L$[AMOUNT] for at uploade.
Du betalte [CUR][AMOUNT] for at uploade.
</notification>
<notification name="UploadWebSnapshotDone">
Billeder fra www er uploadet.
@ -1492,7 +1492,7 @@ Opfyld dette ønske?
<notification name="BuyLindenDollarSuccess">
Tak for din betaling!
Din L$ balance vil blive opdateret når transaktionen er gennemført. Ved transaktionen tager mere end 20 min., vil den blive annulleret. I så fald vil beløbet blive krediteret din US$ balance.
Din [CUR] balance vil blive opdateret når transaktionen er gennemført. Ved transaktionen tager mere end 20 min., vil den blive annulleret. I så fald vil beløbet blive krediteret din US$ balance.
Status for din betaling kan ses i din &apos;Transaction History&apos; side på din [http://secondlife.com/account/ Dashboard]
</notification>
@ -1649,7 +1649,7 @@ De vil blive blokeret nogle få sekunder af sikkerhedsmæssige årsager.
<usetemplate name="okbutton" yestext="OK"/>
</notification>
<notification name="UploadCostConfirmation">
Dette upload vil koste L$[PRICE], ønsker du at sende?
Dette upload vil koste [CUR][PRICE], ønsker du at sende?
<usetemplate name="okcancelbuttons" notext="Annullér" yestext="Send"/>
</notification>
<notification name="ConfirmClearTeleportHistory">
@ -1688,7 +1688,7 @@ Me følgende beboere:
<notification name="ReleasedLandWithReclaim">
[AREA] m² parcellen &apos;[PARCEL_NAME]&apos; er blevet frigivet.
Du har [RECLAIM_PERIOD] timer til at få den tilbage for L$0 før den udbydes til salg til andre beboere.
Du har [RECLAIM_PERIOD] timer til at få den tilbage for [CUR]0 før den udbydes til salg til andre beboere.
</notification>
<notification name="ReleasedLandNoReclaim">
[AREA] m² parcel &apos;[PARCEL_NAME]&apos; er blevet frigivet.
@ -1806,7 +1806,7 @@ Klik hvorsomhelst i verden for at rotere din visning
Undersøg din beholdning for at finde ting. Nyeste genstand findes lettes under fanen &quot;Nye ting&quot;
</notification>
<notification label="Der er kommet Linden Dollars" name="HintLindenDollar">
Her er din nuværende balance af L$. Klik på Køb L$ for at købe flere Linden dollars.
Her er din nuværende balance af [CUR]. Klik på Køb [CUR] for at købe flere Linden dollars.
</notification>
<notification name="PopupAttempt">
En pop-up blev hindret i at blive vist.

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="panel_classified_info">
<panel.string name="l$_price">
L$[PRICE]
[CUR][PRICE]
</panel.string>
<panel.string name="click_through_text_fmt">
[TELEPORT] teleport, [MAP] kort, [PROFILE] profil

View File

@ -38,7 +38,7 @@
</icons_combo_box>
<check_box label="Forny automatisk hver uge" name="auto_renew"/>
<text name="price_for_listing_label" value="Pris for optagelse:"/>
<spinner label="L$" name="price_for_listing" tool_tip="Pris for optagelse." value="50"/>
<spinner label="[CUR]" name="price_for_listing" tool_tip="Pris for optagelse." value="50"/>
</panel>
</scroll_container>
<panel label="bottom_panel" name="bottom_panel">

View File

@ -43,7 +43,7 @@
</text>
<check_box label="Åben tilmelding" name="open_enrollement" tool_tip="Angiver om denne gruppe tillader nye medlemmer at tilmelde sig, uden de er inviteret."/>
<check_box label="Tilmeldingsgebyr" name="check_enrollment_fee" tool_tip="Angiver om der kræves et gebyr, for at tilmelde sig gruppen"/>
<spinner label="L$" left_delta="130" name="spin_enrollment_fee" tool_tip="Nye medlemmer skal betale dette gebyr for at tilmelde sig gruppen, når &quot;Tilmeldingsgebyr&quot; er valgt." width="60"/>
<spinner label="[CUR]" left_delta="130" name="spin_enrollment_fee" tool_tip="Nye medlemmer skal betale dette gebyr for at tilmelde sig gruppen, når &quot;Tilmeldingsgebyr&quot; er valgt." width="60"/>
<combo_box name="group_mature_check" tool_tip="Angiver om din gruppes information anses som &apos;mature&apos;." width="150">
<combo_item name="select_mature">
- Vælg indholdsrating -

View File

@ -7,7 +7,7 @@
Ønsker du at gemme disse ændringer?
</panel.string>
<panel.string name="group_join_btn">
Tilmeld (L$[AMOUNT])
Tilmeld ([CUR][AMOUNT])
</panel.string>
<panel.string name="group_join_free">
Gratis

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel label="Land &amp; L$" name="land_money_tab">
<panel label="Land &amp; [CUR]" name="land_money_tab">
<panel.string name="help_text">
En advarsel vises indtil Total land i brug er mindre end eller lig med det totale bidrag.
</panel.string>
@ -58,7 +58,7 @@
Der kræves flere penge for at supportere det land der er i brug
</text>
<text name="group_money_heading">
Gruppe L$
Gruppe [CUR]
</text>
</panel>
<tab_container name="group_money_tab_container">

View File

@ -13,7 +13,7 @@
<string name="none_text" value="(ingen)"/>
<string name="sale_pending_text" value="(Salg igang)"/>
<string name="group_owned_text" value="(Gruppe ejet)"/>
<string name="price_text" value="L$"/>
<string name="price_text" value="[CUR]"/>
<string name="area_text" value="m²"/>
<string name="all_residents_text" value="Alle beboere"/>
<string name="group_text" value="Gruppe"/>

View File

@ -3,7 +3,7 @@
<text name="tell_me_label">
Vis mig når:
</text>
<check_box label="Når jeg bruger eller får L$" name="notify_money_change_checkbox"/>
<check_box label="Når jeg bruger eller får [CUR]" name="notify_money_change_checkbox"/>
<check_box label="Når mine venner logger på eller af" name="friends_online_notify_checkbox"/>
<text name="show_label">
Vis altid:

View File

@ -19,11 +19,11 @@
[weekday, datetime, slt], [day, datetime, slt] [month, datetime, slt] [year, datetime, slt]
</panel.string>
<panel.string name="buycurrencylabel">
L$ [AMT]
[CUR] [AMT]
</panel.string>
<panel name="balance_bg">
<text name="balance" tool_tip="Klik for at opdaterer din L$ balance" value="L$???"/>
<button label="KØB L$" name="buyL" tool_tip="Klik for at købe flere L$"/>
<text name="balance" tool_tip="Klik for at opdaterer din [CUR] balance" value="[CUR]???"/>
<button label="KØB [CUR]" name="buyL" tool_tip="Klik for at købe flere [CUR]"/>
</panel>
<text name="TimeText" tool_tip="Nuværende tid (Pacific)">
24:00 PST

View File

@ -67,7 +67,7 @@
<combo_box.item label="Kopi" name="Copy"/>
<combo_box.item label="Original" name="Original"/>
</combo_box>
<spinner label="Pris: L$" name="Edit Cost"/>
<spinner label="Pris: [CUR]" name="Edit Cost"/>
</panel>
</scroll_container>
<panel name="button_panel">

View File

@ -22,13 +22,13 @@
Dette objekt har linkede dele
</panel.string>
<panel.string name="Cost Default">
Pris: L$
Pris: [CUR]
</panel.string>
<panel.string name="Cost Total">
Total pris: L$
Total pris: [CUR]
</panel.string>
<panel.string name="Cost Per Unit">
Pris pr.: L$
Pris pr.: [CUR]
</panel.string>
<panel.string name="Cost Mixed">
Blandet pris
@ -93,7 +93,7 @@
<combo_box.item label="Indhold" name="Contents"/>
<combo_box.item label="Original" name="Original"/>
</combo_box>
<spinner label="Pris: L$" name="Edit Cost"/>
<spinner label="Pris: [CUR]" name="Edit Cost"/>
<check_box label="Vis i søgning" name="search_check" tool_tip="Lad personer se dette objekt i søgeresultater"/>
<text name="B:">
S:

View File

@ -283,7 +283,7 @@ Prøv venligst om lidt igen.
(Gruppe)
</string>
<string name="TooltipForSaleL$">
Til salg: L$[AMOUNT]
Til salg: [CUR][AMOUNT]
</string>
<string name="TooltipFlagGroupBuild">
Gruppe byg
@ -312,7 +312,7 @@ Prøv venligst om lidt igen.
<string name="TooltipMustSingleDrop">
Kun et enkelt element kan trækkes ind her
</string>
<string name="TooltipPrice" value="L$[BELØB]:"/>
<string name="TooltipPrice" value="[CUR][BELØB]:"/>
<string name="TooltipHttpUrl">
Klik for at se denne hjemmeside
</string>
@ -783,7 +783,7 @@ Prøv venligst om lidt igen.
Offline
</string>
<string name="worldmap_item_tooltip_format">
[AREA] m² L$[PRICE]
[AREA] m² [CUR][PRICE]
</string>
<string name="worldmap_results_none_found">
Ingen fundet.
@ -831,7 +831,7 @@ Prøv venligst om lidt igen.
&apos;[OBJECTNAME]&apos;, en genstand, ejet af &apos;[OWNERNAME]&apos;, lokaliseret i [REGIONNAME] på [REGIONPOS], er afvist tilladelse til: [PERMISSIONS].
</string>
<string name="ScriptTakeMoney">
Tag Linden dollars (L$) fra dig
Tag Linden dollars ([CUR]) fra dig
</string>
<string name="ActOnControlInputs">
Reagér på dine kontrol-taster
@ -1303,7 +1303,7 @@ Prøv venligst om lidt igen.
Køb
</string>
<string name="BuyforL$">
Køb for L$
Køb for [CUR]
</string>
<string name="Stone">
Sten
@ -1932,10 +1932,10 @@ Prøv venligst om lidt igen.
Annullér
</string>
<string name="UploadingCosts">
Uploader [NAME] pris L$ [AMOUNT]
Uploader [NAME] pris [CUR] [AMOUNT]
</string>
<string name="BuyingCosts">
At købe dette koster L$ [AMOUNT]
At købe dette koster [CUR] [AMOUNT]
</string>
<string name="UnknownFileExtension">
Ukendt fil efternavn [.%s]
@ -3807,22 +3807,22 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
http://secondlife.com/landing/voicemorphing
</string>
<string name="paid_you_ldollars">
[NAME] betalte dig L$[AMOUNT] [REASON].
[NAME] betalte dig [CUR][AMOUNT] [REASON].
</string>
<string name="paid_you_ldollars_no_reason">
[NAME] betalte dig L$[AMOUNT].
[NAME] betalte dig [CUR][AMOUNT].
</string>
<string name="you_paid_ldollars">
Du betalte [NAME] L$[AMOUNT] [REASON].
Du betalte [NAME] [CUR][AMOUNT] [REASON].
</string>
<string name="you_paid_ldollars_no_info">
Du betalte L$[AMOUNT].
Du betalte [CUR][AMOUNT].
</string>
<string name="you_paid_ldollars_no_reason">
Du betalte [NAME] L$[AMOUNT].
Du betalte [NAME] [CUR][AMOUNT].
</string>
<string name="you_paid_ldollars_no_name">
Du betalte L$[AMOUNT] [REASON].
Du betalte [CUR][AMOUNT] [REASON].
</string>
<string name="for item">
til [ITEM]
@ -3849,19 +3849,19 @@ Hvis du bliver ved med at modtage denne besked, kontakt venligst [SUPPORT_SITE].
til offentliggørelse af annonce
</string>
<string name="giving">
Giver L$ [AMOUNT]
Giver [CUR] [AMOUNT]
</string>
<string name="uploading_costs">
Pris for upload er L$ [AMOUNT]
Pris for upload er [CUR] [AMOUNT]
</string>
<string name="this_costs">
Prisen er L$ [AMOUNT]
Prisen er [CUR] [AMOUNT]
</string>
<string name="buying_selected_land">
Køber valgte land L$ [AMOUNT]
Køber valgte land [CUR] [AMOUNT]
</string>
<string name="this_object_costs">
Dette objekt koster L$ [AMOUNT]
Dette objekt koster [CUR] [AMOUNT]
</string>
<string name="group_role_everyone">
Enhver

View File

@ -112,7 +112,7 @@
Nicht zu verkaufen
</text>
<text name="For Sale: Price L$[PRICE].">
Preis: [PRICE] L$ ([PRICE_PER_SQM]L$/m²)
Preis: [PRICE] [CUR] ([PRICE_PER_SQM][CUR]/m²)
</text>
<text name="SalePending"/>
<button label="Land verkaufen" label_selected="Land verkaufen..." name="Sell Land..."/>
@ -348,7 +348,7 @@ Nur große Parzellen können in der Suche aufgeführt werden.
<check_box label="Gruppe" name="check group scripts"/>
<check_box label="Sicher (kein Schaden)" name="check safe" tool_tip="Falls aktiviert, wird Land auf Option „Sicher“ eingestellt, Kampfschäden sind deaktiviert. Ansonsten sind Kampfschäden aktiviert."/>
<check_box label="Kein Stoßen" name="PushRestrictCheck" tool_tip="Verhindert Stoßen durch Skripte. Durch Aktivieren dieser Option verhindern Sie störendes Verhalten auf Ihrem Land."/>
<check_box label="Ort in Suche anzeigen (30 L$/Woche)" name="ShowDirectoryCheck" tool_tip="Diese Parzelle in Suchergebnissen anzeigen."/>
<check_box label="Ort in Suche anzeigen (30 [CUR]/Woche)" name="ShowDirectoryCheck" tool_tip="Diese Parzelle in Suchergebnissen anzeigen."/>
<combo_box name="land category with adult">
<combo_box.item label="Alle Kategorien" name="item0"/>
<combo_box.item label="Lindenort" name="item1"/>
@ -476,7 +476,7 @@ Nur große Parzellen können in der Suche aufgeführt werden.
<combo_box.item label="Jeden" name="Anyone"/>
<combo_box.item label="Gruppe" name="Group"/>
</combo_box>
<spinner label="Preis in L$:" name="PriceSpin"/>
<spinner label="Preis in [CUR]:" name="PriceSpin"/>
<spinner label="Online-Zeit:" name="HoursSpin"/>
<panel name="Allowed_layout_panel">
<text label="Immer erlauben" name="AllowedText">

View File

@ -6,6 +6,6 @@
<text name="description_label">
Beschreibung:
</text>
<button label="Hochladen ([AMOUNT]L$)" name="ok_btn" />
<button label="Hochladen ([AMOUNT][CUR])" name="ok_btn" />
<button label="Abbrechen" label_selected="Abbrechen" name="cancel_btn" />
</floater>

View File

@ -183,6 +183,6 @@ Maximal erlaubt sind [MAX_LENGTH] Sekunden.
Wir empfehlen exportierte BVH-Dateien aus Poser 4.
</text>
<button label="Hochladen ([AMOUNT] L$)" name="ok_btn" width="160"/>
<button label="Hochladen ([AMOUNT] [CUR])" name="ok_btn" width="160"/>
<button label="Abbrechen" left="180" name="cancel_btn" width="88"/>
</floater>

View File

@ -4,7 +4,7 @@
&lt;nolink&gt;[NAME]&lt;/nolink&gt; enthält:
</text>
<text name="buy_text">
[AMOUNT] L$ von [NAME] kaufen?
[AMOUNT] [CUR] von [NAME] kaufen?
</text>
<button label="Abbrechen" label_selected="Abbrechen" name="cancel_btn" width="73"/>
<button label="Kaufen" label_selected="Kaufen" name="buy_btn"/>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="buy currency" title="L$ kaufen">
<floater name="buy currency" title="[CUR] kaufen">
<floater.string name="buy_currency">
[LINDENS] L$ für ca. [LOCALAMOUNT] kaufen
[LINDENS] [CUR] für ca. [LOCALAMOUNT] kaufen
</floater.string>
<text name="info_need_more">
Sie brauchen mehr Geld
@ -10,21 +10,21 @@
LindeX wird kontaktiert...
</text>
<text name="info_buying">
L$ kaufen
[CUR] kaufen
</text>
<text name="balance_label">
Ich habe
</text>
<text name="balance_amount">
[AMT] L$
[AMT] [CUR]
</text>
<text name="currency_action">
Ich möchte kaufen
</text>
<text name="currency_label">
L$
[CUR]
</text>
<line_editor label="L$" name="currency_amt">
<line_editor label="[CUR]" name="currency_amt">
1234
</line_editor>
<text name="buying_label">
@ -43,7 +43,7 @@
Mein neuer Kontostand wird sein
</text>
<text name="total_amount">
[AMT] L$
[AMT] [CUR]
</text>
<text name="currency_links">
[http://www.secondlife.com/my/account/payment_method_management.php Zahlungsart] | [http://www.secondlife.com/my/account/currency.php Währung]
@ -52,10 +52,10 @@
Geben Sie den Betrag erneut ein, um die aktuellste Umtauschrate anzuzeigen.
</text>
<text name="purchase_warning_repurchase">
Achtung: Sie kaufen L$, nicht das Objekt.
Achtung: Sie kaufen [CUR], nicht das Objekt.
</text>
<text name="purchase_warning_notenough">
Sie kaufen nicht genügend L$. Bitte erhöhen Sie den Betrag.
Sie kaufen nicht genügend [CUR]. Bitte erhöhen Sie den Betrag.
</text>
<button label="Jetzt kaufen" name="buy_btn"/>
<button label="Abbrechen" name="cancel_btn"/>

View File

@ -77,10 +77,10 @@ Verkleinern Sie Ihre Auswahl.
Sie besitzen [BUYER] m² Land.
</floater.string>
<floater.string name="pay_to_for_land">
[SELLER] [AMOUNT] L$ für das Land bezahlen
[SELLER] [AMOUNT] [CUR] für das Land bezahlen
</floater.string>
<floater.string name="buy_for_US">
Kaufen Sie [AMOUNT] L$ für ca. [LOCAL_AMOUNT],
Kaufen Sie [AMOUNT] [CUR] für ca. [LOCAL_AMOUNT],
</floater.string>
<floater.string name="parcel_meters">
Diese Parzelle ist [AMOUNT] m².
@ -102,24 +102,24 @@ unterstützt [AMOUNT2] Objekte
Objekte nicht im Verkauf mit eingeschlossen
</floater.string>
<floater.string name="info_price_string">
[PRICE] L$
([PRICE_PER_SQM] L$/m²)
[PRICE] [CUR]
([PRICE_PER_SQM] [CUR]/m²)
[SOLD_WITH_OBJECTS]
</floater.string>
<floater.string name="insufficient_land_credits">
Die Gruppe [GROUP] benötigt ausreichende gespendete Landnutzungsrechte, um die Parzelle abzudecken, bevor der Kauf abgeschlossen werden kann.
</floater.string>
<floater.string name="have_enough_lindens">
Sie haben [AMOUNT] L$, genug zum Kauf dieses Landes.
Sie haben [AMOUNT] [CUR], genug zum Kauf dieses Landes.
</floater.string>
<floater.string name="not_enough_lindens">
Sie haben nur [AMOUNT] L$, brauchen aber mindestens [AMOUNT2] L$.
Sie haben nur [AMOUNT] [CUR], brauchen aber mindestens [AMOUNT2] [CUR].
</floater.string>
<floater.string name="balance_left">
Nach dem Einkauf verbleiben Ihnen noch [AMOUNT] L$.
Nach dem Einkauf verbleiben Ihnen noch [AMOUNT] [CUR].
</floater.string>
<floater.string name="balance_needed">
Für dieses Land müssen Sie mindestens [AMOUNT] L$ kaufen.
Für dieses Land müssen Sie mindestens [AMOUNT] [CUR] kaufen.
</floater.string>
<floater.string name="no_parcel_selected">
(keine Parzelle ausgewählt)
@ -181,8 +181,8 @@ unterstützt [AMOUNT2] Objekte
Preis:
</text>
<text name="info_price">
1500 L$
(1,1 L$/m²)
1500 [CUR]
(1,1 [CUR]/m²)
Objekte im Verkauf eingeschlossen
</text>
<text name="info_action">
@ -211,13 +211,13 @@ Objekte im Verkauf eingeschlossen
Diese Parzelle ist 512 m² gross.
</text>
<text name="purchase_action">
Joe Resident 4000 L$ für das Land bezahlen
Joe Resident 4000 [CUR] für das Land bezahlen
</text>
<text name="currency_reason">
Sie haben 2.100 L$.
Sie haben 2.100 [CUR].
</text>
<text name="currency_action">
Mehr L$ kaufen
Mehr [CUR] kaufen
</text>
<line_editor name="currency_amt">
1000
@ -226,7 +226,7 @@ Diese Parzelle ist 512 m² gross.
für ca. [LOCAL_AMOUNT]
</text>
<text name="currency_balance">
Sie haben 2.100 L$.
Sie haben 2.100 [CUR].
</text>
<check_box label="[AMOUNT] m² Beitrag von der Gruppe entfernen." name="remove_contribution"/>
<button label="Kaufen" name="buy_btn"/>

View File

@ -19,7 +19,7 @@
Inhalt:
</text>
<text name="buy_text">
[AMOUNT] L$ kaufen von:
[AMOUNT] [CUR] kaufen von:
</text>
<text name="buy_name_text">
[NAME]?

View File

@ -40,7 +40,7 @@
Abrechnungsfaktor:
</text>
<text name="land cost text">
L$ pro m²:
[CUR] pro m²:
</text>
<button label="Aktualisieren" label_selected="Aktualisieren" name="Refresh" tool_tip="Klicken Sie hier, um die obigen Informationen zu aktualisieren."/>
<button label="Übernehmen" label_selected="Übernehmen" name="Apply" tool_tip="Klicken Sie hier, um die obigen Änderungen zu übernehmen."/>

View File

@ -29,5 +29,5 @@ Speichern Sie das Bild als 24 Bit Targa (.tga).
<check_box label="Verlustfrei komprimieren" name="lossless_check" left_delta="-5"/>
<check_box name="temp_check" label="Temporär (kostenlos)" tooltip="Lädt das Bild temporär hoch, d.h. der Upload ist kostenlos. Im Gegenzug wird es nach einiger Zeit automatisch gelöscht." />
<button label="Abbrechen" name="cancel_btn"/>
<button label="Hochladen ([AMOUNT] L$)" name="ok_btn" width="146"/>
<button label="Hochladen ([AMOUNT] [CUR])" name="ok_btn" width="146"/>
</floater>

View File

@ -62,6 +62,6 @@
</combo_box>
<spinner label="Preis:" name="Edit Cost"/>
<text name="CurrencySymbol">
L$
[CUR]
</text>
</floater>

View File

@ -254,7 +254,7 @@
<button label="Hochladen" name="ok_btn" tool_tip="Auf Simulator hochladen"/>
<button label="Einstellungen löschen und Formular zurücksetzen" name="reset_btn" width="280"/>
<text name="upload_fee">
Gebühr für Hochladen: [FEE] L$
Gebühr für Hochladen: [FEE] [CUR]
</text>
<text name="prim_weight">
Auswirkung auf Land: [EQ]

View File

@ -120,7 +120,7 @@
Auswirkung auf Parzelle/Region: Prim-Äquivalenzwert [EQUIV]
</text>
<text name="review_fee">
Die für das Hochladen anfallende Gebühr in Höhe von [FEE] L$ wird von Ihrem Konto abgebucht.
Die für das Hochladen anfallende Gebühr in Höhe von [FEE] [CUR] wird von Ihrem Konto abgebucht.
</text>
<text name="review_confirmation">
Durch Klicken auf „Hochladen“ bestätigen Sie, dass Sie die erforderlichen Rechte für das im Modell enthaltene Material besitzen.
@ -140,7 +140,7 @@
Sie finden das Modell im Objektordner Ihres Inventars.
</text>
<text name="charged_fee">
Von Ihrem Konto wurden [FEE] L$ abgebucht.
Von Ihrem Konto wurden [FEE] [CUR] abgebucht.
</text>
</panel>
<button label="&lt;&lt; Zurück" name="back"/>

View File

@ -13,10 +13,10 @@
<text name="payee_name">
Extrem langen Namen testen, um zu prüfen, ob er abgeschnitten wird
</text>
<button label="1 L$" label_selected="1 L$" name="fastpay 1"/>
<button label="5 L$" label_selected="5 L$" name="fastpay 5"/>
<button label="10 L$" label_selected="10 L$" name="fastpay 10"/>
<button label="20 L$" label_selected="20 L$" name="fastpay 20"/>
<button label="1 [CUR]" label_selected="1 [CUR]" name="fastpay 1"/>
<button label="5 [CUR]" label_selected="5 [CUR]" name="fastpay 5"/>
<button label="10 [CUR]" label_selected="10 [CUR]" name="fastpay 10"/>
<button label="20 [CUR]" label_selected="20 [CUR]" name="fastpay 20"/>
<text name="amount text">
oder Betrag auswählen:
</text>

Some files were not shown because too many files have changed in this diff Show More