summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/gpu_table.txt5
-rw-r--r--indra/newview/llagentcamera.cpp1
-rw-r--r--indra/newview/llnamelistctrl.cpp4
-rw-r--r--indra/newview/llnamelistctrl.h4
-rw-r--r--indra/newview/llpaneleditwearable.cpp24
-rw-r--r--indra/newview/llpaneleditwearable.h2
-rw-r--r--indra/newview/llsidepanelappearance.cpp7
-rw-r--r--indra/newview/llstatusbar.cpp17
-rw-r--r--indra/newview/lltexlayer.cpp46
-rw-r--r--indra/newview/lltexlayer.h14
-rw-r--r--indra/newview/lltextureview.cpp27
-rw-r--r--indra/newview/llvoavatarself.cpp2
-rw-r--r--indra/newview/skins/default/textures/textures.xml2
-rw-r--r--indra/newview/skins/default/textures/widgets/buy_off.pngbin54754 -> 399 bytes
-rw-r--r--indra/newview/skins/default/textures/widgets/buy_over.pngbin54772 -> 415 bytes
-rw-r--r--indra/newview/skins/default/textures/widgets/buy_press.pngbin54861 -> 461 bytes
-rw-r--r--indra/newview/skins/default/xui/da/floater_buy_land.xml3
-rw-r--r--indra/newview/skins/default/xui/de/floater_buy_land.xml3
-rw-r--r--indra/newview/skins/default/xui/de/panel_landmark_info.xml3
-rw-r--r--indra/newview/skins/default/xui/de/panel_place_profile.xml15
-rw-r--r--indra/newview/skins/default/xui/en/floater_buy_land.xml3
-rw-r--r--indra/newview/skins/default/xui/en/notifications.xml23
-rw-r--r--indra/newview/skins/default/xui/en/panel_landmark_info.xml3
-rw-r--r--indra/newview/skins/default/xui/en/panel_place_profile.xml15
-rw-r--r--indra/newview/skins/default/xui/en/panel_status_bar.xml34
-rw-r--r--indra/newview/skins/default/xui/es/floater_buy_land.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/floater_buy_land.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/panel_landmark_info.xml3
-rw-r--r--indra/newview/skins/default/xui/fr/panel_place_profile.xml15
-rw-r--r--indra/newview/skins/default/xui/it/floater_buy_land.xml3
-rw-r--r--indra/newview/skins/default/xui/ja/floater_buy_land.xml3
-rw-r--r--indra/newview/skins/default/xui/ja/panel_landmark_info.xml3
-rw-r--r--indra/newview/skins/default/xui/ja/panel_place_profile.xml15
-rw-r--r--indra/newview/skins/default/xui/pl/floater_buy_land.xml3
-rw-r--r--indra/newview/skins/default/xui/pt/floater_buy_land.xml3
-rwxr-xr-xindra/newview/viewer_manifest.py1
36 files changed, 184 insertions, 128 deletions
diff --git a/indra/newview/gpu_table.txt b/indra/newview/gpu_table.txt
index 5aad295cb1..62766f9229 100644
--- a/indra/newview/gpu_table.txt
+++ b/indra/newview/gpu_table.txt
@@ -204,8 +204,8 @@ NVIDIA GeForce 7200 .*NVIDIA.*GeForce 72.* 1 1
NVIDIA GeForce 7300 .*NVIDIA.*GeForce 73.* 1 1
NVIDIA GeForce 7500 .*NVIDIA.*GeForce 75.* 1 1
NVIDIA GeForce 7600 .*NVIDIA.*GeForce 76.* 1 1
-NVIDIA GeForce 7800 .*NVIDIA.*GeForce.*78.* 1 1
-NVIDIA GeForce 7900 .*NVIDIA.*GeForce.*79.* 1 1
+NVIDIA GeForce 7800 .*NVIDIA.*GeForce 78.* 1 1
+NVIDIA GeForce 7900 .*NVIDIA.*GeForce 79.* 1 1
NVIDIA GeForce 8100 .*NVIDIA.*GeForce 81.* 1 1
NVIDIA GeForce 8200 .*NVIDIA.*GeForce 82.* 1 1
NVIDIA GeForce 8300 .*NVIDIA.*GeForce 83.* 1 1
@@ -259,6 +259,7 @@ NVIDIA G84 .*G84.* 1 1
NVIDIA G92 .*G92.* 3 1
NVIDIA G94 .*G94.* 3 1
NVIDIA GeForce Go 6 .*GeForce Go 6.* 1 1
+NVIDIA ION .*NVIDIA ION.* 1 1
NVIDIA NB9M .*GeForce NB9M.* 1 1
NVIDIA NB9P .*GeForce NB9P.* 1 1
NVIDIA GeForce PCX .*GeForce PCX.* 0 1
diff --git a/indra/newview/llagentcamera.cpp b/indra/newview/llagentcamera.cpp
index 47f290ad3b..644363826a 100644
--- a/indra/newview/llagentcamera.cpp
+++ b/indra/newview/llagentcamera.cpp
@@ -2360,7 +2360,6 @@ void LLAgentCamera::changeCameraToCustomizeAvatar(BOOL avatar_animate, BOOL came
mAnimationDuration = gSavedSettings.getF32("ZoomTime");
}
}
- setFocusGlobal(LLVector3d::zero);
}
else
{
diff --git a/indra/newview/llnamelistctrl.cpp b/indra/newview/llnamelistctrl.cpp
index d605d4430e..d09f729943 100644
--- a/indra/newview/llnamelistctrl.cpp
+++ b/indra/newview/llnamelistctrl.cpp
@@ -72,7 +72,7 @@ LLNameListCtrl::LLNameListCtrl(const LLNameListCtrl::Params& p)
// public
void LLNameListCtrl::addNameItem(const LLUUID& agent_id, EAddPosition pos,
- BOOL enabled, std::string& suffix)
+ BOOL enabled, const std::string& suffix)
{
//llinfos << "LLNameListCtrl::addNameItem " << agent_id << llendl;
@@ -268,7 +268,7 @@ LLScrollListItem* LLNameListCtrl::addElement(const LLSD& element, EAddPosition p
LLScrollListItem* LLNameListCtrl::addNameItemRow(
const LLNameListCtrl::NameItem& name_item,
EAddPosition pos,
- std::string& suffix)
+ const std::string& suffix)
{
LLUUID id = name_item.value().asUUID();
LLNameListItem* item = NULL;
diff --git a/indra/newview/llnamelistctrl.h b/indra/newview/llnamelistctrl.h
index 1c26ee5db4..ee71db7540 100644
--- a/indra/newview/llnamelistctrl.h
+++ b/indra/newview/llnamelistctrl.h
@@ -90,11 +90,11 @@ public:
// Add a user to the list by name. It will be added, the name
// requested from the cache, and updated as necessary.
void addNameItem(const LLUUID& agent_id, EAddPosition pos = ADD_BOTTOM,
- BOOL enabled = TRUE, std::string& suffix = LLStringUtil::null);
+ BOOL enabled = TRUE, const std::string& suffix = LLStringUtil::null);
void addNameItem(NameItem& item, EAddPosition pos = ADD_BOTTOM);
/*virtual*/ LLScrollListItem* addElement(const LLSD& element, EAddPosition pos = ADD_BOTTOM, void* userdata = NULL);
- LLScrollListItem* addNameItemRow(const NameItem& value, EAddPosition pos = ADD_BOTTOM, std::string& suffix = LLStringUtil::null);
+ LLScrollListItem* addNameItemRow(const NameItem& value, EAddPosition pos = ADD_BOTTOM, const std::string& suffix = LLStringUtil::null);
// Add a user to the list by name. It will be added, the name
// requested from the cache, and updated as necessary.
diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp
index 8d0e3d4647..6a84886e3b 100644
--- a/indra/newview/llpaneleditwearable.cpp
+++ b/indra/newview/llpaneleditwearable.cpp
@@ -51,6 +51,7 @@
#include "llagentwearables.h"
#include "llscrollingpanelparam.h"
#include "llradiogroup.h"
+#include "llnotificationsutil.h"
#include "llcolorswatch.h"
#include "lltexturectrl.h"
@@ -624,6 +625,7 @@ BOOL LLPanelEditWearable::postBuild()
mDescTitle = getChild<LLTextBox>("description_text");
getChild<LLRadioGroup>("sex_radio")->setCommitCallback(boost::bind(&LLPanelEditWearable::onCommitSexChange, this));
+ getChild<LLButton>("save_as_button")->setCommitCallback(boost::bind(&LLPanelEditWearable::onSaveAsButtonClicked, this));
// The following panels will be shown/hidden based on what wearable we're editing
// body parts
@@ -744,6 +746,28 @@ void LLPanelEditWearable::onRevertButtonClicked(void* userdata)
panel->revertChanges();
}
+void LLPanelEditWearable::onSaveAsButtonClicked()
+{
+ LLSD args;
+ args["DESC"] = mTextEditor->getText();
+
+ LLNotificationsUtil::add("SaveWearableAs", args, LLSD(), boost::bind(&LLPanelEditWearable::saveAsCallback, this, _1, _2));
+}
+
+void LLPanelEditWearable::saveAsCallback(const LLSD& notification, const LLSD& response)
+{
+ S32 option = LLNotificationsUtil::getSelectedOption(notification, response);
+ if (0 == option)
+ {
+ std::string wearable_name = response["message"].asString();
+ LLStringUtil::trim(wearable_name);
+ if( !wearable_name.empty() )
+ {
+ mTextEditor->setText(wearable_name);
+ saveChanges();
+ }
+ }
+}
void LLPanelEditWearable::onCommitSexChange()
{
diff --git a/indra/newview/llpaneleditwearable.h b/indra/newview/llpaneleditwearable.h
index 6b376fe3d9..1ee150621a 100644
--- a/indra/newview/llpaneleditwearable.h
+++ b/indra/newview/llpaneleditwearable.h
@@ -72,6 +72,8 @@ public:
static void onRevertButtonClicked(void* userdata);
void onCommitSexChange();
+ void onSaveAsButtonClicked();
+ void saveAsCallback(const LLSD& notification, const LLSD& response);
private:
diff --git a/indra/newview/llsidepanelappearance.cpp b/indra/newview/llsidepanelappearance.cpp
index b66789448f..872939c209 100644
--- a/indra/newview/llsidepanelappearance.cpp
+++ b/indra/newview/llsidepanelappearance.cpp
@@ -209,7 +209,7 @@ void LLSidepanelAppearance::onVisibilityChange(const LLSD &new_visibility)
{
if ((mOutfitEdit && mOutfitEdit->getVisible()) || (mEditWearable && mEditWearable->getVisible()))
{
- if (!gAgentCamera.cameraCustomizeAvatar())
+ if (!gAgentCamera.cameraCustomizeAvatar() && gSavedSettings.getBOOL("AppearanceCameraMovement"))
{
gAgentCamera.changeCameraToCustomizeAvatar();
}
@@ -217,9 +217,10 @@ void LLSidepanelAppearance::onVisibilityChange(const LLSD &new_visibility)
}
else
{
- if (gAgentCamera.cameraCustomizeAvatar())
+ if (gAgentCamera.cameraCustomizeAvatar() && gSavedSettings.getBOOL("AppearanceCameraMovement"))
{
gAgentCamera.changeCameraToDefault();
+ gAgentCamera.resetView();
}
}
}
@@ -345,6 +346,7 @@ void LLSidepanelAppearance::toggleOutfitEditPanel(BOOL visible, BOOL disable_cam
else if (!disable_camera_switch && gSavedSettings.getBOOL("AppearanceCameraMovement") )
{
gAgentCamera.changeCameraToDefault();
+ gAgentCamera.resetView();
}
}
@@ -384,6 +386,7 @@ void LLSidepanelAppearance::toggleWearableEditPanel(BOOL visible, LLWearable *we
if (!disable_camera_switch && gSavedSettings.getBOOL("AppearanceCameraMovement") )
{
gAgentCamera.changeCameraToDefault();
+ gAgentCamera.resetView();
}
}
}
diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp
index 5628205dd4..ac419d8dc7 100644
--- a/indra/newview/llstatusbar.cpp
+++ b/indra/newview/llstatusbar.cpp
@@ -394,18 +394,21 @@ void LLStatusBar::setBalance(S32 balance)
{
std::string money_str = LLResMgr::getInstance()->getMonetaryString( balance );
- LLButton* btn_buy_currency = getChild<LLButton>("buycurrency");
+ LLTextBox* balance_box = getChild<LLTextBox>("balance");
LLStringUtil::format_map_t string_args;
string_args["[AMT]"] = llformat("%s", money_str.c_str());
std::string label_str = getString("buycurrencylabel", string_args);
- btn_buy_currency->setLabel(label_str);
+ balance_box->setValue(label_str);
- // Resize the balance button so that the label fits it, and the button expands to the left.
- // *TODO: LLButton should have an option where to expand.
+ // Resize the L$ balance background to be wide enough for your balance plus the buy button
{
- S32 saved_right = btn_buy_currency->getRect().mRight;
- btn_buy_currency->autoResize();
- btn_buy_currency->translate(saved_right - btn_buy_currency->getRect().mRight, 0);
+ const S32 HPAD = 24;
+ LLRect balance_rect = balance_box->getTextBoundingRect();
+ LLRect buy_rect = getChildView("buyL")->getRect();
+ LLView* balance_bg_view = getChildView("balance_bg");
+ LLRect balance_bg_rect = balance_bg_view->getRect();
+ balance_bg_rect.mLeft = balance_bg_rect.mRight - (buy_rect.getWidth() + balance_rect.getWidth() + HPAD);
+ balance_bg_view->setShape(balance_bg_rect);
}
if (mBalance && (fabs((F32)(mBalance - balance)) > gSavedSettings.getF32("UISndMoneyChangeThreshold")))
diff --git a/indra/newview/lltexlayer.cpp b/indra/newview/lltexlayer.cpp
index 1d74a7be8c..d001d692a3 100644
--- a/indra/newview/lltexlayer.cpp
+++ b/indra/newview/lltexlayer.cpp
@@ -165,6 +165,7 @@ void LLTexLayerSetBuffer::dumpTotalByteCount()
void LLTexLayerSetBuffer::requestUpdate()
{
+ conditionalRestartUploadTimer();
mNeedsUpdate = TRUE;
// If we're in the middle of uploading a baked texture, we don't care about it any more.
// When it's downloaded, ignore it.
@@ -173,17 +174,26 @@ void LLTexLayerSetBuffer::requestUpdate()
void LLTexLayerSetBuffer::requestUpload()
{
+ conditionalRestartUploadTimer();
+ mNeedsUpload = TRUE;
+ mNumLowresUploads = 0;
+ mUploadPending = TRUE;
+}
+
+void LLTexLayerSetBuffer::conditionalRestartUploadTimer()
+{
// If we requested a new upload but haven't even uploaded
// a low res version of our last upload request, then
// keep the timer ticking instead of resetting it.
if (mNeedsUpload && (mNumLowresUploads == 0))
{
+ mNeedsUploadTimer.unpause();
+ }
+ else
+ {
mNeedsUploadTimer.reset();
+ mNeedsUploadTimer.start();
}
- mNeedsUpload = TRUE;
- mNumLowresUploads = 0;
- mUploadPending = TRUE;
- mNeedsUploadTimer.unpause();
}
void LLTexLayerSetBuffer::cancelUpload()
@@ -307,11 +317,26 @@ BOOL LLTexLayerSetBuffer::render()
return success;
}
-bool LLTexLayerSetBuffer::isInitialized(void) const
+BOOL LLTexLayerSetBuffer::isInitialized(void) const
{
return mGLTexturep.notNull() && mGLTexturep->isGLTextureCreated();
}
+BOOL LLTexLayerSetBuffer::uploadPending() const
+{
+ return mUploadPending;
+}
+
+BOOL LLTexLayerSetBuffer::uploadNeeded() const
+{
+ return mNeedsUpload;
+}
+
+BOOL LLTexLayerSetBuffer::uploadInProgress() const
+{
+ return !mUploadID.isNull();
+}
+
BOOL LLTexLayerSetBuffer::isReadyToUpload() const
{
if (!mNeedsUpload) return FALSE; // Don't need to upload if we haven't requested one.
@@ -2277,10 +2302,15 @@ const std::string LLTexLayerSetBuffer::dumpTextureInfo() const
const BOOL is_high_res = !mNeedsUpload;
const U32 num_low_res = mNumLowresUploads;
const U32 upload_time = (U32)mNeedsUploadTimer.getElapsedTimeF32();
- const BOOL is_uploaded = !mUploadPending;
const std::string local_texture_info = gAgentAvatarp->debugDumpLocalTextureDataInfo(mTexLayerSet);
- std::string text = llformat("[ HiRes:%d LoRes:%d Uploaded:%d ] [ Timer:%d ] %s",
- is_high_res, num_low_res, is_uploaded,
+
+ std::string status = "CREATING ";
+ if (!uploadNeeded()) status = "DONE ";
+ if (uploadInProgress()) status = "UPLOADING";
+
+ std::string text = llformat("[%s] [HiRes:%d LoRes:%d] [Elapsed:%d] %s",
+ status.c_str(),
+ is_high_res, num_low_res,
upload_time,
local_texture_info.c_str());
return text;
diff --git a/indra/newview/lltexlayer.h b/indra/newview/lltexlayer.h
index 2ee609fe60..cb2e1faaa6 100644
--- a/indra/newview/lltexlayer.h
+++ b/indra/newview/lltexlayer.h
@@ -275,12 +275,16 @@ public:
virtual void postRender(BOOL success);
virtual BOOL render();
BOOL updateImmediate();
- bool isInitialized(void) const;
+
+ BOOL isInitialized(void) const;
+ BOOL uploadPending() const; // We are expecting a new texture to be uploaded at some point
+ BOOL uploadNeeded() const; // We need to upload a new texture
+ BOOL uploadInProgress() const; // We have started uploading a new texture and are awaiting the result
+
/*virtual*/ BOOL needsRender();
void requestUpdate();
void requestUpload();
void cancelUpload();
- BOOL uploadPending() const { return mUploadPending; }
BOOL render(S32 x, S32 y, S32 width, S32 height);
void readBackAndUpload();
static void onTextureUploadComplete(const LLUUID& uuid,
@@ -290,15 +294,19 @@ public:
const std::string dumpTextureInfo() const;
virtual void restoreGLTexture();
virtual void destroyGLTexture();
+
+
protected:
void pushProjection() const;
void popProjection() const;
BOOL isReadyToUpload() const;
+ void conditionalRestartUploadTimer();
+
private:
LLTexLayerSet* const mTexLayerSet;
BOOL mNeedsUpdate; // whether we need to update our baked textures
BOOL mNeedsUpload; // whether we need to send our baked textures to the server
- U32 mNumLowresUploads; // mumber of times we've sent a lowres version of our baked textures to the server
+ U32 mNumLowresUploads; // number of times we've sent a lowres version of our baked textures to the server
BOOL mUploadPending; // whether we have received back the new baked textures
LLUUID mUploadID; // the current upload process (null if none). Used to avoid overlaps, e.g. when the user rapidly makes two changes outside of Face Edit.
static S32 sGLByteCount;
diff --git a/indra/newview/lltextureview.cpp b/indra/newview/lltextureview.cpp
index 377449cc8b..8ea4dbeb04 100644
--- a/indra/newview/lltextureview.cpp
+++ b/indra/newview/lltextureview.cpp
@@ -418,10 +418,10 @@ void LLAvatarTexBar::draw()
const S32 line_height = (S32)(LLFontGL::getFontMonospace()->getLineHeight() + .5f);
const S32 v_offset = 0;
+ const S32 l_offset = 3;
//----------------------------------------------------------------------------
LLGLSUIDefault gls_ui;
- LLColor4 text_color(1.f, 1.f, 1.f, 1.f);
LLColor4 color;
U32 line_num = 1;
@@ -434,19 +434,36 @@ void LLAvatarTexBar::draw()
if (!layerset) continue;
const LLTexLayerSetBuffer *layerset_buffer = layerset->getComposite();
if (!layerset_buffer) continue;
+
+ LLColor4 text_color = LLColor4::white;
+
+ if (layerset_buffer->uploadNeeded())
+ {
+ text_color = LLColor4::red;
+ }
+ if (layerset_buffer->uploadInProgress())
+ {
+ text_color = LLColor4::magenta;
+ }
std::string text = layerset_buffer->dumpTextureInfo();
- LLFontGL::getFontMonospace()->renderUTF8(text, 0, 0, v_offset + line_height*line_num,
+ LLFontGL::getFontMonospace()->renderUTF8(text, 0, l_offset, v_offset + line_height*line_num,
text_color, LLFontGL::LEFT, LLFontGL::TOP); //, LLFontGL::BOLD, LLFontGL::DROP_SHADOW_SOFT);
line_num++;
}
const U32 texture_timeout = gSavedSettings.getU32("AvatarBakedTextureTimeout");
const U32 override_tex_discard_level = gSavedSettings.getU32("TextureDiscardLevel");
+ LLColor4 header_color(1.f, 1.f, 1.f, 0.9f);
+
const std::string texture_timeout_str = texture_timeout ? llformat("%d",texture_timeout) : "Disabled";
const std::string override_tex_discard_level_str = override_tex_discard_level ? llformat("%d",override_tex_discard_level) : "Disabled";
std::string header_text = llformat("[ Timeout('AvatarBakedTextureTimeout'):%s ] [ LOD_Override('TextureDiscardLevel'):%s ]", texture_timeout_str.c_str(), override_tex_discard_level_str.c_str());
- LLFontGL::getFontMonospace()->renderUTF8(header_text, 0, 0, v_offset + line_height*line_num,
- text_color, LLFontGL::LEFT, LLFontGL::TOP); //, LLFontGL::BOLD, LLFontGL::DROP_SHADOW_SOFT);
+ LLFontGL::getFontMonospace()->renderUTF8(header_text, 0, l_offset, v_offset + line_height*line_num,
+ header_color, LLFontGL::LEFT, LLFontGL::TOP); //, LLFontGL::BOLD, LLFontGL::DROP_SHADOW_SOFT);
+ line_num++;
+ std::string section_text = "Avatar Textures Information:";
+ LLFontGL::getFontMonospace()->renderUTF8(section_text, 0, 0, v_offset + line_height*line_num,
+ header_color, LLFontGL::LEFT, LLFontGL::TOP, LLFontGL::BOLD, LLFontGL::DROP_SHADOW_SOFT);
}
BOOL LLAvatarTexBar::handleMouseDown(S32 x, S32 y, MASK mask)
@@ -457,7 +474,7 @@ BOOL LLAvatarTexBar::handleMouseDown(S32 x, S32 y, MASK mask)
LLRect LLAvatarTexBar::getRequiredRect()
{
LLRect rect;
- rect.mTop = 85;
+ rect.mTop = 100;
if (!gSavedSettings.getBOOL("DebugAvatarRezTime")) rect.mTop = 0;
return rect;
}
diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp
index c838a8820f..2722646eff 100644
--- a/indra/newview/llvoavatarself.cpp
+++ b/indra/newview/llvoavatarself.cpp
@@ -1884,7 +1884,7 @@ const std::string LLVOAvatarSelf::debugDumpLocalTextureDataInfo(const LLTexLayer
if (layerset == mBakedTextureDatas[baked_index].mTexLayerSet)
{
const LLVOAvatarDictionary::BakedEntry *baked_dict = baked_iter->second;
- text += llformat("[%d] '%s' ( ",baked_index, baked_dict->mName.c_str());
+ text += llformat("%d-%s ( ",baked_index, baked_dict->mName.c_str());
for (texture_vec_t::const_iterator local_tex_iter = baked_dict->mLocalTextures.begin();
local_tex_iter != baked_dict->mLocalTextures.end();
++local_tex_iter)
diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index cee5f5cbca..85ccf0f564 100644
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -669,7 +669,7 @@ with the same filename but different name
<texture name="Progress_11" file_name="icons/Progress_11.png" preload="true" />
<texture name="Progress_12" file_name="icons/Progress_12.png" preload="true" />
- <texture name="bevel_background" file_name="widgets/bevel_background.png" preload="true" scale.left="12" scale.top="15" scale.right="120" scale.bottom="2"/>
+ <texture name="bevel_background" file_name="widgets/bevel_background.png" preload="true" scale.left="12" scale.top="15" scale.right="108" scale.bottom="2"/>
<texture name="buy_off" file_name="widgets/buy_off.png" preload="true" scale.left="2" scale.top="15" scale.right="67" scale.bottom="4"/>
<texture name="buy_over" file_name="widgets/buy_over.png" preload="true" scale.left="2" scale.top="15" scale.right="67" scale.bottom="4"/>
<texture name="buy_press" file_name="widgets/buy_press.png" preload="true" scale.left="2" scale.top="15" scale.right="67" scale.bottom="4"/>
diff --git a/indra/newview/skins/default/textures/widgets/buy_off.png b/indra/newview/skins/default/textures/widgets/buy_off.png
index 961ad071d4..ee5979046f 100644
--- a/indra/newview/skins/default/textures/widgets/buy_off.png
+++ b/indra/newview/skins/default/textures/widgets/buy_off.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/widgets/buy_over.png b/indra/newview/skins/default/textures/widgets/buy_over.png
index 0be19f8a31..93adb68c86 100644
--- a/indra/newview/skins/default/textures/widgets/buy_over.png
+++ b/indra/newview/skins/default/textures/widgets/buy_over.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/widgets/buy_press.png b/indra/newview/skins/default/textures/widgets/buy_press.png
index d6f587464d..3f442d6eaa 100644
--- a/indra/newview/skins/default/textures/widgets/buy_press.png
+++ b/indra/newview/skins/default/textures/widgets/buy_press.png
Binary files differ
diff --git a/indra/newview/skins/default/xui/da/floater_buy_land.xml b/indra/newview/skins/default/xui/da/floater_buy_land.xml
index 970491b41f..f6ee78fa6d 100644
--- a/indra/newview/skins/default/xui/da/floater_buy_land.xml
+++ b/indra/newview/skins/default/xui/da/floater_buy_land.xml
@@ -126,9 +126,6 @@ gennemført.
<floater.string name="no_parcel_selected">
(intet parcel er valgt)
</floater.string>
- <floater.string name="icon_PG" value="Parcel_PG_Dark"/>
- <floater.string name="icon_M" value="Parcel_M_Dark"/>
- <floater.string name="icon_R" value="Parcel_R_Dark"/>
<text name="region_name_label">
Region:
</text>
diff --git a/indra/newview/skins/default/xui/de/floater_buy_land.xml b/indra/newview/skins/default/xui/de/floater_buy_land.xml
index 5708a3f80a..5369155cf9 100644
--- a/indra/newview/skins/default/xui/de/floater_buy_land.xml
+++ b/indra/newview/skins/default/xui/de/floater_buy_land.xml
@@ -124,9 +124,6 @@ unterstützt [AMOUNT2] Objekte
<floater.string name="no_parcel_selected">
(keine Parzelle ausgewählt)
</floater.string>
- <floater.string name="icon_PG" value="Parcel_PG_Dark"/>
- <floater.string name="icon_M" value="Parcel_M_Dark"/>
- <floater.string name="icon_R" value="Parcel_R_Dark"/>
<text name="region_name_label">
Region:
</text>
diff --git a/indra/newview/skins/default/xui/de/panel_landmark_info.xml b/indra/newview/skins/default/xui/de/panel_landmark_info.xml
index 9cef7b6d35..10cf34c170 100644
--- a/indra/newview/skins/default/xui/de/panel_landmark_info.xml
+++ b/indra/newview/skins/default/xui/de/panel_landmark_info.xml
@@ -18,9 +18,6 @@
<string name="acquired_date">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
</string>
- <string name="icon_PG" value="parcel_drk_PG"/>
- <string name="icon_M" value="parcel_drk_M"/>
- <string name="icon_R" value="parcel_drk_R"/>
<button name="back_btn" tool_tip="Hinten"/>
<text name="title" value="Ortsprofil"/>
<scroll_container name="place_scroll">
diff --git a/indra/newview/skins/default/xui/de/panel_place_profile.xml b/indra/newview/skins/default/xui/de/panel_place_profile.xml
index ed1421aa60..9d1a582b7c 100644
--- a/indra/newview/skins/default/xui/de/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/de/panel_place_profile.xml
@@ -41,21 +41,6 @@
<string name="acquired_date">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
</string>
- <string name="icon_PG" value="parcel_drk_PG"/>
- <string name="icon_M" value="parcel_drk_M"/>
- <string name="icon_R" value="parcel_drk_R"/>
- <string name="icon_Voice" value="parcel_drk_Voice"/>
- <string name="icon_VoiceNo" value="parcel_drk_VoiceNo"/>
- <string name="icon_Fly" value="parcel_drk_Fly"/>
- <string name="icon_FlyNo" value="parcel_drk_FlyNo"/>
- <string name="icon_Push" value="parcel_drk_Push"/>
- <string name="icon_PushNo" value="parcel_drk_PushNo"/>
- <string name="icon_Build" value="parcel_drk_Build"/>
- <string name="icon_BuildNo" value="parcel_drk_BuildNo"/>
- <string name="icon_Scripts" value="parcel_drk_Scripts"/>
- <string name="icon_ScriptsNo" value="parcel_drk_ScriptsNo"/>
- <string name="icon_Damage" value="parcel_drk_Damage"/>
- <string name="icon_DamageNo" value="parcel_drk_DamageNo"/>
<button name="back_btn" tool_tip="Hinten"/>
<text name="title" value="Ortsprofil"/>
<scroll_container name="place_scroll">
diff --git a/indra/newview/skins/default/xui/en/floater_buy_land.xml b/indra/newview/skins/default/xui/en/floater_buy_land.xml
index df44b61632..acaa508792 100644
--- a/indra/newview/skins/default/xui/en/floater_buy_land.xml
+++ b/indra/newview/skins/default/xui/en/floater_buy_land.xml
@@ -174,12 +174,15 @@ supports [AMOUNT2] objects
</floater.string>
<floater.string
name="icon_PG"
+ translate="false"
value="Parcel_PG_Dark"/>
<floater.string
name="icon_M"
+ translate="false"
value="Parcel_M_Dark"/>
<floater.string
name="icon_R"
+ translate="false"
value="Parcel_R_Dark"/>
<text
type="string"
diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml
index 5ead756d20..9af358eff3 100644
--- a/indra/newview/skins/default/xui/en/notifications.xml
+++ b/indra/newview/skins/default/xui/en/notifications.xml
@@ -2069,6 +2069,29 @@ Would you be my friend?
</notification>
<notification
+ icon="alertmodal.tga"
+ label="Save Wearable"
+ name="SaveWearableAs"
+ type="alertmodal">
+ Save item to my inventory as:
+ <form name="form">
+ <input name="message" type="text">
+ [DESC] (new)
+ </input>
+ <button
+ default="true"
+ index="0"
+ name="Offer"
+ text="OK"/>
+ <button
+ index="1"
+ name="Cancel"
+ text="Cancel"/>
+ </form>
+ </notification>
+
+
+ <notification
icon="alertmodal.tga"
label="Rename Outfit"
name="RenameOutfit"
diff --git a/indra/newview/skins/default/xui/en/panel_landmark_info.xml b/indra/newview/skins/default/xui/en/panel_landmark_info.xml
index 25674a1a39..bb73360e0b 100644
--- a/indra/newview/skins/default/xui/en/panel_landmark_info.xml
+++ b/indra/newview/skins/default/xui/en/panel_landmark_info.xml
@@ -46,12 +46,15 @@
<!-- Texture names for rating icons -->
<string
name="icon_PG"
+ translate="false"
value="Parcel_PG_Dark" />
<string
name="icon_M"
+ translate="false"
value="Parcel_M_Dark" />
<string
name="icon_R"
+ translate="false"
value="Parcel_R_Dark" />
<button
follows="top|right"
diff --git a/indra/newview/skins/default/xui/en/panel_place_profile.xml b/indra/newview/skins/default/xui/en/panel_place_profile.xml
index 57ac79686d..c9e41edd5a 100644
--- a/indra/newview/skins/default/xui/en/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/en/panel_place_profile.xml
@@ -95,48 +95,63 @@
<!-- Texture names for parcel permissions icons -->
<string
name="icon_PG"
+ translate="false"
value="Parcel_PG_Dark" />
<string
name="icon_M"
+ translate="false"
value="Parcel_M_Dark" />
<string
name="icon_R"
+ translate="false"
value="Parcel_R_Dark" />
<string
name="icon_Voice"
+ translate="false"
value="Parcel_Voice_Dark" />
<string
name="icon_VoiceNo"
+ translate="false"
value="Parcel_VoiceNo_Dark" />
<string
name="icon_Fly"
+ translate="false"
value="Parcel_Fly_Dark" />
<string
name="icon_FlyNo"
+ translate="false"
value="Parcel_FlyNo_Dark" />
<string
name="icon_Push"
+ translate="false"
value="Parcel_Push_Dark" />
<string
name="icon_PushNo"
+ translate="false"
value="Parcel_PushNo_Dark" />
<string
name="icon_Build"
+ translate="false"
value="Parcel_Build_Dark" />
<string
name="icon_BuildNo"
+ translate="false"
value="Parcel_BuildNo_Dark" />
<string
name="icon_Scripts"
+ translate="false"
value="Parcel_Scripts_Dark" />
<string
name="icon_ScriptsNo"
+ translate="false"
value="Parcel_ScriptsNo_Dark" />
<string
name="icon_Damage"
+ translate="false"
value="Parcel_Damage_Dark" />
<string
name="icon_DamageNo"
+ translate="false"
value="Parcel_DamageNo_Dark" />
<button
follows="top|right"
diff --git a/indra/newview/skins/default/xui/en/panel_status_bar.xml b/indra/newview/skins/default/xui/en/panel_status_bar.xml
index 008aa1acc0..43513e1ab6 100644
--- a/indra/newview/skins/default/xui/en/panel_status_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_status_bar.xml
@@ -41,32 +41,35 @@
name="buycurrencylabel">
L$ [AMT]
</panel.string>
- <button
+ <panel
+ height="18"
+ left="-315"
+ width="95"
+ top="1"
+ follows="right|top"
+ name="balance_bg"
+ bg_visible="true"
+ background_opaque="true"
+ bg_opaque_image="bevel_background">
+ <text
auto_resize="true"
halign="center"
- enabled="false"
font="SansSerifSmall"
- follows="right|top"
- image_overlay=""
- image_selected="bevel_background"
- image_unselected="bevel_background"
- image_pressed="bevel_background"
+ follows="all"
height="18"
- right="-275"
- label_shadow="false"
- name="buycurrency"
- label_color_disabled="ButtonLabelColor"
- image_color_disabled="White"
+ left="0"
+ name="balance"
tool_tip="My Balance"
- pad_left="12"
- pad_right="12"
+ v_pad="4"
top="0"
+ wrap="false"
+ value="L$20"
width="40" />
<button
auto_resize="true"
halign="center"
font="SansSerifSmall"
- follows="right|top"
+ follows="right|top|bottom"
image_hover_unselected="buy_over"
image_unselected="buy_off"
image_pressed="buy_press"
@@ -81,6 +84,7 @@
tool_tip="Click to buy more L$"
top="0"
width="55" />
+ </panel>
<text
type="string"
font="SansSerifSmall"
diff --git a/indra/newview/skins/default/xui/es/floater_buy_land.xml b/indra/newview/skins/default/xui/es/floater_buy_land.xml
index a40f65d5d0..74243a4d06 100644
--- a/indra/newview/skins/default/xui/es/floater_buy_land.xml
+++ b/indra/newview/skins/default/xui/es/floater_buy_land.xml
@@ -126,9 +126,6 @@ para cubrir esta parcela.
<floater.string name="no_parcel_selected">
(No se ha seleccionado una parcela)
</floater.string>
- <floater.string name="icon_PG" value="Parcel_PG_Dark"/>
- <floater.string name="icon_M" value="Parcel_M_Dark"/>
- <floater.string name="icon_R" value="Parcel_R_Dark"/>
<text name="region_name_label">
Región:
</text>
diff --git a/indra/newview/skins/default/xui/fr/floater_buy_land.xml b/indra/newview/skins/default/xui/fr/floater_buy_land.xml
index 7c9a31a4c3..b7f8f36f81 100644
--- a/indra/newview/skins/default/xui/fr/floater_buy_land.xml
+++ b/indra/newview/skins/default/xui/fr/floater_buy_land.xml
@@ -124,9 +124,6 @@ prend en charge [AMOUNT2] objets
<floater.string name="no_parcel_selected">
(aucune parcelle sélectionnée)
</floater.string>
- <floater.string name="icon_PG" value="Parcel_PG_Dark"/>
- <floater.string name="icon_M" value="Parcel_M_Dark"/>
- <floater.string name="icon_R" value="Parcel_R_Dark"/>
<text name="region_name_label">
Région :
</text>
diff --git a/indra/newview/skins/default/xui/fr/panel_landmark_info.xml b/indra/newview/skins/default/xui/fr/panel_landmark_info.xml
index 4001616034..bd29bd676c 100644
--- a/indra/newview/skins/default/xui/fr/panel_landmark_info.xml
+++ b/indra/newview/skins/default/xui/fr/panel_landmark_info.xml
@@ -18,9 +18,6 @@
<string name="acquired_date">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
</string>
- <string name="icon_PG" value="parcel_drk_PG"/>
- <string name="icon_M" value="parcel_drk_M"/>
- <string name="icon_R" value="parcel_drk_R"/>
<button name="back_btn" tool_tip="Précédent"/>
<text name="title" value="Profil du lieu"/>
<scroll_container name="place_scroll">
diff --git a/indra/newview/skins/default/xui/fr/panel_place_profile.xml b/indra/newview/skins/default/xui/fr/panel_place_profile.xml
index 598e94166e..731e045019 100644
--- a/indra/newview/skins/default/xui/fr/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/fr/panel_place_profile.xml
@@ -41,21 +41,6 @@
<string name="acquired_date">
[wkday,datetime,local] [mth,datetime,local] [day,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local] [year,datetime,local]
</string>
- <string name="icon_PG" value="parcel_drk_PG"/>
- <string name="icon_M" value="parcel_drk_M"/>
- <string name="icon_R" value="parcel_drk_R"/>
- <string name="icon_Voice" value="parcel_drk_Voice"/>
- <string name="icon_VoiceNo" value="parcel_drk_VoiceNo"/>
- <string name="icon_Fly" value="parcel_drk_Fly"/>
- <string name="icon_FlyNo" value="parcel_drk_FlyNo"/>
- <string name="icon_Push" value="parcel_drk_Push"/>
- <string name="icon_PushNo" value="parcel_drk_PushNo"/>
- <string name="icon_Build" value="parcel_drk_Build"/>
- <string name="icon_BuildNo" value="parcel_drk_BuildNo"/>
- <string name="icon_Scripts" value="parcel_drk_Scripts"/>
- <string name="icon_ScriptsNo" value="parcel_drk_ScriptsNo"/>
- <string name="icon_Damage" value="parcel_drk_Damage"/>
- <string name="icon_DamageNo" value="parcel_drk_DamageNo"/>
<button name="back_btn" tool_tip="Précédent"/>
<text name="title" value="Profil du lieu"/>
<scroll_container name="place_scroll">
diff --git a/indra/newview/skins/default/xui/it/floater_buy_land.xml b/indra/newview/skins/default/xui/it/floater_buy_land.xml
index 2e78168209..f3b30f7048 100644
--- a/indra/newview/skins/default/xui/it/floater_buy_land.xml
+++ b/indra/newview/skins/default/xui/it/floater_buy_land.xml
@@ -124,9 +124,6 @@ consente [AMOUNT2] oggetti
<floater.string name="no_parcel_selected">
(nessun terreno selezionato)
</floater.string>
- <floater.string name="icon_PG" value="Parcel_PG_Dark"/>
- <floater.string name="icon_M" value="Parcel_M_Dark"/>
- <floater.string name="icon_R" value="Parcel_R_Dark"/>
<text name="region_name_label">
Regione:
</text>
diff --git a/indra/newview/skins/default/xui/ja/floater_buy_land.xml b/indra/newview/skins/default/xui/ja/floater_buy_land.xml
index a274e25326..34f9d38de1 100644
--- a/indra/newview/skins/default/xui/ja/floater_buy_land.xml
+++ b/indra/newview/skins/default/xui/ja/floater_buy_land.xml
@@ -124,9 +124,6 @@
<floater.string name="no_parcel_selected">
(区画が選定されていません)
</floater.string>
- <floater.string name="icon_PG" value="Parcel_PG_Dark"/>
- <floater.string name="icon_M" value="Parcel_M_Dark"/>
- <floater.string name="icon_R" value="Parcel_R_Dark"/>
<text name="region_name_label">
地域:
</text>
diff --git a/indra/newview/skins/default/xui/ja/panel_landmark_info.xml b/indra/newview/skins/default/xui/ja/panel_landmark_info.xml
index 87477c2651..7fca66f90f 100644
--- a/indra/newview/skins/default/xui/ja/panel_landmark_info.xml
+++ b/indra/newview/skins/default/xui/ja/panel_landmark_info.xml
@@ -18,9 +18,6 @@
<string name="acquired_date">
[year,datetime,local] [mth,datetime,local] [day,datetime,local] [wkday,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local]
</string>
- <string name="icon_PG" value="parcel_drk_PG"/>
- <string name="icon_M" value="parcel_drk_M"/>
- <string name="icon_R" value="parcel_drk_R"/>
<button name="back_btn" tool_tip="戻る"/>
<text name="title" value="場所のプロフィール"/>
<scroll_container name="place_scroll">
diff --git a/indra/newview/skins/default/xui/ja/panel_place_profile.xml b/indra/newview/skins/default/xui/ja/panel_place_profile.xml
index 9de04f0d6a..b897e1d748 100644
--- a/indra/newview/skins/default/xui/ja/panel_place_profile.xml
+++ b/indra/newview/skins/default/xui/ja/panel_place_profile.xml
@@ -41,21 +41,6 @@
<string name="acquired_date">
[year,datetime,local] [mth,datetime,local] [day,datetime,local] [wkday,datetime,local] [hour,datetime,local]:[min,datetime,local]:[second,datetime,local]
</string>
- <string name="icon_PG" value="parcel_drk_PG"/>
- <string name="icon_M" value="parcel_drk_M"/>
- <string name="icon_R" value="parcel_drk_R"/>
- <string name="icon_Voice" value="parcel_drk_Voice"/>
- <string name="icon_VoiceNo" value="parcel_drk_VoiceNo"/>
- <string name="icon_Fly" value="parcel_drk_Fly"/>
- <string name="icon_FlyNo" value="parcel_drk_FlyNo"/>
- <string name="icon_Push" value="parcel_drk_Push"/>
- <string name="icon_PushNo" value="parcel_drk_PushNo"/>
- <string name="icon_Build" value="parcel_drk_Build"/>
- <string name="icon_BuildNo" value="parcel_drk_BuildNo"/>
- <string name="icon_Scripts" value="parcel_drk_Scripts"/>
- <string name="icon_ScriptsNo" value="parcel_drk_ScriptsNo"/>
- <string name="icon_Damage" value="parcel_drk_Damage"/>
- <string name="icon_DamageNo" value="parcel_drk_DamageNo"/>
<button name="back_btn" tool_tip="戻る"/>
<text name="title" value="場所のプロフィール"/>
<scroll_container name="place_scroll">
diff --git a/indra/newview/skins/default/xui/pl/floater_buy_land.xml b/indra/newview/skins/default/xui/pl/floater_buy_land.xml
index 3d01129d9b..7b4f459b4e 100644
--- a/indra/newview/skins/default/xui/pl/floater_buy_land.xml
+++ b/indra/newview/skins/default/xui/pl/floater_buy_land.xml
@@ -125,9 +125,6 @@ używanie Posiadłości żeby sfinalizować ten zakup.
<floater.string name="no_parcel_selected">
(Posiadłość nie została wybrana)
</floater.string>
- <floater.string name="icon_PG" value="Parcel_PG_Dark"/>
- <floater.string name="icon_M" value="Parcel_M_Dark"/>
- <floater.string name="icon_R" value="Parcel_R_Dark"/>
<text name="region_name_label">
Region:
</text>
diff --git a/indra/newview/skins/default/xui/pt/floater_buy_land.xml b/indra/newview/skins/default/xui/pt/floater_buy_land.xml
index 73b483acf2..5c5ee3b7a0 100644
--- a/indra/newview/skins/default/xui/pt/floater_buy_land.xml
+++ b/indra/newview/skins/default/xui/pt/floater_buy_land.xml
@@ -124,9 +124,6 @@ contribuídas para cobrir este lote antes da aquisição se completar.
<floater.string name="no_parcel_selected">
(nenhum lote selecionado)
</floater.string>
- <floater.string name="icon_PG" value="Parcel_PG_Dark"/>
- <floater.string name="icon_M" value="Parcel_M_Dark"/>
- <floater.string name="icon_R" value="Parcel_R_Dark"/>
<text name="region_name_label">
Região:
</text>
diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py
index c887097575..8c089c0b79 100755
--- a/indra/newview/viewer_manifest.py
+++ b/indra/newview/viewer_manifest.py
@@ -355,7 +355,6 @@ class WindowsManifest(ViewerManifest):
self.path("qtwebkitd4.dll")
self.path("qtxmlpatternsd4.dll")
self.path("ssleay32.dll")
- self.path("winmm.dll")
# For WebKit/Qt plugin runtimes (image format plugins)
if self.prefix(src="imageformats", dst="imageformats"):