summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/CMakeLists.txt8
-rw-r--r--indra/newview/app_settings/settings.xml22
-rw-r--r--indra/newview/llagentwearables.cpp14
-rw-r--r--indra/newview/llchiclet.cpp12
-rw-r--r--indra/newview/llchiclet.h5
-rw-r--r--indra/newview/llfloaterpreference.cpp124
-rw-r--r--indra/newview/llfloaterpreference.h4
-rw-r--r--indra/newview/llfloaterwindowsize.cpp164
-rw-r--r--indra/newview/llfloaterwindowsize.h41
-rw-r--r--indra/newview/llfolderview.cpp3
-rw-r--r--indra/newview/llfolderviewitem.cpp3
-rw-r--r--indra/newview/llfolderviewitem.h3
-rw-r--r--indra/newview/llimpanel.cpp1
-rw-r--r--indra/newview/llpanelteleporthistory.cpp44
-rw-r--r--indra/newview/llpanelteleporthistory.h1
-rw-r--r--indra/newview/llparticipantlist.cpp2
-rw-r--r--indra/newview/llpreviewtexture.cpp10
-rw-r--r--indra/newview/llsidepaneliteminfo.cpp8
-rw-r--r--indra/newview/llsyswellwindow.cpp14
-rw-r--r--indra/newview/llsyswellwindow.h3
-rw-r--r--indra/newview/llvieweraudio.cpp24
-rw-r--r--indra/newview/llviewerfloaterreg.cpp3
-rw-r--r--indra/newview/llvoicechannel.cpp1
-rw-r--r--indra/newview/skins/default/textures/icons/Parcel_Damage_Light_Alt.pngbin0 -> 285 bytes
-rw-r--r--indra/newview/skins/default/textures/textures.xml95
-rw-r--r--indra/newview/skins/default/xui/en/favorites_bar_button.xml2
-rw-r--r--indra/newview/skins/default/xui/en/floater_preview_texture.xml6
-rw-r--r--indra/newview/skins/default/xui/en/floater_voice_controls.xml60
-rw-r--r--indra/newview/skins/default/xui/en/floater_window_size.xml64
-rw-r--r--indra/newview/skins/default/xui/en/inspect_avatar.xml2
-rw-r--r--indra/newview/skins/default/xui/en/main_view.xml2
-rw-r--r--indra/newview/skins/default/xui/en/menu_login.xml7
-rw-r--r--indra/newview/skins/default/xui/en/menu_teleport_history_gear.xml6
-rw-r--r--indra/newview/skins/default/xui/en/menu_viewer.xml7
-rw-r--r--indra/newview/skins/default/xui/en/panel_bars.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_bottomtray.xml4
-rw-r--r--indra/newview/skins/default/xui/en/panel_landmark_info.xml1
-rw-r--r--indra/newview/skins/default/xui/en/panel_navigation_bar.xml10
-rw-r--r--indra/newview/skins/default/xui/en/panel_preferences_advanced.xml4
-rw-r--r--indra/newview/skins/default/xui/en/panel_prim_media_controls.xml3
-rw-r--r--indra/newview/skins/default/xui/en/panel_side_tray.xml58
-rw-r--r--indra/newview/skins/default/xui/en/sidepanel_item_info.xml4
-rw-r--r--indra/newview/skins/default/xui/en/widgets/location_input.xml7
43 files changed, 547 insertions, 311 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index 648e582e94..8918fc3018 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -157,7 +157,6 @@ set(viewer_SOURCE_FILES
llfloaterbuycontents.cpp
llfloaterbuycurrency.cpp
llfloaterbuyland.cpp
- llfloatercall.cpp
llfloatercamera.cpp
llfloaterchat.cpp
llfloaterchatterbox.cpp
@@ -219,6 +218,7 @@ set(viewer_SOURCE_FILES
llfloaterwater.cpp
llfloaterwhitelistentry.cpp
llfloaterwindlight.cpp
+ llfloaterwindowsize.cpp
llfloaterworldmap.cpp
llfolderview.cpp
llfolderviewitem.cpp
@@ -302,7 +302,6 @@ set(viewer_SOURCE_FILES
lloutputmonitorctrl.cpp
lloverlaybar.cpp
llpanelavatar.cpp
- llpanelavatarrow.cpp
llpanelavatartag.cpp
llpanelblockedlist.cpp
llpanelclassified.cpp
@@ -516,7 +515,6 @@ set(viewer_SOURCE_FILES
llvoground.cpp
llvoicechannel.cpp
llvoiceclient.cpp
- llvoicecontrolpanel.cpp
llvoiceremotectrl.cpp
llvoicevisualizer.cpp
llvoinventorylistener.cpp
@@ -668,7 +666,6 @@ set(viewer_HEADER_FILES
llfloaterbuycontents.h
llfloaterbuycurrency.h
llfloaterbuyland.h
- llfloatercall.h
llfloatercamera.h
llfloaterchat.h
llfloaterchatterbox.h
@@ -729,6 +726,7 @@ set(viewer_HEADER_FILES
llfloaterwater.h
llfloaterwhitelistentry.h
llfloaterwindlight.h
+ llfloaterwindowsize.h
llfloaterworldmap.h
llfolderview.h
llfoldervieweventlistener.h
@@ -807,7 +805,6 @@ set(viewer_HEADER_FILES
lloutputmonitorctrl.h
lloverlaybar.h
llpanelavatar.h
- llpanelavatarrow.h
llpanelavatartag.h
llpanelblockedlist.h
llpanelclassified.h
@@ -1022,7 +1019,6 @@ set(viewer_HEADER_FILES
llvoground.h
llvoicechannel.h
llvoiceclient.h
- llvoicecontrolpanel.h
llvoiceremotectrl.h
llvoicevisualizer.h
llvoinventorylistener.h
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 0ee39c2fc8..e24e1a8605 100644
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -265,6 +265,17 @@
<key>Value</key>
<real>0.5</real>
</map>
+ <key>AudioLevelWind</key>
+ <map>
+ <key>Comment</key>
+ <string>Audio level of wind noise when standing still</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>F32</string>
+ <key>Value</key>
+ <real>0.5</real>
+ </map>
<key>AudioSteamingMedia</key>
<map>
<key>Comment</key>
@@ -3235,6 +3246,17 @@
<key>Value</key>
<real>0.75</real>
</map>
+ <key>FolderIndentation</key>
+ <map>
+ <key>Comment</key>
+ <string>Number of pixels to indent subfolders in inventory</string>
+ <key>Persist</key>
+ <integer>1</integer>
+ <key>Type</key>
+ <string>S32</string>
+ <key>Value</key>
+ <integer>8</integer>
+ </map>
<key>FolderLoadingMessageWaitTime</key>
<map>
<key>Comment</key>
diff --git a/indra/newview/llagentwearables.cpp b/indra/newview/llagentwearables.cpp
index 79ba3fb51d..b221c28dcd 100644
--- a/indra/newview/llagentwearables.cpp
+++ b/indra/newview/llagentwearables.cpp
@@ -2128,6 +2128,7 @@ void LLLibraryOutfitsFetch::done()
}
if (mOutfitsPopulated)
{
+ gInventory.notifyObservers();
delete this;
}
}
@@ -2162,6 +2163,11 @@ void LLLibraryOutfitsFetch::folderDone(void)
// everything is already here - call done.
outfitsDone();
}
+ else
+ {
+ gInventory.removeObserver(this);
+ gInventory.addObserver(this);
+ }
}
void LLLibraryOutfitsFetch::outfitsDone(void)
@@ -2172,6 +2178,8 @@ void LLLibraryOutfitsFetch::outfitsDone(void)
LLInventoryModel::EXCLUDE_TRASH);
LLInventoryFetchDescendentsObserver::folder_ref_t folders;
+
+ llassert(cat_array.count() > 0);
for(S32 i = 0; i < cat_array.count(); ++i)
{
if (cat_array.get(i)->getName() != "More Outfits" && cat_array.get(i)->getName() != "Ruth"){
@@ -2186,6 +2194,11 @@ void LLLibraryOutfitsFetch::outfitsDone(void)
// everything is already here - call done.
contentsDone();
}
+ else
+ {
+ gInventory.removeObserver(this);
+ gInventory.addObserver(this);
+ }
}
void LLLibraryOutfitsFetch::contentsDone(void)
@@ -2199,7 +2212,6 @@ void LLLibraryOutfitsFetch::contentsDone(void)
mOutfits[i].second);
LLAppearanceManager::getInstance()->shallowCopyCategory(mOutfits[i].first, folder_id, NULL);
- gInventory.notifyObservers();
}
mOutfitsPopulated = true;
}
diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp
index c01202bb82..dc2e22f899 100644
--- a/indra/newview/llchiclet.cpp
+++ b/indra/newview/llchiclet.cpp
@@ -49,7 +49,6 @@
#include "llscriptfloater.h"
#include "lltextbox.h"
#include "llvoiceclient.h"
-#include "llvoicecontrolpanel.h"
#include "llgroupmgr.h"
#include "llnotificationmanager.h"
#include "lltransientfloatermgr.h"
@@ -225,6 +224,10 @@ void LLSysWellChiclet::setNewMessagesState(bool new_messages)
mIsNewMessagesState = new_messages;
}
+void LLSysWellChiclet::updateWidget(bool is_window_empty)
+{
+ mButton->setEnabled(!is_window_empty);
+}
// virtual
BOOL LLSysWellChiclet::handleRightMouseDown(S32 x, S32 y, MASK mask)
{
@@ -374,6 +377,13 @@ void LLNotificationChiclet::createMenu()
LLViewerMenuHolderGL::child_registry_t::instance());
}
+/*virtual*/
+void LLNotificationChiclet::setCounter(S32 counter)
+{
+ LLSysWellChiclet::setCounter(counter);
+ updateWidget(getCounter() == 0);
+
+}
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
diff --git a/indra/newview/llchiclet.h b/indra/newview/llchiclet.h
index ee9db10525..3665e4d093 100644
--- a/indra/newview/llchiclet.h
+++ b/indra/newview/llchiclet.h
@@ -41,7 +41,6 @@
#include "llgroupmgr.h"
#include "llimview.h"
-class LLVoiceControlPanel;
class LLMenuGL;
class LLIMFloater;
@@ -825,6 +824,8 @@ public:
void setToggleState(BOOL toggled);
void setNewMessagesState(bool new_messages);
+ //this method should change a widget according to state of the SysWellWindow
+ virtual void updateWidget(bool is_window_empty);
protected:
@@ -930,7 +931,7 @@ protected:
// methods for updating a number of unread System notifications
void incUreadSystemNotifications() { setCounter(++mUreadSystemNotifications); }
void decUreadSystemNotifications() { setCounter(--mUreadSystemNotifications); }
-
+ /*virtual*/ void setCounter(S32 counter);
S32 mUreadSystemNotifications;
};
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index 7e0e8bfaa7..11dd48056c 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -103,15 +103,10 @@
#include "llworld.h"
#include "pipeline.h"
#include "lluictrlfactory.h"
-#include "llboost.h"
#include "llviewermedia.h"
#include "llpluginclassmedia.h"
#include "llteleporthistorystorage.h"
-#include <boost/regex.hpp>
-
-//RN temporary includes for resolution switching
-#include "llglheaders.h"
const F32 MAX_USER_FAR_CLIP = 512.f;
const F32 MIN_USER_FAR_CLIP = 64.f;
@@ -193,7 +188,6 @@ bool callback_clear_browser_cache(const LLSD& notification, const LLSD& response
bool callback_skip_dialogs(const LLSD& notification, const LLSD& response, LLFloaterPreference* floater);
bool callback_reset_dialogs(const LLSD& notification, const LLSD& response, LLFloaterPreference* floater);
-bool extractWindowSizeFromString(const std::string& instr, U32 &width, U32 &height);
void fractionFromDecimal(F32 decimal_val, S32& numerator, S32& denominator);
viewer_media_t get_web_media()
@@ -273,23 +267,6 @@ bool callback_reset_dialogs(const LLSD& notification, const LLSD& response, LLFl
}
-// Extract from strings of the form "<width> x <height>", e.g. "640 x 480".
-bool extractWindowSizeFromString(const std::string& instr, U32 &width, U32 &height)
-{
- using namespace boost;
- cmatch what;
- const regex expression("([0-9]+) x ([0-9]+)");
- if (regex_match(instr.c_str(), what, expression))
- {
- width = atoi(what[1].first);
- height = atoi(what[2].first);
- return true;
- }
-
- width = height = 0;
- return false;
-}
-
void fractionFromDecimal(F32 decimal_val, S32& numerator, S32& denominator)
{
numerator = 0;
@@ -499,13 +476,6 @@ void LLFloaterPreference::apply()
}
applyResolution();
-
- // Only set window size if we're not in fullscreen mode
- if(!gSavedSettings.getBOOL("WindowFullScreen"))
- {
- applyWindowSize();
- }
-
}
void LLFloaterPreference::cancel()
@@ -1264,20 +1234,6 @@ void LLFloaterPreference::onKeystrokeAspectRatio()
getChild<LLCheckBoxCtrl>("aspect_auto_detect")->set(FALSE);
}
-void LLFloaterPreference::applyWindowSize()
-{
- LLComboBox* ctrl_windowSize = getChild<LLComboBox>("windowsize combo");
- if (ctrl_windowSize->getVisible() && (ctrl_windowSize->getCurrentIndex() != -1))
- {
- U32 width = 0;
- U32 height = 0;
- if (extractWindowSizeFromString(ctrl_windowSize->getValue().asString().c_str(), width,height))
- {
- LLViewerWindow::movieSize(width, height);
- }
- }
-}
-
void LLFloaterPreference::applyResolution()
{
LLComboBox* ctrl_aspect_ratio = getChild<LLComboBox>( "aspect_ratio");
@@ -1345,36 +1301,7 @@ void LLFloaterPreference::applyResolution()
refresh();
}
-void LLFloaterPreference::initWindowSizeControls(LLPanel* panelp)
-{
- // Window size
- // mWindowSizeLabel = getChild<LLTextBox>("WindowSizeLabel");
- LLComboBox* ctrl_window_size = panelp->getChild<LLComboBox>("windowsize combo");
-
- // Look to see if current window size matches existing window sizes, if so then
- // just set the selection value...
- const U32 height = gViewerWindow->getWindowHeightRaw();
- const U32 width = gViewerWindow->getWindowWidthRaw();
- for (S32 i=0; i < ctrl_window_size->getItemCount(); i++)
- {
- U32 height_test = 0;
- U32 width_test = 0;
- ctrl_window_size->setCurrentByIndex(i);
- if (extractWindowSizeFromString(ctrl_window_size->getValue().asString(), width_test, height_test))
- {
- if ((height_test == height) && (width_test == width))
- {
- return;
- }
- }
- }
- // ...otherwise, add a new entry with the current window height/width.
- LLUIString resolution_label = panelp->getString("resolution_format");
- resolution_label.setArg("[RES_X]", llformat("%d", width));
- resolution_label.setArg("[RES_Y]", llformat("%d", height));
- ctrl_window_size->add(resolution_label, ADD_TOP);
- ctrl_window_size->setCurrentByIndex(0);
-}
+
void LLFloaterPreference::applyUIColor(LLUICtrl* ctrl, const LLSD& param)
@@ -1433,53 +1360,8 @@ BOOL LLPanelPreference::postBuild()
if(hasChild("aspect_ratio"))
{
- //============================================================================
- // Resolution
-/*
- S32 num_resolutions = 0;
- LLWindow::LLWindowResolution* supported_resolutions = gViewerWindow->getWindow()->getSupportedResolutions(num_resolutions);
-
- S32 fullscreen_mode = num_resolutions - 1;
-
- LLComboBox*ctrl_full_screen = getChild<LLComboBox>( "fullscreen combo");
- LLUIString resolution_label = getString("resolution_format");
-
- for (S32 i = 0; i < num_resolutions; i++)
- {
- resolution_label.setArg("[RES_X]", llformat("%d", supported_resolutions[i].mWidth));
- resolution_label.setArg("[RES_Y]", llformat("%d", supported_resolutions[i].mHeight));
- ctrl_full_screen->add( resolution_label, ADD_BOTTOM );
- }
-
- {
- BOOL targetFullscreen;
- S32 targetWidth;
- S32 targetHeight;
-
- gViewerWindow->getTargetWindow(targetFullscreen, targetWidth, targetHeight);
-
- if (targetFullscreen)
- {
- fullscreen_mode = 0; // default to 800x600
- for (S32 i = 0; i < num_resolutions; i++)
- {
- if (targetWidth == supported_resolutions[i].mWidth
- && targetHeight == supported_resolutions[i].mHeight)
- {
- fullscreen_mode = i;
- }
- }
- ctrl_full_screen->setCurrentByIndex(fullscreen_mode);
- }
- else
- {
- // set to windowed mode
- //fullscreen_mode = mCtrlFullScreen->getItemCount() - 1;
- ctrl_full_screen->setCurrentByIndex(0);
- }
- }
- */
- LLFloaterPreference::initWindowSizeControls(this);
+ // We used to set up fullscreen resolution and window size
+ // controls here, see LLFloaterWindowSize::initWindowSizeControls()
if (gSavedSettings.getBOOL("FullScreenAutoDetectAspectRatio"))
{
diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h
index 94108cb79a..74a53d673c 100644
--- a/indra/newview/llfloaterpreference.h
+++ b/indra/newview/llfloaterpreference.h
@@ -130,16 +130,12 @@ public:
void onUpdateSliderText(LLUICtrl* ctrl, const LLSD& name);
void onKeystrokeAspectRatio();
// void fractionFromDecimal(F32 decimal_val, S32& numerator, S32& denominator);
-// bool extractWindowSizeFromString(const std::string& instr, U32 &width, U32 &height);
void onCommitAutoDetectAspect();
void applyResolution();
- void applyWindowSize();
void applyUIColor(LLUICtrl* ctrl, const LLSD& param);
void getUIColor(LLUICtrl* ctrl, const LLSD& param);
- static void initWindowSizeControls(LLPanel* panelp);
-
void buildPopupLists();
static void refreshSkin(void* data);
static void cleanupBadSetting();
diff --git a/indra/newview/llfloaterwindowsize.cpp b/indra/newview/llfloaterwindowsize.cpp
new file mode 100644
index 0000000000..5519be6f08
--- /dev/null
+++ b/indra/newview/llfloaterwindowsize.cpp
@@ -0,0 +1,164 @@
+/**
+ * @file llfloaterwindowsize.cpp
+ *
+ * $LicenseInfo:firstyear=2001&license=viewergpl$
+ *
+ * Copyright (c) 2001-2009, Linden Research, Inc.
+ *
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab. Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ *
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at
+ * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ *
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ *
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ */
+
+#include "llviewerprecompiledheaders.h"
+
+#include "llfloaterwindowsize.h"
+
+// Viewer includes
+#include "llviewerwindow.h"
+
+// Linden library includes
+#include "llcombobox.h"
+#include "llfloater.h"
+#include "llfloaterreg.h"
+#include "lluictrl.h"
+
+// System libraries
+#include <boost/regex.hpp>
+
+// Extract from strings of the form "<width> x <height>", e.g. "640 x 480".
+bool extractWindowSizeFromString(const std::string& instr, U32 *width, U32 *height)
+{
+ boost::cmatch what;
+ // matches (any number)(any non-number)(any number)
+ const boost::regex expression("([0-9]+)[^0-9]+([0-9]+)");
+ if (boost::regex_match(instr.c_str(), what, expression))
+ {
+ *width = atoi(what[1].first);
+ *height = atoi(what[2].first);
+ return true;
+ }
+
+ *width = 0;
+ *height = 0;
+ return false;
+}
+
+
+///----------------------------------------------------------------------------
+/// Class LLFloaterWindowSize
+///----------------------------------------------------------------------------
+class LLFloaterWindowSize
+: public LLFloater
+{
+ friend class LLFloaterReg;
+private:
+ LLFloaterWindowSize(const LLSD& key);
+ virtual ~LLFloaterWindowSize();
+
+public:
+ /*virtual*/ BOOL postBuild();
+ void initWindowSizeControls();
+ void onClickSet();
+ void onClickCancel();
+};
+
+
+LLFloaterWindowSize::LLFloaterWindowSize(const LLSD& key)
+: LLFloater(key)
+{
+ //LLUICtrlFactory::getInstance()->buildFloater(this, "floater_window_size.xml");
+}
+
+LLFloaterWindowSize::~LLFloaterWindowSize()
+{
+}
+
+BOOL LLFloaterWindowSize::postBuild()
+{
+ center();
+ initWindowSizeControls();
+ getChild<LLUICtrl>("set_btn")->setCommitCallback(
+ boost::bind(&LLFloaterWindowSize::onClickSet, this));
+ getChild<LLUICtrl>("cancel_btn")->setCommitCallback(
+ boost::bind(&LLFloaterWindowSize::onClickCancel, this));
+ setDefaultBtn("set_btn");
+ return TRUE;
+}
+
+void LLFloaterWindowSize::initWindowSizeControls()
+{
+ LLComboBox* ctrl_window_size = getChild<LLComboBox>("window_size_combo");
+
+ // Look to see if current window size matches existing window sizes, if so then
+ // just set the selection value...
+ const U32 height = gViewerWindow->getWindowHeightRaw();
+ const U32 width = gViewerWindow->getWindowWidthRaw();
+ for (S32 i=0; i < ctrl_window_size->getItemCount(); i++)
+ {
+ U32 height_test = 0;
+ U32 width_test = 0;
+ ctrl_window_size->setCurrentByIndex(i);
+ std::string resolution = ctrl_window_size->getValue().asString();
+ if (extractWindowSizeFromString(resolution, &width_test, &height_test))
+ {
+ if ((height_test == height) && (width_test == width))
+ {
+ return;
+ }
+ }
+ }
+ // ...otherwise, add a new entry with the current window height/width.
+ LLUIString resolution_label = getString("resolution_format");
+ resolution_label.setArg("[RES_X]", llformat("%d", width));
+ resolution_label.setArg("[RES_Y]", llformat("%d", height));
+ ctrl_window_size->add(resolution_label, ADD_TOP);
+ ctrl_window_size->setCurrentByIndex(0);
+}
+
+void LLFloaterWindowSize::onClickSet()
+{
+ LLComboBox* ctrl_window_size = getChild<LLComboBox>("window_size_combo");
+ U32 width = 0;
+ U32 height = 0;
+ std::string resolution = ctrl_window_size->getValue().asString();
+ if (extractWindowSizeFromString(resolution, &width, &height))
+ {
+ LLViewerWindow::movieSize(width, height);
+ }
+ closeFloater();
+}
+
+void LLFloaterWindowSize::onClickCancel()
+{
+ closeFloater();
+}
+
+///----------------------------------------------------------------------------
+/// LLFloaterWindowSizeUtil
+///----------------------------------------------------------------------------
+void LLFloaterWindowSizeUtil::registerFloater()
+{
+ LLFloaterReg::add("window_size", "floater_window_size.xml",
+ &LLFloaterReg::build<LLFloaterWindowSize>);
+
+}
diff --git a/indra/newview/llfloaterwindowsize.h b/indra/newview/llfloaterwindowsize.h
new file mode 100644
index 0000000000..fd9d17323a
--- /dev/null
+++ b/indra/newview/llfloaterwindowsize.h
@@ -0,0 +1,41 @@
+/**
+ * @file llfloaterwindowsize.h
+ *
+ * $LicenseInfo:firstyear=2001&license=viewergpl$
+ *
+ * Copyright (c) 2001-2009, Linden Research, Inc.
+ *
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab. Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ *
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at
+ * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ *
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ *
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ */
+
+#ifndef LLFLOATERWINDOWSIZE_H
+#define LLFLOATERWINDOWSIZE_H
+
+// Allow user to set the window size for filming tutorials, machinima, etc
+namespace LLFloaterWindowSizeUtil
+{
+ void registerFloater();
+}
+
+#endif
diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp
index 474d2ca21f..112b23d2df 100644
--- a/indra/newview/llfolderview.cpp
+++ b/indra/newview/llfolderview.cpp
@@ -206,7 +206,8 @@ LLFolderView::LLFolderView(const Params& p)
mAutoOpenCandidate = NULL;
mAutoOpenTimer.stop();
mKeyboardSelection = FALSE;
- mIndentation = -LEFT_INDENTATION; // children start at indentation 0
+ static LLUICachedControl<S32> indentation("FolderIndentation", 0);
+ mIndentation = -indentation; // children start at indentation 0
gIdleCallbacks.addFunction(idle, this);
//clear label
diff --git a/indra/newview/llfolderviewitem.cpp b/indra/newview/llfolderviewitem.cpp
index 720c2c7b1a..9d54aafd67 100644
--- a/indra/newview/llfolderviewitem.cpp
+++ b/indra/newview/llfolderviewitem.cpp
@@ -392,10 +392,11 @@ BOOL LLFolderViewItem::addToFolder(LLFolderViewFolder* folder, LLFolderView* roo
// makes sure that this view and it's children are the right size.
S32 LLFolderViewItem::arrange( S32* width, S32* height, S32 filter_generation)
{
+ static LLUICachedControl<S32> indentation("FolderIndentation", 0);
mIndentation = (getParentFolder()
&& getParentFolder()->getParentFolder()
&& getParentFolder()->getParentFolder()->getParentFolder())
- ? mParentFolder->getIndentation() + LEFT_INDENTATION
+ ? mParentFolder->getIndentation() + indentation
: 0;
if (mLabelWidthDirty)
{
diff --git a/indra/newview/llfolderviewitem.h b/indra/newview/llfolderviewitem.h
index 21e24c2a4d..6f8c738a59 100644
--- a/indra/newview/llfolderviewitem.h
+++ b/indra/newview/llfolderviewitem.h
@@ -93,7 +93,6 @@ public:
static void initClass();
static void cleanupClass();
- // jamesdebug was LLUICtrl::Params
struct Params : public LLInitParam::Block<Params, LLView::Params>
{
Optional<LLUIImage*> icon;
@@ -111,7 +110,7 @@ public:
// layout constants
static const S32 LEFT_PAD = 5;
- static const S32 LEFT_INDENTATION = 2;
+ // LEFT_INDENTATION is set via settings.xml FolderIndentation
static const S32 ICON_PAD = 2;
static const S32 ICON_WIDTH = 16;
static const S32 TEXT_PAD = 1;
diff --git a/indra/newview/llimpanel.cpp b/indra/newview/llimpanel.cpp
index 4b45a9aba9..029ddbaf2c 100644
--- a/indra/newview/llimpanel.cpp
+++ b/indra/newview/llimpanel.cpp
@@ -55,7 +55,6 @@
#include "llgroupactions.h"
#include "llfloater.h"
#include "llfloateractivespeakers.h"
-#include "llfloatercall.h"
#include "llavataractions.h"
#include "llinventory.h"
#include "llinventorymodel.h"
diff --git a/indra/newview/llpanelteleporthistory.cpp b/indra/newview/llpanelteleporthistory.cpp
index 77c2fb7c8c..245f694ac6 100644
--- a/indra/newview/llpanelteleporthistory.cpp
+++ b/indra/newview/llpanelteleporthistory.cpp
@@ -452,6 +452,7 @@ BOOL LLTeleportHistoryPanel::postBuild()
registrar.add("TeleportHistory.ExpandAllFolders", boost::bind(&LLTeleportHistoryPanel::onExpandAllFolders, this));
registrar.add("TeleportHistory.CollapseAllFolders", boost::bind(&LLTeleportHistoryPanel::onCollapseAllFolders, this));
registrar.add("TeleportHistory.ClearTeleportHistory", boost::bind(&LLTeleportHistoryPanel::onClearTeleportHistory, this));
+ mEnableCallbackRegistrar.add("TeleportHistory.GearMenu.Enable", boost::bind(&LLTeleportHistoryPanel::isActionEnabled, this, _2));
LLMenuGL* gear_menu = LLUICtrlFactory::getInstance()->createFromFile<LLMenuGL>("menu_teleport_history_gear.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance());
if(gear_menu)
@@ -979,6 +980,49 @@ void LLTeleportHistoryPanel::onGearButtonClicked()
LLMenuGL::showPopup(this, menu, menu_x, menu_y);
}
+bool LLTeleportHistoryPanel::isActionEnabled(const LLSD& userdata) const
+{
+ S32 tabs_cnt = mItemContainers.size();
+
+ bool has_expanded_tabs = false;
+ bool has_collapsed_tabs = false;
+
+ for (S32 n = 0; n < tabs_cnt; n++)
+ {
+ LLAccordionCtrlTab* tab = mItemContainers.get(n);
+ if (!tab->getVisible())
+ continue;
+
+ if (tab->getDisplayChildren())
+ {
+ has_expanded_tabs = true;
+ }
+ else
+ {
+ has_collapsed_tabs = true;
+ }
+
+ if (has_expanded_tabs && has_collapsed_tabs)
+ {
+ break;
+ }
+ }
+
+ std::string command_name = userdata.asString();
+
+ if (has_expanded_tabs && command_name == "collapse_all")
+ {
+ return true;
+ }
+
+ if (has_collapsed_tabs && command_name == "expand_all")
+ {
+ return true;
+ }
+
+ return false;
+}
+
void LLTeleportHistoryPanel::setAccordionCollapsedByUser(LLUICtrl* acc_tab, bool collapsed)
{
LLSD param = acc_tab->getValue();
diff --git a/indra/newview/llpanelteleporthistory.h b/indra/newview/llpanelteleporthistory.h
index 0c0f891f32..4eeaec7705 100644
--- a/indra/newview/llpanelteleporthistory.h
+++ b/indra/newview/llpanelteleporthistory.h
@@ -97,6 +97,7 @@ private:
void handleItemSelect(LLFlatListView* );
LLFlatListView* getFlatListViewFromTab(LLAccordionCtrlTab *);
void onGearButtonClicked();
+ bool isActionEnabled(const LLSD& userdata) const;
void setAccordionCollapsedByUser(LLUICtrl* acc_tab, bool collapsed);
bool isAccordionCollapsedByUser(LLUICtrl* acc_tab);
diff --git a/indra/newview/llparticipantlist.cpp b/indra/newview/llparticipantlist.cpp
index db4f9a2d95..e2da4c4475 100644
--- a/indra/newview/llparticipantlist.cpp
+++ b/indra/newview/llparticipantlist.cpp
@@ -229,7 +229,7 @@ bool LLParticipantList::onAddItemEvent(LLPointer<LLOldEvents::LLEvent> event, co
{
LLUUID uu_id = event->getValue().asUUID();
- if (mValidateSpeakerCallback && mValidateSpeakerCallback(uu_id))
+ if (mValidateSpeakerCallback && !mValidateSpeakerCallback(uu_id))
{
return true;
}
diff --git a/indra/newview/llpreviewtexture.cpp b/indra/newview/llpreviewtexture.cpp
index 26368fb0a8..a857e30d4f 100644
--- a/indra/newview/llpreviewtexture.cpp
+++ b/indra/newview/llpreviewtexture.cpp
@@ -419,12 +419,10 @@ void LLPreviewTexture::updateDimensions()
view_height += info_height;
S32 button_height = 0;
- if (mShowKeepDiscard || mCopyToInv) { //mCopyToInvBtn
-
- // add space for buttons
- view_height += (BTN_HEIGHT + CLIENT_RECT_VPAD) * 3;
- button_height = (BTN_HEIGHT + PREVIEW_PAD) * 3;
- }
+
+ // add space for buttons
+ view_height += (BTN_HEIGHT + CLIENT_RECT_VPAD) * 3;
+ button_height = (BTN_HEIGHT + PREVIEW_PAD) * 3;
view_width = llmax(view_width, getMinWidth());
view_height = llmax(view_height, getMinHeight());
diff --git a/indra/newview/llsidepaneliteminfo.cpp b/indra/newview/llsidepaneliteminfo.cpp
index 1965e634b6..814508daa9 100644
--- a/indra/newview/llsidepaneliteminfo.cpp
+++ b/indra/newview/llsidepaneliteminfo.cpp
@@ -168,11 +168,13 @@ void LLSidepanelItemInfo::refresh()
if (getIsEditing())
{
setIsEditing(FALSE);
- return;
}
}
+
+ const LLUUID trash_id = gInventory.findCategoryUUIDForType(LLFolderType::FT_TRASH);
+ bool is_editable = item && (item->getUUID() != trash_id) && !gInventory.isObjectDescendentOf(item->getUUID(), trash_id);
- if (!getIsEditing() || !item)
+ if (!getIsEditing() || !is_editable)
{
const std::string no_item_names[]={
"LabelItemName",
@@ -210,7 +212,7 @@ void LLSidepanelItemInfo::refresh()
}
}
- if (!item)
+ if (!is_editable)
{
const std::string no_edit_mode_names[]={
"BtnCreator",
diff --git a/indra/newview/llsyswellwindow.cpp b/indra/newview/llsyswellwindow.cpp
index 26d8338b24..a46ca1f8ac 100644
--- a/indra/newview/llsyswellwindow.cpp
+++ b/indra/newview/llsyswellwindow.cpp
@@ -106,15 +106,15 @@ void LLSysWellWindow::onStartUpToastClick(S32 x, S32 y, MASK mask)
setVisible(TRUE);
}
-//---------------------------------------------------------------------------------
-LLSysWellWindow::~LLSysWellWindow()
-{
+void LLSysWellWindow::setSysWellChiclet(LLSysWellChiclet* chiclet)
+{
+ mSysWellChiclet = chiclet;
+ if(mSysWellChiclet)
+ mSysWellChiclet->updateWidget(isWindowEmpty());
}
-
//---------------------------------------------------------------------------------
-void LLSysWellWindow::clear()
+LLSysWellWindow::~LLSysWellWindow()
{
- mMessageList->clear();
}
//---------------------------------------------------------------------------------
@@ -281,6 +281,7 @@ void LLSysWellWindow::handleItemAdded(EItemType added_item_type)
setResizeLimits(min_width,min_height);
}
+ mSysWellChiclet->updateWidget(isWindowEmpty());
}
void LLSysWellWindow::handleItemRemoved(EItemType removed_item_type)
@@ -294,6 +295,7 @@ void LLSysWellWindow::handleItemRemoved(EItemType removed_item_type)
// refresh list to recalculate mSeparator position
mMessageList->reshape(mMessageList->getRect().getWidth(), mMessageList->getRect().getHeight());
}
+ mSysWellChiclet->updateWidget(isWindowEmpty());
}
bool LLSysWellWindow::anotherTypeExists(EItemType item_type)
diff --git a/indra/newview/llsyswellwindow.h b/indra/newview/llsyswellwindow.h
index d21d095d1a..833e4dd504 100644
--- a/indra/newview/llsyswellwindow.h
+++ b/indra/newview/llsyswellwindow.h
@@ -62,7 +62,6 @@ public:
bool isWindowEmpty();
// Operating with items
- void clear( void );
void removeItemByID(const LLUUID& id);
// Operating with outfit
@@ -74,7 +73,7 @@ public:
void onStartUpToastClick(S32 x, S32 y, MASK mask);
- void setSysWellChiclet(LLSysWellChiclet* chiclet) { mSysWellChiclet = chiclet; }
+ void setSysWellChiclet(LLSysWellChiclet* chiclet);
// size constants for the window and for its elements
static const S32 MAX_WINDOW_HEIGHT = 200;
diff --git a/indra/newview/llvieweraudio.cpp b/indra/newview/llvieweraudio.cpp
index e7f904023a..38103f9e41 100644
--- a/indra/newview/llvieweraudio.cpp
+++ b/indra/newview/llvieweraudio.cpp
@@ -211,19 +211,31 @@ void audio_update_wind(bool force_update)
//
if (force_update || (last_camera_water_height * camera_water_height) < 0.f)
{
+ static LLUICachedControl<F32> rolloff("AudioLevelRolloff", 1.0f);
if (camera_water_height < 0.f)
{
- gAudiop->setRolloffFactor(gSavedSettings.getF32("AudioLevelRolloff") * LL_ROLLOFF_MULTIPLIER_UNDER_WATER);
+ gAudiop->setRolloffFactor(rolloff * LL_ROLLOFF_MULTIPLIER_UNDER_WATER);
}
else
{
- gAudiop->setRolloffFactor(gSavedSettings.getF32("AudioLevelRolloff"));
+ gAudiop->setRolloffFactor(rolloff);
}
}
- // this line rotates the wind vector to be listener (agent) relative
- // Only use the agent's motion to compute wind noise, otherwise the world
- // feels desolate on login when you are standing still.
- gRelativeWindVec = gAgent.getFrameAgent().rotateToLocal( -gAgent.getVelocity() );
+
+ // Scale down the contribution of weather-simulation wind to the
+ // ambient wind noise. Wind velocity averages 3.5 m/s, with gusts to 7 m/s
+ // whereas steady-state avatar walk velocity is only 3.2 m/s.
+ // Without this the world feels desolate on first login when you are
+ // standing still.
+ static LLUICachedControl<F32> wind_level("AudioLevelWind", 0.5f);
+ LLVector3 scaled_wind_vec = gWindVec * wind_level;
+
+ // Mix in the avatar's motion, subtract because when you walk north,
+ // the apparent wind moves south.
+ LLVector3 final_wind_vec = scaled_wind_vec - gAgent.getVelocity();
+
+ // rotate the wind vector to be listener (agent) relative
+ gRelativeWindVec = gAgent.getFrameAgent().rotateToLocal( final_wind_vec );
// don't use the setter setMaxWindGain() because we don't
// want to screw up the fade-in on startup by setting actual source gain
diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp
index 00db11a767..23bdbc7381 100644
--- a/indra/newview/llviewerfloaterreg.cpp
+++ b/indra/newview/llviewerfloaterreg.cpp
@@ -53,7 +53,6 @@
#include "llfloaterbuyland.h"
#include "llfloaterbulkpermission.h"
#include "llfloaterbump.h"
-#include "llfloatercall.h"
#include "llfloatercamera.h"
#include "llfloaterchat.h"
#include "llfloaterchatterbox.h"
@@ -111,6 +110,7 @@
#include "llfloaterwater.h"
#include "llfloaterwhitelistentry.h"
#include "llfloaterwindlight.h"
+#include "llfloaterwindowsize.h"
#include "llfloaterworldmap.h"
#include "llimfloatercontainer.h"
#include "llinspectavatar.h"
@@ -260,6 +260,7 @@ void LLViewerFloaterReg::registerFloaters()
LLFloaterReg::add("voice_controls", "floater_voice_controls.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLCallFloater>);
LLFloaterReg::add("whitelist_entry", "floater_whitelist_entry.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterWhiteListEntry>);
+ LLFloaterWindowSizeUtil::registerFloater();
LLFloaterReg::add("world_map", "floater_world_map.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterWorldMap>);
// *NOTE: Please keep these alphabetized for easier merges
diff --git a/indra/newview/llvoicechannel.cpp b/indra/newview/llvoicechannel.cpp
index 8eafb98f4e..917d69fe16 100644
--- a/indra/newview/llvoicechannel.cpp
+++ b/indra/newview/llvoicechannel.cpp
@@ -33,7 +33,6 @@
#include "llviewerprecompiledheaders.h"
#include "llagent.h"
-#include "llfloatercall.h"
#include "llfloaterreg.h"
#include "llimview.h"
#include "llnotifications.h"
diff --git a/indra/newview/skins/default/textures/icons/Parcel_Damage_Light_Alt.png b/indra/newview/skins/default/textures/icons/Parcel_Damage_Light_Alt.png
new file mode 100644
index 0000000000..d72f02f708
--- /dev/null
+++ b/indra/newview/skins/default/textures/icons/Parcel_Damage_Light_Alt.png
Binary files differ
diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml
index b5f6109b1b..cc87d5c105 100644
--- a/indra/newview/skins/default/textures/textures.xml
+++ b/indra/newview/skins/default/textures/textures.xml
@@ -172,6 +172,7 @@ with the same filename but different name
<texture name="ForwardArrow_Press" file_name="icons/ForwardArrow_Press.png" preload="false" />
<texture name="Generic_Group" file_name="icons/Generic_Group.png" preload="false" />
+ <texture name="icon_group.tga" file_name="icons/Generic_Group.png" preload="false" />
<texture name="Generic_Group_Large" file_name="icons/Generic_Group_Large.png" preload="false" />
<texture name="Generic_Object_Medium" file_name="icons/Generic_Object_Medium.png" preload="false" />
<texture name="Generic_Object_Small" file_name="icons/Generic_Object_Small.png" preload="false" />
@@ -314,6 +315,9 @@ with the same filename but different name
<texture name="Notices_Unread" file_name="bottomtray/Notices_Unread.png" preload="true" />
+ <texture name="NoEntryLines" file_name="world/NoEntryLines.png" use_mips="true" preload="false" />
+ <texture name="NoEntryPassLines" file_name="world/NoEntryPassLines.png" use_mips="true" preload="false" />
+
<texture name="Object_Cone" file_name="build/Object_Cone.png" preload="false" />
<texture name="Object_Cube" file_name="build/Object_Cube.png" preload="false" />
<texture name="Object_Cylinder" file_name="build/Object_Cylinder.png" preload="false" />
@@ -553,8 +557,8 @@ with the same filename but different name
<texture name="TabTop_Right_Selected" file_name="containers/TabTop_Right_Selected.png" preload="false" />
<texture name="TabTop_Middle_Off" file_name="containers/TabTop_Middle_Off.png" preload="false" scale.left="8" scale.top="8" scale.right="120" scale.bottom="9" />
<texture name="TabTop_Middle_Selected" file_name="containers/TabTop_Middle_Selected.png" preload="false" scale.left="8" scale.top="8" scale.right="96" scale.bottom="9" />
- <texture name="TabTop_Left_Off" file_name="containers/TabTop_Left_Off.png" preload="false" scale.left="8" scale.top="8" scale.right="120" scale.bottom="9" />
- <texture name="TabTop_Left_Selected" file_name="containers/TabTop_Left_Selected.png" preload="false" scale.left="8" scale.top="8" scale.right="96" scale.bottom="9" />
+ <texture name="TabTop_Left_Off" file_name="containers/TabTop_Left_Off.png" preload="false" scale.left="8" scale.top="8" scale.right="120" scale.bottom="9" />
+ <texture name="TabTop_Left_Selected" file_name="containers/TabTop_Left_Selected.png" preload="false" scale.left="8" scale.top="8" scale.right="96" scale.bottom="9" />
<texture name="TaskPanel_Tab_Off" file_name="taskpanel/TaskPanel_Tab_Off.png" preload="false" scale.left="4" scale.top="29" scale.right="36" scale.bottom="4" />
<texture name="TaskPanel_Tab_Selected" file_name="taskpanel/TaskPanel_Tab_Selected.png" preload="false" scale.left="5" scale.top="30" scale.right="36" scale.bottom="5" />
@@ -641,28 +645,12 @@ with the same filename but different name
<texture name="PowerOff_Over" file_name="icons/PowerOff_Over.png" preload="false" />
<texture name="PowerOff_Press" file_name="icons/PowerOff_Press.png" preload="false" />
- <!--WARNING OLD ART *do not use*-->
-
- <texture name="btn_chatbar.tga" scale.left="20" scale.top="24" scale.right="44" scale.bottom="0" />
- <texture name="btn_chatbar_selected.tga" scale.left="20" scale.top="24" scale.right="44" scale.bottom="0" />
-
- <texture name="cam_rotate_out.tga" preload="false" />
- <texture name="cam_rotate_in.tga" preload="false" />
- <texture name="cam_zoom_out.tga" preload="false" />
- <texture name="cam_zoom_plus_in.tga" preload="false" />
- <texture name="cam_zoom_minus_in.tga" preload="false" />
-
+ <!--WARNING OLD ART BELOW *do not use*-->
<texture name="icn_chatbar.tga" />
- <texture name="icn_media-pause.tga" />
- <texture name="icn_media-play.tga" />
- <texture name="icn_music-play.tga" />
- <texture name="icn_music-pause.tga" />
<texture name="icn_media_web.tga" preload="true" />
<texture name="icn_media_movie.tga" preload="true" />
-
<texture name="icn_speaker-muted_dark.tga" />
<texture name="icn_speaker_dark.tga" />
-
<texture name="icn_voice-localchat.tga" />
<texture name="icn_voice-groupfocus.tga" />
<texture name="icn_voice-pvtfocus.tga" />
@@ -672,67 +660,30 @@ with the same filename but different name
<texture name="jump_right_out.tga" />
<texture name="jump_right_in.tga" />
- <texture name="move_forward_out.tga" preload="false" />
- <texture name="move_forward_in.tga" preload="false" />
- <texture name="move_left_out.tga" preload="false" />
- <texture name="move_left_in.tga" preload="false" />
- <texture name="move_turn_left_out.tga" preload="false" />
- <texture name="move_turn_left_in.tga" preload="false" />
- <texture name="move_turn_right_out.tga" preload="false" />
- <texture name="move_turn_right_in.tga" preload="false" />
- <texture name="move_right_out.tga" preload="false" />
- <texture name="move_right_in.tga" preload="false" />
- <texture name="move_up_in.tga" preload="false" />
- <texture name="move_up_out.tga" preload="false" />
- <texture name="move_down_in.tga" preload="false" />
- <texture name="move_down_out.tga" preload="false" />
-
<texture name="up_arrow.tga" file_name="up_arrow.png" />
<texture name="down_arrow.tga" file_name="down_arrow.png" />
+ <texture name="arrow_down.tga" />
<texture name="tearoffbox.tga" />
<texture name="tearoff_pressed.tga" />
<texture name="icn_label_music.tga" />
<texture name="icn_label_media.tga" />
- <texture name="arrow_down.tga" />
- <texture name="cloud-particle.j2c" use_mips="true" />
-
- <texture name="skin_thumbnail_default.png" preload="false" />
-
- <texture name="icn_textfield_enabled.tga" scale.left="5" scale.top="5" scale.bottom="5" scale.right="5" />
<texture name="icn_rounded-text-field.tga" scale.left="14" scale.bottom="16" scale.top="16" scale.right="114" />
- <texture name="toolbar_btn_enabled.tga" scale.left="7" scale.top="32" scale.right="121" scale.bottom="0" />
- <texture name="toolbar_btn_disabled.tga" scale.left="7" scale.top="32" scale.right="121" scale.bottom="0" />
- <texture name="toolbar_btn_selected.tga" scale.left="7" scale.top="32" scale.right="121" scale.bottom="0" />
-
<texture name="toggle_button_off" file_name="toggle_button_off.png" preload="true" />
<texture name="toggle_button_selected" file_name="toggle_button_selected.png" preload="true" />
<texture name="sm_rounded_corners_simple.tga" scale.left="4" scale.top="4" scale.bottom="4" scale.right="4" />
-
<texture name="rounded_square.tga" file_name="rounded_square.j2c" preload="true" scale.left="16" scale.top="16" scale.right="112" scale.bottom="16" />
-
- <texture name="rounded_square_soft.tga" file_name="rounded_square_soft.j2c" preload="true" scale.left="16" scale.top="16" scale.right="112" scale.bottom="16" />
-
- <texture name="toolbar_tab.tga" preload="true" scale.left="6" scale.top="42" scale.right="104" scale.bottom="8" />
- <texture name="toolbar_bg.tga" preload="true" scale.left="6" scale.top="42" scale.right="96" scale.bottom="16" />
-
- <texture name="tab_top_blue.tga" preload="false" scale.left="8" scale.top="8" scale.right="120" scale.bottom="9" />
- <texture name="tab_top_selected_blue.tga" preload="false" scale.left="8" scale.top="8" scale.right="96" scale.bottom="9" />
-
<texture name="color_swatch_alpha.tga" preload="true" />
<texture name="button_anim_pause.tga" />
<texture name="button_anim_pause_selected.tga" />
<texture name="button_anim_play.tga" />
<texture name="button_anim_play_selected.tga" />
- <texture name="button_anim_stop.tga" />
- <texture name="button_anim_stop_selected.tga" />
<texture name="crosshairs.tga" />
<texture name="direction_arrow.tga" />
- <texture name="foot_shadow.j2c" use_mips="true" />
<texture name="icon_auction.tga" />
<texture name="icon_avatar_offline.tga" />
@@ -742,10 +693,6 @@ with the same filename but different name
<texture name="icon_event.tga" />
<texture name="icon_event_mature.tga" />
<texture name="icon_for_sale.tga" />
- <texture name="icon_group.tga" />
- <texture name="icon_groupnotice.tga" />
- <texture name="icon_groupnoticeinventory.tga" />
- <texture name="icon_place.tga" />
<texture name="icon_place_for_sale.tga" />
<texture name="icon_popular.tga" />
<texture name="icon_top_pick.tga" />
@@ -768,8 +715,6 @@ with the same filename but different name
<texture name="media_icon.tga" file_name="icn_label_media.tga" />
<texture name="music_icon.tga" file_name="icn_label_music.tga" />
- <texture name="NoEntryLines" file_name="world/NoEntryLines.png" use_mips="true" preload="false" />
- <texture name="NoEntryPassLines" file_name="world/NoEntryPassLines.png" use_mips="true" preload="false" />
<texture name="notify_tip_icon.tga" />
<texture name="notify_caution_icon.tga" />
@@ -779,13 +724,11 @@ with the same filename but different name
<texture name="pixiesmall.j2c" use_mips="true" />
<texture name="script_error.j2c" use_mips="true" />
<texture name="silhouette.j2c" use_mips="true" />
+ <texture name="foot_shadow.j2c" use_mips="true" />
+ <texture name="cloud-particle.j2c" use_mips="true" />
<texture name="status_no_build.tga" />
<texture name="status_voice.tga" />
- <texture name="status_buy_currency.tga" />
- <texture name="status_buy_currency_pressed.tga" />
- <texture name="status_buy_land.tga" />
- <texture name="status_buy_land_pressed.tga" />
<texture name="status_no_fly.tga" />
<texture name="status_health.tga" />
<texture name="status_no_push.tga" />
@@ -812,23 +755,5 @@ with the same filename but different name
<texture name="default_profile_picture.j2c" />
<texture name="locked_image.j2c" />
- <texture name="media_btn_back.png" />
- <texture name="media_btn_done.png" />
- <texture name="media_btn_forward.png" />
- <texture name="media_btn_home.png" />
- <texture name="media_btn_newwindow.png" />
- <texture name="media_btn_optimalzoom.png" />
- <texture name="media_btn_reload.png" />
- <texture name="media_btn_scrolldown.png" />
- <texture name="media_btn_scrollleft.png" />
- <texture name="media_btn_scrollright.png" />
- <texture name="media_btn_scrollup.png" />
- <texture name="media_btn_stoploading.png" />
- <texture name="media_panel_divider.png" />
-
<texture name="media_floater_border_16.png" scale_top="12" scale_left="4" scale_bottom="4" scale_right="12" />
-
- <texture name="media_panel_bg.png" preload="true" scale_left="9" scale_top="9" scale_right="9" scale_bottom="9" />
- <texture name="media_panel_hoverrectangle.png" preload="true" scale_left="9" scale_top="9" scale_right="9" scale_bottom="9" />
-
</textures>
diff --git a/indra/newview/skins/default/xui/en/favorites_bar_button.xml b/indra/newview/skins/default/xui/en/favorites_bar_button.xml
index dcf9847adb..90105f92fd 100644
--- a/indra/newview/skins/default/xui/en/favorites_bar_button.xml
+++ b/indra/newview/skins/default/xui/en/favorites_bar_button.xml
@@ -23,6 +23,8 @@
pad_left="11"
pad_right="7"
tab_stop="false"
+ pad_right="10"
+ pad_left="10"
top="0"
use_ellipses="true"
width="140" />
diff --git a/indra/newview/skins/default/xui/en/floater_preview_texture.xml b/indra/newview/skins/default/xui/en/floater_preview_texture.xml
index 552902d1d9..0d155fb01e 100644
--- a/indra/newview/skins/default/xui/en/floater_preview_texture.xml
+++ b/indra/newview/skins/default/xui/en/floater_preview_texture.xml
@@ -64,7 +64,7 @@
height="16"
layout="topleft"
left_delta="-110"
- name="dimensions"
+ name="aspect_ratio"
top_pad="5"
width="200">
Preview aspect ratio
@@ -112,7 +112,7 @@
label="OK"
layout="topleft"
left="6"
- name="keep"
+ name="Keep"
top_pad="5"
width="100" />
<button
@@ -121,7 +121,7 @@
label="Cancel"
layout="topleft"
left_pad="5"
- name="discard"
+ name="Discard"
top_delta="0"
width="100" />
<button
diff --git a/indra/newview/skins/default/xui/en/floater_voice_controls.xml b/indra/newview/skins/default/xui/en/floater_voice_controls.xml
index 47fd03b8f6..1fa613468f 100644
--- a/indra/newview/skins/default/xui/en/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/en/floater_voice_controls.xml
@@ -87,14 +87,58 @@
visible="true"
width="20" />
</panel>
- <button
- follows="left|right|top"
- height="24"
- label="Leave Call"
- left="91"
- name="leave_call_btn"
- top_pad="6"
- width="100" />
+ <layout_stack
+ border_size="0"
+ clip="false"
+ follows="all"
+ height="28"
+ layout="topleft"
+ left="10"
+ mouse_opaque="false"
+ name="leave_call_stack"
+ orientation="horizontal"
+ top_pad="5"
+ width="263">
+ <layout_panel
+ auto_resize="true"
+ follows="left|right"
+ height="26"
+ layout="topleft"
+ min_height="23"
+ min_width="5"
+ mouse_opaque="false"
+ name="left_anchor"
+ width="80"/>
+ <layout_panel
+ auto_resize="false"
+ follows="left|right"
+ height="26"
+ layout="topleft"
+ mouse_opaque="false"
+ min_height="24"
+ min_width="100"
+ name="leave_call_btn_panel"
+ width="100">
+ <button
+ follows="left|right"
+ height="24"
+ label="Leave Call"
+ left="0"
+ name="leave_call_btn"
+ top="0"
+ width="100" />
+ </layout_panel>
+ <layout_panel
+ auto_resize="true"
+ follows="left|right"
+ height="26"
+ layout="topleft"
+ mouse_opaque="false"
+ min_height="24"
+ min_width="5"
+ name="right_anchor"
+ width="80"/>
+ </layout_stack>
</panel>
<avatar_list
follows="all"
diff --git a/indra/newview/skins/default/xui/en/floater_window_size.xml b/indra/newview/skins/default/xui/en/floater_window_size.xml
new file mode 100644
index 0000000000..355d257785
--- /dev/null
+++ b/indra/newview/skins/default/xui/en/floater_window_size.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<floater
+ can_minimize="false"
+ can_resize="false"
+ height="105"
+ layout="topleft"
+ name="window_size"
+ title="WINDOW SIZE"
+ width="205">
+ <string name="resolution_format">[RES_X] x [RES_Y]</string>
+ <text
+ follows="top|left"
+ font="SansSerif"
+ height="16"
+ left="15"
+ top="10"
+ name="windowsize_text"
+ width="280">
+ Set window size:
+ </text>
+ <combo_box
+ allow_text_entry="true"
+ height="23"
+ follows="left|top"
+ left_delta="0"
+ max_chars="20"
+ name="window_size_combo"
+ tool_tip="width x height"
+ top_pad="5"
+ width="179">
+ <combo_box.item
+ label="1000 x 700 (default)"
+ name="item0"
+ value="1000 x 700" />
+ <combo_box.item
+ label="1024 x 768"
+ name="item1"
+ value="1024 x 768" />
+ <combo_box.item
+ label="1280 x 720 (720p)"
+ name="item2"
+ value="1280 x 720" />
+ <combo_box.item
+ label="1920 x 1080 (1080p)"
+ name="item3"
+ value="1920 x 1080" />
+ </combo_box>
+ <button
+ follows="right|bottom"
+ height="23"
+ label="Set"
+ left_delta="0"
+ name="set_btn"
+ top_pad="10"
+ width="85" />
+ <button
+ follows="right|bottom"
+ height="23"
+ label="Cancel"
+ left_pad="5"
+ name="cancel_btn"
+ top_delta="0"
+ width="85" />
+</floater>
diff --git a/indra/newview/skins/default/xui/en/inspect_avatar.xml b/indra/newview/skins/default/xui/en/inspect_avatar.xml
index 996d0f1b72..2f2964c42b 100644
--- a/indra/newview/skins/default/xui/en/inspect_avatar.xml
+++ b/indra/newview/skins/default/xui/en/inspect_avatar.xml
@@ -54,7 +54,7 @@
width="175"
use_ellipses="true" />
<text
- follows="all"
+ follows="left|top|right"
height="35"
left="8"
name="user_details"
diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml
index 65a545d2ed..861eb9009a 100644
--- a/indra/newview/skins/default/xui/en/main_view.xml
+++ b/indra/newview/skins/default/xui/en/main_view.xml
@@ -15,7 +15,7 @@
orientation="vertical"
top="19">
<layout_panel auto_resize="false"
- height="65"
+ height="60"
mouse_opaque="false"
name="nav_bar_container"
width="1024"
diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml
index 7a0b11872a..690167bc33 100644
--- a/indra/newview/skins/default/xui/en/menu_login.xml
+++ b/indra/newview/skins/default/xui/en/menu_login.xml
@@ -233,6 +233,13 @@
parameter="RegInClient" />
</menu_item_check>
<menu_item_separator />
+ <menu_item_call
+ label="Set Window Size..."
+ name="Set Window Size...">
+ <menu_item_call.on_click
+ function="Floater.Show"
+ parameter="window_size" />
+ </menu_item_call>
<menu_item_call
label="Show TOS"
name="TOS">
diff --git a/indra/newview/skins/default/xui/en/menu_teleport_history_gear.xml b/indra/newview/skins/default/xui/en/menu_teleport_history_gear.xml
index 6768d7fccb..134b331514 100644
--- a/indra/newview/skins/default/xui/en/menu_teleport_history_gear.xml
+++ b/indra/newview/skins/default/xui/en/menu_teleport_history_gear.xml
@@ -13,12 +13,18 @@
name="Expand all folders">
<menu_item_call.on_click
function="TeleportHistory.ExpandAllFolders" />
+ <on_enable
+ function="TeleportHistory.GearMenu.Enable"
+ parameter="expand_all" />
</menu_item_call>
<menu_item_call
label="Collapse all folders"
name="Collapse all folders">
<menu_item_call.on_click
function="TeleportHistory.CollapseAllFolders" />
+ <on_enable
+ function="TeleportHistory.GearMenu.Enable"
+ parameter="collapse_all" />
</menu_item_call>
<menu_item_separator layout="topleft" />
<menu_item_call
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index 0640ae21de..4e495bab3f 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -1119,6 +1119,13 @@
<menu_item_call.on_click
function="View.DefaultUISize" />
</menu_item_call>
+ <menu_item_call
+ label="Set Window Size..."
+ name="Set Window Size...">
+ <menu_item_call.on_click
+ function="Floater.Show"
+ parameter="window_size" />
+ </menu_item_call>
<menu_item_separator/>
<menu_item_check
label="Limit Select Distance"
diff --git a/indra/newview/skins/default/xui/en/panel_bars.xml b/indra/newview/skins/default/xui/en/panel_bars.xml
index 527ec4e007..96722ce278 100644
--- a/indra/newview/skins/default/xui/en/panel_bars.xml
+++ b/indra/newview/skins/default/xui/en/panel_bars.xml
@@ -9,7 +9,7 @@
width="1024">
<layout_stack name="menu_stack" orientation="vertical" height="768" border_size="0">
<panel auto_resize="false" width="1024" name="status_bar" filename="panel_status_bar.xml"/>
- <panel auto_resize="false" width="1024" height="65" name="navigation bar" filename="panel_navigation_bar.xml"/>
+ <panel auto_resize="false" width="1024" height="60" name="navigation bar" filename="panel_navigation_bar.xml"/>
<layout_stack name="hud_stack" orientation="horizontal" auto_resize="true" width="1024" height="500" follows="all">
<panel auto_resize="true" name="floater_view" height="500"/>
<panel auto_resize="false" filename="panel_side_tray.xml" height="500" width="333"/>
diff --git a/indra/newview/skins/default/xui/en/panel_bottomtray.xml b/indra/newview/skins/default/xui/en/panel_bottomtray.xml
index f88f8264b5..b92aa10ffc 100644
--- a/indra/newview/skins/default/xui/en/panel_bottomtray.xml
+++ b/indra/newview/skins/default/xui/en/panel_bottomtray.xml
@@ -341,7 +341,7 @@ as for parent layout_panel (chiclet_list_panel) to resize bottom tray properly.
top="4"
width="35">
<!--
-Emulate 4 states of button by background images, see detains in EXT-3147. The same should be for notification_well button
+Emulate 4 states of button by background images, see details in EXT-3147. The same should be for notification_well button
xml attribute Description
image_unselected "Unlit" - there are no new messages
image_selected "Unlit" + "Selected" - there are no new messages and the Well is open
@@ -364,6 +364,7 @@ image_pressed_selected "Lit" + "Selected" - there are new messages and the Well
name="Unread IM messages"
pad_left="0"
pad_right="0"
+ tool_tip="Conversations"
width="35" >
<button.init_callback
function="Button.SetDockableFloaterToggle"
@@ -409,6 +410,7 @@ image_pressed_selected "Lit" + "Selected" - there are new messages and the Well
image_overlay="Notices_Unread"
image_overlay_alignment="center"
pad_right="5"
+ tool_tip="Notifications"
width="35" >
<button.init_callback
function="Button.SetDockableFloaterToggle"
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 744ee43f57..67a4edbf32 100644
--- a/indra/newview/skins/default/xui/en/panel_landmark_info.xml
+++ b/indra/newview/skins/default/xui/en/panel_landmark_info.xml
@@ -239,7 +239,6 @@
use_ellipses="true"
width="290" />
<line_editor
- background_image_disabled="task_panel_background.png"
follows="left|top|right"
height="22"
layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
index 74265a51ca..0f9b095d8c 100644
--- a/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
+++ b/indra/newview/skins/default/xui/en/panel_navigation_bar.xml
@@ -4,7 +4,7 @@
background_visible="true"
bg_opaque_color="MouseGray"
follows="left|top|right"
- height="65"
+ height="60"
layout="topleft"
name="navigation_bar"
chrome="true"
@@ -18,7 +18,7 @@
visible="true"
left="0"
top="0"
- height="65"
+ height="60"
width="600"/>
<icon
follows="all"
@@ -29,7 +29,7 @@
visible="false"
left="0"
top="0"
- height="65"
+ height="60"
width="600"/>
<panel
background_visible="false"
@@ -149,13 +149,13 @@
<favorites_bar
follows="left|right|top"
- font="SansSerif"
+ font="SansSerifSmall"
height="15"
layout="topleft"
left="0"
name="favorite"
image_drag_indication="arrow_down.tga"
- bottom="62"
+ bottom="57"
width="590">
<chevron_button name=">>"
image_unselected="TabIcon_Close_Off"
diff --git a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml
index 426a2b1f9e..17651b8caa 100644
--- a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml
+++ b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml
@@ -10,10 +10,6 @@
name="advanced"
top="1"
width="517">
- <panel.string
- name="resolution_format">
- [RES_X] x [RES_Y]
- </panel.string>
<panel.string
name="aspect_ratio_text">
[NUM]:[DEN]
diff --git a/indra/newview/skins/default/xui/en/panel_prim_media_controls.xml b/indra/newview/skins/default/xui/en/panel_prim_media_controls.xml
index 97790535d0..677d0de243 100644
--- a/indra/newview/skins/default/xui/en/panel_prim_media_controls.xml
+++ b/indra/newview/skins/default/xui/en/panel_prim_media_controls.xml
@@ -29,12 +29,14 @@
height="75"
layout="topleft"
left="0"
+ mouse_opaque="false"
orientation="horizontal"
top="100">
<!-- outer layout_panels center the inner one -->
<layout_panel
name="left_bookend"
width="0"
+ mouse_opaque="false"
layout="topleft"
user_resize="false" />
<layout_panel
@@ -42,6 +44,7 @@
auto_resize="false"
user_resize="false"
layout="topleft"
+ mouse_opaque="false"
min_width="22"
width="22"
top="4">
diff --git a/indra/newview/skins/default/xui/en/panel_side_tray.xml b/indra/newview/skins/default/xui/en/panel_side_tray.xml
index 4565663bba..61f0fa3099 100644
--- a/indra/newview/skins/default/xui/en/panel_side_tray.xml
+++ b/indra/newview/skins/default/xui/en/panel_side_tray.xml
@@ -31,6 +31,24 @@
</sidetray_tab>
<sidetray_tab
+ name="sidebar_me"
+ help_topic="sidebar_me"
+ tab_title="My Profile"
+ description="Edit your public profile and Picks."
+ image="TabIcon_Me_Off"
+ image_selected="TabIcon_Me_Selected"
+ mouse_opaque="false"
+ background_visible="true"
+ >
+ <panel
+ class="panel_me"
+ name="panel_me"
+ filename="panel_me.xml"
+ label="Me"
+ />
+ </sidetray_tab>
+
+ <sidetray_tab
name="sidebar_people"
help_topic="sidebar_people"
tab_title="People"
@@ -94,20 +112,21 @@
</sidetray_tab>
<sidetray_tab
- name="sidebar_me"
- help_topic="sidebar_me"
- tab_title="My Profile"
- description="Edit your public profile and Picks."
- image="TabIcon_Me_Off"
- image_selected="TabIcon_Me_Selected"
+ name="sidebar_inventory"
+ help_topic="sidebar_inventory"
+ tab_title="My Inventory"
+ description="Browse your inventory."
+ image="TabIcon_Things_Off"
+ image_selected="TabIcon_Things_Selected"
mouse_opaque="false"
background_visible="true"
>
<panel
- class="panel_me"
- name="panel_me"
- filename="panel_me.xml"
- label="Me"
+ class="sidepanel_inventory"
+ name="sidepanel_inventory"
+ filename="sidepanel_inventory.xml"
+ label="Edit Inventory"
+ font="SansSerifBold"
/>
</sidetray_tab>
@@ -130,23 +149,4 @@
/>
</sidetray_tab>
- <sidetray_tab
- name="sidebar_inventory"
- help_topic="sidebar_inventory"
- tab_title="My Inventory"
- description="Browse your inventory."
- image="TabIcon_Things_Off"
- image_selected="TabIcon_Things_Selected"
- mouse_opaque="false"
- background_visible="true"
- >
- <panel
- class="sidepanel_inventory"
- name="sidepanel_inventory"
- filename="sidepanel_inventory.xml"
- label="Edit Inventory"
- font="SansSerifBold"
- />
- </sidetray_tab>
-
</side_tray>
diff --git a/indra/newview/skins/default/xui/en/sidepanel_item_info.xml b/indra/newview/skins/default/xui/en/sidepanel_item_info.xml
index 790f8afd3a..4a992dadd9 100644
--- a/indra/newview/skins/default/xui/en/sidepanel_item_info.xml
+++ b/indra/newview/skins/default/xui/en/sidepanel_item_info.xml
@@ -149,7 +149,7 @@
width="20" />
<text
type="string"
- follows="left|right"
+ follows="left|right|top"
font="SansSerifSmall"
height="15"
layout="topleft"
@@ -191,7 +191,7 @@
width="20" />
<text
type="string"
- follows="left|right"
+ follows="left|right|top"
font="SansSerifSmall"
height="15"
layout="topleft"
diff --git a/indra/newview/skins/default/xui/en/widgets/location_input.xml b/indra/newview/skins/default/xui/en/widgets/location_input.xml
index 7ac44b412d..1368c6826d 100644
--- a/indra/newview/skins/default/xui/en/widgets/location_input.xml
+++ b/indra/newview/skins/default/xui/en/widgets/location_input.xml
@@ -95,12 +95,11 @@
follows="right|top"
image_name="Parcel_ScriptsNo_Light"
/>
- <!-- NOTE: Placeholder icon, there is no dark grayscale version -->
<damage_icon
name="damage_icon"
- width="22"
- height="18"
- top="21"
+ width="20"
+ height="16"
+ top="20"
follows="right|top"
image_name="Parcel_Damage_Light"
/>