diff options
Diffstat (limited to 'indra/newview')
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 Binary files differnew file mode 100644 index 0000000000..d72f02f708 --- /dev/null +++ b/indra/newview/skins/default/textures/icons/Parcel_Damage_Light_Alt.png 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" /> |