login panel now properly nested in main_view.xml, no more z order hackery

meow-7.2.2
Richard Linden 2010-09-29 17:39:44 -07:00
parent af4b224700
commit 6eb0299564
4 changed files with 15 additions and 3 deletions

View File

@ -179,8 +179,11 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
mPasswordModified = FALSE;
LLPanelLogin::sInstance = this;
// add to front so we are the bottom-most child
gViewerWindow->getRootView()->addChildInBack(this);
LLView* login_holder = gViewerWindow->getLoginPanelHolder();
if (login_holder)
{
login_holder->addChild(this);
}
// Logo
mLogoImage = LLUI::getUIImage("startup_logo");
@ -737,7 +740,7 @@ void LLPanelLogin::closePanel()
{
if (sInstance)
{
gViewerWindow->getRootView()->removeChild( LLPanelLogin::sInstance );
LLPanelLogin::sInstance->getParent()->removeChild( LLPanelLogin::sInstance );
delete sInstance;
sInstance = NULL;

View File

@ -1535,6 +1535,7 @@ void LLViewerWindow::initBase()
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();
// Constrain floaters to inside the menu and status bar regions.
gFloaterView = main_view->getChild<LLFloaterView>("Floater View");

View File

@ -288,6 +288,7 @@ public:
LLView* getNonSideTrayView() { return mNonSideTrayView.get(); }
LLView* getFloaterViewHolder() { return mFloaterViewHolder.get(); }
LLView* getHintHolder() { return mHintHolder.get(); }
LLView* getLoginPanelHolder() { return mLoginPanelHolder.get(); }
BOOL handleKey(KEY key, MASK mask);
void handleScrollWheel (S32 clicks);
@ -448,6 +449,7 @@ protected:
LLHandle<LLView> mNonSideTrayView; // parent of world view + bottom bar, etc...everything but the side tray
LLHandle<LLView> mFloaterViewHolder; // container for floater_view
LLHandle<LLView> mHintHolder; // container for hints
LLHandle<LLView> mLoginPanelHolder; // container for login panel
LLPopupView* mPopupView; // container for transient popups
class LLDebugText* mDebugText; // Internal class for debug text

View File

@ -206,6 +206,12 @@
name="hint_holder"
mouse_opaque="false"
follows="all"/>
<panel top="0"
follows="all"
height="768"
mouse_opaque="true"
name="login_panel_holder"
width="1024"/>
<panel top="0"
follows="all"
height="768"