Merge branch 'project/Flat_UI' of https://github.com/secondlife/viewer
# Conflicts: # indra/newview/llpanellogin.cpp # indra/newview/llviewermenu.cpp # indra/newview/llviewernetwork.cpp # indra/newview/llviewernetwork.h # indra/newview/skins/default/textures/widgets/PushButton_Login.png # indra/newview/skins/default/textures/widgets/PushButton_Login_Over.png
@@ -87,6 +87,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"),
|
||||
@@ -113,6 +114,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"),
|
||||
@@ -168,6 +171,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),
|
||||
@@ -189,6 +193,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),
|
||||
// <FS:Zi> Add checkbox control toggle
|
||||
//mFlashingTimer(NULL)
|
||||
@@ -713,7 +719,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;
|
||||
@@ -910,7 +916,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());
|
||||
}
|
||||
@@ -1001,6 +1007,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:
|
||||
@@ -1035,6 +1052,7 @@ void LLButton::draw()
|
||||
// draw nothing
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Draw label
|
||||
|
||||
@@ -112,6 +112,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
|
||||
@@ -134,7 +135,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;
|
||||
|
||||
@@ -392,12 +395,16 @@ protected:
|
||||
S32 mImageOverlayBottomPad;
|
||||
|
||||
bool mUseDrawContextAlpha;
|
||||
bool mDrawFocusBorder;
|
||||
bool mHoverHandCursor;
|
||||
|
||||
/*
|
||||
* Space between image_overlay and label
|
||||
*/
|
||||
S32 mImgOverlayLabelSpace;
|
||||
|
||||
S32 mImageOverlayRightDelta;
|
||||
|
||||
F32 mHoverGlowStrength;
|
||||
F32 mCurGlowStrength;
|
||||
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
@@ -496,6 +505,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;
|
||||
}
|
||||
}
|
||||
@@ -512,6 +522,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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -154,7 +154,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;
|
||||
|
||||
@@ -178,6 +179,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; }
|
||||
|
||||
@@ -217,6 +220,7 @@ protected:
|
||||
|
||||
S32 mExpandedMinDim;
|
||||
S32 mMinDim;
|
||||
S32 mMaxDim;
|
||||
bool mCollapsed;
|
||||
F32 mVisibleAmt;
|
||||
F32 mCollapseAmt;
|
||||
|
||||
@@ -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"),
|
||||
@@ -148,6 +149,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),
|
||||
@@ -1879,7 +1881,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);
|
||||
|
||||
@@ -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,
|
||||
@@ -430,6 +431,7 @@ protected:
|
||||
|
||||
bool mAllowEmoji;
|
||||
bool mUseBgColor;
|
||||
bool mDrawFocusBorder;
|
||||
|
||||
LLWString mPreeditWString;
|
||||
LLWString mPreeditOverwrittenWString;
|
||||
|
||||
@@ -176,6 +176,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
|
||||
//---------------------------------------------------------------------------
|
||||
@@ -223,13 +236,16 @@ 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"));
|
||||
|
||||
mLoginStack = getChild<LLLayoutStack>("login_stack");
|
||||
mGridPanel = getChild<LLLayoutPanel>("grid_panel");
|
||||
|
||||
std::string current_grid = LLGridManager::getInstance()->getGrid();
|
||||
if (!mFirstLoginThisInstall)
|
||||
@@ -253,13 +269,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();
|
||||
@@ -310,9 +326,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);
|
||||
@@ -754,6 +767,11 @@ void LLPanelLogin::updateLocationSelectorsVisibility()
|
||||
{
|
||||
server_combo->setVisible(show_server);
|
||||
}
|
||||
if (LLTextBox* grid_txt = sInstance->getChild<LLTextBox>("grid_text"))
|
||||
{
|
||||
grid_txt->setVisible(show_server);
|
||||
}
|
||||
sInstance->collapseGridPanel(!show_server);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -789,7 +807,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
|
||||
@@ -1389,4 +1407,14 @@ bool LLPanelLogin::onUpdateNotification(const LLSD& notify)
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void LLPanelLogin::collapseGridPanel(bool collapse)
|
||||
{
|
||||
if (mGridPanel->isCollapsed() == collapse)
|
||||
{
|
||||
return;
|
||||
}
|
||||
mLoginStack->collapsePanel(mGridPanel, collapse);
|
||||
mLoginStack->updateLayout();
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -89,6 +89,8 @@ public:
|
||||
// extract name from cred in a format apropriate for username field
|
||||
static std::string getUserName(LLPointer<LLCredential> &cred);
|
||||
|
||||
void collapseGridPanel(bool collapse);
|
||||
|
||||
private:
|
||||
friend class LLPanelLoginListener;
|
||||
void addFavoritesToStartLocation();
|
||||
@@ -134,6 +136,8 @@ private:
|
||||
|
||||
bool mAlertNotif;
|
||||
LLButton* mLoginBtn;
|
||||
LLLayoutPanel* mGridPanel;
|
||||
LLLayoutStack* mLoginStack;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
@@ -790,7 +790,7 @@ void init_menus()
|
||||
menuBarRect.setLeftTopAndSize(0, menu_bar_holder->getRect().getHeight(), menuBarRect.getWidth(), menuBarRect.getHeight());
|
||||
gLoginMenuBarView->setRect(menuBarRect);
|
||||
// do not set colors in code, always lat the skin decide. -Zi
|
||||
// gLoginMenuBarView->setBackgroundColor( color );
|
||||
// gLoginMenuBarView->setBackgroundColor(LLColor4::black);
|
||||
menu_bar_holder->addChild(gLoginMenuBarView);
|
||||
|
||||
// tooltips are on top of EVERYTHING, including menus
|
||||
|
||||
@@ -131,7 +131,7 @@ void LLGridManager::initialize(const std::string& grid_file)
|
||||
MAIN_GRID_WEB_PROFILE_URL,
|
||||
"Agni");
|
||||
addSystemGrid(SECOND_LIFE_BETA_LABEL,
|
||||
"util.aditi.lindenlab.com",
|
||||
BETAGRID,
|
||||
"https://login.aditi.lindenlab.com/cgi-bin/login.cgi",
|
||||
"https://secondlife.aditi.lindenlab.com/helpers/",
|
||||
DEFAULT_LOGIN_PAGE,
|
||||
|
||||
@@ -37,6 +37,7 @@ const std::string MAINGRID = SINGLEGRID_URI;
|
||||
#else
|
||||
const std::string MAINGRID = "util.agni.lindenlab.com";
|
||||
#endif
|
||||
#define BETAGRID "util.aditi.lindenlab.com"
|
||||
|
||||
// <FS:AW optional opensim support>
|
||||
#ifdef OPENSIM
|
||||
|
||||
@@ -97,6 +97,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" />
|
||||
@@ -1303,6 +1306,9 @@
|
||||
<color
|
||||
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" />
|
||||
|
||||
@@ -138,7 +138,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" />
|
||||
@@ -194,6 +196,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_Arrow" file_name="widgets/ComboButton_Arrow.png" preload="true" scale.left="2" scale.top="19" scale.right="18" scale.bottom="2" />
|
||||
<texture name="ComboButton_Transparent" file_name="widgets/ComboButton_Transparent.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" />
|
||||
|
||||
@@ -682,7 +686,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" />
|
||||
@@ -774,6 +780,7 @@ with the same filename but different name
|
||||
|
||||
<texture name="login_fs_logo" file_name="windows/login_fs_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" />
|
||||
|
||||
@@ -832,6 +839,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="TextField_Transparent" file_name="widgets/TextField_Transparent.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" />
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
@@ -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,379 @@
|
||||
https://www.firestormviewer.org/join-secondlife/
|
||||
</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
|
||||
height="172"
|
||||
auto_resize="true"
|
||||
name="ui_elastic_pad_left"
|
||||
width="32" />
|
||||
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
|
||||
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="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" />
|
||||
<icon
|
||||
left="40"
|
||||
top_pad="30"
|
||||
width="220"
|
||||
height="28"
|
||||
image_name="TextField_Active"
|
||||
layout="topleft"
|
||||
follows="left|top"
|
||||
name="text_field_bg1" />
|
||||
<combo_box
|
||||
left="40"
|
||||
top_delta="0"
|
||||
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_Transparent"
|
||||
hover_glow_amount="0"
|
||||
image_selected="ComboButton_Transparent"
|
||||
image_disabled="ComboButton_Transparent" />
|
||||
<combo_box.combo_editor
|
||||
background_image="TextField_Transparent"
|
||||
background_image_disabled="TextField_Transparent"
|
||||
background_image_focused="TextField_Transparent"
|
||||
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>
|
||||
<icon
|
||||
top_pad="6"
|
||||
width="220"
|
||||
height="28"
|
||||
image_name="TextField_Active"
|
||||
layout="topleft"
|
||||
follows="left|top"
|
||||
name="text_field_bg2" />
|
||||
<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_delta="0"
|
||||
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_Transparent"
|
||||
image_selected="ComboButton_Transparent"
|
||||
image_disabled="ComboButton_Transparent" />
|
||||
<combo_box.combo_editor
|
||||
background_image="TextField_Transparent"
|
||||
background_image_disabled="TextField_Transparent"
|
||||
background_image_focused="TextField_Transparent"
|
||||
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>
|
||||
<layout_stack
|
||||
follows="left|top"
|
||||
layout="topleft"
|
||||
orientation="vertical"
|
||||
name="login_stack"
|
||||
border_size="0"
|
||||
animate="false"
|
||||
top_pad="0"
|
||||
left="0"
|
||||
height="218"
|
||||
width="300">
|
||||
<layout_panel
|
||||
auto_resize="false"
|
||||
user_resize="false"
|
||||
layout="topleft"
|
||||
name="grid_panel"
|
||||
background_visible="false"
|
||||
height="64"
|
||||
width="300">
|
||||
<text
|
||||
follows="left|top"
|
||||
font="SansSerif"
|
||||
text_color="white"
|
||||
height="12"
|
||||
name="grid_text"
|
||||
top="18"
|
||||
left="40"
|
||||
width="120"
|
||||
valign="center">
|
||||
Grid
|
||||
</text>
|
||||
<combo_box
|
||||
allow_text_entry="false"
|
||||
font="SansSerifTiny"
|
||||
follows="left|top"
|
||||
height="28"
|
||||
top_pad="6"
|
||||
left="40"
|
||||
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>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
auto_resize="false"
|
||||
user_resize="false"
|
||||
layout="topleft"
|
||||
name="login_panel"
|
||||
background_visible="false"
|
||||
height="172"
|
||||
width="300">
|
||||
<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"
|
||||
left="40"
|
||||
top="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_stack>
|
||||
</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="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>
|
||||
|
||||
@@ -139,6 +139,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">https://www.firestormviewer.org/choose-your-platform/</string>
|
||||
<string name="LoginFailedViewerNotPermitted">
|
||||
|
||||