diff options
author | Yuri Chebotarev <ychebotarev@productengine.com> | 2010-05-06 19:52:56 +0300 |
---|---|---|
committer | Yuri Chebotarev <ychebotarev@productengine.com> | 2010-05-06 19:52:56 +0300 |
commit | 17b42d5c5e0577cfcb59dc8972ddee602938d419 (patch) | |
tree | e3d9d3afc480f9ea60d55dc4d107befec0d439af /indra | |
parent | 0674dd9bd9d808658158a91a9cedf1b3e274c094 (diff) |
EXT-6102 FIXED Add custom view for world rect with special reshape processing
reviwed Mike Antipov at https://codereview.productengine.com/secondlife/r/357/
--HG--
branch : product-engine
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/CMakeLists.txt | 2 | ||||
-rw-r--r-- | indra/newview/app_settings/settings.xml | 11 | ||||
-rw-r--r-- | indra/newview/llworldview.cpp | 61 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/main_view.xml | 2 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_preferences_advanced.xml | 10 |
5 files changed, 85 insertions, 1 deletions
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index a1e3b679ee..2459165398 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -547,6 +547,7 @@ set(viewer_SOURCE_FILES llworldmapmessage.cpp llworldmipmap.cpp llworldmapview.cpp + llworldview.cpp llxmlrpclistener.cpp llxmlrpctransaction.cpp noise.cpp @@ -1057,6 +1058,7 @@ set(viewer_HEADER_FILES llworldmapmessage.h llworldmipmap.h llworldmapview.h + llworldview.h llxmlrpclistener.h llxmlrpctransaction.h macmain.h diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index c1484f15d2..3aab27ab4b 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -8139,6 +8139,17 @@ <key>Value</key> <integer>1</integer> </map> + <key>SidebarCameraMovement</key> + <map> + <key>Comment</key> + <string>Reflects world rect changing while changing sidebar visibility.</string> + <key>Persist</key> + <integer>1</integer> + <key>Type</key> + <string>Boolean</string> + <key>Value</key> + <integer>1</integer> + </map> <key>GroupListShowIcons</key> <map> <key>Comment</key> diff --git a/indra/newview/llworldview.cpp b/indra/newview/llworldview.cpp new file mode 100644 index 0000000000..ca6111fdae --- /dev/null +++ b/indra/newview/llworldview.cpp @@ -0,0 +1,61 @@ +/**
+ * @file llworldview.cpp
+ * @brief LLWorldView class implementation
+ *
+ * $LicenseInfo:firstyear=2001&license=viewergpl$
+ *
+ * Copyright (c) 2001-2009, Linden Research, Inc.
+ *
+ * Second Life Viewer Source Code
+ * The source code in this file ("Source Code") is provided by Linden Lab
+ * to you under the terms of the GNU General Public License, version 2.0
+ * ("GPL"), unless you have obtained a separate licensing agreement
+ * ("Other License"), formally executed by you and Linden Lab. Terms of
+ * the GPL can be found in doc/GPL-license.txt in this distribution, or
+ * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ *
+ * There are special exceptions to the terms and conditions of the GPL as
+ * it is applied to this Source Code. View the full text of the exception
+ * in the file doc/FLOSS-exception.txt in this software distribution, or
+ * online at
+ * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ *
+ * By copying, modifying or distributing this software, you acknowledge
+ * that you have read and understood your obligations described above,
+ * and agree to abide by those obligations.
+ *
+ * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
+ * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
+ * COMPLETENESS OR PERFORMANCE.
+ * $/LicenseInfo$
+ */
+
+#include "llviewerprecompiledheaders.h"
+
+#include "llworldview.h"
+
+#include "llviewercontrol.h"
+#include "llsidetray.h"
+///////////////////////////////////////////////////// +// LLFloaterView + +static LLDefaultChildRegistry::Register<LLWorldView> r("world_view"); + +LLWorldView::LLWorldView(const Params& p) +: LLUICtrl (p) +{ +} + +void LLWorldView::reshape(S32 width, S32 height, BOOL called_from_parent) +{ + if (FALSE == gSavedSettings.getBOOL("SidebarCameraMovement") ) + { + LLView* main_view = LLUI::getRootView()->findChild<LLView>("main_view"); + if(main_view) + { + width = main_view->getRect().getWidth(); + } + } + + LLUICtrl::reshape(width, height, called_from_parent); +} diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index b2e4a7ad95..e42b88abc3 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -50,7 +50,7 @@ name="non_side_tray_view" user_resize="false" width="500"> - <view bottom="500" + <world_view bottom="500" follows="all" height="500" left="0" diff --git a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml index 69e8e6fdcc..0129d97616 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml @@ -94,6 +94,16 @@ Automatic position for: name="appearance_camera_movement" tool_tip="Use automatic camera positioning while in edit mode" width="242" /> + <check_box + control_name="SidebarCameraMovement" + follows="left|top" + height="16" + initial_value="1" + label="Sidebar" + layout="topleft" + name="appearance_sidebar_positioning" + tool_tip="Use automatic camera positioning for sidebar" + width="242" /> <icon follows="left|top" height="18" |