diff options
| author | Maxim Nikolenko <maximnproductengine@lindenlab.com> | 2026-03-19 00:08:44 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-19 00:08:44 +0200 |
| commit | 1bd6893388ed939f3d4628be2b5f00de49350d50 (patch) | |
| tree | 4299fe4368df8aa02972ba0b56ae68dd59eb38cc | |
| parent | 76d8316e4f2c9ab662c4e94474edf8505ea9480f (diff) | |
| parent | 1dca8b3257d6ac3fb56b28f4368aa0c00eb4795c (diff) | |
Merge pull request #5509 from secondlife/maxim/login_form_update
#5462 Login form update
25 files changed, 414 insertions, 196 deletions
diff --git a/indra/llui/llbutton.cpp b/indra/llui/llbutton.cpp index 3a3616c905..7f209c60a7 100644 --- a/indra/llui/llbutton.cpp +++ b/indra/llui/llbutton.cpp @@ -85,6 +85,7 @@ LLButton::Params::Params() image_top_pad("image_top_pad"), image_bottom_pad("image_bottom_pad"), imgoverlay_label_space("imgoverlay_label_space", 1), + image_overlay_right_delta("image_overlay_right_delta", 0), label_color("label_color"), label_color_selected("label_color_selected"), // requires is_toggle true label_color_disabled("label_color_disabled"), @@ -109,6 +110,8 @@ LLButton::Params::Params() commit_on_capture_lost("commit_on_capture_lost", false), display_pressed_state("display_pressed_state", true), use_draw_context_alpha("use_draw_context_alpha", true), + draw_focus_border("draw_focus_border", true), + hover_hand_cursor("hover_hand_cursor", false), badge("badge"), handle_right_mouse("handle_right_mouse"), held_down_delay("held_down_delay"), @@ -158,6 +161,7 @@ LLButton::LLButton(const LLButton::Params& p) mImageOverlayTopPad(p.image_top_pad), mImageOverlayBottomPad(p.image_bottom_pad), mImgOverlayLabelSpace(p.imgoverlay_label_space), + mImageOverlayRightDelta(p.image_overlay_right_delta), mIsToggle(p.is_toggle), mScaleImage(p.scale_image), mDropShadowedText(p.label_shadow), @@ -179,6 +183,8 @@ LLButton::LLButton(const LLButton::Params& p) mMouseUpSignal(NULL), mHeldDownSignal(NULL), mUseDrawContextAlpha(p.use_draw_context_alpha), + mDrawFocusBorder(p.draw_focus_border), + mHoverHandCursor(p.hover_hand_cursor), mHandleRightMouse(p.handle_right_mouse), mFlashingTimer(NULL) { @@ -653,7 +659,7 @@ bool LLButton::handleHover(S32 x, S32 y, MASK mask) } // We only handle the click if the click both started and ended within us - getWindow()->setCursor(UI_CURSOR_ARROW); + getWindow()->setCursor(mHoverHandCursor ? UI_CURSOR_HAND : UI_CURSOR_ARROW); LL_DEBUGS("UserInput") << "hover handled by " << getName() << LL_ENDL; } return true; @@ -840,7 +846,7 @@ void LLButton::draw() label_color = ll::ui::SearchableControl::getHighlightFontColor(); // overlay with keyboard focus border - if (hasFocus()) + if (hasFocus() && mDrawFocusBorder) { drawBorder(imagep, gFocusMgr.getFocusColor() % alpha, gFocusMgr.getFocusFlashWidth()); } @@ -929,6 +935,17 @@ void LLButton::draw() } overlay_color.mV[VALPHA] *= alpha; + if (mImageOverlayRightDelta > 0) + { + mImageOverlay->draw(getRect().getWidth() - overlay_width - mImageOverlayRightDelta, + center_y - (overlay_height / 2), + overlay_width, + overlay_height, + overlay_color); + } + else + { + switch(mImageOverlayAlignment) { case LLFontGL::LEFT: @@ -963,6 +980,7 @@ void LLButton::draw() // draw nothing break; } + } } // Draw label diff --git a/indra/llui/llbutton.h b/indra/llui/llbutton.h index f530eceb4b..0d1a28ee31 100644 --- a/indra/llui/llbutton.h +++ b/indra/llui/llbutton.h @@ -110,6 +110,7 @@ public: //image overlay paddings Optional<S32> image_top_pad; Optional<S32> image_bottom_pad; + Optional<S32> image_overlay_right_delta; /** * Space between image_overlay and label @@ -132,7 +133,9 @@ public: Optional<F32> hover_glow_amount; Optional<TimeIntervalParam> held_down_delay; - Optional<bool> use_draw_context_alpha; + Optional<bool> use_draw_context_alpha, + draw_focus_border, + hover_hand_cursor; Optional<LLBadge::Params> badge; @@ -366,12 +369,16 @@ protected: S32 mImageOverlayBottomPad; bool mUseDrawContextAlpha; + bool mDrawFocusBorder; + bool mHoverHandCursor; /* * Space between image_overlay and label */ S32 mImgOverlayLabelSpace; + S32 mImageOverlayRightDelta; + F32 mHoverGlowStrength; F32 mCurGlowStrength; diff --git a/indra/llui/lllayoutstack.cpp b/indra/llui/lllayoutstack.cpp index fe0591ce4b..1dc80671cc 100644 --- a/indra/llui/lllayoutstack.cpp +++ b/indra/llui/lllayoutstack.cpp @@ -48,17 +48,21 @@ static LLLayoutStack::LayoutStackRegistry::Register<LLLayoutPanel> register_layo LLLayoutPanel::Params::Params() : expanded_min_dim("expanded_min_dim", 0), min_dim("min_dim", -1), + max_dim("max_dim", -1), user_resize("user_resize", false), auto_resize("auto_resize", true) { addSynonym(min_dim, "min_width"); addSynonym(min_dim, "min_height"); + addSynonym(max_dim, "max_width"); + addSynonym(max_dim, "max_height"); } LLLayoutPanel::LLLayoutPanel(const Params& p) : LLPanel(p), mExpandedMinDim(p.expanded_min_dim.isProvided() ? p.expanded_min_dim : p.min_dim), mMinDim(p.min_dim), + mMaxDim(p.max_dim), mAutoResize(p.auto_resize), mUserResize(p.user_resize), mCollapsed(false), @@ -75,6 +79,7 @@ LLLayoutPanel::LLLayoutPanel(const Params& p) { mVisibleAmt = 0.f; } + setMaxDim(mMaxDim); } void LLLayoutPanel::initFromParams(const Params& p) @@ -113,6 +118,8 @@ S32 LLLayoutPanel::getTargetDim() const void LLLayoutPanel::setTargetDim(S32 value) { + value = llmin(value, mMaxDim); + LLRect new_rect(getRect()); if (mOrientation == LLLayoutStack::HORIZONTAL) { @@ -145,6 +152,7 @@ void LLLayoutPanel::setOrientation( LLView::EOrientation orientation ) setMinDim(layout_dim); } mTargetDim = llmax(layout_dim, getMinDim()); + mTargetDim = llmin(mTargetDim, mMaxDim); } void LLLayoutPanel::setVisible( bool visible ) @@ -167,6 +175,7 @@ void LLLayoutPanel::reshape( S32 width, S32 height, bool called_from_parent /*= if (!mIgnoreReshape && !mAutoResize) { mTargetDim = (mOrientation == LLLayoutStack::HORIZONTAL) ? width : height; + mTargetDim = llmin(mTargetDim, mMaxDim); LLLayoutStack* stackp = dynamic_cast<LLLayoutStack*>(getParent()); if (stackp) { @@ -439,6 +448,7 @@ void LLLayoutStack::updateLayout() F32 fraction_to_distribute = (panelp->mFractionalSize * panelp->getAutoResizeFactor()) / (total_visible_fraction); S32 delta = ll_round((F32)space_to_distribute * fraction_to_distribute); panelp->mTargetDim += delta; + panelp->mTargetDim = llmin(panelp->mTargetDim, panelp->mMaxDim); remaining_space -= delta; } } @@ -455,6 +465,7 @@ void LLLayoutStack::updateLayout() { S32 space_for_panel = remaining_space > 0 ? 1 : -1; panelp->mTargetDim += space_for_panel; + panelp->mTargetDim = llmin(panelp->mTargetDim, panelp->mMaxDim); remaining_space -= space_for_panel; } } diff --git a/indra/llui/lllayoutstack.h b/indra/llui/lllayoutstack.h index 9e3536aaff..4c78c8a289 100644 --- a/indra/llui/lllayoutstack.h +++ b/indra/llui/lllayoutstack.h @@ -140,7 +140,8 @@ public: struct Params : public LLInitParam::Block<Params, LLPanel::Params> { Optional<S32> expanded_min_dim, - min_dim; + min_dim, + max_dim; Optional<bool> user_resize, auto_resize; @@ -164,6 +165,8 @@ public: S32 getMinDim() const { return llmax(0, mMinDim); } void setMinDim(S32 value) { mMinDim = value; } + void setMaxDim(S32 value) { mMaxDim = value < 0 ? S32_MAX : value; } + S32 getExpandedMinDim() const { return mExpandedMinDim >= 0 ? mExpandedMinDim : getMinDim(); } void setExpandedMinDim(S32 value) { mExpandedMinDim = value; } @@ -198,6 +201,7 @@ protected: S32 mExpandedMinDim; S32 mMinDim; + S32 mMaxDim; bool mCollapsed; F32 mVisibleAmt; F32 mCollapseAmt; diff --git a/indra/llui/lllineeditor.cpp b/indra/llui/lllineeditor.cpp index 4956d93e1c..9a88083a5d 100644 --- a/indra/llui/lllineeditor.cpp +++ b/indra/llui/lllineeditor.cpp @@ -97,6 +97,7 @@ LLLineEditor::Params::Params() ignore_tab("ignore_tab", true), is_password("is_password", false), allow_emoji("allow_emoji", true), + draw_focus_border("draw_focus_border", true), cursor_color("cursor_color"), use_bg_color("use_bg_color", false), bg_color("bg_color"), @@ -147,6 +148,7 @@ LLLineEditor::LLLineEditor(const LLLineEditor::Params& p) mIgnoreTab( p.ignore_tab ), mDrawAsterixes( p.is_password ), mAllowEmoji( p.allow_emoji ), + mDrawFocusBorder(p.draw_focus_border), mSpellCheck( p.spellcheck ), mSpellCheckStart(-1), mSpellCheckEnd(-1), @@ -1795,7 +1797,7 @@ void LLLineEditor::drawBackground() if (!image) return; // optionally draw programmatic border - if (has_focus) + if (has_focus && mDrawFocusBorder) { LLColor4 tmp_color = gFocusMgr.getFocusColor(); tmp_color.setAlpha(alpha); diff --git a/indra/llui/lllineeditor.h b/indra/llui/lllineeditor.h index 6384bfdc5f..fd248edda3 100644 --- a/indra/llui/lllineeditor.h +++ b/indra/llui/lllineeditor.h @@ -95,7 +95,8 @@ public: show_label_focused, is_password, allow_emoji, - use_bg_color; + use_bg_color, + draw_focus_border; // colors Optional<LLUIColor> cursor_color, @@ -411,6 +412,7 @@ protected: bool mAllowEmoji; bool mUseBgColor; + bool mDrawFocusBorder; LLWString mPreeditWString; LLWString mPreeditOverwrittenWString; diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp index 868e02f28b..77de25c28e 100644 --- a/indra/newview/llpanellogin.cpp +++ b/indra/newview/llpanellogin.cpp @@ -174,6 +174,19 @@ public: }; LLLoginLocationAutoHandler gLoginLocationAutoHandler; +std::string getShortGridLabel(const std::string& slurl_grid) +{ + if (slurl_grid == MAINGRID) + { + return LLTrans::getString("AgniGridLabelShort"); + } + if (slurl_grid == BETAGRID) + { + return LLTrans::getString("AditiGridLabelShort"); + } + return LLGridManager::getInstance()->getGridLabel(slurl_grid); +} + //--------------------------------------------------------------------------- // Public methods //--------------------------------------------------------------------------- @@ -221,13 +234,13 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, password_edit->setCommitCallback(boost::bind(&LLPanelLogin::onClickConnect, false)); childSetAction("connect_btn", onClickConnect, this); + childSetAction("sign_btn", onClickSignUp, this); mLoginBtn = getChild<LLButton>("connect_btn"); setDefaultBtn(mLoginBtn); // change z sort of clickable text to be behind buttons sendChildToBack(getChildView("forgot_password_text")); - sendChildToBack(getChildView("sign_up_text")); std::string current_grid = LLGridManager::getInstance()->getGrid(); if (!mFirstLoginThisInstall) @@ -251,13 +264,13 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, if (!grid_choice->first.empty() && current_grid != grid_choice->first) { LL_DEBUGS("AppInit") << "adding " << grid_choice->first << LL_ENDL; - server_choice_combo->add(grid_choice->second, grid_choice->first); + server_choice_combo->add(getShortGridLabel(grid_choice->first), grid_choice->first); } } server_choice_combo->sortByName(); LL_DEBUGS("AppInit") << "adding current " << current_grid << LL_ENDL; - server_choice_combo->add(LLGridManager::getInstance()->getGridLabel(), + server_choice_combo->add(getShortGridLabel(current_grid), current_grid, ADD_TOP); server_choice_combo->selectFirstItem(); @@ -308,9 +321,6 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect, LLTextBox* forgot_password_text = getChild<LLTextBox>("forgot_password_text"); forgot_password_text->setClickedCallback(onClickForgotPassword, NULL); - LLTextBox* sign_up_text = getChild<LLTextBox>("sign_up_text"); - sign_up_text->setClickedCallback(onClickSignUp, NULL); - // get the web browser control LLMediaCtrl* web_browser = getChild<LLMediaCtrl>("login_html"); web_browser->addObserver(this); @@ -752,6 +762,10 @@ void LLPanelLogin::updateLocationSelectorsVisibility() { server_combo->setVisible(show_server); } + if (LLTextBox* grid_txt = sInstance->getChild<LLTextBox>("grid_text")) + { + grid_txt->setVisible(show_server); + } } } @@ -787,7 +801,7 @@ void LLPanelLogin::onUpdateStartSLURL(const LLSLURL& new_start_slurl) // update the grid selector to match the slurl LLComboBox* server_combo = sInstance->getChild<LLComboBox>("server_combo"); - std::string server_label(LLGridManager::getInstance()->getGridLabel(slurl_grid)); + std::string server_label(getShortGridLabel(slurl_grid)); server_combo->setSimple(server_label); updateServer(); // to change the links and splash screen diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index dbcf4fbbf4..ca01d048b4 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -649,7 +649,7 @@ void init_menus() LLRect menuBarRect = gLoginMenuBarView->getRect(); menuBarRect.setLeftTopAndSize(0, menu_bar_holder->getRect().getHeight(), menuBarRect.getWidth(), menuBarRect.getHeight()); gLoginMenuBarView->setRect(menuBarRect); - gLoginMenuBarView->setBackgroundColor( color ); + gLoginMenuBarView->setBackgroundColor(LLColor4::black); menu_bar_holder->addChild(gLoginMenuBarView); // tooltips are on top of EVERYTHING, including menus diff --git a/indra/newview/llviewernetwork.cpp b/indra/newview/llviewernetwork.cpp index 890580ddff..4101828019 100644 --- a/indra/newview/llviewernetwork.cpp +++ b/indra/newview/llviewernetwork.cpp @@ -125,7 +125,7 @@ void LLGridManager::initialize(const std::string& grid_file) MAIN_GRID_WEB_PROFILE_URL, "Agni"); addSystemGrid(LLTrans::getString("AditiGridLabel"), - "util.aditi.lindenlab.com", + BETAGRID, "https://login.aditi.lindenlab.com/cgi-bin/login.cgi", "https://secondlife.aditi.lindenlab.com/helpers/", DEFAULT_LOGIN_PAGE, diff --git a/indra/newview/llviewernetwork.h b/indra/newview/llviewernetwork.h index 2ed663e038..0937425a18 100644 --- a/indra/newview/llviewernetwork.h +++ b/indra/newview/llviewernetwork.h @@ -30,6 +30,7 @@ // @TODO this really should be private, but is used in llslurl #define MAINGRID "util.agni.lindenlab.com" +#define BETAGRID "util.aditi.lindenlab.com" /// Exception thrown when a grid is not valid class LLInvalidGridName diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index e7b8aa095a..d627556a7c 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -56,6 +56,9 @@ <color name="DkGray2" value="0.169 0.169 0.169 1" /> + <color + name="DkGrayLogin" + value="0.129 0.133 0.137 1" /> <color name="MouseGray" value="0.191 0.191 0.191 1" /> @@ -1007,6 +1010,9 @@ name="PanelGray" value="0.27 0.27 0.27 1" /> <color + name="PanelDark" + value="0.078 0.078 0.078 1" /> + <color name="PerformanceMid" value="1 0.8 0 1" /> <color diff --git a/indra/newview/skins/default/textures/textures.xml b/indra/newview/skins/default/textures/textures.xml index 2e655da82c..207aa438d7 100644 --- a/indra/newview/skins/default/textures/textures.xml +++ b/indra/newview/skins/default/textures/textures.xml @@ -124,7 +124,9 @@ with the same filename but different name <texture name="Checkbox_Off_Disabled" file_name="widgets/Checkbox_Disabled.png" preload="true" /> <texture name="Checkbox_On_Disabled" file_name="widgets/Checkbox_On_Disabled.png" preload="true" /> <texture name="Checkbox_Off" file_name="widgets/Checkbox_Off.png" preload="true" /> + <texture name="Checkbox_Slim_Off" file_name="widgets/Checkbox_Slim_Off.png" preload="true" /> <texture name="Checkbox_On" file_name="widgets/Checkbox_On.png" preload="true" /> + <texture name="Checkbox_Slim_On" file_name="widgets/Checkbox_Slim_On.png" preload="true" /> <texture name="Checkbox_On_Press" file_name="widgets/Checkbox_On_Press.png" preload="true" /> <texture name="Checkbox_Press" file_name="widgets/Checkbox_Press.png" preload="true" /> <texture name="Check_Mark" file_name="icons/check_mark.png" preload="true" /> @@ -172,6 +174,8 @@ with the same filename but different name <texture name="ComboButton_On" file_name="widgets/ComboButton_On.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_Off" file_name="widgets/ComboButton_Off.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="ComboButton_UpOff" file_name="widgets/ComboButton_UpOff.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> + <texture name="ComboButton_White" file_name="widgets/ComboButton_white.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> + <texture name="ComboButton_Arrow" file_name="widgets/ComboButton_Arrow.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="Container" file_name="containers/Container.png" preload="false" /> @@ -566,7 +570,9 @@ with the same filename but different name <texture name="PushButton_Login" file_name="widgets/PushButton_Login.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> <texture name="PushButton_Login_Over" file_name="widgets/PushButton_Login_Over.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> <texture name="PushButton_Login_Pressed" file_name="widgets/PushButton_Login_Pressed.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> - + <texture name="PushButton_Sign" file_name="widgets/PushButton_Sign.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> + <texture name="PushButton_Sign_Over" file_name="widgets/PushButton_Sign_Over.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> + <texture name="PushButton_Sign_Pressed" file_name="widgets/PushButton_Sign_Pressed.png" preload="true" scale.left="4" scale.top="19" scale.right="28" scale.bottom="4" /> <texture name="RadioButton_Press" file_name="widgets/RadioButton_Press.png" preload="true" /> <texture name="RadioButton_On_Press" file_name="widgets/RadioButton_On_Press.png" preload="true" /> @@ -657,6 +663,7 @@ with the same filename but different name <texture name="startup_logo" file_name="windows/startup_logo.png" preload="true" /> <texture name="login_sl_logo" file_name="windows/login_sl_logo.png" preload="true" /> + <texture name="login_sl_logo_horizontal" file_name="windows/login_sl_logo_horizontal.png" preload="true" /> <texture name="login_sl_logo_small" file_name="windows/login_sl_logo_small.png" preload="true" /> <texture name="first_login_image" file_name="windows/first_login_image.jpg" preload="true" /> @@ -714,6 +721,7 @@ with the same filename but different name <texture name="TextField_Active" file_name="widgets/TextField_Active.png" preload="true" scale.left="9" scale.top="12" scale.right="248" scale.bottom="12" /> <texture name="TextField_Highlight" file_name="widgets/TextField_Highlight.png" preload="true" scale.left="9" scale.top="12" scale.right="248" scale.bottom="12" /> <texture name="TextField_Search_Highlight" file_name="widgets/TextField_Search_Highlight.png" preload="true" scale.left="9" scale.top="12" scale.right="248" scale.bottom="12" /> + <texture name="Text_Field_Cropped" file_name="widgets/Text_Field_Cropped.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" /> <texture name="Thumbnail_Fallback" file_name="icons/thumbnail_fallback_icon.png" preload="true" /> diff --git a/indra/newview/skins/default/textures/widgets/Checkbox_Slim_Off.png b/indra/newview/skins/default/textures/widgets/Checkbox_Slim_Off.png Binary files differnew file mode 100644 index 0000000000..99af0397d5 --- /dev/null +++ b/indra/newview/skins/default/textures/widgets/Checkbox_Slim_Off.png diff --git a/indra/newview/skins/default/textures/widgets/Checkbox_Slim_On.png b/indra/newview/skins/default/textures/widgets/Checkbox_Slim_On.png Binary files differnew file mode 100644 index 0000000000..cabecf1467 --- /dev/null +++ b/indra/newview/skins/default/textures/widgets/Checkbox_Slim_On.png diff --git a/indra/newview/skins/default/textures/widgets/ComboButton_Arrow.png b/indra/newview/skins/default/textures/widgets/ComboButton_Arrow.png Binary files differnew file mode 100644 index 0000000000..7961967458 --- /dev/null +++ b/indra/newview/skins/default/textures/widgets/ComboButton_Arrow.png diff --git a/indra/newview/skins/default/textures/widgets/ComboButton_white.png b/indra/newview/skins/default/textures/widgets/ComboButton_white.png Binary files differnew file mode 100644 index 0000000000..5c93700186 --- /dev/null +++ b/indra/newview/skins/default/textures/widgets/ComboButton_white.png diff --git a/indra/newview/skins/default/textures/widgets/PushButton_Login.png b/indra/newview/skins/default/textures/widgets/PushButton_Login.png Binary files differindex 2180adb2fd..7e892d2b0a 100644 --- a/indra/newview/skins/default/textures/widgets/PushButton_Login.png +++ b/indra/newview/skins/default/textures/widgets/PushButton_Login.png diff --git a/indra/newview/skins/default/textures/widgets/PushButton_Login_Over.png b/indra/newview/skins/default/textures/widgets/PushButton_Login_Over.png Binary files differindex e2c3b297df..9110889d6c 100644 --- a/indra/newview/skins/default/textures/widgets/PushButton_Login_Over.png +++ b/indra/newview/skins/default/textures/widgets/PushButton_Login_Over.png diff --git a/indra/newview/skins/default/textures/widgets/PushButton_Sign.png b/indra/newview/skins/default/textures/widgets/PushButton_Sign.png Binary files differnew file mode 100644 index 0000000000..f1c27f8c9b --- /dev/null +++ b/indra/newview/skins/default/textures/widgets/PushButton_Sign.png diff --git a/indra/newview/skins/default/textures/widgets/PushButton_Sign_Over.png b/indra/newview/skins/default/textures/widgets/PushButton_Sign_Over.png Binary files differnew file mode 100644 index 0000000000..efef8bebad --- /dev/null +++ b/indra/newview/skins/default/textures/widgets/PushButton_Sign_Over.png diff --git a/indra/newview/skins/default/textures/widgets/PushButton_Sign_Pressed.png b/indra/newview/skins/default/textures/widgets/PushButton_Sign_Pressed.png Binary files differnew file mode 100644 index 0000000000..ec3409e8b8 --- /dev/null +++ b/indra/newview/skins/default/textures/widgets/PushButton_Sign_Pressed.png diff --git a/indra/newview/skins/default/textures/widgets/Text_Field_Cropped.png b/indra/newview/skins/default/textures/widgets/Text_Field_Cropped.png Binary files differnew file mode 100644 index 0000000000..e5de6474f4 --- /dev/null +++ b/indra/newview/skins/default/textures/widgets/Text_Field_Cropped.png diff --git a/indra/newview/skins/default/textures/windows/login_sl_logo_horizontal.png b/indra/newview/skins/default/textures/windows/login_sl_logo_horizontal.png Binary files differnew file mode 100644 index 0000000000..f56d0bd542 --- /dev/null +++ b/indra/newview/skins/default/textures/windows/login_sl_logo_horizontal.png diff --git a/indra/newview/skins/default/xui/en/panel_login.xml b/indra/newview/skins/default/xui/en/panel_login.xml index e2219f6d5c..5bcd1fa0a4 100644 --- a/indra/newview/skins/default/xui/en/panel_login.xml +++ b/indra/newview/skins/default/xui/en/panel_login.xml @@ -6,7 +6,7 @@ name="panel_login" focus_root="true" background_visible="true" - bg_opaque_color="0.16 0.16 0.16 1" + bg_opaque_color="DkGrayLogin" background_opaque="true" width="1024"> <panel.string @@ -18,186 +18,329 @@ https://join.secondlife.com/ </panel.string> <layout_stack - follows="left|right|top" - height="172" - left="0" - name="ui_stack" - orientation="horizontal" - top="10" - width="1024"> + follows="all" + layout="topleft" + orientation="horizontal" + name="main_stack" + border_size="0" + animate="false" + top="0" + left="0" + height="768" + width="1024"> + <layout_panel + auto_resize="true" + user_resize="false" + layout="topleft" + name="left_spacer" + background_visible="false" + min_width="0" + expanded_min_dim="0" + width="1"> + </layout_panel> <layout_panel - height="172" - auto_resize="true" - name="ui_elastic_pad_left" - width="32" /> + auto_resize="false" + user_resize="false" + layout="topleft" + name="center_stage" + background_visible="true" + bg_opaque_color="DkGrayLogin" + background_opaque="true" + width="1008" + height="768"> + <layout_stack + follows="all" + layout="topleft" + orientation="horizontal" + name="ui_stack" + border_size="0" + animate="false" + top="0" + left="0" + height="768" + width="1008"> + <layout_panel + auto_resize="false" + user_resize="false" + layout="topleft" + name="ui_container" + width="300" + height="768" + background_visible="true" + bg_opaque_color="PanelDark" + background_opaque="true"> + <icon + height="77" + width="160" + image_name="login_sl_logo_horizontal" + layout="topleft" + follows="left|top" + left="70" + top="39" + name="sl_logo_small" /> + <combo_box + left="40" + top_pad="30" + allow_text_entry="true" + follows="left|top" + layout="topleft" + height="28" + label="Username" + combo_editor.font="SansSerifLarge" + max_chars="128" + combo_editor.commit_on_focus_lost="false" + combo_editor.prevalidator="ascii" + tool_tip="The username you chose when you registered, like bobsmith12 or Steller Sunshine" + name="username_combo" + width="220"> + <combo_box.combo_button + image_overlay="ComboButton_Arrow" + image_overlay_right_delta="10" + image_unselected="ComboButton_White" + hover_glow_amount="0" + image_selected="ComboButton_White" + image_disabled="ComboButton_White" /> + <combo_box.combo_editor + background_image="Text_Field_Cropped" + background_image_disabled="Text_Field_Cropped" + background_image_focused="Text_Field_Cropped" + draw_focus_border="false" + text_pad_left="8" + bg_image_always_focused="true"/> + </combo_box> + <check_box + follows="left|top" + font="SansSerifMedium" + label_text.text_color="White" + top_pad="3" + layout="topleft" + height="24" + label="Remember username" + word_wrap="down" + check_button.bottom="3" + name="remember_name" + tool_tip="Already remembered user can be forgotten from Me > Preferences > Advanced > Remembered Usernames." + width="198"> + <check_box.label_text left="23"/> + <check_box.check_button + image_selected="Checkbox_Slim_On" + image_unselected="Checkbox_Slim_Off" + image_pressed="Checkbox_Slim_Off" + image_pressed_selected="Checkbox_Slim_Off"/> + </check_box> + <line_editor + follows="left|top" + height="28" + top_pad="20" + max_length_chars="16" + text_pad_left="8" + name="password_edit" + label="Password" + bg_image_always_focused="true" + font="SansSerifLarge" + is_password="true" + select_on_focus="true" + draw_focus_border="false" + commit_on_focus_lost="false" + width="220" /> + <check_box + control_name="RememberPassword" + follows="left|top" + font="SansSerifMedium" + label_text.text_color="White" + height="24" + top_pad="3" + label="Remember password" + word_wrap="down" + check_button.bottom="3" + name="remember_password" + width="165"> + <check_box.label_text left="23"/> + <check_box.check_button + image_selected="Checkbox_Slim_On" + image_unselected="Checkbox_Slim_Off" + image_pressed="Checkbox_Slim_Off" + image_pressed_selected="Checkbox_Slim_Off"/> + </check_box> + <text + follows="left|top" + font="SansSerif" + text_color="White" + height="12" + name="location_text" + top_pad="18" + width="120" + valign="center"> + Start here + </text> + <combo_box + allow_text_entry="true" + control_name="NextLoginLocation" + follows="left|top" + label="My favorite places" + height="28" + max_chars="128" + combo_editor.font="SansSerifLarge" + top_pad="6" + name="start_location_combo" + width="220" + combo_button.scale_image="true"> + <combo_box.combo_button + image_overlay="ComboButton_Arrow" + hover_glow_amount="0" + image_overlay_right_delta="10" + image_unselected="ComboButton_White" + image_selected="ComboButton_White" + image_disabled="ComboButton_White" /> + <combo_box.combo_editor + background_image="Text_Field_Cropped" + background_image_disabled="Text_Field_Cropped" + background_image_focused="Text_Field_Cropped" + draw_focus_border="false" + text_pad_left="8" + bg_image_always_focused="true"/> + <combo_box.item + label="My last location" + name="MyLastLocation" + value="last" /> + <combo_box.item + label="My home" + name="MyHome" + value="home" /> + </combo_box> + <text + follows="left|top" + font="SansSerif" + text_color="white" + height="12" + name="grid_text" + top_pad="18" + width="120" + valign="center"> + Grid + </text> + <combo_box + allow_text_entry="false" + font="SansSerifTiny" + follows="left|top" + height="28" + top_pad="6" + max_chars="128" + label="Select grid" + layout="topleft" + name="server_combo" + width="220"> + <combo_box.drop_down_button + pad_bottom="1" + pad_left="10" + font="SansSerif" + label_color="Black" + label_color_selected="Black" + draw_focus_border="false" + image_overlay="ComboButton_Arrow" + image_overlay_right_delta="10" + image_unselected="TextField_Active" + image_selected="TextField_Active" + image_pressed="TextField_Active" + image_pressed_selected="TextField_Active"/> + </combo_box> + <button + follows="left|top" + image_unselected="PushButton_Login" + image_pressed="PushButton_Login_Pressed" + image_hover_unselected="PushButton_Login_Over" + label="Log in" + label_color="Black" + label_color_disabled="Black" + font="SansSerifLarge" + font.style="BOLD" + name="connect_btn" + draw_focus_border="false" + hover_hand_cursor="true" + enabled="true" + width="220" + height="30" + top_pad="25" + pad_bottom="1" /> + <text + follows="left|top" + font="SansSerifMedium" + text_color="EmphasisColor" + height="15" + name="forgot_password_text" + left="60" + top_pad="9" + width="180" + halign="center"> + Need help logging in? + </text> + <button + follows="left|top" + image_unselected="PushButton_Sign" + image_pressed="PushButton_Sign_Pressed" + image_hover_unselected="PushButton_Sign_Over" + label="Create account" + label_color="White" + label_color_disabled="Black" + font="SansSerifMedium" + font.style="BOLD" + name="sign_btn" + draw_focus_border="false" + hover_hand_cursor="true" + width="220" + height="35" + left="40" + top_pad="25" + pad_bottom="1" /> + </layout_panel> + <layout_panel + auto_resize="false" + user_resize="false" + layout="topleft" + name="middle_gutter" + min_width="18" + max_width="18" + expanded_min_dim="18" + width="18" + height="768" + background_visible="true" + bg_opaque_color="DkGrayLogin" + background_opaque="true"> + </layout_panel> + <layout_panel + auto_resize="false" + user_resize="false" + layout="topleft" + name="web_container" + width="690" + height="768" + background_visible="true" + bg_opaque_color="DkGrayLogin" + background_opaque="true"> + <web_browser + tab_stop="false" + trusted_content="true" + bg_opaque_color="DkGrayLogin" + border_visible="false" + follows="all" + left="0" + top="0" + right="-1" + bottom="-1" + name="login_html" + start_url="" /> + </layout_panel> + </layout_stack> + </layout_panel> <layout_panel - auto_resize="false" - follows="left|right|top" - name="ui_container" - width="1011" - left="0" - top="0" - height="172"> - <icon - height="73" - width="165" - image_name="login_sl_logo" - left="0" - top="25" - name="sl_logo_small" /> - <combo_box - left_pad="22" - bottom_delta="-7" - allow_text_entry="true" - follows="left|top" - height="32" - label="Username" - combo_editor.font="SansSerifLarge" - max_chars="128" - combo_editor.commit_on_focus_lost="false" - combo_editor.prevalidator="ascii" - tool_tip="The username you chose when you registered, like bobsmith12 or Steller Sunshine" - name="username_combo" - width="206"> - <combo_box.combo_editor - text_pad_left="8" - bg_image_always_focused="true"/> - </combo_box> - <line_editor - follows="left|top" - height="32" - left_pad="15" - max_length_chars="16" - text_pad_left="8" - name="password_edit" - label="Password" - bg_image_always_focused="true" - font="SansSerifLarge" - is_password="true" - select_on_focus="true" - commit_on_focus_lost="false" - bottom_delta="0" - width="165" /> - <combo_box - allow_text_entry="true" - control_name="NextLoginLocation" - follows="left|top" - label="My favorite places" - height="32" - max_chars="128" - combo_editor.font="SansSerifLarge" - left_pad="15" - bottom_delta="0" - name="start_location_combo" - width="175" - combo_button.scale_image="true"> - <combo_box.combo_editor - bg_image_always_focused="true" - text_pad_left="8"/> - <combo_box.item - label="My last location" - name="MyLastLocation" - value="last" /> - <combo_box.item - label="My home" - name="MyHome" - value="home" /> - </combo_box> - <button - follows="left|top" - image_unselected="PushButton_Login" - image_pressed="PushButton_Login_Pressed" - image_hover_unselected="PushButton_Login_Over" - label="Log in" - label_color="White" - font="SansSerifMedium" - font.style="BOLD" - name="connect_btn" - enabled="true" - width="120" - height="32" - left_pad="15" - bottom_delta="0" - pad_bottom="1" /> - <text - follows="left|top" - font="SansSerifLarge" - font.style="BOLD" - text_color="EmphasisColor" - height="34" - name="sign_up_text" - left_pad="10" - width="200" - valign="center"> - Sign up - </text> - <check_box - follows="left|top" - font="SansSerifMedium" - left="185" - bottom_delta="21" - height="24" - label="Remember me" - word_wrap="down" - check_button.bottom="3" - name="remember_name" - tool_tip="Already remembered user can be forgotten from Me > Preferences > Advanced > Remembered Usernames." - width="198" /> - <check_box - control_name="RememberPassword" - follows="left|top" - font="SansSerifMedium" - height="24" - left="408" - bottom_delta="0" - label="Remember password" - word_wrap="down" - check_button.bottom="3" - name="remember_password" - width="165" /> - <combo_box - allow_text_entry="false" - font="SansSerifTiny" - follows="left|top" - height="26" - left="588" - bottom_delta="8" - max_chars="128" - label="Select grid" - layout="topleft" - name="server_combo" - width="149" > - <combo_box.drop_down_button pad_right="21" /> - </combo_box> - <text - follows="left|top" - font="SansSerifMedium" - text_color="EmphasisColor" - height="16" - name="forgot_password_text" - left="778" - bottom_delta="-8" - width="120" - halign="center"> - Password help - </text> - </layout_panel> - <layout_panel - height="172" - auto_resize="true" - name="ui_elastic_pad_right" - width="32" /> + auto_resize="true" + user_resize="false" + layout="topleft" + name="right_spacer" + background_visible="false" + min_width="0" + expanded_min_dim="0" + width="1"> + </layout_panel> </layout_stack> - <web_browser - tab_stop="false" - trusted_content="true" - bg_opaque_color="Black" - border_visible="false" - follows="all" - left="0" - name="login_html" - start_url="" - top="154" - height="600" - width="1024" /> </panel> diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 1860d38b0e..94e045cd9c 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -116,6 +116,8 @@ Voice Server Version: [VOICE_VERSION] <string name="AgniGridLabel">Second Life Main Grid (Agni)</string> <string name="AditiGridLabel">Second Life Beta Test Grid (Aditi)</string> + <string name="AgniGridLabelShort">Agni (production)</string> + <string name="AditiGridLabelShort">Aditi (beta)</string> <string name="ViewerDownloadURL">http://secondlife.com/download</string> <string name="LoginFailedViewerNotPermitted"> |
