summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rw-r--r--indra/llui/llmenugl.cpp2
-rw-r--r--indra/newview/llappviewer.cpp20
-rw-r--r--indra/newview/lldirpicker.cpp4
-rw-r--r--indra/newview/llfilepicker.cpp20
-rw-r--r--indra/newview/llinventorybridge.cpp2
-rw-r--r--indra/newview/lllandmarkactions.cpp2
-rw-r--r--indra/newview/lltoolbarview.cpp7
-rw-r--r--indra/newview/lltoolbarview.h2
-rw-r--r--indra/newview/lltoolgun.cpp4
-rw-r--r--indra/newview/llviewerdisplay.cpp14
-rw-r--r--indra/newview/llviewermenu.cpp16
-rw-r--r--indra/newview/llviewerwindow.cpp42
-rw-r--r--indra/newview/llviewerwindow.h13
-rw-r--r--indra/newview/skins/default/xui/en/main_view.xml173
-rw-r--r--indra/newview/skins/default/xui/en/menu_viewer.xml7
15 files changed, 160 insertions, 168 deletions
diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp
index badba7a416..3ef8d8ff35 100644
--- a/indra/llui/llmenugl.cpp
+++ b/indra/llui/llmenugl.cpp
@@ -1731,7 +1731,7 @@ void LLMenuGL::setCanTearOff(BOOL tear_off)
{
LLMenuItemTearOffGL::Params p;
mTearOffItem = LLUICtrlFactory::create<LLMenuItemTearOffGL>(p);
- addChildInBack(mTearOffItem);
+ addChild(mTearOffItem);
}
else if (!tear_off && mTearOffItem != NULL)
{
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 5077a0a596..4d02093d2e 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -1217,7 +1217,7 @@ bool LLAppViewer::mainLoop()
if (gViewerWindow)
{
LLFastTimer t2(FTM_MESSAGES);
- gViewerWindow->mWindow->processMiscNativeEvents();
+ gViewerWindow->getWindow()->processMiscNativeEvents();
}
pingMainloopTimeout("Main:GatherInput");
@@ -1230,7 +1230,7 @@ bool LLAppViewer::mainLoop()
llwarns << " Someone took over my signal/exception handler (post messagehandling)!" << llendl;
}
- gViewerWindow->mWindow->gatherInput();
+ gViewerWindow->getWindow()->gatherInput();
}
#if 1 && !LL_RELEASE_FOR_DOWNLOAD
@@ -1259,9 +1259,9 @@ bool LLAppViewer::mainLoop()
// Scan keyboard for movement keys. Command keys and typing
// are handled by windows callbacks. Don't do this until we're
// done initializing. JC
- if ((gHeadlessClient || gViewerWindow->mWindow->getVisible())
+ if ((gHeadlessClient || gViewerWindow->getWindow()->getVisible())
&& gViewerWindow->getActive()
- && !gViewerWindow->mWindow->getMinimized()
+ && !gViewerWindow->getWindow()->getMinimized()
&& LLStartUp::getStartupState() == STATE_STARTED
&& (gHeadlessClient || !gViewerWindow->getShowProgress())
&& !gFocusMgr.focusLocked())
@@ -1340,7 +1340,7 @@ bool LLAppViewer::mainLoop()
}
// yield cooperatively when not running as foreground window
- if ( (gViewerWindow && !gViewerWindow->mWindow->getVisible())
+ if ( (gViewerWindow && !gViewerWindow->getWindow()->getVisible())
|| !gFocusMgr.getAppHasFocus())
{
// Sleep if we're not rendering, or the window is minimized.
@@ -2920,7 +2920,7 @@ bool LLAppViewer::initWindow()
if (gSavedSettings.getBOOL("WindowMaximized"))
{
- gViewerWindow->mWindow->maximize();
+ gViewerWindow->getWindow()->maximize();
}
//
@@ -2963,7 +2963,7 @@ bool LLAppViewer::initWindow()
if (gSavedSettings.getBOOL("WindowMaximized"))
{
- gViewerWindow->mWindow->maximize();
+ gViewerWindow->getWindow()->maximize();
}
LLUI::sWindow = gViewerWindow->getWindow();
@@ -2975,7 +2975,7 @@ bool LLAppViewer::initWindow()
gViewerWindow->initBase();
// show viewer window
- //gViewerWindow->mWindow->show();
+ //gViewerWindow->getWindow()->show();
LL_INFOS("AppInit") << "Window initialization done." << LL_ENDL;
return true;
@@ -3009,12 +3009,12 @@ void LLAppViewer::cleanupSavedSettings()
// as we don't track it in callbacks
if(NULL != gViewerWindow)
{
- BOOL maximized = gViewerWindow->mWindow->getMaximized();
+ BOOL maximized = gViewerWindow->getWindow()->getMaximized();
if (!maximized)
{
LLCoordScreen window_pos;
- if (gViewerWindow->mWindow->getPosition(&window_pos))
+ if (gViewerWindow->getWindow()->getPosition(&window_pos))
{
gSavedSettings.setS32("WindowX", window_pos.mX);
gSavedSettings.setS32("WindowY", window_pos.mY);
diff --git a/indra/newview/lldirpicker.cpp b/indra/newview/lldirpicker.cpp
index dd243397a1..1e03582a29 100644
--- a/indra/newview/lldirpicker.cpp
+++ b/indra/newview/lldirpicker.cpp
@@ -217,12 +217,12 @@ OSStatus LLDirPicker::doNavChooseDialog()
error = NavCreateChooseFolderDialog(&mNavOptions, &doNavCallbackEvent, NULL, NULL, &navRef);
- gViewerWindow->mWindow->beforeDialog();
+ gViewerWindow->getWindow()->beforeDialog();
if (error == noErr)
error = NavDialogRun(navRef);
- gViewerWindow->mWindow->afterDialog();
+ gViewerWindow->getWindow()->afterDialog();
if (error == noErr)
error = NavDialogGetReply(navRef, &navReply);
diff --git a/indra/newview/llfilepicker.cpp b/indra/newview/llfilepicker.cpp
index 8c0ed29855..4897cf1885 100644
--- a/indra/newview/llfilepicker.cpp
+++ b/indra/newview/llfilepicker.cpp
@@ -653,12 +653,12 @@ OSStatus LLFilePicker::doNavChooseDialog(ELoadFilter filter)
// (It is destroyed by NavDialogDispose() below.)
error = NavCreateChooseFileDialog(&mNavOptions, NULL, NULL, NULL, navOpenFilterProc, (void*)(&filter), &navRef);
- gViewerWindow->mWindow->beforeDialog();
+ gViewerWindow->getWindow()->beforeDialog();
if (error == noErr)
error = NavDialogRun(navRef);
- gViewerWindow->mWindow->afterDialog();
+ gViewerWindow->getWindow()->afterDialog();
if (error == noErr)
error = NavDialogGetReply(navRef, &navReply);
@@ -808,13 +808,13 @@ OSStatus LLFilePicker::doNavSaveDialog(ESaveFilter filter, const std::string& fi
}
}
- gViewerWindow->mWindow->beforeDialog();
+ gViewerWindow->getWindow()->beforeDialog();
// Run the dialog
if (error == noErr)
error = NavDialogRun(navRef);
- gViewerWindow->mWindow->afterDialog();
+ gViewerWindow->getWindow()->afterDialog();
if (error == noErr)
error = NavDialogGetReply(navRef, &navReply);
@@ -1204,7 +1204,7 @@ BOOL LLFilePicker::getSaveFile( ESaveFilter filter, const std::string& filename
return FALSE;
}
- gViewerWindow->mWindow->beforeDialog();
+ gViewerWindow->getWindow()->beforeDialog();
reset();
@@ -1284,7 +1284,7 @@ BOOL LLFilePicker::getSaveFile( ESaveFilter filter, const std::string& filename
rtn = (getFileCount() == 1);
}
- gViewerWindow->mWindow->afterDialog();
+ gViewerWindow->getWindow()->afterDialog();
return rtn;
}
@@ -1299,7 +1299,7 @@ BOOL LLFilePicker::getOpenFile( ELoadFilter filter, bool blocking )
return FALSE;
}
- gViewerWindow->mWindow->beforeDialog();
+ gViewerWindow->getWindow()->beforeDialog();
reset();
@@ -1337,7 +1337,7 @@ BOOL LLFilePicker::getOpenFile( ELoadFilter filter, bool blocking )
rtn = (getFileCount() == 1);
}
- gViewerWindow->mWindow->afterDialog();
+ gViewerWindow->getWindow()->afterDialog();
return rtn;
}
@@ -1352,7 +1352,7 @@ BOOL LLFilePicker::getMultipleOpenFiles( ELoadFilter filter )
return FALSE;
}
- gViewerWindow->mWindow->beforeDialog();
+ gViewerWindow->getWindow()->beforeDialog();
reset();
@@ -1370,7 +1370,7 @@ BOOL LLFilePicker::getMultipleOpenFiles( ELoadFilter filter )
rtn = !mFiles.empty();
}
- gViewerWindow->mWindow->afterDialog();
+ gViewerWindow->getWindow()->afterDialog();
return rtn;
}
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 2066cbc6b2..9fe73fc940 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -1185,7 +1185,7 @@ void LLItemBridge::performAction(LLInventoryModel* model, std::string action)
std::string buffer;
asset_id.toString(buffer);
- gViewerWindow->mWindow->copyTextToClipboard(utf8str_to_wstring(buffer));
+ gViewerWindow->getWindow()->copyTextToClipboard(utf8str_to_wstring(buffer));
return;
}
else if ("copy" == action)
diff --git a/indra/newview/lllandmarkactions.cpp b/indra/newview/lllandmarkactions.cpp
index f2aec20611..6625a194fb 100644
--- a/indra/newview/lllandmarkactions.cpp
+++ b/indra/newview/lllandmarkactions.cpp
@@ -413,7 +413,7 @@ void LLLandmarkActions::copySLURLtoClipboard(const LLUUID& landmarkInventoryItem
void copy_slurl_to_clipboard_callback(const std::string& slurl)
{
- gViewerWindow->mWindow->copyTextToClipboard(utf8str_to_wstring(slurl));
+ gViewerWindow->getWindow()->copyTextToClipboard(utf8str_to_wstring(slurl));
LLSD args;
args["SLURL"] = slurl;
LLNotificationsUtil::add("CopySLURL", args);
diff --git a/indra/newview/lltoolbarview.cpp b/indra/newview/lltoolbarview.cpp
index 7977faeab7..7273574203 100644
--- a/indra/newview/lltoolbarview.cpp
+++ b/indra/newview/lltoolbarview.cpp
@@ -456,3 +456,10 @@ void LLToolBarView::onEndDrag()
}
stopDragTool();
}
+
+void LLToolBarView::setToolBarsVisible(bool visible)
+{
+ mToolbarBottom->getParent()->setVisible(visible);
+ mToolbarLeft->getParent()->setVisible(visible);
+ mToolbarRight->getParent()->setVisible(visible);
+}
diff --git a/indra/newview/lltoolbarview.h b/indra/newview/lltoolbarview.h
index 6623e63f8a..01ff137c15 100644
--- a/indra/newview/lltoolbarview.h
+++ b/indra/newview/lltoolbarview.h
@@ -72,6 +72,8 @@ public:
// Loads the toolbars from the existing user or default settings
bool loadToolbars(bool force_default = false); // return false if load fails
+ void setToolBarsVisible(bool visible);
+
static bool loadDefaultToolbars();
static void startDragTool( S32 x, S32 y, const LLUUID& uuid);
diff --git a/indra/newview/lltoolgun.cpp b/indra/newview/lltoolgun.cpp
index 68af3d73d2..857d105361 100644
--- a/indra/newview/lltoolgun.cpp
+++ b/indra/newview/lltoolgun.cpp
@@ -56,7 +56,7 @@ void LLToolGun::handleSelect()
{
gViewerWindow->hideCursor();
gViewerWindow->moveCursorToCenter();
- gViewerWindow->mWindow->setMouseClipping(TRUE);
+ gViewerWindow->getWindow()->setMouseClipping(TRUE);
mIsSelected = TRUE;
}
@@ -64,7 +64,7 @@ void LLToolGun::handleDeselect()
{
gViewerWindow->moveCursorToCenter();
gViewerWindow->showCursor();
- gViewerWindow->mWindow->setMouseClipping(FALSE);
+ gViewerWindow->getWindow()->setMouseClipping(FALSE);
mIsSelected = FALSE;
}
diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp
index 19326c4e30..d6512207ae 100644
--- a/indra/newview/llviewerdisplay.cpp
+++ b/indra/newview/llviewerdisplay.cpp
@@ -114,8 +114,8 @@ void render_disconnected_background();
void display_startup()
{
if ( !gViewerWindow->getActive()
- || !gViewerWindow->mWindow->getVisible()
- || gViewerWindow->mWindow->getMinimized() )
+ || !gViewerWindow->getWindow()->getVisible()
+ || gViewerWindow->getWindow()->getMinimized() )
{
return;
}
@@ -157,7 +157,7 @@ void display_startup()
LLGLState::checkStates();
LLGLState::checkTextureChannels();
- gViewerWindow->mWindow->swapBuffers();
+ gViewerWindow->getWindow()->swapBuffers();
glClear(GL_DEPTH_BUFFER_BIT);
}
@@ -223,7 +223,7 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
{ //skip render on frames where window has been resized
gGL.flush();
glClear(GL_COLOR_BUFFER_BIT);
- gViewerWindow->mWindow->swapBuffers();
+ gViewerWindow->getWindow()->swapBuffers();
gPipeline.resizeScreenTexture();
gResizeScreenTexture = FALSE;
gWindowResized = FALSE;
@@ -260,8 +260,8 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
// In fact, must explicitly check the minimized state before drawing.
// Attempting to draw into a minimized window causes a GL error. JC
if ( !gViewerWindow->getActive()
- || !gViewerWindow->mWindow->getVisible()
- || gViewerWindow->mWindow->getMinimized() )
+ || !gViewerWindow->getWindow()->getVisible()
+ || gViewerWindow->getWindow()->getMinimized() )
{
// Clean up memory the pools may have allocated
if (rebuild)
@@ -1237,7 +1237,7 @@ void render_ui(F32 zoom_factor, int subfield)
if (gDisplaySwapBuffers)
{
LLFastTimer t(FTM_SWAP);
- gViewerWindow->mWindow->swapBuffers();
+ gViewerWindow->getWindow()->swapBuffers();
}
gDisplaySwapBuffers = TRUE;
}
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index bc0f38dd77..da1b149b59 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -446,11 +446,13 @@ void init_menus()
{
color = LLUIColorTable::instance().getColor( "MenuNonProductionBgColor" );
}
+
+ LLView* menu_bar_holder = gViewerWindow->getRootView()->getChildView("menu_bar_holder");
+
gMenuBarView = LLUICtrlFactory::getInstance()->createFromFile<LLMenuBarGL>("menu_viewer.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance());
- gMenuBarView->setRect(LLRect(0, top, 0, top - MENU_BAR_HEIGHT));
+ gMenuBarView->setRect(LLRect(0, menu_bar_holder->getRect().mTop, 0, menu_bar_holder->getRect().mTop - MENU_BAR_HEIGHT));
gMenuBarView->setBackgroundColor( color );
- LLView* menu_bar_holder = gViewerWindow->getRootView()->getChildView("menu_bar_holder");
menu_bar_holder->addChild(gMenuBarView);
gViewerWindow->setMenuBackgroundColor(false,
@@ -3762,6 +3764,15 @@ class LLViewDefaultUISize : public view_listener_t
}
};
+class LLViewToggleUI : public view_listener_t
+{
+ bool handleEvent(const LLSD& userdata)
+ {
+ gViewerWindow->setUIVisibility(!gViewerWindow->getUIVisibility());
+ return true;
+ }
+};
+
class LLEditDuplicate : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
@@ -7926,6 +7937,7 @@ void initialize_menus()
view_listener_t::addMenu(new LLZoomer(1/1.2f), "View.ZoomIn");
view_listener_t::addMenu(new LLZoomer(DEFAULT_FIELD_OF_VIEW, false), "View.ZoomDefault");
view_listener_t::addMenu(new LLViewDefaultUISize(), "View.DefaultUISize");
+ view_listener_t::addMenu(new LLViewToggleUI(), "View.ToggleUI");
view_listener_t::addMenu(new LLViewEnableMouselook(), "View.EnableMouselook");
view_listener_t::addMenu(new LLViewEnableJoystickFlycam(), "View.EnableJoystickFlycam");
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index fae3ee9081..2473d41a35 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -76,7 +76,6 @@
#include "lltimer.h"
#include "timing.h"
#include "llviewermenu.h"
-#include "lltoolbarview.h"
#include "lltooltip.h"
#include "llmediaentry.h"
#include "llurldispatcher.h"
@@ -147,6 +146,7 @@
#include "lltexturefetch.h"
#include "lltextureview.h"
#include "lltool.h"
+#include "lltoolbarview.h"
#include "lltoolcomp.h"
#include "lltooldraganddrop.h"
#include "lltoolface.h"
@@ -1339,7 +1339,7 @@ BOOL LLViewerWindow::handleActivate(LLWindow *window, BOOL activated)
{
if (activated)
{
- mActive = TRUE;
+ mActive = true;
send_agent_resume();
gAgent.clearAFK();
@@ -1348,7 +1348,7 @@ BOOL LLViewerWindow::handleActivate(LLWindow *window, BOOL activated)
}
else
{
- mActive = FALSE;
+ mActive = false;
// if the user has chosen to go Away automatically after some time, then go Away when minimizing
if (gSavedSettings.getS32("AFKTimeout"))
@@ -1531,7 +1531,8 @@ LLViewerWindow::LLViewerWindow(
BOOL fullscreen, BOOL ignore_pixel_depth) // fullscreen is no longer used
:
mWindow(NULL),
- mActive(TRUE),
+ mActive(true),
+ mUIVisible(true),
mWindowRectRaw(0, height, width, 0),
mWindowRectScaled(0, height, width, 0),
mWorldViewRectRaw(0, height, width, 0),
@@ -1771,7 +1772,6 @@ void LLViewerWindow::initBase()
// placeholder widget that controls where "world" is rendered
mWorldViewPlaceholder = main_view->getChildView("world_view_rect")->getHandle();
- mFloaterViewHolder = main_view->getChildView("floater_view_holder")->getHandle();
mPopupView = main_view->getChild<LLPopupView>("popup_holder");
mHintHolder = main_view->getChild<LLView>("hint_holder")->getHandle();
mLoginPanelHolder = main_view->getChild<LLView>("login_panel_holder")->getHandle();
@@ -1882,7 +1882,7 @@ void LLViewerWindow::initWorldUI()
gStatusBar->setShape(status_bar_container->getLocalRect());
// sync bg color with menu bar
gStatusBar->setBackgroundColor( gMenuBarView->getBackgroundColor().get() );
- status_bar_container->addChild(gStatusBar);
+ status_bar_container->addChildInBack(gStatusBar);
status_bar_container->setVisible(TRUE);
// Navigation bar
@@ -1922,8 +1922,7 @@ void LLViewerWindow::initWorldUI()
hud_rect.mTop -= gMenuBarView->getRect().getHeight();
}
gHUDView = new LLHUDView(hud_rect);
- // put behind everything else in the UI
- getRootView()->addChildInBack(gHUDView);
+ getRootView()->addChild(gHUDView);
}
LLPanel* panel_ssf_container = getRootView()->getChild<LLPanel>("stand_stop_flying_container");
@@ -4084,7 +4083,7 @@ static S32 BORDERWIDTH = 0;
void LLViewerWindow::movieSize(S32 new_width, S32 new_height)
{
LLCoordScreen size;
- gViewerWindow->mWindow->getSize(&size);
+ gViewerWindow->getWindow()->getSize(&size);
if ( (size.mX != new_width + BORDERWIDTH)
||(size.mY != new_height + BORDERHEIGHT))
{
@@ -4095,7 +4094,7 @@ void LLViewerWindow::movieSize(S32 new_width, S32 new_height)
BORDERHEIGHT = size.mY- y;
LLCoordScreen new_size(new_width + BORDERWIDTH,
new_height + BORDERHEIGHT);
- gViewerWindow->mWindow->setSize(new_size);
+ gViewerWindow->getWindow()->setSize(new_size);
}
}
@@ -4979,6 +4978,29 @@ bool LLViewerWindow::onAlert(const LLSD& notify)
return false;
}
+void LLViewerWindow::setUIVisibility(bool visible)
+{
+ mUIVisible = visible;
+
+ if (gToolBarView)
+ {
+ gToolBarView->setToolBarsVisible(visible);
+ }
+
+ mRootView->getChildView("nav_bar_container")->setVisible(visible);
+ mRootView->getChildView("status_bar_container")->setVisible(visible);
+
+ if (!visible)
+ {
+ gFloaterView->closeAllChildren(false);
+ }
+}
+
+bool LLViewerWindow::getUIVisibility()
+{
+ return mUIVisible;
+}
+
////////////////////////////////////////////////////////////////////////////
//
// LLPickInfo
diff --git a/indra/newview/llviewerwindow.h b/indra/newview/llviewerwindow.h
index 872eb12753..3afca3073d 100644
--- a/indra/newview/llviewerwindow.h
+++ b/indra/newview/llviewerwindow.h
@@ -143,6 +143,8 @@ public:
void adjustRectanglesForFirstUse(const LLRect& window);
void adjustControlRectanglesForFirstUse(const LLRect& window);
void initWorldUI();
+ void setUIVisibility(bool);
+ bool getUIVisibility();
BOOL handleAnyMouseClick(LLWindow *window, LLCoordGL pos, MASK mask, LLMouseHandler::EClickType clicktype, BOOL down);
@@ -282,7 +284,6 @@ public:
void updateKeyboardFocus();
void updateWorldViewRect(bool use_full_window=false);
- LLView* getFloaterViewHolder() { return mFloaterViewHolder.get(); }
LLView* getToolBarHolder() { return mToolBarHolder.get(); }
LLView* getHintHolder() { return mHintHolder.get(); }
LLView* getLoginPanelHolder() { return mLoginPanelHolder.get(); }
@@ -394,11 +395,10 @@ private:
S32 getChatConsoleBottomPad(); // Vertical padding for child console rect, varied by bottom clutter
LLRect getChatConsoleRect(); // Get optimal cosole rect.
-public:
+private:
LLWindow* mWindow; // graphical window object
-
-protected:
- BOOL mActive;
+ bool mActive;
+ bool mUIVisible;
LLRect mWindowRectRaw; // whole window, including UI
LLRect mWindowRectScaled; // whole window, scaled by UI size
@@ -444,7 +444,6 @@ protected:
std::string mInitAlert; // Window / GL initialization requires an alert
LLHandle<LLView> mWorldViewPlaceholder; // widget that spans the portion of screen dedicated to rendering the 3d world
- LLHandle<LLView> mFloaterViewHolder; // container for floater_view
LLHandle<LLView> mToolBarHolder; // container for toolbars
LLHandle<LLView> mHintHolder; // container for hints
LLHandle<LLView> mLoginPanelHolder; // container for login panel
@@ -458,13 +457,11 @@ protected:
boost::scoped_ptr<LLViewerWindowListener> mViewerWindowListener;
-protected:
static std::string sSnapshotBaseName;
static std::string sSnapshotDir;
static std::string sMovieBaseName;
-private:
// Object temporarily hovered over while dragging
LLPointer<LLViewerObject> mDragHoveredObject;
};
diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml
index 96d070ae50..2c07e8e35f 100644
--- a/indra/newview/skins/default/xui/en/main_view.xml
+++ b/indra/newview/skins/default/xui/en/main_view.xml
@@ -8,98 +8,71 @@
tab_stop="false"
name="main_view"
width="1024">
+ <view top="0"
+ follows="all"
+ height="768"
+ left="0"
+ mouse_opaque="false"
+ name="world_view_rect"
+ width="1024"/>
<layout_stack border_size="0"
follows="all"
mouse_opaque="false"
- height="749"
+ height="768"
name="menu_stack"
orientation="vertical"
- top="19">
+ top="0">
+ <layout_panel mouse_opaque="false"
+ follows="left|right|top"
+ name="status_bar_container"
+ tab_stop="false"
+ height="19"
+ left="0"
+ top="0"
+ width="1024"
+ user_resize="false"
+ auto_resize="false"
+ visible="true">
+ <view mouse_opaque="false"
+ follows="all"
+ name="menu_bar_holder"
+ left="0"
+ top="0"
+ width="1024"
+ height="19"/>
+ </layout_panel>
<layout_panel auto_resize="false"
height="34"
mouse_opaque="false"
name="nav_bar_container"
tab_stop="false"
width="1024"
- user_resize="false"
- visible="false">
- </layout_panel>
- <layout_panel auto_resize="true"
+ user_resize="false"
+ visible="false"/>
+ <layout_panel auto_resize="true"
follows="all"
height="500"
layout="topleft"
mouse_opaque="false"
tab_stop="false"
- name="hud"
+ name="world_panel"
width="1024">
- <layout_stack border_size="0"
- follows="all"
- height="500"
- left="0"
- mouse_opaque="false"
- name="hud_stack"
- orientation="horizontal"
- top="0"
- width="1024">
- <layout_panel auto_resize="true"
- follows="all"
- height="500"
- layout="topleft"
- mouse_opaque="false"
- tab_stop="false"
- name="non_side_tray_view"
- user_resize="false"
- width="500">
- <view bottom="500"
- follows="all"
- height="500"
- left="0"
- mouse_opaque="false"
- name="world_view_rect"
- width="500"/>
- <layout_stack border_size="0"
- bottom="500"
- follows="all"
- height="500"
- left="0"
- mouse_opaque="false"
- name="world_stack"
- orientation="vertical">
- <layout_panel auto_resize="true"
- follows="all"
- height="500"
- layout="topleft"
- tab_stop="false"
- mouse_opaque="false"
- user_resize="false"
- name="hud container"
- width="500">
- <panel follows="left|top"
- height="19"
- left="0"
- mouse_opaque="false"
- name="topinfo_bar_container"
- tab_stop="false"
- top="0"
- visible="false"
- width="1024"/>
- </layout_panel>
- <!--<layout_panel auto_resize="false"
- min_height="33"
- height="33"
- mouse_opaque="false"
- name="bottom_tray_container"
- visible="false"/>-->
- </layout_stack>
- </layout_panel>
- </layout_stack>
+ <panel follows="left|top|right"
+ height="19"
+ left="0"
+ mouse_opaque="false"
+ name="topinfo_bar_container"
+ tab_stop="false"
+ top="0"
+ visible="false"
+ width="1024"/>
<panel top="0"
- follows="all"
- height="500"
- mouse_opaque="false"
- name="login_panel_holder"
- width="1024"/>
-
+ left="0"
+ follows="all"
+ height="500"
+ mouse_opaque="false"
+ name="login_panel_holder"
+ width="1024"/>
<debug_view follows="all"
left="0"
top="0"
@@ -107,55 +80,27 @@
height="500"
name="DebugView"
width="1024"/>
-
- <panel follows="all"
+ <floater_view follows="all"
height="500"
left="0"
mouse_opaque="false"
- name="floater_view_holder"
+ name="Floater View"
tab_group="-1"
tab_stop="false"
top="0"
- width="1024">
- <floater_view follows="all"
- height="500"
- left="0"
- mouse_opaque="false"
- name="Floater View"
- tab_group="-1"
- tab_stop="false"
- top="0"
- width="1024"/>
- </panel>
+ width="1024"/>
<panel name="toolbar_view_holder"
- follows="all"
- layout="topleft"
- height="500"
- width="1024"
- top="0"
- left="0"
- mouse_opaque="false"
- tab_stop="false">
- </panel>
+ follows="all"
+ layout="topleft"
+ height="500"
+ width="1024"
+ top="0"
+ left="0"
+ mouse_opaque="false"
+ tab_stop="false"/>
</layout_panel>
</layout_stack>
- <panel mouse_opaque="false"
- follows="left|right|top"
- name="status_bar_container"
- tab_stop="false"
- height="19"
- left="0"
- top="0"
- width="1024"
- visible="false"/>
-
- <view mouse_opaque="false"
- follows="all"
- name="menu_bar_holder"
- left="0"
- top="0"
- width="1024"
- height="768"/>
+
<panel top="0"
follows="all"
mouse_opaque="false"
diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml
index efa61dbd11..fdbc3d1882 100644
--- a/indra/newview/skins/default/xui/en/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/en/menu_viewer.xml
@@ -1719,6 +1719,13 @@
<menu_item_call.on_click
function="View.DefaultUISize" />
</menu_item_call>
+ <menu_item_call
+ label="Toggle UI"
+ name="Toggle UI"
+ shortcut="control|shift|U">
+ <menu_item_call.on_click
+ function="View.ToggleUI" />
+ </menu_item_call>
<!-- This second, alternative shortcut for Show Advanced Menu is for backward compatibility. The main shortcut has been changed so it's Linux-friendly, where the old shortcut is typically eaten by the window manager. -->
<menu_item_check
label="Show Advanced Menu - legacy shortcut"