summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.hgtags7
-rw-r--r--indra/llcommon/llversionviewer.h2
-rw-r--r--indra/llui/llsdparam.cpp2
-rw-r--r--indra/llui/llsdparam.h7
-rw-r--r--indra/llui/llurlaction.cpp28
-rw-r--r--indra/llui/llurlaction.h21
-rw-r--r--indra/llwindow/llwindowsdl.cpp13
-rw-r--r--indra/newview/CMakeLists.txt2
-rwxr-xr-xindra/newview/llappviewer.cpp6
-rw-r--r--indra/newview/llfloaterhelpbrowser.h2
-rw-r--r--indra/newview/llfloatermediabrowser.cpp462
-rw-r--r--indra/newview/llfloatermediabrowser.h86
-rw-r--r--indra/newview/llinventorypanel.cpp75
-rw-r--r--indra/newview/llinventorypanel.h2
-rw-r--r--indra/newview/llmediactrl.cpp21
-rw-r--r--indra/newview/llnavigationbar.cpp1
-rw-r--r--indra/newview/llpanelmarketplaceinboxinventory.cpp16
-rwxr-xr-xindra/newview/llpanelpicks.cpp14
-rw-r--r--indra/newview/llsidepanelinventory.cpp18
-rw-r--r--indra/newview/llsidepanelinventory.h6
-rw-r--r--indra/newview/llstartup.cpp8
-rw-r--r--indra/newview/llviewerfloaterreg.cpp2
-rw-r--r--indra/newview/llviewermedia.cpp3
-rw-r--r--indra/newview/llviewermessage.cpp9
-rw-r--r--indra/newview/llweb.cpp34
-rw-r--r--indra/newview/llweb.h14
-rw-r--r--indra/newview/llworldmapmessage.cpp5
-rw-r--r--indra/newview/skins/default/xui/en/menu_login.xml7
-rw-r--r--indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml1
-rw-r--r--indra/newview/skins/default/xui/en/widgets/chiclet_im_group.xml1
-rw-r--r--indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml1
-rw-r--r--indra/newview/skins/default/xui/es/panel_people.xml2
-rw-r--r--indra/newview/skins/default/xui/es/strings.xml3
-rw-r--r--indra/newview/skins/default/xui/ru/floater_about_land.xml34
-rw-r--r--indra/newview/skins/default/xui/ru/floater_bulk_perms.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_buy_currency.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_color_picker.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_destinations.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_edit_day_cycle.xml18
-rw-r--r--indra/newview/skins/default/xui/ru/floater_edit_sky_preset.xml8
-rw-r--r--indra/newview/skins/default/xui/ru/floater_edit_water_preset.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_god_tools.xml4
-rw-r--r--indra/newview/skins/default/xui/ru/floater_image_preview.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_joystick.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_lagmeter.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_land_holdings.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_model_wizard.xml8
-rw-r--r--indra/newview/skins/default/xui/ru/floater_select_key.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_snapshot.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_tools.xml46
-rw-r--r--indra/newview/skins/default/xui/ru/floater_toybox.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_voice_controls.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_windlight_options.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/floater_world_map.xml4
-rw-r--r--indra/newview/skins/default/xui/ru/menu_attachment_other.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/menu_gesture_gear.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/menu_inventory_gear_default.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/menu_landmark.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/menu_model_import_gear_default.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/menu_participant_list.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/menu_places_gear_landmark.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/menu_viewer.xml4
-rw-r--r--indra/newview/skins/default/xui/ru/notifications.xml12
-rw-r--r--indra/newview/skins/default/xui/ru/panel_edit_alpha.xml4
-rw-r--r--indra/newview/skins/default/xui/ru/panel_edit_shape.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/panel_im_control_panel.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/panel_landmarks.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/panel_navigation_bar.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/panel_notes.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/panel_outfit_edit.xml4
-rw-r--r--indra/newview/skins/default/xui/ru/panel_people.xml10
-rw-r--r--indra/newview/skins/default/xui/ru/panel_preferences_chat.xml2
-rw-r--r--indra/newview/skins/default/xui/ru/panel_preferences_move.xml6
-rw-r--r--indra/newview/skins/default/xui/ru/panel_profile.xml4
-rw-r--r--indra/newview/skins/default/xui/ru/panel_region_estate.xml6
-rw-r--r--indra/newview/skins/default/xui/ru/panel_region_general.xml6
-rw-r--r--indra/newview/skins/default/xui/ru/panel_region_terrain.xml28
-rw-r--r--indra/newview/skins/default/xui/ru/panel_region_texture.xml24
-rw-r--r--indra/newview/skins/default/xui/ru/strings.xml178
79 files changed, 422 insertions, 921 deletions
diff --git a/.hgtags b/.hgtags
index 6cfb3810a3..b863bbe37b 100644
--- a/.hgtags
+++ b/.hgtags
@@ -213,7 +213,11 @@ e440cd1dfbd128d7d5467019e497f7f803640ad6 3.2.0-beta1
9bcc2b7176634254e501e3fb4c5b56c1f637852e 3.2.0-beta2
2a13d30ee50ccfed50268238e36bb90d738ccc9e DRTVWR-98_3.2.0-beta3
2a13d30ee50ccfed50268238e36bb90d738ccc9e 3.2.0-beta3
+3150219d229d628f0c15e58e8a51511cbd97e58d DRTVWR-94_3.2.0-release
+3150219d229d628f0c15e58e8a51511cbd97e58d 3.2.0-release
c4911ec8cd81e676dfd2af438b3e065407a94a7a 3.2.1-start
+3150219d229d628f0c15e58e8a51511cbd97e58d DRTVWR-94_3.2.0-release
+3150219d229d628f0c15e58e8a51511cbd97e58d 3.2.0-release
40b46edba007d15d0059c80864b708b99c1da368 3.2.2-start
3150219d229d628f0c15e58e8a51511cbd97e58d DRTVWR-94_3.2.0-release
3150219d229d628f0c15e58e8a51511cbd97e58d 3.2.0-release
@@ -221,3 +225,6 @@ c4911ec8cd81e676dfd2af438b3e065407a94a7a 3.2.1-start
9e390d76807fa70d356b8716fb83b8ce42a629ef 3.2.1-beta1
523df3e67378541498d516d52af4402176a26bac DRTVWR-102_3.2.2-beta1
523df3e67378541498d516d52af4402176a26bac 3.2.2-beta1
+80f3e30d8aa4d8f674a48bd742aaa6d8e9eae0b5 3.2.3-start
+a8c7030d6845186fac7c188be4323a0e887b4184 DRTVWR-99_3.2.1-release
+a8c7030d6845186fac7c188be4323a0e887b4184 3.2.1-release
diff --git a/indra/llcommon/llversionviewer.h b/indra/llcommon/llversionviewer.h
index fc1c1449da..b50405421d 100644
--- a/indra/llcommon/llversionviewer.h
+++ b/indra/llcommon/llversionviewer.h
@@ -29,7 +29,7 @@
const S32 LL_VERSION_MAJOR = 3;
const S32 LL_VERSION_MINOR = 2;
-const S32 LL_VERSION_PATCH = 2;
+const S32 LL_VERSION_PATCH = 4;
const S32 LL_VERSION_BUILD = 0;
const char * const LL_CHANNEL = "Second Life Developer";
diff --git a/indra/llui/llsdparam.cpp b/indra/llui/llsdparam.cpp
index 6fa90933a4..0e29873bb0 100644
--- a/indra/llui/llsdparam.cpp
+++ b/indra/llui/llsdparam.cpp
@@ -36,6 +36,8 @@ static LLInitParam::Parser::parser_write_func_map_t sWriteFuncs;
static LLInitParam::Parser::parser_inspect_func_map_t sInspectFuncs;
static const LLSD NO_VALUE_MARKER;
+LLFastTimer::DeclareTimer FTM_SD_PARAM_ADAPTOR("LLSD to LLInitParam conversion");
+
//
// LLParamSDParser
//
diff --git a/indra/llui/llsdparam.h b/indra/llui/llsdparam.h
index c1cfa98399..3dfc6d020e 100644
--- a/indra/llui/llsdparam.h
+++ b/indra/llui/llsdparam.h
@@ -91,6 +91,8 @@ private:
LLSD* mCurWriteSD;
};
+
+extern LLFastTimer::DeclareTimer FTM_SD_PARAM_ADAPTOR;
template<typename T>
class LLSDParamAdapter : public T
{
@@ -98,8 +100,11 @@ public:
LLSDParamAdapter() {}
LLSDParamAdapter(const LLSD& sd)
{
+ LLFastTimer _(FTM_SD_PARAM_ADAPTOR);
LLParamSDParser parser;
- parser.readSD(sd, *this);
+ // don't spam for implicit parsing of LLSD, as we want to allow arbitrary freeform data and ignore most of it
+ bool parse_silently = true;
+ parser.readSD(sd, *this, parse_silently);
}
operator LLSD() const
diff --git a/indra/llui/llurlaction.cpp b/indra/llui/llurlaction.cpp
index 42b779bd28..fd9b3d9a6d 100644
--- a/indra/llui/llurlaction.cpp
+++ b/indra/llui/llurlaction.cpp
@@ -33,28 +33,28 @@
#include "llurlregistry.h"
// global state for the callback functions
-void (*LLUrlAction::sOpenURLCallback) (const std::string& url) = NULL;
-void (*LLUrlAction::sOpenURLInternalCallback) (const std::string& url) = NULL;
-void (*LLUrlAction::sOpenURLExternalCallback) (const std::string& url) = NULL;
-bool (*LLUrlAction::sExecuteSLURLCallback) (const std::string& url) = NULL;
+LLUrlAction::url_callback_t LLUrlAction::sOpenURLCallback;
+LLUrlAction::url_callback_t LLUrlAction::sOpenURLInternalCallback;
+LLUrlAction::url_callback_t LLUrlAction::sOpenURLExternalCallback;
+LLUrlAction::execute_url_callback_t LLUrlAction::sExecuteSLURLCallback;
-void LLUrlAction::setOpenURLCallback(void (*cb) (const std::string& url))
+void LLUrlAction::setOpenURLCallback(url_callback_t cb)
{
sOpenURLCallback = cb;
}
-void LLUrlAction::setOpenURLInternalCallback(void (*cb) (const std::string& url))
+void LLUrlAction::setOpenURLInternalCallback(url_callback_t cb)
{
sOpenURLInternalCallback = cb;
}
-void LLUrlAction::setOpenURLExternalCallback(void (*cb) (const std::string& url))
+void LLUrlAction::setOpenURLExternalCallback(url_callback_t cb)
{
sOpenURLExternalCallback = cb;
}
-void LLUrlAction::setExecuteSLURLCallback(bool (*cb) (const std::string& url))
+void LLUrlAction::setExecuteSLURLCallback(execute_url_callback_t cb)
{
sExecuteSLURLCallback = cb;
}
@@ -63,7 +63,7 @@ void LLUrlAction::openURL(std::string url)
{
if (sOpenURLCallback)
{
- (*sOpenURLCallback)(url);
+ sOpenURLCallback(url);
}
}
@@ -71,7 +71,7 @@ void LLUrlAction::openURLInternal(std::string url)
{
if (sOpenURLInternalCallback)
{
- (*sOpenURLInternalCallback)(url);
+ sOpenURLInternalCallback(url);
}
}
@@ -79,7 +79,7 @@ void LLUrlAction::openURLExternal(std::string url)
{
if (sOpenURLExternalCallback)
{
- (*sOpenURLExternalCallback)(url);
+ sOpenURLExternalCallback(url);
}
}
@@ -87,18 +87,18 @@ void LLUrlAction::executeSLURL(std::string url)
{
if (sExecuteSLURLCallback)
{
- (*sExecuteSLURLCallback)(url);
+ sExecuteSLURLCallback(url);
}
}
void LLUrlAction::clickAction(std::string url)
{
// Try to handle as SLURL first, then http Url
- if ( (sExecuteSLURLCallback) && !(*sExecuteSLURLCallback)(url) )
+ if ( (sExecuteSLURLCallback) && !sExecuteSLURLCallback(url) )
{
if (sOpenURLCallback)
{
- (*sOpenURLCallback)(url);
+ sOpenURLCallback(url);
}
}
}
diff --git a/indra/llui/llurlaction.h b/indra/llui/llurlaction.h
index 0132dbaaf0..c34960b826 100644
--- a/indra/llui/llurlaction.h
+++ b/indra/llui/llurlaction.h
@@ -29,6 +29,7 @@
#define LL_LLURLACTION_H
#include <string>
+#include <boost/function.hpp>
///
/// The LLUrlAction class provides a number of static functions that
@@ -77,17 +78,21 @@ public:
static void showProfile(std::string url);
/// specify the callbacks to enable this class's functionality
- static void setOpenURLCallback(void (*cb) (const std::string& url));
- static void setOpenURLInternalCallback(void (*cb) (const std::string& url));
- static void setOpenURLExternalCallback(void (*cb) (const std::string& url));
- static void setExecuteSLURLCallback(bool (*cb) (const std::string& url));
+ typedef boost::function<void (const std::string&)> url_callback_t;
+ typedef boost::function<bool(const std::string& url)> execute_url_callback_t;
+
+ static void setOpenURLCallback(url_callback_t cb);
+ static void setOpenURLInternalCallback(url_callback_t cb);
+ static void setOpenURLExternalCallback(url_callback_t cb);
+ static void setExecuteSLURLCallback(execute_url_callback_t cb);
private:
// callbacks for operations we can perform on Urls
- static void (*sOpenURLCallback) (const std::string& url);
- static void (*sOpenURLInternalCallback) (const std::string& url);
- static void (*sOpenURLExternalCallback) (const std::string& url);
- static bool (*sExecuteSLURLCallback) (const std::string& url);
+ static url_callback_t sOpenURLCallback;
+ static url_callback_t sOpenURLInternalCallback;
+ static url_callback_t sOpenURLExternalCallback;
+
+ static execute_url_callback_t sExecuteSLURLCallback;
};
#endif
diff --git a/indra/llwindow/llwindowsdl.cpp b/indra/llwindow/llwindowsdl.cpp
index e41aa9820f..da2222ad51 100644
--- a/indra/llwindow/llwindowsdl.cpp
+++ b/indra/llwindow/llwindowsdl.cpp
@@ -63,6 +63,9 @@ extern BOOL gDebugWindowProc;
const S32 MAX_NUM_RESOLUTIONS = 200;
+const S32 MIN_WINDOW_WIDTH = 1024;
+const S32 MIN_WINDOW_HEIGHT = 768;
+
// static variable for ATI mouse cursor crash work-around:
static bool ATIbug = false;
@@ -1843,11 +1846,15 @@ void LLWindowSDL::gatherInput()
break;
case SDL_VIDEORESIZE: // *FIX: handle this?
+ {
llinfos << "Handling a resize event: " << event.resize.w <<
"x" << event.resize.h << llendl;
+ S32 width = llmax(event.resize.w, MIN_WINDOW_WIDTH);
+ S32 height = llmax(event.resize.h, MIN_WINDOW_HEIGHT);
+
// *FIX: I'm not sure this is necessary!
- mWindow = SDL_SetVideoMode(event.resize.w, event.resize.h, 32, mSDLFlags);
+ mWindow = SDL_SetVideoMode(width, height, 32, mSDLFlags);
if (!mWindow)
{
// *FIX: More informative dialog?
@@ -1861,9 +1868,9 @@ void LLWindowSDL::gatherInput()
break;
}
- mCallbacks->handleResize(this, event.resize.w, event.resize.h );
+ mCallbacks->handleResize(this, width, height);
break;
-
+ }
case SDL_ACTIVEEVENT:
if (event.active.state & SDL_APPINPUTFOCUS)
{
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index ff9cf3199e..ba05f6288b 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -207,7 +207,6 @@ set(viewer_SOURCE_FILES
llfloaterland.cpp
llfloaterlandholdings.cpp
llfloatermap.cpp
- llfloatermediabrowser.cpp
llfloatermediasettings.cpp
llfloatermemleak.cpp
llfloatermodelpreview.cpp
@@ -781,7 +780,6 @@ set(viewer_HEADER_FILES
llfloaterland.h
llfloaterlandholdings.h
llfloatermap.h
- llfloatermediabrowser.h
llfloatermediasettings.h
llfloatermemleak.h
llfloatermodelpreview.h
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index c937f604fc..8bf4d94059 100755
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -847,9 +847,9 @@ bool LLAppViewer::init()
LLWeb::initClass(); // do this after LLUI
// Provide the text fields with callbacks for opening Urls
- LLUrlAction::setOpenURLCallback(&LLWeb::loadURL);
- LLUrlAction::setOpenURLInternalCallback(&LLWeb::loadURLInternal);
- LLUrlAction::setOpenURLExternalCallback(&LLWeb::loadURLExternal);
+ LLUrlAction::setOpenURLCallback(boost::bind(&LLWeb::loadURL, _1, LLStringUtil::null, LLStringUtil::null));
+ LLUrlAction::setOpenURLInternalCallback(boost::bind(&LLWeb::loadURLInternal, _1, LLStringUtil::null, LLStringUtil::null));
+ LLUrlAction::setOpenURLExternalCallback(boost::bind(&LLWeb::loadURLExternal, _1, true, LLStringUtil::null));
LLUrlAction::setExecuteSLURLCallback(&LLURLDispatcher::dispatchFromTextEditor);
// Let code in llui access the viewer help floater
diff --git a/indra/newview/llfloaterhelpbrowser.h b/indra/newview/llfloaterhelpbrowser.h
index 80b0ecc06b..bf4f544a14 100644
--- a/indra/newview/llfloaterhelpbrowser.h
+++ b/indra/newview/llfloaterhelpbrowser.h
@@ -1,5 +1,5 @@
/**
- * @file llfloatermediabrowser.h
+ * @file llfloaterhelpbrowser.h
* @brief HTML Help floater - uses embedded web browser control
*
* $LicenseInfo:firstyear=2006&license=viewerlgpl$
diff --git a/indra/newview/llfloatermediabrowser.cpp b/indra/newview/llfloatermediabrowser.cpp
deleted file mode 100644
index 7a670dd90c..0000000000
--- a/indra/newview/llfloatermediabrowser.cpp
+++ /dev/null
@@ -1,462 +0,0 @@
-/**
- * @file llfloatermediabrowser.cpp
- * @brief media browser floater - uses embedded media browser control
- *
- * $LicenseInfo:firstyear=2006&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2010, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#include "llviewerprecompiledheaders.h"
-
-#include "llfloatermediabrowser.h"
-
-#include "llfloaterreg.h"
-#include "llparcel.h"
-#include "llpluginclassmedia.h"
-#include "lluictrlfactory.h"
-#include "llmediactrl.h"
-#include "llviewerwindow.h"
-#include "llviewercontrol.h"
-#include "llviewerparcelmgr.h"
-#include "llweb.h"
-#include "llui.h"
-#include "roles_constants.h"
-
-#include "llurlhistory.h"
-#include "llmediactrl.h"
-#include "llviewermedia.h"
-#include "llviewerparcelmedia.h"
-#include "llcombobox.h"
-#include "llwindow.h"
-#include "lllayoutstack.h"
-#include "llcheckboxctrl.h"
-
-#include "llnotifications.h"
-
-// TEMP
-#include "llsdutil.h"
-
-LLFloaterMediaBrowser::LLFloaterMediaBrowser(const LLSD& key)
- : LLFloater(key)
-{
-}
-
-//static
-void LLFloaterMediaBrowser::create(const std::string &url, const std::string& target, const std::string& uuid)
-{
- lldebugs << "url = " << url << ", target = " << target << ", uuid = " << uuid << llendl;
-
- std::string tag = target;
-
- if(target.empty() || target == "_blank")
- {
- if(!uuid.empty())
- {
- tag = uuid;
- }
- else
- {
- // create a unique tag for this instance
- LLUUID id;
- id.generate();
- tag = id.asString();
- }
- }
-
- S32 browser_window_limit = gSavedSettings.getS32("MediaBrowserWindowLimit");
-
- if(LLFloaterReg::findInstance("media_browser", tag) != NULL)
- {
- // There's already a media browser for this tag, so we won't be opening a new window.
- }
- else if(browser_window_limit != 0)
- {
- // showInstance will open a new window. Figure out how many media browsers are already open,
- // and close the least recently opened one if this will put us over the limit.
-
- LLFloaterReg::const_instance_list_t &instances = LLFloaterReg::getFloaterList("media_browser");
- lldebugs << "total instance count is " << instances.size() << llendl;
-
- for(LLFloaterReg::const_instance_list_t::const_iterator iter = instances.begin(); iter != instances.end(); iter++)
- {
- lldebugs << " " << (*iter)->getKey() << llendl;
- }
-
- if(instances.size() >= (size_t)browser_window_limit)
- {
- // Destroy the least recently opened instance
- (*instances.begin())->closeFloater();
- }
- }
-
- LLFloaterMediaBrowser *browser = dynamic_cast<LLFloaterMediaBrowser*> (LLFloaterReg::showInstance("media_browser", tag));
- llassert(browser);
- if(browser)
- {
- browser->mUUID = uuid;
-
- // tell the browser instance to load the specified URL
- browser->openMedia(url, target);
- LLViewerMedia::proxyWindowOpened(target, uuid);
- }
-}
-
-//static
-void LLFloaterMediaBrowser::closeRequest(const std::string &uuid)
-{
- LLFloaterReg::const_instance_list_t& inst_list = LLFloaterReg::getFloaterList("media_browser");
- lldebugs << "instance list size is " << inst_list.size() << ", incoming uuid is " << uuid << llendl;
- for (LLFloaterReg::const_instance_list_t::const_iterator iter = inst_list.begin(); iter != inst_list.end(); ++iter)
- {
- LLFloaterMediaBrowser* i = dynamic_cast<LLFloaterMediaBrowser*>(*iter);
- lldebugs << " " << i->mUUID << llendl;
- if (i && i->mUUID == uuid)
- {
- i->closeFloater(false);
- return;
- }
- }
-}
-
-//static
-void LLFloaterMediaBrowser::geometryChanged(const std::string &uuid, S32 x, S32 y, S32 width, S32 height)
-{
- LLFloaterReg::const_instance_list_t& inst_list = LLFloaterReg::getFloaterList("media_browser");
- lldebugs << "instance list size is " << inst_list.size() << ", incoming uuid is " << uuid << llendl;
- for (LLFloaterReg::const_instance_list_t::const_iterator iter = inst_list.begin(); iter != inst_list.end(); ++iter)
- {
- LLFloaterMediaBrowser* i = dynamic_cast<LLFloaterMediaBrowser*>(*iter);
- lldebugs << " " << i->mUUID << llendl;
- if (i && i->mUUID == uuid)
- {
- i->geometryChanged(x, y, width, height);
- return;
- }
-}
-}
-
-void LLFloaterMediaBrowser::geometryChanged(S32 x, S32 y, S32 width, S32 height)
-{
- // Make sure the layout of the browser control is updated, so this calculation is correct.
- LLLayoutStack::updateClass();
-
- // TODO: need to adjust size and constrain position to make sure floaters aren't moved outside the window view, etc.
- LLCoordWindow window_size;
- getWindow()->getSize(&window_size);
-
- // Adjust width and height for the size of the chrome on the Media Browser window.
- width += getRect().getWidth() - mBrowser->getRect().getWidth();
- height += getRect().getHeight() - mBrowser->getRect().getHeight();
-
- LLRect geom;
- geom.setOriginAndSize(x, window_size.mY - (y + height), width, height);
-
- lldebugs << "geometry change: " << geom << llendl;
-
- handleReshape(geom,false);
-}
-
-
-void LLFloaterMediaBrowser::draw()
-{
- getChildView("go")->setEnabled(!mAddressCombo->getValue().asString().empty());
- LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
- if(parcel)
- {
- getChildView("parcel_owner_controls")->setVisible( LLViewerParcelMgr::isParcelModifiableByAgent(parcel, GP_LAND_CHANGE_MEDIA));
- getChildView("assign")->setEnabled(!mAddressCombo->getValue().asString().empty());
- }
- bool show_time_controls = false;
- bool media_playing = false;
- if(mBrowser)
- {
- LLPluginClassMedia* media_plugin = mBrowser->getMediaPlugin();
- if(media_plugin)
- {
- show_time_controls = media_plugin->pluginSupportsMediaTime();
- media_playing = media_plugin->getStatus() == LLPluginClassMediaOwner::MEDIA_PLAYING;
- }
- }
- getChildView("rewind")->setVisible( show_time_controls);
- getChildView("play")->setVisible( show_time_controls && ! media_playing);
- getChildView("pause")->setVisible( show_time_controls && media_playing);
- getChildView("stop")->setVisible( show_time_controls);
- getChildView("seek")->setVisible( show_time_controls);
-
- getChildView("play")->setEnabled(! media_playing);
- getChildView("stop")->setEnabled(media_playing);
-
- getChildView("back")->setEnabled(mBrowser->canNavigateBack());
- getChildView("forward")->setEnabled(mBrowser->canNavigateForward());
-
- LLFloater::draw();
-}
-
-BOOL LLFloaterMediaBrowser::postBuild()
-{
- mBrowser = getChild<LLMediaCtrl>("browser");
- mBrowser->addObserver(this);
-
- mAddressCombo = getChild<LLComboBox>("address");
- mAddressCombo->setCommitCallback(onEnterAddress, this);
- mAddressCombo->sortByName();
-
- childSetAction("back", onClickBack, this);
- childSetAction("forward", onClickForward, this);
- childSetAction("reload", onClickRefresh, this);
- childSetAction("rewind", onClickRewind, this);
- childSetAction("play", onClickPlay, this);
- childSetAction("stop", onClickStop, this);
- childSetAction("pause", onClickPlay, this);
- childSetAction("seek", onClickSeek, this);
- childSetAction("go", onClickGo, this);
- childSetAction("close", onClickClose, this);
- childSetAction("open_browser", onClickOpenWebBrowser, this);
- childSetAction("assign", onClickAssign, this);
-
- buildURLHistory();
-
- return TRUE;
-}
-
-void LLFloaterMediaBrowser::buildURLHistory()
-{
- LLCtrlListInterface* url_list = childGetListInterface("address");
- if (url_list)
- {
- url_list->operateOnAll(LLCtrlListInterface::OP_DELETE);
- }
-
- // Get all of the entries in the "browser" collection
- LLSD browser_history = LLURLHistory::getURLHistory("browser");
-
- LLSD::array_iterator iter_history =
- browser_history.beginArray();
- LLSD::array_iterator end_history =
- browser_history.endArray();
- for(; iter_history != end_history; ++iter_history)
- {
- std::string url = (*iter_history).asString();
- if(! url.empty())
- url_list->addSimpleElement(url);
- }
-
- // initialize URL history in the plugin
- if(mBrowser && mBrowser->getMediaPlugin())
- {
- mBrowser->getMediaPlugin()->initializeUrlHistory(browser_history);
- }
-}
-
-std::string LLFloaterMediaBrowser::getSupportURL()
-{
- return getString("support_page_url");
-}
-
-//virtual
-void LLFloaterMediaBrowser::onClose(bool app_quitting)
-{
- LLViewerMedia::proxyWindowClosed(mUUID);
- //setVisible(FALSE);
- destroy();
-}
-
-void LLFloaterMediaBrowser::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event)
-{
- if(event == MEDIA_EVENT_LOCATION_CHANGED)
- {
- setCurrentURL(self->getLocation());
- }
- else if(event == MEDIA_EVENT_NAVIGATE_COMPLETE)
- {
- // This is the event these flags are sent with.
- getChildView("back")->setEnabled(self->getHistoryBackAvailable());
- getChildView("forward")->setEnabled(self->getHistoryForwardAvailable());
- }
- else if(event == MEDIA_EVENT_CLOSE_REQUEST)
- {
- // The browser instance wants its window closed.
- closeFloater();
- }
- else if(event == MEDIA_EVENT_GEOMETRY_CHANGE)
- {
- geometryChanged(self->getGeometryX(), self->getGeometryY(), self->getGeometryWidth(), self->getGeometryHeight());
- }
-}
-
-void LLFloaterMediaBrowser::setCurrentURL(const std::string& url)
-{
- mCurrentURL = url;
-
- mAddressCombo->remove(mCurrentURL);
- mAddressCombo->add(mCurrentURL);
- mAddressCombo->selectByValue(mCurrentURL);
-
- // Serialize url history
- LLURLHistory::removeURL("browser", mCurrentURL);
- LLURLHistory::addURL("browser", mCurrentURL);
-
- getChildView("back")->setEnabled(mBrowser->canNavigateBack());
- getChildView("forward")->setEnabled(mBrowser->canNavigateForward());
- getChildView("reload")->setEnabled(TRUE);
-}
-
-//static
-void LLFloaterMediaBrowser::onEnterAddress(LLUICtrl* ctrl, void* user_data)
-{
- LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data;
- self->mBrowser->navigateTo(self->mAddressCombo->getValue().asString());
-}
-
-//static
-void LLFloaterMediaBrowser::onClickRefresh(void* user_data)
-{
- LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data;
-
- if( self->mBrowser->getMediaPlugin() && self->mBrowser->getMediaPlugin()->pluginSupportsMediaBrowser())
- {
- bool ignore_cache = true;
- self->mBrowser->getMediaPlugin()->browse_reload( ignore_cache );
- }
- else
- {
- self->mBrowser->navigateTo(self->mCurrentURL);
- }
-}
-
-//static
-void LLFloaterMediaBrowser::onClickForward(void* user_data)
-{
- LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data;
-
- self->mBrowser->navigateForward();
-}
-
-//static
-void LLFloaterMediaBrowser::onClickBack(void* user_data)
-{
- LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data;
-
- self->mBrowser->navigateBack();
-}
-
-//static
-void LLFloaterMediaBrowser::onClickGo(void* user_data)
-{
- LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data;
-
- self->mBrowser->navigateTo(self->mAddressCombo->getValue().asString());
-}
-
-//static
-void LLFloaterMediaBrowser::onClickClose(void* user_data)
-{
- LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data;
-
- self->closeFloater();
-}
-
-//static
-void LLFloaterMediaBrowser::onClickOpenWebBrowser(void* user_data)
-{
- LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data;
-
- std::string url = self->mCurrentURL.empty() ?
- self->mBrowser->getHomePageUrl() :
- self->mCurrentURL;
- LLWeb::loadURLExternal(url);
-}
-
-void LLFloaterMediaBrowser::onClickAssign(void* user_data)
-{
- LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data;
-
- LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
- if (!parcel)
- {
- return;
- }
- std::string media_url = self->mAddressCombo->getValue().asString();
- LLStringUtil::trim(media_url);
-
- if(parcel->getMediaType() != "text/html")
- {
- parcel->setMediaURL(media_url);
- parcel->setMediaCurrentURL(media_url);
- parcel->setMediaType(std::string("text/html"));
- LLViewerParcelMgr::getInstance()->sendParcelPropertiesUpdate( parcel, true );
- LLViewerParcelMedia::sendMediaNavigateMessage(media_url);
- LLViewerParcelMedia::stop();
- // LLViewerParcelMedia::update( parcel );
- }
- LLViewerParcelMedia::sendMediaNavigateMessage(media_url);
-}
-//static
-void LLFloaterMediaBrowser::onClickRewind(void* user_data)
-{
- LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data;
-
- if(self->mBrowser->getMediaPlugin())
- self->mBrowser->getMediaPlugin()->start(-2.0f);
-}
-//static
-void LLFloaterMediaBrowser::onClickPlay(void* user_data)
-{
- LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data;
-
- LLPluginClassMedia* plugin = self->mBrowser->getMediaPlugin();
- if(plugin)
- {
- if(plugin->getStatus() == LLPluginClassMediaOwner::MEDIA_PLAYING)
- {
- plugin->pause();
- }
- else
- {
- plugin->start();
- }
- }
-}
-//static
-void LLFloaterMediaBrowser::onClickStop(void* user_data)
-{
- LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data;
-
- if(self->mBrowser->getMediaPlugin())
- self->mBrowser->getMediaPlugin()->stop();
-}
-//static
-void LLFloaterMediaBrowser::onClickSeek(void* user_data)
-{
- LLFloaterMediaBrowser* self = (LLFloaterMediaBrowser*)user_data;
-
- if(self->mBrowser->getMediaPlugin())
- self->mBrowser->getMediaPlugin()->start(2.0f);
-}
-void LLFloaterMediaBrowser::openMedia(const std::string& media_url, const std::string& target)
-{
- mBrowser->setHomePageUrl(media_url);
- mBrowser->setTarget(target);
- mBrowser->navigateTo(media_url);
- setCurrentURL(media_url);
-}
-
-
diff --git a/indra/newview/llfloatermediabrowser.h b/indra/newview/llfloatermediabrowser.h
deleted file mode 100644
index 152d221a01..0000000000
--- a/indra/newview/llfloatermediabrowser.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- * @file llfloatermediabrowser.h
- * @brief media browser floater - uses embedded media browser control
- *
- * $LicenseInfo:firstyear=2006&license=viewerlgpl$
- * Second Life Viewer Source Code
- * Copyright (C) 2010, Linden Research, Inc.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation;
- * version 2.1 of the License only.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
- * $/LicenseInfo$
- */
-
-#ifndef LL_LLFLOATERMEDIABROWSER_H
-#define LL_LLFLOATERMEDIABROWSER_H
-
-#include "llfloater.h"
-#include "llmediactrl.h"
-
-
-class LLComboBox;
-class LLMediaCtrl;
-class LLNotification;
-
-class LLFloaterMediaBrowser :
- public LLFloater,
- public LLViewerMediaObserver
-{
-public:
- LOG_CLASS(LLFloaterMediaBrowser);
- LLFloaterMediaBrowser(const LLSD& key);
-
- static void create(const std::string &url, const std::string& target, const std::string& uuid = LLStringUtil::null);
-
- static void closeRequest(const std::string &uuid);
- static void geometryChanged(const std::string &uuid, S32 x, S32 y, S32 width, S32 height);
- void geometryChanged(S32 x, S32 y, S32 width, S32 height);
-
- /*virtual*/ BOOL postBuild();
- /*virtual*/ void onClose(bool app_quitting);
- /*virtual*/ void draw();
-
- // inherited from LLViewerMediaObserver
- /*virtual*/ void handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event);
-
- void openMedia(const std::string& media_url, const std::string& target);
- void buildURLHistory();
- std::string getSupportURL();
- void setCurrentURL(const std::string& url);
-
- static void onEnterAddress(LLUICtrl* ctrl, void* user_data);
- static void onClickRefresh(void* user_data);
- static void onClickBack(void* user_data);
- static void onClickForward(void* user_data);
- static void onClickGo(void* user_data);
- static void onClickClose(void* user_data);
- static void onClickOpenWebBrowser(void* user_data);
- static void onClickAssign(void* user_data);
- static void onClickRewind(void* user_data);
- static void onClickPlay(void* user_data);
- static void onClickStop(void* user_data);
- static void onClickSeek(void* user_data);
-
-private:
- LLMediaCtrl* mBrowser;
- LLComboBox* mAddressCombo;
- std::string mCurrentURL;
- boost::shared_ptr<LLNotification> mCurNotification;
- std::string mUUID;
-};
-
-#endif // LL_LLFLOATERMEDIABROWSER_H
-
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp
index 18c3f76826..acbec531b6 100644
--- a/indra/newview/llinventorypanel.cpp
+++ b/indra/newview/llinventorypanel.cpp
@@ -1128,19 +1128,78 @@ LLInventoryPanel* LLInventoryPanel::getActiveInventoryPanel(BOOL auto_open)
{
// Make sure the floater is not minimized (STORM-438).
if (active_inv_floaterp && active_inv_floaterp->isMinimized())
+ {
active_inv_floaterp->setMinimized(FALSE);
+ }
+ }
+ else if (auto_open)
+ {
+ floater_inventory->openFloater();
- return res;
+ res = sidepanel_inventory->getActivePanel();
}
+
+ return res;
+}
+
+//static
+void LLInventoryPanel::openInventoryPanelAndSetSelection(BOOL auto_open, const LLUUID& obj_id)
+{
+ LLInventoryPanel *active_panel = LLInventoryPanel::getActiveInventoryPanel(auto_open);
+
+ if (active_panel)
+ {
+ LL_DEBUGS("Messaging") << "Highlighting" << obj_id << LL_ENDL;
- // C. If no panels are open and we don't want to force open a panel, then just abort out.
- if (!auto_open) return NULL;
-
- // D. Open the inventory side panel floater and use that.
- floater_inventory->openFloater();
- return sidepanel_inventory->getActivePanel();
+ LLViewerInventoryItem * item = gInventory.getItem(obj_id);
+ LLViewerInventoryCategory * cat = gInventory.getCategory(obj_id);
+
+ bool in_inbox = false;
+ bool in_outbox = false;
+
+ LLViewerInventoryCategory * parent_cat = NULL;
+
+ if (item)
+ {
+ parent_cat = gInventory.getCategory(item->getParentUUID());
+ }
+ else if (cat)
+ {
+ parent_cat = gInventory.getCategory(cat->getParentUUID());
+ }
+
+ if (parent_cat)
+ {
+ in_inbox = (LLFolderType::FT_INBOX == parent_cat->getPreferredType());
+ in_outbox = (LLFolderType::FT_OUTBOX == parent_cat->getPreferredType());
+ }
+
+ if (in_inbox || in_outbox)
+ {
+ LLSidepanelInventory * sidepanel_inventory = LLFloaterSidePanelContainer::getPanel<LLSidepanelInventory>("inventory");
+ LLInventoryPanel * inventory_panel = NULL;
+
+ if (in_inbox)
+ {
+ sidepanel_inventory->openInbox();
+ inventory_panel = sidepanel_inventory->getInboxPanel();
+ }
+ else
+ {
+ sidepanel_inventory->openOutbox();
+ inventory_panel = sidepanel_inventory->getOutboxPanel();
+ }
- return NULL;
+ if (inventory_panel)
+ {
+ inventory_panel->setSelection(obj_id, TAKE_FOCUS_YES);
+ }
+ }
+ else
+ {
+ active_panel->setSelection(obj_id, TAKE_FOCUS_YES);
+ }
+ }
}
void LLInventoryPanel::addHideFolderType(LLFolderType::EType folder_type)
diff --git a/indra/newview/llinventorypanel.h b/indra/newview/llinventorypanel.h
index 8635ebc5c8..2a24327115 100644
--- a/indra/newview/llinventorypanel.h
+++ b/indra/newview/llinventorypanel.h
@@ -175,6 +175,8 @@ public:
// Find whichever inventory panel is active / on top.
// "Auto_open" determines if we open an inventory panel if none are open.
static LLInventoryPanel *getActiveInventoryPanel(BOOL auto_open = TRUE);
+
+ static void openInventoryPanelAndSetSelection(BOOL auto_open, const LLUUID& obj_id);
protected:
void openStartFolderOrMyInventory(); // open the first level of inventory
diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp
index 58ba0219cc..74fa5d350a 100644
--- a/indra/newview/llmediactrl.cpp
+++ b/indra/newview/llmediactrl.cpp
@@ -57,7 +57,6 @@
#include "llcheckboxctrl.h"
#include "llnotifications.h"
#include "lllineeditor.h"
-#include "llfloatermediabrowser.h"
#include "llfloaterwebcontent.h"
#include "llwindowshade.h"
@@ -1082,26 +1081,6 @@ void LLMediaCtrl::onPopup(const LLSD& notification, const LLSD& response)
{
if (response["open"])
{
- // name of default floater to open
- std::string floater_name = "media_browser";
-
- // look for parent floater name
- if ( gFloaterView )
- {
- if ( gFloaterView->getParentFloater(this) )
- {
- floater_name = gFloaterView->getParentFloater(this)->getInstanceName();
- }
- else
- {
- lldebugs << "No gFloaterView->getParentFloater(this) for onPopuup()" << llendl;
- };
- }
- else
- {
- lldebugs << "No gFloaterView for onPopuup()" << llendl;
- };
-
LLWeb::loadURL(notification["payload"]["url"], notification["payload"]["target"], notification["payload"]["uuid"]);
}
else
diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp
index fc264db5af..146bcbe47b 100644
--- a/indra/newview/llnavigationbar.cpp
+++ b/indra/newview/llnavigationbar.cpp
@@ -54,7 +54,6 @@
#include "llworldmapmessage.h"
#include "llappviewer.h"
#include "llviewercontrol.h"
-#include "llfloatermediabrowser.h"
#include "llweb.h"
#include "llhints.h"
diff --git a/indra/newview/llpanelmarketplaceinboxinventory.cpp b/indra/newview/llpanelmarketplaceinboxinventory.cpp
index df89adb8da..678e4f2843 100644
--- a/indra/newview/llpanelmarketplaceinboxinventory.cpp
+++ b/indra/newview/llpanelmarketplaceinboxinventory.cpp
@@ -189,16 +189,16 @@ void LLInboxFolderViewFolder::draw()
void LLInboxFolderViewFolder::selectItem()
{
- LLFolderViewFolder::selectItem();
-
deFreshify();
+
+ LLFolderViewFolder::selectItem();
}
void LLInboxFolderViewFolder::toggleOpen()
{
- LLFolderViewFolder::toggleOpen();
-
deFreshify();
+
+ LLFolderViewFolder::toggleOpen();
}
void LLInboxFolderViewFolder::computeFreshness()
@@ -270,7 +270,9 @@ BOOL LLInboxFolderViewItem::addToFolder(LLFolderViewFolder* folder, LLFolderView
BOOL LLInboxFolderViewItem::handleDoubleClick(S32 x, S32 y, MASK mask)
{
- return TRUE;
+ deFreshify();
+
+ return LLFolderViewItem::handleDoubleClick(x, y, mask);
}
// virtual
@@ -290,9 +292,9 @@ void LLInboxFolderViewItem::draw()
void LLInboxFolderViewItem::selectItem()
{
- LLFolderViewItem::selectItem();
-
deFreshify();
+
+ LLFolderViewItem::selectItem();
}
void LLInboxFolderViewItem::computeFreshness()
diff --git a/indra/newview/llpanelpicks.cpp b/indra/newview/llpanelpicks.cpp
index 04e78e04e3..50dc66ed7c 100755
--- a/indra/newview/llpanelpicks.cpp
+++ b/indra/newview/llpanelpicks.cpp
@@ -134,7 +134,10 @@ public:
LLFloater* picks_floater = LLFloaterReg::showInstance("picks");
LLPanelPicks* picks = picks_floater->findChild<LLPanelPicks>("panel_picks");
- picks->createNewPick();
+ if (picks)
+ {
+ picks->createNewPick();
+ }
}
void editPick(LLPickData* pick_info)
@@ -147,7 +150,7 @@ public:
params["snapshot_id"] = pick_info->snapshot_id;
params["pick_name"] = pick_info->name;
params["pick_desc"] = pick_info->desc;
- LLFloaterSidePanelContainer::showPanel("my_profile", params);
+ LLFloaterSidePanelContainer::showPanel("picks", params);
}
/*virtual*/ void processProperties(void* data, EAvatarProcessorType type)
@@ -251,7 +254,10 @@ public:
LLFloater* picks_floater = LLFloaterReg::showInstance("picks");
LLPanelPicks* picks = picks_floater->findChild<LLPanelPicks>("panel_picks");
- picks->createNewClassified();
+ if (picks)
+ {
+ picks->createNewClassified();
+ }
}
void openClassified(LLAvatarClassifiedInfo* c_info)
@@ -269,7 +275,7 @@ public:
params["classified_name"] = c_info->name;
params["classified_desc"] = c_info->description;
params["from_search"] = true;
- LLFloaterSidePanelContainer::showPanel("people", "panel_profile_view", params);
+ LLFloaterSidePanelContainer::showPanel("picks", params);
}
else if (mRequestVerb == "edit")
{
diff --git a/indra/newview/llsidepanelinventory.cpp b/indra/newview/llsidepanelinventory.cpp
index 91f8035556..9d069c3996 100644
--- a/indra/newview/llsidepanelinventory.cpp
+++ b/indra/newview/llsidepanelinventory.cpp
@@ -450,6 +450,24 @@ void LLSidepanelInventory::enableOutbox(bool enabled)
}
}
+void LLSidepanelInventory::openInbox()
+{
+ if (mInboxEnabled)
+ {
+ getChild<LLButton>(INBOX_BUTTON_NAME)->setToggleState(true);
+ onToggleInboxBtn();
+ }
+}
+
+void LLSidepanelInventory::openOutbox()
+{
+ if (mOutboxEnabled)
+ {
+ getChild<LLButton>(OUTBOX_BUTTON_NAME)->setToggleState(true);
+ onToggleOutboxBtn();
+ }
+}
+
void LLSidepanelInventory::onInboxChanged(const LLUUID& inbox_id)
{
// Trigger a load of the entire inbox so we always know the contents and their creation dates for sorting
diff --git a/indra/newview/llsidepanelinventory.h b/indra/newview/llsidepanelinventory.h
index 4e34926a4b..2c6f807013 100644
--- a/indra/newview/llsidepanelinventory.h
+++ b/indra/newview/llsidepanelinventory.h
@@ -58,6 +58,9 @@ public:
/*virtual*/ void onOpen(const LLSD& key);
LLInventoryPanel* getActivePanel(); // Returns an active inventory panel, if any.
+ LLInventoryPanel* getInboxPanel() const { return mInventoryPanelInbox; }
+ LLInventoryPanel* getOutboxPanel() const { return mInventoryPanelOutbox; }
+
LLPanelMainInventory* getMainInventoryPanel() const { return mPanelMainInventory; }
BOOL isMainInventoryPanelActive() const;
@@ -77,6 +80,9 @@ public:
void enableInbox(bool enabled);
void enableOutbox(bool enabled);
+ void openInbox();
+ void openOutbox();
+
bool isInboxEnabled() const { return mInboxEnabled; }
bool isOutboxEnabled() const { return mOutboxEnabled; }
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index 9d8d1be0f5..66187f6b42 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -2034,7 +2034,7 @@ bool idle_startup()
show_debug_menus(); // Debug menu visiblity and First Use trigger
// If we've got a startup URL, dispatch it
- LLStartUp::dispatchURL();
+ //LLStartUp::dispatchURL();
// Retrieve information about the land data
// (just accessing this the first time will fetch it,
@@ -2694,12 +2694,12 @@ void LLStartUp::cleanupNameCache()
bool LLStartUp::dispatchURL()
{
// ok, if we've gotten this far and have a startup URL
- if (!getStartSLURL().isValid())
+ if (!getStartSLURL().isValid())
{
return false;
}
- if(getStartSLURL().getType() != LLSLURL::APP)
- {
+ if(getStartSLURL().getType() != LLSLURL::APP)
+ {
// If we started with a location, but we're already
// at that location, don't pop dialogs open.
diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp
index 74c4f6d2dc..273bf822bc 100644
--- a/indra/newview/llviewerfloaterreg.cpp
+++ b/indra/newview/llviewerfloaterreg.cpp
@@ -64,7 +64,6 @@
#include "llfloatergroups.h"
#include "llfloaterhardwaresettings.h"
#include "llfloaterhelpbrowser.h"
-#include "llfloatermediabrowser.h"
#include "llfloaterwebcontent.h"
#include "llfloatermediasettings.h"
#include "llfloaterhud.h"
@@ -226,7 +225,6 @@ void LLViewerFloaterReg::registerFloaters()
LLFloaterReg::add("land_holdings", "floater_land_holdings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLandHoldings>);
LLFloaterReg::add("mem_leaking", "floater_mem_leaking.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMemLeak>);
- LLFloaterReg::add("media_browser", "floater_media_browser.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMediaBrowser>);
LLFloaterReg::add("media_settings", "floater_media_settings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterMediaSettings>);
LLFloaterReg::add("message_critical", "floater_critical.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterTOS>);
LLFloaterReg::add("message_tos", "floater_tos.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterTOS>);
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index 2858330597..67c8a4b902 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -69,7 +69,6 @@
#include "llwindow.h"
-#include "llfloatermediabrowser.h" // for handling window close requests and geometry change requests in media browser windows.
#include "llfloaterwebcontent.h" // for handling window close requests and geometry change requests in media browser windows.
#include <boost/bind.hpp> // for SkinFolder listener
@@ -3374,7 +3373,6 @@ void LLViewerMediaImpl::handleMediaEvent(LLPluginClassMedia* plugin, LLPluginCla
{
// This close request is directed at another instance
pass_through = false;
- LLFloaterMediaBrowser::closeRequest(uuid);
LLFloaterWebContent::closeRequest(uuid);
}
}
@@ -3394,7 +3392,6 @@ void LLViewerMediaImpl::handleMediaEvent(LLPluginClassMedia* plugin, LLPluginCla
{
// This request is directed at another instance
pass_through = false;
- LLFloaterMediaBrowser::geometryChanged(uuid, plugin->getGeometryX(), plugin->getGeometryY(), plugin->getGeometryWidth(), plugin->getGeometryHeight());
LLFloaterWebContent::geometryChanged(uuid, plugin->getGeometryX(), plugin->getGeometryY(), plugin->getGeometryWidth(), plugin->getGeometryHeight());
}
}
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 7cae19a1d2..dca5cdd06d 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -1256,14 +1256,7 @@ void open_inventory_offer(const uuid_vec_t& objects, const std::string& from_nam
const BOOL auto_open =
gSavedSettings.getBOOL("ShowInInventory") && // don't open if showininventory is false
!from_name.empty(); // don't open if it's not from anyone.
- LLInventoryPanel *active_panel = LLInventoryPanel::getActiveInventoryPanel(auto_open);
- if(active_panel)
- {
- LL_DEBUGS("Messaging") << "Highlighting" << obj_id << LL_ENDL;
- LLFocusableElement* focus_ctrl = gFocusMgr.getKeyboardFocus();
- active_panel->setSelection(obj_id, TAKE_FOCUS_NO);
- gFocusMgr.setKeyboardFocus(focus_ctrl);
- }
+ LLInventoryPanel::openInventoryPanelAndSetSelection(auto_open, obj_id);
}
}
diff --git a/indra/newview/llweb.cpp b/indra/newview/llweb.cpp
index b2f35892d0..d2d48dc68f 100644
--- a/indra/newview/llweb.cpp
+++ b/indra/newview/llweb.cpp
@@ -34,7 +34,6 @@
#include "llagent.h"
#include "llappviewer.h"
-#include "llfloatermediabrowser.h"
#include "llfloaterwebcontent.h"
#include "llfloaterreg.h"
#include "lllogininstance.h"
@@ -78,32 +77,15 @@ void LLWeb::initClass()
}
-// static
-void LLWeb::loadURL(const std::string& url, const std::string& target, const std::string& uuid)
-{
- loadWebURL(url, target, uuid);
- //if(target == "_internal")
- //{
- // // Force load in the internal browser, as if with a blank target.
- // loadURLInternal(url, "", uuid);
- //}
- //else if (gSavedSettings.getBOOL("UseExternalBrowser") || (target == "_external"))
- //{
- // loadURLExternal(url);
- //}
- //else
- //{
- // loadURLInternal(url, target, uuid);
- //}
-}
+
// static
-void LLWeb::loadWebURL(const std::string& url, const std::string& target, const std::string& uuid)
+void LLWeb::loadURL(const std::string& url, const std::string& target, const std::string& uuid)
{
if(target == "_internal")
{
// Force load in the internal browser, as if with a blank target.
- loadWebURLInternal(url, "", uuid);
+ loadURLInternal(url, "", uuid);
}
else if (gSavedSettings.getBOOL("UseExternalBrowser") || (target == "_external"))
{
@@ -111,19 +93,13 @@ void LLWeb::loadWebURL(const std::string& url, const std::string& target, const
}
else
{
- loadWebURLInternal(url, target, uuid);
+ loadURLInternal(url, target, uuid);
}
}
// static
-void LLWeb::loadURLInternal(const std::string &url, const std::string& target, const std::string& uuid)
-{
- LLFloaterMediaBrowser::create(url, target, uuid);
-}
-
-// static
// Explicitly open a Web URL using the Web content floater
-void LLWeb::loadWebURLInternal(const std::string &url, const std::string& target, const std::string& uuid)
+void LLWeb::loadURLInternal(const std::string &url, const std::string& target, const std::string& uuid)
{
LLFloaterWebContent::Params p;
p.url(url).target(target).id(uuid);
diff --git a/indra/newview/llweb.h b/indra/newview/llweb.h
index 376abc0ece..0b95f664d6 100644
--- a/indra/newview/llweb.h
+++ b/indra/newview/llweb.h
@@ -42,23 +42,15 @@ class LLWeb
public:
static void initClass();
- /// Load the given url in the user's preferred web browser
- static void loadURL(const std::string& url, const std::string& target, const std::string& uuid = LLStringUtil::null);
- static void loadURL(const std::string& url) { loadURL(url, LLStringUtil::null); }
- /// Load the given url in the user's preferred web browser
- static void loadURL(const char* url, const std::string& target = LLStringUtil::null) { loadURL( ll_safe_string(url), target); }
- /// Load the given url in the Second Life internal web browser
- static void loadURLInternal(const std::string &url, const std::string& target, const std::string& uuid = LLStringUtil::null);
- static void loadURLInternal(const std::string &url) { loadURLInternal(url, LLStringUtil::null, LLStringUtil::null);}
/// Load the given url in the operating system's web browser, async if we want to return immediately
/// before browser has spawned
static void loadURLExternal(const std::string& url) {loadURLExternal(url, LLStringUtil::null);}
static void loadURLExternal(const std::string& url, const std::string& uuid);
static void loadURLExternal(const std::string& url, bool async, const std::string& uuid = LLStringUtil::null);
- // Explicitly open a Web URL using the Web content floater vs. the more general media browser
- static void loadWebURL(const std::string& url, const std::string& target, const std::string& uuid);
- static void loadWebURLInternal(const std::string &url, const std::string& target = LLStringUtil::null, const std::string& uuid = LLStringUtil::null);
+ static void loadURL(const std::string& url, const std::string& target = LLStringUtil::null, const std::string& uuid = LLStringUtil::null);
+ // load content using built-in browser
+ static void loadURLInternal(const std::string &url, const std::string& target = LLStringUtil::null, const std::string& uuid = LLStringUtil::null);
/// Returns escaped url (eg, " " to "%20") - used by all loadURL methods
static std::string escapeURL(const std::string& url);
diff --git a/indra/newview/llworldmapmessage.cpp b/indra/newview/llworldmapmessage.cpp
index 66d0d698ba..8307d32336 100644
--- a/indra/newview/llworldmapmessage.cpp
+++ b/indra/newview/llworldmapmessage.cpp
@@ -210,15 +210,14 @@ void LLWorldMapMessage::processMapBlockReply(LLMessageSystem* msg, void**)
}
// Handle the SLURL callback if any
- if(LLWorldMapMessage::getInstance()->mSLURLCallback != NULL)
+ url_callback_t callback = LLWorldMapMessage::getInstance()->mSLURLCallback;
+ if(callback != NULL)
{
U64 handle = to_region_handle(x_world, y_world);
// Check if we reached the requested region
if ((LLStringUtil::compareInsensitive(LLWorldMapMessage::getInstance()->mSLURLRegionName, name)==0)
|| (LLWorldMapMessage::getInstance()->mSLURLRegionHandle == handle))
{
- url_callback_t callback = LLWorldMapMessage::getInstance()->mSLURLCallback;
-
LLWorldMapMessage::getInstance()->mSLURLCallback = NULL;
LLWorldMapMessage::getInstance()->mSLURLRegionName.clear();
LLWorldMapMessage::getInstance()->mSLURLRegionHandle = 0;
diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml
index 80e310a873..8ac1ac9e09 100644
--- a/indra/newview/skins/default/xui/en/menu_login.xml
+++ b/indra/newview/skins/default/xui/en/menu_login.xml
@@ -167,13 +167,6 @@
function="Floater.Show"
parameter="message_critical" />
</menu_item_call>
- <menu_item_call
- label="Media Browser Test"
- name="Web Browser Test">
- <menu_item_call.on_click
- function="Advanced.WebBrowserTest"
- parameter="http://join.secondlife.com/"/>
- </menu_item_call>
<menu_item_call
label="Web Content Floater Debug Test"
name="Web Content Floater Debug Test">
diff --git a/indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml b/indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml
index f47e9874b4..0e29ed0d0b 100644
--- a/indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml
+++ b/indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml
@@ -22,6 +22,7 @@
draw_border="false"
height="24"
left="25"
+ bottom="1"
name="speaker"
visible="false"
width="20" />
diff --git a/indra/newview/skins/default/xui/en/widgets/chiclet_im_group.xml b/indra/newview/skins/default/xui/en/widgets/chiclet_im_group.xml
index 8dfdf95e80..77011139bf 100644
--- a/indra/newview/skins/default/xui/en/widgets/chiclet_im_group.xml
+++ b/indra/newview/skins/default/xui/en/widgets/chiclet_im_group.xml
@@ -22,6 +22,7 @@
draw_border="false"
height="24"
left="25"
+ bottom="1"
name="speaker"
visible="false"
width="20" />
diff --git a/indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml b/indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml
index cef698e577..8b56a8f0f6 100644
--- a/indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml
+++ b/indra/newview/skins/default/xui/en/widgets/chiclet_im_p2p.xml
@@ -22,6 +22,7 @@
draw_border="false"
height="24"
left="25"
+ bottom="1"
name="speaker"
visible="false"
width="20" />
diff --git a/indra/newview/skins/default/xui/es/panel_people.xml b/indra/newview/skins/default/xui/es/panel_people.xml
index 2fcbb00aed..a9d38dca25 100644
--- a/indra/newview/skins/default/xui/es/panel_people.xml
+++ b/indra/newview/skins/default/xui/es/panel_people.xml
@@ -76,7 +76,7 @@
<button label="Compartir" name="share_btn" tool_tip="Compartir un objeto del inventario"/>
</layout_panel>
<layout_panel name="teleport_btn_lp">
- <button label="Teleportarte" name="teleport_btn" tool_tip="Ofrecer teleporte"/>
+ <button label="Teleporte" name="teleport_btn" tool_tip="Ofrecer teleporte"/>
</layout_panel>
</layout_stack>
<layout_stack name="bottom_bar_ls1">
diff --git a/indra/newview/skins/default/xui/es/strings.xml b/indra/newview/skins/default/xui/es/strings.xml
index 83747b85c0..4cae6ce5e8 100644
--- a/indra/newview/skins/default/xui/es/strings.xml
+++ b/indra/newview/skins/default/xui/es/strings.xml
@@ -3841,6 +3841,9 @@ Si sigues recibiendo este mensaje, contacta con [SUPPORT_SITE].
<string name="inventory_item_offered-im">
Ofrecido el item del inventario
</string>
+ <string name="share_alert">
+ Arrastra los ítems desde el invenbtario hasta aquí
+ </string>
<string name="no_session_message">
(La sesión de MI no existe)
</string>
diff --git a/indra/newview/skins/default/xui/ru/floater_about_land.xml b/indra/newview/skins/default/xui/ru/floater_about_land.xml
index 488d2cda17..3c278fce52 100644
--- a/indra/newview/skins/default/xui/ru/floater_about_land.xml
+++ b/indra/newview/skins/default/xui/ru/floater_about_land.xml
@@ -141,16 +141,16 @@
</panel>
<panel label="СОГЛАШЕНИЕ" name="land_covenant_panel">
<panel.string name="can_resell">
- Приобретенная в этом регионе земля может быть перепродана.
+ Купленная в этом регионе земля может быть перепродана.
</panel.string>
<panel.string name="can_not_resell">
- Приобретенная в этом регионе земля не может быть перепродана.
+ Купленная в этом регионе земля не может быть перепродана.
</panel.string>
<panel.string name="can_change">
- Приобретенная в этом регионе земля может быть объединена или разделена.
+ Купленная в этом регионе земля может быть объединена или разделена.
</panel.string>
<panel.string name="can_not_change">
- Приобретенная в этом регионе земля не может быть объединена или разделена.
+ Купленная в этом регионе земля не может быть объединена или разделена.
</panel.string>
<text name="estate_section_lbl">
Землевладение:
@@ -270,7 +270,7 @@
<name_list name="owner list">
<name_list.columns label="Тип" name="type"/>
<name_list.columns label="Название" name="name"/>
- <name_list.columns label="Количество" name="count"/>
+ <name_list.columns label="Кол-во" name="count"/>
<name_list.columns label="Последний объект" name="mostrecent"/>
</name_list>
</panel>
@@ -286,10 +286,10 @@
Этот параметр недоступен, потому что вы не можете изменять его на этом участке.
</panel.string>
<panel.string name="mature_check_mature">
- Moderate-контент
+ Умеренный контент
</panel.string>
<panel.string name="mature_check_adult">
- Содержимое для взрослых
+ Контент для взрослых
</panel.string>
<panel.string name="mature_check_mature_tooltip">
Информация или содержимое вашего участка расценивается как moderate.
@@ -366,7 +366,7 @@
<combo_box.item label="Аренда" name="item13"/>
<combo_box.item label="Другое" name="item12"/>
</combo_box>
- <check_box label="Moderate-контент" name="MatureCheck" tool_tip=" "/>
+ <check_box label="Умеренный контент" name="MatureCheck" tool_tip=" "/>
<text name="Snapshot:">
Снимок:
</text>
@@ -374,7 +374,7 @@
<text name="allow_label5">
Позволить жителям с других участков:
</text>
- <check_box label="Видеть аватары" name="SeeAvatarsCheck" tool_tip="Жители с других участков могут видеть жителей этого участка и общаться с ними в чате (вы также сможете видеть жителей с других участков и общаться с ними)."/>
+ <check_box label="Видны аватары" name="SeeAvatarsCheck" tool_tip="Жители с других участков могут видеть жителей этого участка и общаться с ними в чате (вы также сможете видеть жителей с других участков и общаться с ними)."/>
<text name="landing_point">
В точку телепортации: [LANDING]
</text>
@@ -395,7 +395,7 @@
</text>
<combo_box name="media type" tool_tip="Укажите, чем является ссылка – видео, веб-страница или другое медиа"/>
<text name="at URL:">
- Домашняя страница:
+ Дом. страница:
</text>
<button label="Задать" name="set_media_url"/>
<text name="Description:">
@@ -403,7 +403,7 @@
</text>
<line_editor name="url_description" tool_tip="Текст, показываемый рядом с кнопкой проигрывания/загрузки"/>
<text name="Media texture:">
- Заменяемая текстура:
+ Замена текстуры:
</text>
<texture_picker name="media texture" tool_tip="Щелкните для выбора изображения"/>
<text name="replace_texture_help">
@@ -416,7 +416,7 @@
<spinner name="media_size_width" tool_tip="Размер отображения веб-медиа, по умолчанию – 0."/>
<spinner name="media_size_height" tool_tip="Размер отображения веб-медиа, по умолчанию – 0."/>
<text name="pixels">
- пикселей
+ пикс.
</text>
<text name="Options:">
Опции:
@@ -425,7 +425,7 @@
</panel>
<panel label="ЗВУК" name="land_audio_panel">
<text name="MusicURL:">
- URL-адрес для музыки:
+ URL музыки:
</text>
<text name="Sound:">
Звук:
@@ -448,18 +448,18 @@
(Определено на землевладении)
</panel.string>
<panel.string name="allow_public_access">
- Разрешить публичный доступ ([MATURITY]) (Примечание. Снятие приведет к созданию линий запрета)
+ Разрешить общий доступ ([MATURITY]) (Снятие приведет к созданию линий запрета)
</panel.string>
<panel.string name="estate_override">
- Часть этих параметров установлены на уровне землевладения
+ Часть этих параметров установлена на уровне землевладения
</panel.string>
<text name="Limit access to this parcel to:">
Доступ на этот участок
</text>
<text name="Only Allow">
- Ограничить жителям доступ проверкой:
+ Разрешить доступ только жителям, у которых:
</text>
- <check_box label="Информация об оплате в файле [ESTATE_PAYMENT_LIMIT]" name="limit_payment" tool_tip="Банить нераспознанных жителей."/>
+ <check_box label="Записана информация об оплате [ESTATE_PAYMENT_LIMIT]" name="limit_payment" tool_tip="Банить нераспознанных жителей."/>
<check_box label="Проверка возраста [ESTATE_AGE_LIMIT]" name="limit_age_verified" tool_tip="Банить жителей, не прошедших проверку возраста. Более подробная информация находится здесь: [SUPPORT_SITE]."/>
<check_box label="Разрешить доступ группе: [GROUP]" name="GroupCheck" tool_tip="Группа устанавливается на основной вкладке."/>
<check_box label="Продать доступ:" name="PassCheck" tool_tip="Разрешить временный доступ к участку."/>
diff --git a/indra/newview/skins/default/xui/ru/floater_bulk_perms.xml b/indra/newview/skins/default/xui/ru/floater_bulk_perms.xml
index a497c14cac..ccf13cf02a 100644
--- a/indra/newview/skins/default/xui/ru/floater_bulk_perms.xml
+++ b/indra/newview/skins/default/xui/ru/floater_bulk_perms.xml
@@ -24,7 +24,7 @@
<button label="√ Все" name="check_all"/>
<button label="Очистить" label_selected="Нет" name="check_none"/>
<text name="newperms">
- Новые разрешения на использование контента
+ Новые разрешения на контент
</text>
<text name="GroupLabel">
Группа:
diff --git a/indra/newview/skins/default/xui/ru/floater_buy_currency.xml b/indra/newview/skins/default/xui/ru/floater_buy_currency.xml
index 197a2a3327..7690ff2a6c 100644
--- a/indra/newview/skins/default/xui/ru/floater_buy_currency.xml
+++ b/indra/newview/skins/default/xui/ru/floater_buy_currency.xml
@@ -60,7 +60,7 @@
<button label="Приобрести" name="buy_btn"/>
<button label="Отмена" name="cancel_btn"/>
<text name="info_cannot_buy">
- Невозможно приобрести
+ Нельзя купить
</text>
<button label="Продолжить в Интернете" name="error_web"/>
</floater>
diff --git a/indra/newview/skins/default/xui/ru/floater_color_picker.xml b/indra/newview/skins/default/xui/ru/floater_color_picker.xml
index d6e737d584..b7034bef0b 100644
--- a/indra/newview/skins/default/xui/ru/floater_color_picker.xml
+++ b/indra/newview/skins/default/xui/ru/floater_color_picker.xml
@@ -13,7 +13,7 @@
Оттенок:
</text>
<text name="s_val_text">
- Насыщенность:
+ Насыщен.:
</text>
<text name="l_val_text">
Яркость:
diff --git a/indra/newview/skins/default/xui/ru/floater_destinations.xml b/indra/newview/skins/default/xui/ru/floater_destinations.xml
index e769812beb..5ba0841564 100644
--- a/indra/newview/skins/default/xui/ru/floater_destinations.xml
+++ b/indra/newview/skins/default/xui/ru/floater_destinations.xml
@@ -1,2 +1,2 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
-<floater name="Destinations" title="МЕСТА"/>
+<floater name="Destinations" title="ПУНКТЫ"/> \ No newline at end of file
diff --git a/indra/newview/skins/default/xui/ru/floater_edit_day_cycle.xml b/indra/newview/skins/default/xui/ru/floater_edit_day_cycle.xml
index 1adc8173c6..61d708c567 100644
--- a/indra/newview/skins/default/xui/ru/floater_edit_day_cycle.xml
+++ b/indra/newview/skins/default/xui/ru/floater_edit_day_cycle.xml
@@ -16,25 +16,25 @@
-Выбор настройки-
</string>
<text name="label">
- Название настройки:
+ Имя настройки:
</text>
<text name="note">
Примечание. Если изменить имя настройки, будет создана новая настройка, а изменения в существующей не будут сохранены.
</text>
<text name="hint_item1">
- - Чтобы изменить определенные настройки неба и времени, выберите соответствующую вкладку.
+ - Для изменения настроек неба и времени выберите соответствующую вкладку.
</text>
<text name="hint_item2">
- - Чтобы задать время переходов, вабирайте и перетаскивайте вкладки.
+ - Чтобы задать время переходов, перетаскивайте вкладки.
</text>
<text name="hint_item3">
- - Используйте скребок для предварительного просмотра суточного цикла.
+ - Скребок служит для просмотра суточного цикла.
</text>
<panel name="day_cycle_slider_panel">
<multi_slider initial_value="0" name="WLTimeSlider"/>
<multi_slider initial_value="0" name="WLDayCycleKeys"/>
- <button label="Добавить отметку" label_selected="Добавить отметку" name="WLAddKey"/>
- <button label="Удалить отметку" label_selected="Удалить отметку" name="WLDeleteKey"/>
+ <button label="+ отметку" label_selected="+ отметку" name="WLAddKey"/>
+ <button label="- отметку" label_selected="- отметку" name="WLDeleteKey"/>
<text name="WL12am">
12 ночи
</text>
@@ -91,14 +91,14 @@
</text>
</panel>
<text name="WLCurKeyPresetText">
- Настройка неба:
+ Небо:
</text>
- <combo_box label="Стандартная" name="WLSkyPresets"/>
+ <combo_box label="Стандарт" name="WLSkyPresets"/>
<text name="WLCurKeyTimeText">
Время:
</text>
<time name="time" value="6:00"/>
- <check_box label="Установить в качестве нового суточного цикла" name="make_default_cb"/>
+ <check_box label="Установить как новый суточный цикл" name="make_default_cb"/>
<button label="Сохранить" name="save"/>
<button label="Отмена" name="cancel"/>
</floater>
diff --git a/indra/newview/skins/default/xui/ru/floater_edit_sky_preset.xml b/indra/newview/skins/default/xui/ru/floater_edit_sky_preset.xml
index aa60cb6337..354120ea72 100644
--- a/indra/newview/skins/default/xui/ru/floater_edit_sky_preset.xml
+++ b/indra/newview/skins/default/xui/ru/floater_edit_sky_preset.xml
@@ -19,7 +19,7 @@
Чтобы изменить настройку, задайте ее параметры с помощью элементов управления и нажмите кнопку «Сохранить».
</text>
<text name="label">
- Название настройки:
+ Имя настройки:
</text>
<text name="note">
Примечание. Если изменить имя настройки, будет создана новая настройка, а изменения в существующей не будут сохранены.
@@ -58,7 +58,7 @@
<text name="SunGlowText">
Сияние солнца
</text>
- <slider label="Отчетливость" name="WLGlowB"/>
+ <slider label="Фокус" name="WLGlowB"/>
<slider label="Размер" name="WLGlowR"/>
<text name="WLStarText">
Яркость звезд
@@ -102,7 +102,7 @@
</text>
<time name="WLDayTime" value="6:00"/>
<text name="WLEastAngleText">
- Смещение относительно востока
+ Смещение отн. востока
</text>
</panel>
<panel label="ОБЛАКА" name="Clouds">
@@ -122,7 +122,7 @@
Размеры
</text>
<text name="WLCloudDetailText">
- Детализация (положение/плотность)
+ Детали (положение/плотность)
</text>
<slider label="X" name="WLCloudDetailX"/>
<slider label="Y" name="WLCloudDetailY"/>
diff --git a/indra/newview/skins/default/xui/ru/floater_edit_water_preset.xml b/indra/newview/skins/default/xui/ru/floater_edit_water_preset.xml
index 3befe4b038..f6def86380 100644
--- a/indra/newview/skins/default/xui/ru/floater_edit_water_preset.xml
+++ b/indra/newview/skins/default/xui/ru/floater_edit_water_preset.xml
@@ -19,7 +19,7 @@
Чтобы изменить настройку, задайте ее параметры с помощью элементов управления и нажмите кнопку «Сохранить».
</text>
<text name="label">
- Название настройки:
+ Имя настройки:
</text>
<text name="note">
Примечание. Если изменить имя настройки, будет создана новая настройка, а изменения в существующей не будут сохранены.
diff --git a/indra/newview/skins/default/xui/ru/floater_god_tools.xml b/indra/newview/skins/default/xui/ru/floater_god_tools.xml
index ec64a5c7af..81329475aa 100644
--- a/indra/newview/skins/default/xui/ru/floater_god_tools.xml
+++ b/indra/newview/skins/default/xui/ru/floater_god_tools.xml
@@ -72,10 +72,10 @@
</panel>
<panel label="Запрос" name="request">
<text name="Destination:">
- Место назначения:
+ Пункт назначения:
</text>
<combo_box name="destination">
- <combo_box.item label="назначенное" name="item1"/>
+ <combo_box.item label="назначенный" name="item1"/>
<combo_box.item label="текущий регион" name="item2"/>
</combo_box>
<text name="Request:">
diff --git a/indra/newview/skins/default/xui/ru/floater_image_preview.xml b/indra/newview/skins/default/xui/ru/floater_image_preview.xml
index ae7c77ea0e..dbc4c32b98 100644
--- a/indra/newview/skins/default/xui/ru/floater_image_preview.xml
+++ b/indra/newview/skins/default/xui/ru/floater_image_preview.xml
@@ -23,7 +23,7 @@
</combo_box>
<text name="bad_image_text">
Невозможно прочитать изображение.
-Попробуйте сохранить изображение как 24-разрядный TGA-файл (Targa).
+Попробуйте сохранить изображение как 24-битный TGA-файл (Targa).
</text>
<check_box label="Использовать сжатие без потерь" name="lossless_check"/>
<button label="Отмена" name="cancel_btn"/>
diff --git a/indra/newview/skins/default/xui/ru/floater_joystick.xml b/indra/newview/skins/default/xui/ru/floater_joystick.xml
index cc93152225..66568563da 100644
--- a/indra/newview/skins/default/xui/ru/floater_joystick.xml
+++ b/indra/newview/skins/default/xui/ru/floater_joystick.xml
@@ -3,7 +3,7 @@
<floater.string name="NoDevice">
устройство не выбрано
</floater.string>
- <check_box label="Включить джойстик:" name="enable_joystick"/>
+ <check_box label="Вкл. джойстик:" name="enable_joystick"/>
<spinner label="Наложение по X" name="JoystickAxis1"/>
<spinner label="Наложение по Y" name="JoystickAxis2"/>
<spinner label="Наложение по Z" name="JoystickAxis0"/>
diff --git a/indra/newview/skins/default/xui/ru/floater_lagmeter.xml b/indra/newview/skins/default/xui/ru/floater_lagmeter.xml
index 48f7dd969f..c420006a03 100644
--- a/indra/newview/skins/default/xui/ru/floater_lagmeter.xml
+++ b/indra/newview/skins/default/xui/ru/floater_lagmeter.xml
@@ -106,7 +106,7 @@
Возможная причина: слишком много физических объектов
</floater.string>
<floater.string name="server_scripts_cause_msg">
- Возможная причина: слишком мало физических объектов
+ Возможная причина: слишком много скриптовых объектов
</floater.string>
<floater.string name="server_net_cause_msg">
Возможная причина: слишком большой сетевой трафик
diff --git a/indra/newview/skins/default/xui/ru/floater_land_holdings.xml b/indra/newview/skins/default/xui/ru/floater_land_holdings.xml
index c88c88988b..17d347867d 100644
--- a/indra/newview/skins/default/xui/ru/floater_land_holdings.xml
+++ b/indra/newview/skins/default/xui/ru/floater_land_holdings.xml
@@ -9,7 +9,7 @@
<scroll_list.columns label="Тип" name="type"/>
<scroll_list.columns label="Площадь" name="area"/>
</scroll_list>
- <button label="Телепортация" label_selected="Телепортация" name="Teleport" tool_tip="Телепортироваться в центр этой земли."/>
+ <button label="Телепорт" label_selected="Телепорт" name="Teleport" tool_tip="Телепортироваться в центр этой земли."/>
<button label="Карта" label_selected="Карта" name="Show on Map" tool_tip="Показать эту землю на карте мира."/>
<text name="contrib_label">
Ваши вложения в группы:
diff --git a/indra/newview/skins/default/xui/ru/floater_model_wizard.xml b/indra/newview/skins/default/xui/ru/floater_model_wizard.xml
index 204f752cd9..ef2fe8e5a5 100644
--- a/indra/newview/skins/default/xui/ru/floater_model_wizard.xml
+++ b/indra/newview/skins/default/xui/ru/floater_model_wizard.xml
@@ -13,7 +13,7 @@
</panel>
<panel name="content">
<text name="advanced_users_text">
- Пользователям, работающим в расширенном режиме: если вы умеете создавать трехмерные графические объекты, то, возможно, захотите воспользоваться средством Advanced Uploader, которое предоставляет расширенные возможности передачи объектов.
+ Пользователям в расширенном режиме: если вы умеете создавать трехмерные графические объекты, то, возможно, захотите воспользоваться средством Advanced Uploader, которое предоставляет расширенные возможности передачи объектов.
</text>
<button label="Перейти в расширенный режим" name="switch_to_advanced"/>
<text name="Cache location">
@@ -78,17 +78,17 @@
<panel name="physics_panel">
<panel name="header_panel">
<text name="header_text">
- Настроить физические параметры
+ Настроить физику
</text>
</panel>
<text name="description">
Мы создадим форму для внешнего каркаса модели. Настройте уровень детализации формы в соответствии с целями, для которых предназначена модель.
</text>
<panel name="content">
- <button label="Пересчитать физические данные" name="recalculate_physics_btn"/>
+ <button label="Пересчитать физику" name="recalculate_physics_btn"/>
<button label="Пересчет..." name="recalculating_physics_btn"/>
<text name="lod_label">
- Просмотр физических данных
+ Просмотр физики
</text>
<combo_box name="preview_lod_combo2" tool_tip="Уровень детализации при предварительном просмотре">
<combo_item name="high">
diff --git a/indra/newview/skins/default/xui/ru/floater_select_key.xml b/indra/newview/skins/default/xui/ru/floater_select_key.xml
index 84cc4a3ef3..99c2b9a2c4 100644
--- a/indra/newview/skins/default/xui/ru/floater_select_key.xml
+++ b/indra/newview/skins/default/xui/ru/floater_select_key.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="modal container">
<text name="Save item as:">
- Нажмите кнопку для установки триггера включения разговора.
+ Нажмите клавишу для включения/выключения речи.
</text>
<button label="Отмена" label_selected="Отмена" name="Cancel"/>
</floater>
diff --git a/indra/newview/skins/default/xui/ru/floater_snapshot.xml b/indra/newview/skins/default/xui/ru/floater_snapshot.xml
index a3b40a4f1c..f85d602be7 100644
--- a/indra/newview/skins/default/xui/ru/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/ru/floater_snapshot.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="Snapshot" title="ПРОСМОТР СНИМКА">
<floater.string name="unknown">
- неизвестен
+ неизвестно
</floater.string>
<radio_group label="Тип снимка" name="snapshot_type_radio">
<radio_item label="Электронная почта" name="postcard"/>
diff --git a/indra/newview/skins/default/xui/ru/floater_tools.xml b/indra/newview/skins/default/xui/ru/floater_tools.xml
index 660eca51c6..eb9083f7fc 100644
--- a/indra/newview/skins/default/xui/ru/floater_tools.xml
+++ b/indra/newview/skins/default/xui/ru/floater_tools.xml
@@ -1,28 +1,28 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="toolbox floater" short_title="ИНСТРУМЕНТЫ ДЛЯ СТРОИТЕЛЬСТВА">
<floater.string name="status_rotate">
- Перемещайте цветные полосы для вращения объекта
+ Перетягивайте цветные полосы для вращения объекта
</floater.string>
<floater.string name="status_scale">
- Щелкните и переместите для растяжения выбранной стороны
+ Щелкните и перетащите для растяжения выбранной стороны
</floater.string>
<floater.string name="status_move">
- Переместите для перемещения, переместите с одновременным нажатием клавиши Shift для копирования
+ Перемещение: перетащить, копирование: перетащить при нажатой клавише Shift
</floater.string>
<floater.string name="status_modifyland">
Щелкните и удерживайте для изменения земли
</floater.string>
<floater.string name="status_camera">
- Щелкните и переместите для перемещения камеры
+ Щелкните и перетащите для перемещения камеры
</floater.string>
<floater.string name="status_grab">
- Переместите для перемещения, нажмите клавишу Ctrl для подъема, нажмите клавиши Ctrl+Shift для вращения
+ Перемещение: перетащить, подъем: нажать Ctrl, вращение: нажать Ctrl+Shift
</floater.string>
<floater.string name="status_place">
Щелкните для создания
</floater.string>
<floater.string name="status_selectland">
- Щелкните и переместите для выделения земли
+ Щелкните и перетащите для выделения земли
</floater.string>
<floater.string name="status_selectcount">
Выбрано объектов: [OBJ_COUNT], влияние на землю [LAND_IMPACT]
@@ -30,13 +30,13 @@
<floater.string name="status_remaining_capacity">
Остаток емкости [LAND_CAPACITY].
</floater.string>
- <button name="button focus" tool_tip="Отчетливость"/>
+ <button name="button focus" tool_tip="Фокус"/>
<button name="button move" tool_tip="Переместить"/>
<button name="button edit" tool_tip="Изменить"/>
<button name="button create" tool_tip="Создать"/>
<button name="button land" tool_tip="Земля"/>
<text name="text status">
- Переместите для перемещения, переместите с одновременным нажатием клавиши Shift для копирования
+ Перемещение: перетащить, копирование: перетащить при нажатой клавише Shift
</text>
<radio_group name="focus_radio_group">
<radio_item label="Увеличение" name="radio zoom"/>
@@ -52,14 +52,14 @@
<radio_group name="edit_radio_group">
<radio_item label="Переместить" name="radio position"/>
<radio_item label="Вращение (Ctrl)" name="radio rotate"/>
- <radio_item label="Растягивание (Ctrl+Shift)" name="radio stretch"/>
+ <radio_item label="Растяжка (Ctrl+Shift)" name="radio stretch"/>
<radio_item label="Выбор грани" name="radio select face"/>
</radio_group>
<check_box label="Редактировать объединенные" name="checkbox edit linked parts"/>
<button label="Объединить" name="link_btn"/>
<button label="Разъединить" name="unlink_btn"/>
- <text label="Растягивать в обе стороны" name="checkbox uniform label">
- Растягивать в обе стороны
+ <text label="Растяжка обеих сторон" name="checkbox uniform label">
+ Растяжка обеих сторон
</text>
<check_box initial_value="истина" label="Растягивать текстуры" name="checkbox stretch textures"/>
<check_box initial_value="истина" label="Привязка" name="checkbox snap to grid"/>
@@ -79,9 +79,9 @@
<button name="ToolRing" tool_tip="Кольцо"/>
<button name="ToolTree" tool_tip="Дерево"/>
<button name="ToolGrass" tool_tip="Трава"/>
- <check_box label="Оставить инструмент выбранным" name="checkbox sticky"/>
- <check_box label="Копировать выделенное" name="checkbox copy selection"/>
- <check_box initial_value="истина" label="Центрировать копию" name="checkbox copy centers"/>
+ <check_box label="Держать инструмент" name="checkbox sticky"/>
+ <check_box label="Копировать выдел." name="checkbox copy selection"/>
+ <check_box initial_value="истина" label="Центрир. копию" name="checkbox copy centers"/>
<check_box label="Повернуть копию" name="checkbox copy rotates"/>
<radio_group name="land_radio_group">
<radio_item label="Выбрать землю" name="radio select land"/>
@@ -105,7 +105,7 @@
<slider_bar initial_value="0.00" name="slider force"/>
<button label="Применить" label_selected="Применить" name="button apply to selection" tool_tip="Изменить выбранную землю"/>
<text name="selection_empty">
- Ничего не выбрано.
+ Не выбрано.
</text>
<text name="remaining_capacity">
[CAPACITY_STRING] [secondlife:///app/openfloater/object_weights Дополнительная информация]
@@ -168,7 +168,7 @@
<check_box label="Поделиться" name="checkbox share with group" tool_tip="Позволить всем участникам выбранной группы получить установленные вам права на этот объект. Для включения ролевых ограничений необходимо произвести сделку."/>
<button label="Сделка" label_selected="Сделка" name="button deed" tool_tip="В результате сделки объект передается группе, при этом права на него будут соответствовать правам следующего владельца. Переданный группе объект может передаваться должностным лицом группы."/>
<text name="label click action">
- Действие по щелчку:
+ По щелчку:
</text>
<combo_box name="clickaction">
<combo_box.item label="Коснуться (по умолчанию)" name="Touch/grab(default)"/>
@@ -185,7 +185,7 @@
<combo_box.item label="Оригинал" name="Original"/>
</combo_box>
<spinner label="Цена: L$" name="Edit Cost"/>
- <check_box label="Показать в результатах поиска" name="search_check" tool_tip="Показывать объект в результатах поиска"/>
+ <check_box label="Показать в поиске" name="search_check" tool_tip="Показывать объект в результатах поиска"/>
<panel name="perms_build">
<text name="perm_modify">
Этот объект можно изменять
@@ -349,9 +349,9 @@
<spinner label="Парусность" name="FlexFriction"/>
<spinner label="Ветер" name="FlexWind"/>
<spinner label="Упругость" name="FlexTension"/>
- <spinner label="Действие по X" name="FlexForceX"/>
- <spinner label="Действие по Y" name="FlexForceY"/>
- <spinner label="Действие по Z" name="FlexForceZ"/>
+ <spinner label="X-действие" name="FlexForceX"/>
+ <spinner label="Y-действие" name="FlexForceY"/>
+ <spinner label="Z-действие" name="FlexForceZ"/>
<check_box label="Свет" name="Light Checkbox Ctrl" tool_tip="Объект будет излучать свет"/>
<color_swatch name="colorswatch" tool_tip="Щелкните для выбора цвета"/>
<texture_picker label="" name="light texture control" tool_tip="Щелкните для выбора проецируемого изображения (действует только с включенной отложенной отрисовкой)"/>
@@ -362,7 +362,7 @@
<spinner label="Ослабление" name="Light Falloff"/>
<spinner label="Окружение" name="Light Ambiance"/>
<text name="label physicsshapetype">
- Тип физической формы:
+ Тип физич. формы:
</text>
<combo_box name="Physics Shape Type Combo Ctrl" tool_tip="Выберите тип физической формы"/>
<combo_box name="material">
@@ -394,7 +394,7 @@
<text name="glow label">
Свечение
</text>
- <check_box label="Собственная яркость" name="checkbox fullbright"/>
+ <check_box label="Собств. яркость" name="checkbox fullbright"/>
<text name="tex gen">
Наложение
</text>
@@ -476,7 +476,7 @@
Площадь: [AREA] м²
</text>
<button label="О земле" label_selected="О земле" name="button about land"/>
- <check_box label="Показать владельцев" name="checkbox show owners" tool_tip="Цвет участка в зависимости от типа владения: зеленый = ваша земля голубой = земля вашей группы красный = чужая земля желтый = для продажи фиолетовый = для аукциона серый = общая"/>
+ <check_box label="Показать владельцев" name="checkbox show owners" tool_tip="Цвет участка в зависимости от типа владения: зеленый = ваша земля; голубой = земля вашей группы; красный = чужая земля; желтый = для продажи; фиолетовый = для аукциона; серый = общая"/>
<text name="label_parcel_modify">
Изменение участка
</text>
diff --git a/indra/newview/skins/default/xui/ru/floater_toybox.xml b/indra/newview/skins/default/xui/ru/floater_toybox.xml
index eb03e8c8bf..8d7431d393 100644
--- a/indra/newview/skins/default/xui/ru/floater_toybox.xml
+++ b/indra/newview/skins/default/xui/ru/floater_toybox.xml
@@ -6,5 +6,5 @@
<text name="toybox label 2">
Кнопки будут отображены в исходном виде или в виде значков, в зависимости от настроек каждой панели инструментов.
</text>
- <button label="Восстановить умолчания" label_selected="Восстановить умолчания" name="btn_restore_defaults"/>
+ <button label="Вернуть стандартные" label_selected="Вернуть стандартные" name="btn_restore_defaults"/>
</floater>
diff --git a/indra/newview/skins/default/xui/ru/floater_voice_controls.xml b/indra/newview/skins/default/xui/ru/floater_voice_controls.xml
index 6520a4342c..c1fb858d48 100644
--- a/indra/newview/skins/default/xui/ru/floater_voice_controls.xml
+++ b/indra/newview/skins/default/xui/ru/floater_voice_controls.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<floater name="floater_voice_controls" title="УПРАВЛЕНИЕ ГОЛОСОМ">
<string name="title_nearby">
- Голоса собеседников
+ Настройки голоса
</string>
<string name="title_group">
Звонок группе [GROUP]
diff --git a/indra/newview/skins/default/xui/ru/floater_windlight_options.xml b/indra/newview/skins/default/xui/ru/floater_windlight_options.xml
index 6667e6b19a..bbb37aaaa0 100644
--- a/indra/newview/skins/default/xui/ru/floater_windlight_options.xml
+++ b/indra/newview/skins/default/xui/ru/floater_windlight_options.xml
@@ -98,7 +98,7 @@
<text name="SunGlowText">
Сияние солнца
</text>
- <slider label="Отчетливость" name="WLGlowB"/>
+ <slider label="Фокус" name="WLGlowB"/>
<slider label="Размер" name="WLGlowR"/>
<text name="SceneGammaText">
Гамма-коррекция сцены
diff --git a/indra/newview/skins/default/xui/ru/floater_world_map.xml b/indra/newview/skins/default/xui/ru/floater_world_map.xml
index 5fa45bd5e5..ef8dfe22ae 100644
--- a/indra/newview/skins/default/xui/ru/floater_world_map.xml
+++ b/indra/newview/skins/default/xui/ru/floater_world_map.xml
@@ -37,7 +37,7 @@
</text>
<check_box initial_value="истина" name="events_mature_chk"/>
<text name="events_mature_label">
- Умеренный
+ Умеренные
</text>
<text name="events_adult_label">
Для взрослых
@@ -62,7 +62,7 @@
Место:
</text>
<button label="Телепортация" name="Teleport" tool_tip="Телепортация в выбранное место"/>
- <button label="Копировать URL-адрес SL" name="copy_slurl" tool_tip="Копировать текущее место в виде URL-адреса SL для использования в Интернете."/>
+ <button label="Копировать URL SL" name="copy_slurl" tool_tip="Копировать текущее место в виде URL-адреса SL для использования в интернете."/>
<button label="Показать выбранное" name="Show Destination" tool_tip="Центрировать карту на выбранном месте"/>
</panel>
<panel name="layout_panel_5">
diff --git a/indra/newview/skins/default/xui/ru/menu_attachment_other.xml b/indra/newview/skins/default/xui/ru/menu_attachment_other.xml
index 72063737eb..fb1c24448b 100644
--- a/indra/newview/skins/default/xui/ru/menu_attachment_other.xml
+++ b/indra/newview/skins/default/xui/ru/menu_attachment_other.xml
@@ -4,7 +4,7 @@
<menu_item_call label="Смотреть профиль" name="Profile..."/>
<menu_item_call label="В друзья" name="Add Friend"/>
<menu_item_call label="IM" name="Send IM..."/>
- <menu_item_call label="Позвонить" name="Call"/>
+ <menu_item_call label="Звонок" name="Call"/>
<menu_item_call label="Пригласить в группу" name="Invite..."/>
<menu_item_call label="Заблокировать" name="Avatar Mute"/>
<menu_item_call label="Пожаловаться" name="abuse"/>
diff --git a/indra/newview/skins/default/xui/ru/menu_gesture_gear.xml b/indra/newview/skins/default/xui/ru/menu_gesture_gear.xml
index 78b1768761..d0b68cefbd 100644
--- a/indra/newview/skins/default/xui/ru/menu_gesture_gear.xml
+++ b/indra/newview/skins/default/xui/ru/menu_gesture_gear.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="menu_gesture_gear">
- <menu_item_call label="Добавить/удалить из избранного" name="activate"/>
+ <menu_item_call label="Добавить в избранное/удалить" name="activate"/>
<menu_item_call label="Копировать" name="copy_gesture"/>
<menu_item_call label="Вставить" name="paste"/>
<menu_item_call label="Копировать UUID" name="copy_uuid"/>
diff --git a/indra/newview/skins/default/xui/ru/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/ru/menu_inventory_gear_default.xml
index d500f0fac6..9fc0b6d44e 100644
--- a/indra/newview/skins/default/xui/ru/menu_inventory_gear_default.xml
+++ b/indra/newview/skins/default/xui/ru/menu_inventory_gear_default.xml
@@ -8,7 +8,7 @@
<menu_item_call label="Показать фильтры" name="show_filters"/>
<menu_item_call label="Сбросить фильтры" name="reset_filters"/>
<menu_item_call label="Закрыть все папки" name="close_folders"/>
- <menu_item_call label="Очистить Lost and Found" name="empty_lostnfound"/>
+ <menu_item_call label="Очистить бюро находок" name="empty_lostnfound"/>
<menu_item_call label="Сохранить текстуру как" name="Save Texture As"/>
<menu_item_call label="Поделиться" name="Share"/>
<menu_item_call label="Найти оригинал" name="Find Original"/>
diff --git a/indra/newview/skins/default/xui/ru/menu_landmark.xml b/indra/newview/skins/default/xui/ru/menu_landmark.xml
index 11d6e37e81..24b60f9d86 100644
--- a/indra/newview/skins/default/xui/ru/menu_landmark.xml
+++ b/indra/newview/skins/default/xui/ru/menu_landmark.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="landmark_overflow_menu">
- <menu_item_call label="Копировать URL-адрес SL" name="copy"/>
+ <menu_item_call label="Копировать URL SL" name="copy"/>
<menu_item_call label="Удалить" name="delete"/>
<menu_item_call label="Создать подборку" name="pick"/>
<menu_item_call label="Добавить в любимые" name="add_to_favbar"/>
diff --git a/indra/newview/skins/default/xui/ru/menu_model_import_gear_default.xml b/indra/newview/skins/default/xui/ru/menu_model_import_gear_default.xml
index b7949b30d9..5ae5e7dfbc 100644
--- a/indra/newview/skins/default/xui/ru/menu_model_import_gear_default.xml
+++ b/indra/newview/skins/default/xui/ru/menu_model_import_gear_default.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<toggleable_menu name="model_menu_gear_default">
<menu_item_check label="Показать грани" name="show_edges"/>
- <menu_item_check label="Показать физические параметры" name="show_physics"/>
+ <menu_item_check label="Показать физику" name="show_physics"/>
<menu_item_check label="Показать текстуры" name="show_textures"/>
<menu_item_check label="Показать вес кожи" name="show_skin_weight"/>
<menu_item_check label="Показать положение сочленений" name="show_joint_positions"/>
diff --git a/indra/newview/skins/default/xui/ru/menu_participant_list.xml b/indra/newview/skins/default/xui/ru/menu_participant_list.xml
index 8bbf2d52bf..932ad5bacf 100644
--- a/indra/newview/skins/default/xui/ru/menu_participant_list.xml
+++ b/indra/newview/skins/default/xui/ru/menu_participant_list.xml
@@ -5,7 +5,7 @@
<menu_item_call label="Открыть профиль" name="View Profile"/>
<menu_item_call label="Добавить в друзья" name="Add Friend"/>
<menu_item_call label="IM" name="IM"/>
- <menu_item_call label="Позвонить" name="Call"/>
+ <menu_item_call label="Звонок" name="Call"/>
<menu_item_call label="Поделиться" name="Share"/>
<menu_item_call label="Заплатить" name="Pay"/>
<menu_item_check label="Показывать значки участников" name="View Icons"/>
diff --git a/indra/newview/skins/default/xui/ru/menu_places_gear_landmark.xml b/indra/newview/skins/default/xui/ru/menu_places_gear_landmark.xml
index a838dd5c42..b1ebd4af83 100644
--- a/indra/newview/skins/default/xui/ru/menu_places_gear_landmark.xml
+++ b/indra/newview/skins/default/xui/ru/menu_places_gear_landmark.xml
@@ -8,7 +8,7 @@
<menu_item_call label="Восстановить вещь" name="restore_item"/>
<menu_item_call label="Вырезать" name="cut"/>
<menu_item_call label="Копировать закладку" name="copy_landmark"/>
- <menu_item_call label="Копировать URL-адрес SL" name="copy_slurl"/>
+ <menu_item_call label="Копировать URL SL" name="copy_slurl"/>
<menu_item_call label="Вставить" name="paste"/>
<menu_item_call label="Переименовать" name="rename"/>
<menu_item_call label="Удалить" name="delete"/>
diff --git a/indra/newview/skins/default/xui/ru/menu_viewer.xml b/indra/newview/skins/default/xui/ru/menu_viewer.xml
index 322a27003f..b9f403c04b 100644
--- a/indra/newview/skins/default/xui/ru/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/ru/menu_viewer.xml
@@ -54,7 +54,7 @@
<menu_item_check label="Владельцы земли" name="Land Owners"/>
<menu_item_check label="Координаты" name="Coordinates"/>
<menu_item_check label="Свойства участка" name="Parcel Properties"/>
- <menu_item_check label="Дополнительное меню" name="Show Advanced Menu"/>
+ <menu_item_check label="Меню «Дополнительно»" name="Show Advanced Menu"/>
</menu>
<menu_item_call label="Телепортироваться домой" name="Teleport Home"/>
<menu_item_call label="Установить дом здесь" name="Set Home to Here"/>
@@ -203,7 +203,7 @@
<menu_item_check label="Поиск" name="Search"/>
<menu_item_call label="Освободить клавиши" name="Release Keys"/>
<menu_item_call label="Сбросить размер интерфейса" name="Set UI Size to Default"/>
- <menu_item_check label="Показать дополнительное меню – устаревшее сочетание клавиш" name="Show Advanced Menu - legacy shortcut"/>
+ <menu_item_check label="Показать меню «Дополнительно» - старое сочетание клавиш" name="Show Advanced Menu - legacy shortcut"/>
<menu_item_call label="Закрыть окно" name="Close Window"/>
<menu_item_call label="Закрыть все окна" name="Close All Windows"/>
<menu_item_call label="Сохранить снимок на диске" name="Snapshot to Disk"/>
diff --git a/indra/newview/skins/default/xui/ru/notifications.xml b/indra/newview/skins/default/xui/ru/notifications.xml
index 87ae9d06dd..d43d907164 100644
--- a/indra/newview/skins/default/xui/ru/notifications.xml
+++ b/indra/newview/skins/default/xui/ru/notifications.xml
@@ -724,13 +724,13 @@
Телепортация сейчас заблокирована. Повторите попытку позже. Если все равно не удается телепортироваться, выйдите из программы и войдите снова, чтобы устранить проблему.
</notification>
<notification name="nolandmark_tport">
- Системе не удалось определить место назначения закладки.
+ Системе не удалось определить пункт назначения закладки.
</notification>
<notification name="timeout_tport">
Системе не удалось выполнить подключение телепорта. Повторите попытку позже.
</notification>
<notification name="noaccess_tport">
- У вас нет доступа к точке назначения этого телепорта.
+ У вас нет доступа в пункт назначения этого телепорта.
</notification>
<notification name="missing_attach_tport">
Ваши присоединения еще не доставлены. Подождите несколько секунд либо выйдите из программы и войдите снова, прежде чем повторить попытку телепортации.
@@ -745,7 +745,7 @@
Системе не удалось своевременно выполнить ваше пересечение границы. Повторите попытку через несколько минут.
</notification>
<notification name="no_host">
- Не удалось найти точку назначения телепорта. Возможно, место назначения временно недоступно или уже не существует. Повторите попытку через несколько минут.
+ Не удалось найти точку назначения телепорта. Возможно, пункт назначения временно недоступен или уже не существует. Повторите попытку через несколько минут.
</notification>
<notification name="no_inventory_host">
Система инвентаря сейчас недоступна.
@@ -2381,7 +2381,7 @@ http://secondlife.com/download.
Не найден регион назначения.
</notification>
<notification name="NotAllowedInDest">
- Вам не разрешен доступ к месту назначения.
+ Вам не разрешен доступ в пункт назначения.
</notification>
<notification name="RegionParcelBan">
Нельзя пересечь границу региона по пути на забаненный участок. Выберите другой путь.
@@ -2390,7 +2390,7 @@ http://secondlife.com/download.
Вы перенаправлены на телехаб.
</notification>
<notification name="CouldntTPCloser">
- Не удалось телепортироваться ближе к месту назначения.
+ Не удалось телепортироваться ближе к пункту назначения.
</notification>
<notification name="TPCancelled">
Телепортация отменена.
@@ -2904,7 +2904,7 @@ http://secondlife.com/download.
При скрытии кнопки «Говорить» голосовая функция отключается.
</notification>
<notification label="Исследование мира" name="HintDestinationGuide">
- Путеводитель по местам назначения содержит тысячи новых мест, в которых вы можете побывать. Выберите место и нажмите кнопку «Телепортация», чтобы начать исследование.
+ Путеводитель по пунктам назначения содержит тысячи новых мест, в которых вы можете побывать. Выберите место и нажмите кнопку «Телепортация», чтобы начать исследование.
</notification>
<notification label="Боковая панель" name="HintSidePanel">
Быстрый доступ к вашему инвентарю, костюмам, профилю и многому другому открывается на боковой панели.
diff --git a/indra/newview/skins/default/xui/ru/panel_edit_alpha.xml b/indra/newview/skins/default/xui/ru/panel_edit_alpha.xml
index 38789c1c5e..7cde4099ef 100644
--- a/indra/newview/skins/default/xui/ru/panel_edit_alpha.xml
+++ b/indra/newview/skins/default/xui/ru/panel_edit_alpha.xml
@@ -2,8 +2,8 @@
<panel name="edit_alpha_panel">
<scroll_container name="avatar_alpha_color_panel_scroll">
<panel name="avatar_alpha_color_panel">
- <texture_picker label="Альфа нижних частей тела" name="Lower Alpha" tool_tip="Щелкните для выбора изображения"/>
- <texture_picker label="Альфа верхних частей тела" name="Upper Alpha" tool_tip="Щелкните для выбора изображения"/>
+ <texture_picker label="Альфа низа" name="Lower Alpha" tool_tip="Щелкните для выбора изображения"/>
+ <texture_picker label="Альфа верха" name="Upper Alpha" tool_tip="Щелкните для выбора изображения"/>
<texture_picker label="Альфа головы" name="Head Alpha" tool_tip="Щелкните для выбора изображения"/>
<texture_picker label="Альфа глаз" name="Eye Alpha" tool_tip="Щелкните для выбора изображения"/>
<texture_picker label="Альфа волос" name="Hair Alpha" tool_tip="Щелкните для выбора изображения"/>
diff --git a/indra/newview/skins/default/xui/ru/panel_edit_shape.xml b/indra/newview/skins/default/xui/ru/panel_edit_shape.xml
index b185ce1d45..312ad593a1 100644
--- a/indra/newview/skins/default/xui/ru/panel_edit_shape.xml
+++ b/indra/newview/skins/default/xui/ru/panel_edit_shape.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="edit_shape_panel">
<string name="meters">
- метров
+ м
</string>
<string name="feet">
футов
diff --git a/indra/newview/skins/default/xui/ru/panel_im_control_panel.xml b/indra/newview/skins/default/xui/ru/panel_im_control_panel.xml
index f1cba0d3be..2a23cdb800 100644
--- a/indra/newview/skins/default/xui/ru/panel_im_control_panel.xml
+++ b/indra/newview/skins/default/xui/ru/panel_im_control_panel.xml
@@ -17,7 +17,7 @@
<button label="Заплатить" name="pay_btn"/>
</layout_panel>
<layout_panel name="call_btn_panel">
- <button label="Позвонить" name="call_btn"/>
+ <button label="Звонок" name="call_btn"/>
</layout_panel>
<layout_panel name="end_call_btn_panel">
<button label="Завершить звонок" name="end_call_btn"/>
diff --git a/indra/newview/skins/default/xui/ru/panel_landmarks.xml b/indra/newview/skins/default/xui/ru/panel_landmarks.xml
index 66c5b3b574..7d684cd479 100644
--- a/indra/newview/skins/default/xui/ru/panel_landmarks.xml
+++ b/indra/newview/skins/default/xui/ru/panel_landmarks.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<panel name="Landmarks">
<accordion name="landmarks_accordion">
- <accordion_tab name="tab_favorites" title="Панель «Избранное»"/>
+ <accordion_tab name="tab_favorites" title="Избранное"/>
<accordion_tab name="tab_landmarks" title="Мои закладки"/>
<accordion_tab name="tab_inventory" title="Мой инвентарь"/>
<accordion_tab name="tab_library" title="Библиотека"/>
diff --git a/indra/newview/skins/default/xui/ru/panel_navigation_bar.xml b/indra/newview/skins/default/xui/ru/panel_navigation_bar.xml
index d9890acff2..5e3de180f9 100644
--- a/indra/newview/skins/default/xui/ru/panel_navigation_bar.xml
+++ b/indra/newview/skins/default/xui/ru/panel_navigation_bar.xml
@@ -12,7 +12,7 @@
<layout_panel name="favorites_layout_panel">
<favorites_bar name="favorite" tool_tip="Перетаскивайте сюда закладки, чтобы было удобнее переходить в любимые места в Second Life!">
<label name="favorites_bar_label" tool_tip="Перетаскивайте сюда закладки, чтобы было удобнее переходить в любимые места в Second Life!">
- Панель «Избранное»
+ Избранное
</label>
<more_button name="&gt;&gt;" tool_tip="Показать больше избранного">
Больше ▼
diff --git a/indra/newview/skins/default/xui/ru/panel_notes.xml b/indra/newview/skins/default/xui/ru/panel_notes.xml
index f88b4f13c3..aa74383349 100644
--- a/indra/newview/skins/default/xui/ru/panel_notes.xml
+++ b/indra/newview/skins/default/xui/ru/panel_notes.xml
@@ -21,7 +21,7 @@
<button label="IM" name="im" tool_tip="Начать сеанс IM"/>
</layout_panel>
<layout_panel name="call_btn_lp">
- <button label="Позвонить" name="call" tool_tip="Позвонить этому жителю"/>
+ <button label="Звонок" name="call" tool_tip="Позвонить этому жителю"/>
</layout_panel>
<layout_panel name="show_on_map_btn_lp">
<button label="Карта" name="show_on_map_btn" tool_tip="Показать жителя на карте"/>
diff --git a/indra/newview/skins/default/xui/ru/panel_outfit_edit.xml b/indra/newview/skins/default/xui/ru/panel_outfit_edit.xml
index 0657e6ff40..91c03342a7 100644
--- a/indra/newview/skins/default/xui/ru/panel_outfit_edit.xml
+++ b/indra/newview/skins/default/xui/ru/panel_outfit_edit.xml
@@ -2,7 +2,7 @@
<!-- Side tray Outfit Edit panel -->
<panel name="outfit_edit">
<string name="No Outfit" value="Нет костюма"/>
- <string name="unsaved_changes" value="Не сохраненные изменения"/>
+ <string name="unsaved_changes" value="Несохраненные изменения"/>
<string name="now_editing" value="Сейчас редактируется"/>
<panel.string name="not_available">
(нет)
@@ -35,7 +35,7 @@
</layout_stack>
</layout_panel>
<layout_panel name="add_wearables_panel">
- <button label="Вещь, которая носится" name="plus_btn"/>
+ <button label="Носимая вещь" name="plus_btn"/>
</layout_panel>
</layout_stack>
<panel name="no_add_wearables_button_bar">
diff --git a/indra/newview/skins/default/xui/ru/panel_people.xml b/indra/newview/skins/default/xui/ru/panel_people.xml
index e8a25d5349..607921f2d6 100644
--- a/indra/newview/skins/default/xui/ru/panel_people.xml
+++ b/indra/newview/skins/default/xui/ru/panel_people.xml
@@ -64,13 +64,13 @@
<panel name="button_bar">
<layout_stack name="bottom_bar_ls">
<layout_panel name="view_profile_btn_lp">
- <button label="Профиль" name="view_profile_btn" tool_tip="Показывает изображение, группы и прочую информацию о жителе"/>
+ <button label="Профиль" name="view_profile_btn" tool_tip="Показать изображение, группы и прочую информацию о жителе"/>
</layout_panel>
<layout_panel name="im_btn_lp">
<button label="IM" name="im_btn" tool_tip="Начать сеанс IM"/>
</layout_panel>
<layout_panel name="call_btn_lp">
- <button label="Позвонить" name="call_btn" tool_tip="Позвонить этому жителю"/>
+ <button label="Звонок" name="call_btn" tool_tip="Позвонить этому жителю"/>
</layout_panel>
<layout_panel name="share_btn_lp">
<button label="Поделиться" name="share_btn" tool_tip="Поделиться объектом из инвентаря"/>
@@ -81,13 +81,13 @@
</layout_stack>
<layout_stack name="bottom_bar_ls1">
<layout_panel name="group_info_btn_lp">
- <button label="Профиль группы" name="group_info_btn" tool_tip="Показывает информацию о группе"/>
+ <button label="Профиль группы" name="group_info_btn" tool_tip="Показать информацию о группе"/>
</layout_panel>
<layout_panel name="chat_btn_lp">
- <button label="Групповой чат" name="chat_btn" tool_tip="Открывает сеанс чата"/>
+ <button label="Групповой чат" name="chat_btn" tool_tip="Открыть сеанс чата"/>
</layout_panel>
<layout_panel name="group_call_btn_lp">
- <button label="Звонок группе" name="group_call_btn" tool_tip="Звонок этой группе"/>
+ <button label="Звонок группе" name="group_call_btn" tool_tip="Позвонить этой группе"/>
</layout_panel>
</layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/ru/panel_preferences_chat.xml b/indra/newview/skins/default/xui/ru/panel_preferences_chat.xml
index fb368b8b5e..a3ee5b7815 100644
--- a/indra/newview/skins/default/xui/ru/panel_preferences_chat.xml
+++ b/indra/newview/skins/default/xui/ru/panel_preferences_chat.xml
@@ -30,7 +30,7 @@
<spinner label="Время отображения всплывающих реплик:" name="nearby_toasts_lifetime"/>
<spinner label="Время затухания всплывающих реплик:" name="nearby_toasts_fadingtime"/>
<text name="translate_chb_label">
- Использовать машинный перевод во время общения
+ Использовать машинный перевод при общении
</text>
<text name="translate_language_text">
Переводить чат на:
diff --git a/indra/newview/skins/default/xui/ru/panel_preferences_move.xml b/indra/newview/skins/default/xui/ru/panel_preferences_move.xml
index 878a729113..a6e9b00f2a 100644
--- a/indra/newview/skins/default/xui/ru/panel_preferences_move.xml
+++ b/indra/newview/skins/default/xui/ru/panel_preferences_move.xml
@@ -5,12 +5,12 @@
<text name="heading2">
Автоматическая установка позиции для:
</text>
- <check_box label="создания/редактирования" name="edit_camera_movement" tool_tip="Производить автоматическое позиционирование камеры при входе в режим редактирования и выходе из него"/>
- <check_box label="внешности" name="appearance_camera_movement" tool_tip="Производить автоматическое позиционирование камеры в режиме изменения внешности"/>
+ <check_box label="создания/редактирования" name="edit_camera_movement" tool_tip="Автоматическое позиционирование камеры при входе в режим редактирования и выходе из него"/>
+ <check_box label="внешности" name="appearance_camera_movement" tool_tip="Автоматическое позиционирование камеры в режиме редактирования"/>
<text name="keyboard_lbl">
Клавиатура:
</text>
- <check_box label="Клавиши стрелок всегда перемещают меня" name="arrow_keys_move_avatar_check"/>
+ <check_box label="Клавиши со стрелками всегда перемещают меня" name="arrow_keys_move_avatar_check"/>
<check_box label="Бег после двойного нажатия клавиши" name="tap_tap_hold_to_run"/>
<text name="mouse_lbl">
Мышь:
diff --git a/indra/newview/skins/default/xui/ru/panel_profile.xml b/indra/newview/skins/default/xui/ru/panel_profile.xml
index 79c060c050..fab57d678c 100644
--- a/indra/newview/skins/default/xui/ru/panel_profile.xml
+++ b/indra/newview/skins/default/xui/ru/panel_profile.xml
@@ -53,10 +53,10 @@
<button label="IM" name="im" tool_tip="Начать сеанс IM"/>
</layout_panel>
<layout_panel name="call_btn_lp">
- <button label="Позвонить" name="call" tool_tip="Позвонить этому жителю"/>
+ <button label="Звонок" name="call" tool_tip="Позвонить этому жителю"/>
</layout_panel>
<layout_panel name="chat_btn_lp">
- <button label="Телепортироваться" name="teleport" tool_tip="Предложить телепортацию"/>
+ <button label="Телепортация" name="teleport" tool_tip="Предложить телепортацию"/>
</layout_panel>
<layout_panel name="overflow_btn_lp">
<menu_button label="▼" name="overflow_btn" tool_tip="Заплатить жителю или поделиться с ним вещами"/>
diff --git a/indra/newview/skins/default/xui/ru/panel_region_estate.xml b/indra/newview/skins/default/xui/ru/panel_region_estate.xml
index d957274026..27ec10b323 100644
--- a/indra/newview/skins/default/xui/ru/panel_region_estate.xml
+++ b/indra/newview/skins/default/xui/ru/panel_region_estate.xml
@@ -18,16 +18,16 @@
<check_box label="Глобальное время" name="use_global_time_check"/>
<check_box label="Фиксированное" name="fixed_sun_check"/>
<slider label="Фаза" name="sun_hour_slider"/>
- <check_box label="Разрешить публичный доступ" name="externally_visible_check"/>
+ <check_box label="Разрешить общий доступ" name="externally_visible_check"/>
<text name="Only Allow">
- Ограничить доступ проверкой:
+ Разрешить доступ только аккаунтам с подтверждением:
</text>
<check_box label="Информации об оплате в файле" name="limit_payment" tool_tip="Банить нераспознанных жителей"/>
<check_box label="Проверка возраста" name="limit_age_verified" tool_tip="Банить жителей, не прошедших проверку возраста. Более подробная информация находится здесь: [SUPPORT_SITE]."/>
<check_box label="Разрешить голосовое общение" name="voice_chat_check"/>
<check_box label="Разрешить прямой телепорт" name="allow_direct_teleport"/>
<button label="Применить" name="apply_btn"/>
- <button label="Отправить сообщение в землевладение..." name="message_estate_btn"/>
+ <button label="Сообщение в землевладение..." name="message_estate_btn"/>
<button label="Выкинуть жителя с землевладения..." name="kick_user_from_estate_btn"/>
<text name="estate_manager_label">
Менеджеры землевладения:
diff --git a/indra/newview/skins/default/xui/ru/panel_region_general.xml b/indra/newview/skins/default/xui/ru/panel_region_general.xml
index 97bfbbeeea..8559be6c9e 100644
--- a/indra/newview/skins/default/xui/ru/panel_region_general.xml
+++ b/indra/newview/skins/default/xui/ru/panel_region_general.xml
@@ -31,10 +31,10 @@
<text label="Дозволенность" name="access_text">
Категория:
</text>
- <icons_combo_box label="Умеренная" name="access_combo">
+ <icons_combo_box label="Умеренный" name="access_combo">
<icons_combo_box.item label="Для взрослых" name="Adult" value="42"/>
- <icons_combo_box.item label="Умеренная" name="Mature" value="21"/>
- <icons_combo_box.item label="Общая" name="PG" value="13"/>
+ <icons_combo_box.item label="Умеренный" name="Mature" value="21"/>
+ <icons_combo_box.item label="Общий" name="PG" value="13"/>
</icons_combo_box>
<button label="Применить" name="apply_btn"/>
<button label="Телепортировать домой одного жителя..." name="kick_btn"/>
diff --git a/indra/newview/skins/default/xui/ru/panel_region_terrain.xml b/indra/newview/skins/default/xui/ru/panel_region_terrain.xml
index 08258b5034..af25565226 100644
--- a/indra/newview/skins/default/xui/ru/panel_region_terrain.xml
+++ b/indra/newview/skins/default/xui/ru/panel_region_terrain.xml
@@ -7,13 +7,13 @@
неизвестен
</text>
<spinner label="Уровень воды" name="water_height_spin"/>
- <spinner label="Верхняя точка ландшафта" name="terrain_raise_spin"/>
- <spinner label="Нижняя точка ландшафта" name="terrain_lower_spin"/>
+ <spinner label="Верх. точка ландшафта" name="terrain_raise_spin"/>
+ <spinner label="Ниж. точка ландшафта" name="terrain_lower_spin"/>
<text name="detail_texture_text">
- Текстуры ландшафта (требования: 512x512, 24-разрядные, TGA)
+ Текстуры ландшафта (требования: 512x512, 24-битные, TGA)
</text>
<text name="height_text_lbl">
- 1 (Нижняя)
+ 1 (Низ)
</text>
<text name="height_text_lbl2">
2
@@ -22,7 +22,7 @@
3
</text>
<text name="height_text_lbl4">
- 4 (Верхняя)
+ 4 (Верх)
</text>
<text name="height_text_lbl5">
Диапазон высот текстур
@@ -31,7 +31,7 @@
Эти значения определяют степень смешивания наложенных текстур.
</text>
<text name="height_text_lbl11">
- Измеряются в метрах. Значение «Нижняя» – это МАКСИМАЛЬНАЯ высота текстуры №1, а значение «Верхняя» – это МИНИМАЛЬНАЯ высота текстуры №4.
+ Измеряются в метрах. Значение «Низ» – это МАКСИМАЛЬНАЯ высота текстуры №1, а значение «Верх» – это МИНИМАЛЬНАЯ высота текстуры №4.
</text>
<text name="height_text_lbl6">
Северо-запад
@@ -39,20 +39,20 @@
<text name="height_text_lbl7">
Северо-восток
</text>
- <spinner label="Нижняя" name="height_start_spin_1"/>
- <spinner label="Нижняя" name="height_start_spin_3"/>
- <spinner label="Верхняя" name="height_range_spin_1"/>
- <spinner label="Верхняя" name="height_range_spin_3"/>
+ <spinner label="Низ" name="height_start_spin_1"/>
+ <spinner label="Низ" name="height_start_spin_3"/>
+ <spinner label="Верх" name="height_range_spin_1"/>
+ <spinner label="Верх" name="height_range_spin_3"/>
<text name="height_text_lbl8">
Юго-запад
</text>
<text name="height_text_lbl9">
Юго-восток
</text>
- <spinner label="Нижняя" name="height_start_spin_0"/>
- <spinner label="Нижняя" name="height_start_spin_2"/>
- <spinner label="Верхняя" name="height_range_spin_0"/>
- <spinner label="Верхняя" name="height_range_spin_2"/>
+ <spinner label="Низ" name="height_start_spin_0"/>
+ <spinner label="Низ" name="height_start_spin_2"/>
+ <spinner label="Верх" name="height_range_spin_0"/>
+ <spinner label="Верх" name="height_range_spin_2"/>
<button label="Загрузить ландшафт RAW..." name="download_raw_btn" tool_tip="Доступно только землевладельцам, не менеджерам"/>
<button label="Передать ландшафт RAW..." name="upload_raw_btn" tool_tip="Доступно только землевладельцам, не менеджерам"/>
<button label="Зафиксировать пределы" name="bake_terrain_btn" tool_tip="Установить высоту ландшафта по средней точке между верхней и нижней точками"/>
diff --git a/indra/newview/skins/default/xui/ru/panel_region_texture.xml b/indra/newview/skins/default/xui/ru/panel_region_texture.xml
index 369beb1e9b..c4b35a536d 100644
--- a/indra/newview/skins/default/xui/ru/panel_region_texture.xml
+++ b/indra/newview/skins/default/xui/ru/panel_region_texture.xml
@@ -7,10 +7,10 @@
неизвестен
</text>
<text name="detail_texture_text">
- Текстуры ландшафта (требования: 512x512, 24-разрядные TGA-файлы)
+ Текстуры ландшафта (требования: 512x512, 24-битные TGA-файлы)
</text>
<text name="height_text_lbl">
- 1 (нижняя)
+ 1 (низ)
</text>
<text name="height_text_lbl2">
2
@@ -19,7 +19,7 @@
3
</text>
<text name="height_text_lbl4">
- 4 (верхняя)
+ 4 (верх)
</text>
<text name="height_text_lbl5">
Диапазон высот текстур
@@ -30,25 +30,25 @@
<text name="height_text_lbl7">
Северо-восток
</text>
- <spinner label="Низко" name="height_start_spin_1"/>
- <spinner label="Низко" name="height_start_spin_3"/>
- <spinner label="Высоко" name="height_range_spin_1"/>
- <spinner label="Высоко" name="height_range_spin_3"/>
+ <spinner label="Низ" name="height_start_spin_1"/>
+ <spinner label="Низ" name="height_start_spin_3"/>
+ <spinner label="Верх" name="height_range_spin_1"/>
+ <spinner label="Верх" name="height_range_spin_3"/>
<text name="height_text_lbl8">
Юго-запад
</text>
<text name="height_text_lbl9">
Юго-восток
</text>
- <spinner label="Низко" name="height_start_spin_0"/>
- <spinner label="Низко" name="height_start_spin_2"/>
- <spinner label="Высоко" name="height_range_spin_0"/>
- <spinner label="Высоко" name="height_range_spin_2"/>
+ <spinner label="Низ" name="height_start_spin_0"/>
+ <spinner label="Низ" name="height_start_spin_2"/>
+ <spinner label="Верх" name="height_range_spin_0"/>
+ <spinner label="Верх" name="height_range_spin_2"/>
<text name="height_text_lbl10">
Эти значения отображают диапазон перекрытия вышеуказанных текстур.
</text>
<text name="height_text_lbl11">
- Измеряется в метрах, НИЖНЕЕ значение – это МАКСИМАЛЬНАЯ высота текстуры №1, ВЕРХНЕЕ значение – это МИНИМАЛЬНАЯ высота текстуры №4.
+ Измеряется в метрах, значение «Низ» – это МАКСИМАЛЬНАЯ высота текстуры №1, значение «Верх» – это МИНИМАЛЬНАЯ высота текстуры №4.
</text>
<button label="Применить" name="apply_btn"/>
</panel>
diff --git a/indra/newview/skins/default/xui/ru/strings.xml b/indra/newview/skins/default/xui/ru/strings.xml
index df657b39c6..7fef5797a9 100644
--- a/indra/newview/skins/default/xui/ru/strings.xml
+++ b/indra/newview/skins/default/xui/ru/strings.xml
@@ -872,7 +872,7 @@ support@secondlife.com.
Новое сопоставление элементов управления
</string>
<string name="AnimateYourAvatar">
- Анимация аватара
+ Анимировать ваш аватар
</string>
<string name="AttachToYourAvatar">
Прикрепить к аватару
@@ -899,10 +899,10 @@ support@secondlife.com.
Нет подключения
</string>
<string name="SIM_ACCESS_PG">
- Общая
+ Общий
</string>
<string name="SIM_ACCESS_MATURE">
- Умеренная
+ Умеренный
</string>
<string name="SIM_ACCESS_ADULT">
Для взрослых
@@ -1073,7 +1073,7 @@ support@secondlife.com.
Тату не надето
</string>
<string name="physics_not_worn">
- Физические данные не учитываются
+ Физика не учитывается
</string>
<string name="invalid_not_worn">
ошибка
@@ -1124,7 +1124,7 @@ support@secondlife.com.
Создать тату
</string>
<string name="create_new_physics">
- Создать физические данные
+ Создать физику
</string>
<string name="create_new_invalid">
ошибка
@@ -1437,7 +1437,7 @@ support@secondlife.com.
Резина
</string>
<string name="Light">
- Освещение
+ Светлый
</string>
<string name="KBShift">
SHIFT
@@ -1617,7 +1617,7 @@ support@secondlife.com.
Есть информация о платежах
</string>
<string name="PaymentInfoOnFile">
- Есть информация в файле о платежах
+ Есть зарегистрир. информация о платежах
</string>
<string name="NoPaymentInfoOnFile">
Нет информации о платежах
@@ -2340,13 +2340,13 @@ support@secondlife.com.
Не удается получить описание формата пикселей
</string>
<string name="MBTrueColorWindow">
- Для работы [APP_NAME] необходим режим True Color (32 разряда).
-Задайте в настройках дисплея 32-разрядный режим цвета.
+ Для работы [APP_NAME] необходим режим True Color (32 бита).
+Задайте в настройках дисплея 32-битный режим цвета.
</string>
<string name="MBAlpha">
- Не удается запустить [APP_NAME] из-за отсутствия доступа к 8-разрядному альфа-каналу. Обычно эта проблема возникает из-за неполадок с драйвером видеокарты.
+ Не удается запустить [APP_NAME] из-за отсутствия доступа к 8-битному альфа-каналу. Обычно эта проблема возникает из-за неполадок с драйвером видеокарты.
Установите новые драйверы видеокарты.
-Также задайте для монитора 32-разрядный режим True Color (Панель управления &gt; Экран &gt; Параметры).
+Также задайте для монитора 32-битный режим True Color (Панель управления &gt; Экран &gt; Параметры).
Если это сообщение продолжает отображаться, обратитесь на сайт [SUPPORT_SITE].
</string>
<string name="MBPixelFmtSetErr">
@@ -2363,7 +2363,7 @@ support@secondlife.com.
Если это сообщение продолжает отображаться, обратитесь на сайт [SUPPORT_SITE].
</string>
<string name="5 O&apos;Clock Shadow">
- Легкие сумерки
+ Жидкие
</string>
<string name="All White">
Полностью белые
@@ -2381,10 +2381,10 @@ support@secondlife.com.
Прикреплено
</string>
<string name="Attached Earlobes">
- Примыкающие мочки
+ Приросшие мочки
</string>
<string name="Back Fringe">
- Черная челка
+ Затылок
</string>
<string name="Baggy">
С мешками
@@ -2417,7 +2417,7 @@ support@secondlife.com.
Большая голова
</string>
<string name="Big Pectorals">
- Большие грудные мышцы
+ Выпуклая грудь
</string>
<string name="Big Spikes">
Большие «шипы»
@@ -2603,7 +2603,7 @@ support@secondlife.com.
Кустистые брови
</string>
<string name="Bushy Hair">
- Вьющиеся волосы
+ Пышные
</string>
<string name="Butt Size">
Размер зада
@@ -2636,7 +2636,7 @@ support@secondlife.com.
Ямка на подбородке
</string>
<string name="Chin Curtains">
- Борода в стиле Линкольна
+ Шкиперская бородка
</string>
<string name="Chin Depth">
Толщина подбородка
@@ -2654,10 +2654,10 @@ support@secondlife.com.
Переход от подбородка к шее
</string>
<string name="Clear">
- Очистить
+ Чистый
</string>
<string name="Cleft">
- Щелкой
+ Ямка
</string>
<string name="Close Set Eyes">
Близко посаженные
@@ -2711,7 +2711,7 @@ support@secondlife.com.
Темнее
</string>
<string name="Deep">
- Глубокий
+ Глубоко
</string>
<string name="Default Heels">
Стандартные каблуки
@@ -2726,7 +2726,7 @@ support@secondlife.com.
Вниз
</string>
<string name="Duffle Bag">
- Сумка из плотной ткани
+ Больше
</string>
<string name="Ear Angle">
Оттопыренность ушей
@@ -2756,7 +2756,7 @@ support@secondlife.com.
Открытость глаз
</string>
<string name="Eye Pop">
- Взмах ресницами
+ Вытаращить глаз
</string>
<string name="Eye Size">
Размер глаз
@@ -2774,7 +2774,7 @@ support@secondlife.com.
Высота бровей
</string>
<string name="Eyebrow Points">
- Точки бровей
+ Кончики бровей
</string>
<string name="Eyebrow Size">
Размер бровей
@@ -2792,10 +2792,10 @@ support@secondlife.com.
Выпученные глаза
</string>
<string name="Face Shear">
- Овал лица
+ Перекос лица
</string>
<string name="Facial Definition">
- Описание лица
+ Черты лица
</string>
<string name="Far Set Eyes">
Широко расставленные глаза
@@ -2816,7 +2816,7 @@ support@secondlife.com.
С манжетами
</string>
<string name="Flat">
- Плоский
+ Плоские
</string>
<string name="Flat Butt">
Плоский зад
@@ -2903,7 +2903,7 @@ support@secondlife.com.
Размер кисти
</string>
<string name="Handlebars">
- Рули
+ Длинные усы
</string>
<string name="Head Length">
Длина головы
@@ -2924,10 +2924,10 @@ support@secondlife.com.
Форма каблука
</string>
<string name="Height">
- Высота
+ Рост
</string>
<string name="High">
- высокий
+ Высокие
</string>
<string name="High Heels">
Высокий каблук
@@ -2939,7 +2939,7 @@ support@secondlife.com.
Высокая платформа
</string>
<string name="High and Tight">
- Высокое и плотное
+ Высокий и плотный
</string>
<string name="Higher">
Выше
@@ -2951,13 +2951,13 @@ support@secondlife.com.
Ширина бедер
</string>
<string name="In">
- Внутри
+ Внутрь
</string>
<string name="In Shdw Color">
Цвет внутренних теней
</string>
<string name="In Shdw Opacity">
- Прозрачность внутренних теней
+ Прозрачность внутр. теней
</string>
<string name="Inner Eye Corner">
Внутренние уголки глаз
@@ -2990,13 +2990,13 @@ support@secondlife.com.
Щеки
</string>
<string name="Knee Angle">
- Угол коленей
+ Угол колен
</string>
<string name="Knock Kneed">
- Ровность ног
+ Колченогие
</string>
<string name="Large">
- Большие
+ Больше
</string>
<string name="Large Hands">
Большие кисти
@@ -3029,7 +3029,7 @@ support@secondlife.com.
Меньше притяжения
</string>
<string name="Less Love">
- Меньше любви
+ Меньше
</string>
<string name="Less Muscles">
Меньше мышц
@@ -3044,7 +3044,7 @@ support@secondlife.com.
Меньше округлости
</string>
<string name="Less Saddle">
- Меньше седлообразности
+ Меньше
</string>
<string name="Less Square">
Меньше угловатости
@@ -3053,16 +3053,16 @@ support@secondlife.com.
Меньше объема
</string>
<string name="Less soul">
- Меньше энергичности
+ Меньше
</string>
<string name="Lighter">
Светлее
</string>
<string name="Lip Cleft">
- Зазор между губ
+ Ямка между губ
</string>
<string name="Lip Cleft Depth">
- Глубина зазора
+ Глубина ямки
</string>
<string name="Lip Fullness">
Полнота губ
@@ -3128,28 +3128,28 @@ support@secondlife.com.
Отложения на талии
</string>
<string name="Low">
- Низкое
+ Низкие
</string>
<string name="Low Heels">
Низкий каблук
</string>
<string name="Low Jaw">
- Низкая челюсть
+ Челюсть низко
</string>
<string name="Low Platforms">
Низкая платформа
</string>
<string name="Low and Loose">
- Низкое и свободное
+ Низкий и свободный
</string>
<string name="Lower">
Ниже
</string>
<string name="Lower Bridge">
- Ниже переносицу
+ Спинка носа
</string>
<string name="Lower Cheeks">
- Ниже щеки
+ Щеки ниже
</string>
<string name="Male">
Мужчина
@@ -3185,7 +3185,7 @@ support@secondlife.com.
Больше помады
</string>
<string name="More Love">
- Больше любви
+ Больше
</string>
<string name="More Lower Lip">
Больше нижняя губа
@@ -3194,7 +3194,7 @@ support@secondlife.com.
Больше мышц
</string>
<string name="More Muscular">
- Более мускулистое
+ Больше мышц
</string>
<string name="More Rosy">
Больше румянца
@@ -3203,7 +3203,7 @@ support@secondlife.com.
Больше округлости
</string>
<string name="More Saddle">
- Более седлообразно
+ Больше
</string>
<string name="More Sloped">
Более наклонный
@@ -3218,10 +3218,10 @@ support@secondlife.com.
Более вертикальный
</string>
<string name="More Volume">
- Больший объем
+ Больше объема
</string>
<string name="More soul">
- Больше духа
+ Больше
</string>
<string name="Moustache">
Усы
@@ -3251,7 +3251,7 @@ support@secondlife.com.
Узко
</string>
<string name="Narrow Back">
- Узкая спина
+ Узко сзади
</string>
<string name="Narrow Front">
Узкий перед
@@ -3260,7 +3260,7 @@ support@secondlife.com.
Узкие губы
</string>
<string name="Natural">
- Естественно
+ Естественный
</string>
<string name="Neck Length">
Длина шеи
@@ -3356,13 +3356,13 @@ support@secondlife.com.
Оранжевый
</string>
<string name="Out">
- Снаружи
+ Наружу
</string>
<string name="Out Shdw Color">
Цвет внешних теней
</string>
<string name="Out Shdw Opacity">
- Прозрачность внешних теней
+ Прозрачность внеш. теней
</string>
<string name="Outer Eye Corner">
Внешние уголки глаз
@@ -3377,7 +3377,7 @@ support@secondlife.com.
Глубокий прикус
</string>
<string name="Package">
- Пакет
+ Гульфик
</string>
<string name="Painted Nails">
Покрашенные
@@ -3386,7 +3386,7 @@ support@secondlife.com.
Бледный
</string>
<string name="Pants Crotch">
- Мотня
+ Шаг
</string>
<string name="Pants Fit">
Облегающие брюки
@@ -3404,13 +3404,13 @@ support@secondlife.com.
Пробор
</string>
<string name="Part Bangs">
- Челки с пробором
+ Челка с пробором
</string>
<string name="Pectorals">
Грудные мышцы
</string>
<string name="Pigment">
- Пигмент
+ Пигментация
</string>
<string name="Pigtails">
Хвосты по бокам
@@ -3428,7 +3428,7 @@ support@secondlife.com.
Ширина платформы
</string>
<string name="Pointy">
- Острый
+ Острые
</string>
<string name="Pointy Heels">
Острый каблук
@@ -3440,13 +3440,13 @@ support@secondlife.com.
Пышная юбка
</string>
<string name="Pop Left Eye">
- Хлопнуть левым глазом
+ Левый глаз
</string>
<string name="Pop Right Eye">
- Хлопнуть правым глазом
+ Правый глаз
</string>
<string name="Puffy">
- Припухшие
+ Пухлые
</string>
<string name="Puffy Eyelids">
Припухлость век
@@ -3473,13 +3473,13 @@ support@secondlife.com.
Румянец
</string>
<string name="Ruddy">
- Румяное
+ Румяный
</string>
<string name="Rumpled Hair">
Взъерошенные
</string>
<string name="Saddle Bags">
- Седельные сумки
+ Галифе
</string>
<string name="Scrawny Leg">
Сухопарая нога
@@ -3488,25 +3488,25 @@ support@secondlife.com.
Разделить
</string>
<string name="Shallow">
- Мелкий
+ Мелко
</string>
<string name="Shear Back">
- Очертание спины
+ Скос сзади
</string>
<string name="Shear Face">
- Овал лица
+ Перекос лица
</string>
<string name="Shear Front">
- Очертание спереди
+ Скос спереди
</string>
<string name="Shear Left Up">
- Очертание левой верхней части
+ Скос влево вверх
</string>
<string name="Shear Right Up">
- Очертание правой верхней части
+ Скос вправо вверх
</string>
<string name="Sheared Back">
- Уменьшенная спина
+ Уменьшено сзади
</string>
<string name="Sheared Front">
Уменьшено спереди
@@ -3533,7 +3533,7 @@ support@secondlife.com.
Высота обуви
</string>
<string name="Short">
- Короче
+ Ниже
</string>
<string name="Short Arms">
Короткие руки
@@ -3608,7 +3608,7 @@ support@secondlife.com.
Разрез: справа
</string>
<string name="Small">
- Маленький
+ Меньше
</string>
<string name="Small Hands">
Маленькие кисти
@@ -3620,13 +3620,13 @@ support@secondlife.com.
Гладко
</string>
<string name="Smooth Hair">
- Приглаженные волосы
+ Приглаженные
</string>
<string name="Socks Length">
Длина носков
</string>
<string name="Soulpatch">
- Бородка под губой
+ Эспаньолка
</string>
<string name="Sparse">
Жидкие
@@ -3662,13 +3662,13 @@ support@secondlife.com.
Зачесанные вперед
</string>
<string name="Tall">
- Высокие
+ Выше
</string>
<string name="Taper Back">
- Градуировка сзади
+ Конус сзади
</string>
<string name="Taper Front">
- Градуировка спереди
+ Конус спереди
</string>
<string name="Thick Heels">
Широкий каблук
@@ -3737,16 +3737,16 @@ support@secondlife.com.
Неестественный
</string>
<string name="Upper Bridge">
- Переносицу выше
+ Переносица
</string>
<string name="Upper Cheeks">
Щеки выше
</string>
<string name="Upper Chin Cleft">
- Ямку на подбородке выше
+ Ямка на подбородке выше
</string>
<string name="Upper Eyelid Fold">
- Складку века выше
+ Складка верхнего века
</string>
<string name="Upturned">
Вверх
@@ -3758,7 +3758,7 @@ support@secondlife.com.
Высота талии
</string>
<string name="Well-Fed">
- Упитанное
+ Упитанные
</string>
<string name="White Hair">
Белые волосы
@@ -3767,7 +3767,7 @@ support@secondlife.com.
Широко
</string>
<string name="Wide Back">
- Широкая спина
+ Широко сзади
</string>
<string name="Wide Front">
Широкий перед
@@ -4252,7 +4252,7 @@ support@secondlife.com.
Женщина – ух ты!
</string>
<string name="/bow">
- /поклон
+ /поклониться
</string>
<string name="/clap">
/хлопнуть
@@ -4794,7 +4794,7 @@ support@secondlife.com.
Компас
</string>
<string name="Command_Destinations_Label">
- Места
+ Пункты
</string>
<string name="Command_Gestures_Label">
Жесты
@@ -4845,16 +4845,16 @@ support@secondlife.com.
Вид
</string>
<string name="Command_Voice_Label">
- Голоса собеседников
+ Настройки голоса
</string>
<string name="Command_AboutLand_Tooltip">
Информация о посещаемой вами земле
</string>
<string name="Command_Appearance_Tooltip">
- Сменить аватар
+ Изменить аватар
</string>
<string name="Command_Avatar_Tooltip">
- Выберите весь аватар
+ Выбор аватара
</string>
<string name="Command_Build_Tooltip">
Построение объектов и формирование ландшафта
@@ -4917,7 +4917,7 @@ support@secondlife.com.
Изменение угла камеры
</string>
<string name="Command_Voice_Tooltip">
- Люди около вас с оспособностью говорить
+ Громкость звонков и голосов окружающих вас людей
</string>
<string name="Retain%">
Остаток%