More hammering on the login page

Thu, 21 Apr 2016 10:36:33 +0200

author
Ansariel
date
Thu, 21 Apr 2016 10:36:33 +0200
changeset 48971
24909feee264
parent 48970
ec8f85627a09
child 48972
7830ce7960ca

More hammering on the login page

indra/newview/fspanellogin.cpp file | annotate | diff | revisions
indra/newview/fspanellogin.h file | annotate | diff | revisions
indra/newview/llloginhandler.cpp file | annotate | diff | revisions
indra/newview/skins/default/xui/en/panel_fs_login.xml file | annotate | diff | revisions
indra/newview/skins/starlightcui/xui/en/panel_fs_login.xml file | annotate | diff | revisions
     1.1 --- a/indra/newview/fspanellogin.cpp	Wed Apr 20 17:20:26 2016 +0200
     1.2 +++ b/indra/newview/fspanellogin.cpp	Thu Apr 21 10:36:33 2016 +0200
     1.3 @@ -180,6 +180,9 @@
     1.4  :	LLPanel(),
     1.5  	mCallback(callback),
     1.6  	mCallbackData(cb_data),
     1.7 +	mUsernameLength(0),
     1.8 +	mPasswordLength(0),
     1.9 +	mLocationLength(0),
    1.10  	mShowFavorites(false)
    1.11  {
    1.12  	setBackgroundVisible(FALSE);
    1.13 @@ -208,13 +211,13 @@
    1.14  	// change z sort of clickable text to be behind buttons
    1.15  	sendChildToBack(getChildView("forgot_password_text"));
    1.16  
    1.17 -	LLComboBox* location_combo = getChild<LLComboBox>("start_location_combo");
    1.18 +	LLComboBox* favorites_combo = getChild<LLComboBox>("start_location_combo");
    1.19  	updateLocationSelectorsVisibility(); // separate so that it can be called from preferences
    1.20 -	location_combo->setFocusLostCallback(boost::bind(&FSPanelLogin::onLocationSLURL, this));
    1.21 +	favorites_combo->setFocusLostCallback(boost::bind(&FSPanelLogin::onLocationSLURL, this));
    1.22  	
    1.23  	LLComboBox* server_choice_combo = getChild<LLComboBox>("server_combo");
    1.24  	server_choice_combo->setCommitCallback(boost::bind(&FSPanelLogin::onSelectServer, this));
    1.25 -
    1.26 +	
    1.27  	updateServer();
    1.28  	if(LLStartUp::getStartSLURL().getType() != LLSLURL::LOCATION)
    1.29  	{
    1.30 @@ -222,42 +225,18 @@
    1.31  		LLStartUp::setStartSLURL(slurl);
    1.32  	}
    1.33  
    1.34 -	childSetAction("remove_user_btn", onClickRemove, this);
    1.35 -	childSetAction("connect_btn", onClickConnect, this);
    1.36 -	
    1.37 -	getChild<LLPanel>("login")->setDefaultBtn(findChild<LLButton>("connect_btn"));
    1.38 -	getChild<LLPanel>("start_location_panel")->setDefaultBtn(findChild<LLButton>("connect_btn"));
    1.39 -
    1.40 -	std::string channel = LLVersionInfo::getChannel();
    1.41 -	std::string version = llformat("%s (%d)",
    1.42 -								   LLVersionInfo::getShortVersion().c_str(),
    1.43 -								   LLVersionInfo::getBuild());
    1.44 -	
    1.45 -	LLTextBox* forgot_password_text = getChild<LLTextBox>("forgot_password_text");
    1.46 -	forgot_password_text->setClickedCallback(onClickForgotPassword, NULL);
    1.47 -
    1.48  	LLTextBox* create_new_account_text = getChild<LLTextBox>("create_new_account_text");
    1.49  	create_new_account_text->setClickedCallback(onClickNewAccount, NULL);
    1.50  
    1.51  	LLTextBox* grid_mgr_help_text = getChild<LLTextBox>("grid_login_text");
    1.52  	grid_mgr_help_text->setClickedCallback(onClickGridMgrHelp, NULL);
    1.53 -	
    1.54 -	// get the web browser control
    1.55 -	LLMediaCtrl* web_browser = getChild<LLMediaCtrl>("login_html");
    1.56 -	web_browser->addObserver(this);
    1.57 -
    1.58 -	// Show last logged in user favorites in "Start at" combo.
    1.59 -	LLComboBox* username_combo(getChild<LLComboBox>("username_combo"));
    1.60 -	username_combo->setCommitCallback(boost::bind(&FSPanelLogin::onSelectUser, this));
    1.61 -	username_combo->setFocusLostCallback(boost::bind(&FSPanelLogin::onSelectUser, this));
    1.62 -	mPreviousUsername = username_combo->getValue().asString();
    1.63  
    1.64  	LLSLURL start_slurl(LLStartUp::getStartSLURL());
    1.65 -	if ( !start_slurl.isSpatial() ) // has a start been established by the command line or NextLoginLocation ?
    1.66 +	if ( !start_slurl.isSpatial() ) // has a start been established by the command line or NextLoginLocation ? 
    1.67  	{
    1.68 -	// no, so get the preference setting
    1.69 +		// no, so get the preference setting
    1.70  		std::string defaultStartLocation = gSavedSettings.getString("LoginLocation");
    1.71 -		LL_INFOS("AppInit") << "default LoginLocation '" << defaultStartLocation << "'" << LL_ENDL;
    1.72 +		LL_INFOS("AppInit")<<"default LoginLocation '"<<defaultStartLocation<<"'"<<LL_ENDL;
    1.73  		LLSLURL defaultStart(defaultStartLocation);
    1.74  		if ( defaultStart.isSpatial() )
    1.75  		{
    1.76 @@ -275,7 +254,31 @@
    1.77  		FSPanelLogin::onUpdateStartSLURL(start_slurl); // updates grid if needed
    1.78  	}
    1.79  	
    1.80 +	childSetAction("remove_user_btn", onClickRemove, this);
    1.81 +	childSetAction("connect_btn", onClickConnect, this);
    1.82 +
    1.83 +	getChild<LLPanel>("login")->setDefaultBtn(findChild<LLButton>("connect_btn"));
    1.84 +	getChild<LLPanel>("start_location_panel")->setDefaultBtn(findChild<LLButton>("connect_btn"));
    1.85 +
    1.86 +	std::string channel = LLVersionInfo::getChannel();
    1.87 +	std::string version = llformat("%s (%d)",
    1.88 +								   LLVersionInfo::getShortVersion().c_str(),
    1.89 +								   LLVersionInfo::getBuild());
    1.90 +	
    1.91 +	LLTextBox* forgot_password_text = getChild<LLTextBox>("forgot_password_text");
    1.92 +	forgot_password_text->setClickedCallback(onClickForgotPassword, NULL);
    1.93 +	
    1.94 +	// get the web browser control
    1.95 +	LLMediaCtrl* web_browser = getChild<LLMediaCtrl>("login_html");
    1.96 +	web_browser->addObserver(this);
    1.97 +
    1.98  	loadLoginPage();
    1.99 +
   1.100 +	LLComboBox* username_combo(getChild<LLComboBox>("username_combo"));
   1.101 +	username_combo->setTextChangedCallback(boost::bind(&FSPanelLogin::onUsernameTextChanged, this));
   1.102 +	username_combo->setCommitCallback(boost::bind(&FSPanelLogin::onSelectUser, this));
   1.103 +	username_combo->setFocusLostCallback(boost::bind(&FSPanelLogin::onSelectUser, this));
   1.104 +	mPreviousUsername = username_combo->getValue().asString();
   1.105  }
   1.106  
   1.107  void FSPanelLogin::addFavoritesToStartLocation()
   1.108 @@ -302,6 +305,8 @@
   1.109  	std::string current_user = canonical_user_name + " @ " + current_grid;
   1.110  	LL_DEBUGS("Favorites") << "Current user: \"" << current_user << "\"" << LL_ENDL;
   1.111  	std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_USER_SETTINGS, "stored_favorites.xml");
   1.112 +	mUsernameLength = current_user.length();
   1.113 +	updateLoginButtons();
   1.114  
   1.115  	LLSD fav_llsd;
   1.116  	llifstream file;
   1.117 @@ -311,6 +316,7 @@
   1.118  		return;
   1.119  	}
   1.120  	LLSDSerialize::fromXML(fav_llsd, file);
   1.121 +
   1.122  	for (LLSD::map_const_iterator iter = fav_llsd.beginMap();
   1.123  		iter != fav_llsd.endMap(); ++iter)
   1.124  	{
   1.125 @@ -353,7 +359,7 @@
   1.126  	gFocusMgr.setDefaultKeyboardFocus(NULL);
   1.127  }
   1.128  
   1.129 -// virtual 
   1.130 +// virtual
   1.131  void FSPanelLogin::setFocus(BOOL b)
   1.132  {
   1.133  	if(b != hasFocus())
   1.134 @@ -486,17 +492,19 @@
   1.135  	LLSD authenticator = credential->getAuthenticator();
   1.136  	LL_INFOS("Credentials") << "Setting authenticator field " << authenticator["type"].asString() << LL_ENDL;
   1.137  	bool remember;
   1.138 -	if (authenticator.isMap() &&
   1.139 -	   authenticator.has("secret") &&
   1.140 +	if(authenticator.isMap() && 
   1.141 +	   authenticator.has("secret") && 
   1.142  	   (authenticator["secret"].asString().size() > 0))
   1.143  	{
   1.144  		
   1.145  		// This is a MD5 hex digest of a password.
   1.146  		// We don't actually use the password input field, 
   1.147  		// fill it with MAX_PASSWORD_SL characters so we get a 
   1.148 -		// nice row of asterixes.
   1.149 +		// nice row of asterisks.
   1.150  		const std::string filler("123456789!123456");
   1.151  		sInstance->getChild<LLLineEditor>("password_edit")->setText(filler);
   1.152 +		sInstance->mPasswordLength = filler.length();
   1.153 +		sInstance->updateLoginButtons();
   1.154  		remember = true;
   1.155  
   1.156  		// We run into this case, if a user tries to login with a newly entered password
   1.157 @@ -513,6 +521,8 @@
   1.158  				(stored_credential->getAuthenticator().has("secret") && stored_credential->getAuthenticator()["secret"].asString() != authenticator["secret"].asString()))
   1.159  			{
   1.160  				sInstance->getChild<LLLineEditor>("password_edit")->setText(sPassword);
   1.161 +				sInstance->mPasswordLength = sPassword.length();
   1.162 +				sInstance->updateLoginButtons();
   1.163  				sInstance->mPasswordModified = TRUE;
   1.164  			}
   1.165  		}
   1.166 @@ -520,6 +530,8 @@
   1.167  	else
   1.168  	{
   1.169  		sInstance->getChild<LLLineEditor>("password_edit")->clear();
   1.170 +		sInstance->mPasswordLength = 0;
   1.171 +		sInstance->updateLoginButtons();
   1.172  		remember = false;
   1.173  	}
   1.174  	if (from_startup)
   1.175 @@ -601,7 +613,7 @@
   1.176  		std::string last;
   1.177  		if (separator_index != username.npos)
   1.178  		{
   1.179 -			last = username.substr(separator_index + 1, username.npos);
   1.180 +			last = username.substr(separator_index+1, username.npos);
   1.181  		LLStringUtil::trim(last);
   1.182  		}
   1.183  		else
   1.184 @@ -657,7 +669,7 @@
   1.185  			return true;
   1.186  		}
   1.187  	}
   1.188 -	return false;
   1.189 +	return false;	
   1.190  }
   1.191  
   1.192  
   1.193 @@ -713,6 +725,8 @@
   1.194  				updateServer(); // to change the links and splash screen
   1.195  			}
   1.196  			location_combo->setTextEntry(new_start_slurl.getLocationString());
   1.197 +			sInstance->mLocationLength = new_start_slurl.getLocationString().length();
   1.198 +			sInstance->updateLoginButtons();
   1.199  		}
   1.200  		else
   1.201  		{
   1.202 @@ -794,6 +808,13 @@
   1.203  
   1.204  	LL_DEBUGS("AppInit") << "login_page: " << login_page << LL_ENDL;
   1.205  
   1.206 +	// allow users (testers really) to specify a different login content URL
   1.207 +	std::string force_login_url = gSavedSettings.getString("ForceLoginURL");
   1.208 +	if ( force_login_url.length() > 0 )
   1.209 +	{
   1.210 +		login_page = LLURI(force_login_url);
   1.211 +	}
   1.212 +
   1.213  	// Language
   1.214  	params["lang"] = LLUI::getLanguage();
   1.215  
   1.216 @@ -880,7 +901,7 @@
   1.217  		}
   1.218  		else if(password.empty())
   1.219  		{
   1.220 -			LLNotificationsUtil::add("MustEnterPasswordToLogIn");
   1.221 +		    LLNotificationsUtil::add("MustEnterPasswordToLogIn");
   1.222  		}
   1.223  		else
   1.224  		{
   1.225 @@ -910,7 +931,7 @@
   1.226  			// credential format, as it doesn't yet allow account (single username)
   1.227  			// format creds.  - Rox.  James, we wanna fix the message when we change
   1.228  			// this.
   1.229 -			LLNotificationsUtil::add("InvalidCredentialFormat");
   1.230 +			LLNotificationsUtil::add("InvalidCredentialFormat");			
   1.231  		}
   1.232  	}
   1.233  }
   1.234 @@ -976,41 +997,51 @@
   1.235  		// *TODO: use another way to notify user about enabled caps lock, see EXT-6858
   1.236  		sCapslockDidNotification = TRUE;
   1.237  	}
   1.238 +
   1.239 +	LLLineEditor* password_edit(self->getChild<LLLineEditor>("password_edit"));
   1.240 +	self->mPasswordLength = password_edit->getText().length();
   1.241 +	self->updateLoginButtons();
   1.242  }
   1.243  
   1.244  
   1.245  void FSPanelLogin::updateServer()
   1.246  {
   1.247 -	if (!sInstance)
   1.248 +	if (sInstance)
   1.249  	{
   1.250 -		return;
   1.251 -	}
   1.252 -	try
   1.253 -	{
   1.254 -		// if they've selected another grid, we should load the credentials
   1.255 -		// for that grid and set them to the UI.
   1.256 -		if(!sInstance->areCredentialFieldsDirty())
   1.257 +		try 
   1.258  		{
   1.259 -			LLPointer<LLCredential> credential = gSecAPIHandler->loadCredential(credentialName());
   1.260 -			sInstance->setFields(credential);
   1.261 -		}
   1.262 +			// if they've selected another grid, we should load the credentials
   1.263 +			// for that grid and set them to the UI.
   1.264 +			if(!sInstance->areCredentialFieldsDirty())
   1.265 +			{
   1.266 +				LLPointer<LLCredential> credential = gSecAPIHandler->loadCredential(credentialName());
   1.267 +				sInstance->setFields(credential);
   1.268 +			}
   1.269  
   1.270 -		// grid changed so show new splash screen (possibly)
   1.271 -		updateServerCombo();
   1.272 -		loadLoginPage();
   1.273 +			// grid changed so show new splash screen (possibly)
   1.274 +			updateServerCombo();
   1.275 +			loadLoginPage();
   1.276  
   1.277  #ifdef OPENSIM
   1.278 -		sInstance->getChild<LLLineEditor>("password_edit")->setMaxTextLength(LLGridManager::getInstance()->isInSecondLife() ? MAX_PASSWORD_SL : MAX_PASSWORD_OPENSIM);
   1.279 +			sInstance->getChild<LLLineEditor>("password_edit")->setMaxTextLength(LLGridManager::getInstance()->isInSecondLife() ? MAX_PASSWORD_SL : MAX_PASSWORD_OPENSIM);
   1.280  #endif
   1.281 +		}
   1.282 +		catch (LLInvalidGridName ex)
   1.283 +		{
   1.284 +			LL_WARNS("AppInit")<<"server '"<<ex.name()<<"' selection failed"<<LL_ENDL;
   1.285 +			LLSD args;
   1.286 +			args["GRID"] = ex.name();
   1.287 +			LLNotificationsUtil::add("InvalidGrid", args);	
   1.288 +			return;
   1.289 +		}
   1.290  	}
   1.291 -	catch (LLInvalidGridName ex)
   1.292 -	{
   1.293 -		LL_WARNS("AppInit") << "server '" << ex.name() << "' selection failed"<<LL_ENDL;
   1.294 -		LLSD args;
   1.295 -		args["GRID"] = ex.name();
   1.296 -		LLNotificationsUtil::add("InvalidGrid", args);
   1.297 -		return;
   1.298 -	}
   1.299 +}
   1.300 +
   1.301 +void FSPanelLogin::updateLoginButtons()
   1.302 +{
   1.303 +	LLButton* login_btn = getChild<LLButton>("connect_btn");
   1.304 +
   1.305 +	login_btn->setEnabled(mUsernameLength != 0 && mPasswordLength != 0);
   1.306  }
   1.307  
   1.308  void FSPanelLogin::onSelectServer()
   1.309 @@ -1055,9 +1086,10 @@
   1.310  				location_combo->setCurrentByIndex(0); // last location on the new grid
   1.311  				location_combo->setTextEntry(LLStringUtil::null);
   1.312  			}
   1.313 -		}
   1.314 +		}			
   1.315  		break;
   1.316  	}
   1.317 +
   1.318  	updateServer();
   1.319  }
   1.320  
   1.321 @@ -1065,7 +1097,7 @@
   1.322  {
   1.323  	LLComboBox* location_combo = getChild<LLComboBox>("start_location_combo");
   1.324  	std::string location = location_combo->getValue().asString();
   1.325 -	LL_DEBUGS("AppInit") << location << LL_ENDL;
   1.326 +	LL_DEBUGS("AppInit")<<location<<LL_ENDL;
   1.327  
   1.328  	LLStartUp::setStartSLURL(location); // calls onUpdateStartSLURL, above 
   1.329  }
   1.330 @@ -1244,6 +1276,8 @@
   1.331  		}
   1.332  		sInstance->addFavoritesToStartLocation();
   1.333  		sInstance->mPreviousUsername = combo->getValue().asString();
   1.334 +		sInstance->mUsernameLength = combo->getValue().asString().length();
   1.335 +		sInstance->updateLoginButtons();
   1.336  		sInstance->getChild<LLButton>("remove_user_btn")->setEnabled(FALSE);
   1.337  		return;
   1.338  	}
   1.339 @@ -1337,6 +1371,25 @@
   1.340  	updateServer();
   1.341  }
   1.342  
   1.343 +// static
   1.344 +bool FSPanelLogin::getShowFavorites()
   1.345 +{
   1.346 +	if (sInstance)
   1.347 +	{
   1.348 +		return sInstance->mShowFavorites;
   1.349 +	}
   1.350 +	else
   1.351 +	{
   1.352 +		return gSavedPerAccountSettings.getBOOL("ShowFavoritesOnLogin");
   1.353 +	}
   1.354 +}
   1.355 +
   1.356 +void FSPanelLogin::onUsernameTextChanged()
   1.357 +{
   1.358 +	mUsernameLength = getChild<LLUICtrl>("username_combo")->getValue().asString().length();
   1.359 +	updateLoginButtons();
   1.360 +}
   1.361 +
   1.362  /////////////////////////
   1.363  //    Mode selector    //
   1.364  /////////////////////////
   1.365 @@ -1373,16 +1426,3 @@
   1.366  			break;
   1.367  	}
   1.368  }
   1.369 -
   1.370 -// static
   1.371 -bool FSPanelLogin::getShowFavorites()
   1.372 -{
   1.373 -	if (sInstance)
   1.374 -	{
   1.375 -		return sInstance->mShowFavorites;
   1.376 -	}
   1.377 -	else
   1.378 -	{
   1.379 -		return gSavedPerAccountSettings.getBOOL("ShowFavoritesOnLogin");
   1.380 -	}
   1.381 -}
     2.1 --- a/indra/newview/fspanellogin.h	Wed Apr 20 17:20:26 2016 +0200
     2.2 +++ b/indra/newview/fspanellogin.h	Thu Apr 21 10:36:33 2016 +0200
     2.3 @@ -24,7 +24,7 @@
     2.4   * $/LicenseInfo$
     2.5   */
     2.6  
     2.7 -// Original file: llpanellogin.cpp
     2.8 +// Original file: llpanellogin.h
     2.9  
    2.10  #ifndef FS_PANELLOGIN_H
    2.11  #define FS_PANELLOGIN_H
    2.12 @@ -32,11 +32,8 @@
    2.13  #include "llpanel.h"
    2.14  #include "llpointer.h"			// LLPointer<>
    2.15  #include "llmediactrl.h"	// LLMediaCtrlObserver
    2.16 -#include <boost/scoped_ptr.hpp>
    2.17  
    2.18  class LLLineEditor;
    2.19 -class LLUIImage;
    2.20 -class LLPanelLoginListener;
    2.21  class LLSLURL;
    2.22  class LLCredential;
    2.23  
    2.24 @@ -53,10 +50,6 @@
    2.25  
    2.26  	virtual void setFocus( BOOL b );
    2.27  
    2.28 -	// Show the XUI first name, last name, and password widgets.  They are
    2.29 -	// hidden on startup for reg-in-client
    2.30 -	static void showLoginWidgets();
    2.31 -
    2.32  	static void show(const LLRect &rect,
    2.33  		void (*callback)(S32 option, void* user_data), 
    2.34  		void* callback_data);
    2.35 @@ -76,6 +69,8 @@
    2.36  
    2.37  	void setSiteIsAlive( bool alive );
    2.38  
    2.39 +	void showLoginWidgets();
    2.40 +
    2.41  	static void loadLoginPage();	
    2.42  	static void giveFocus();
    2.43  	static void setAlwaysRefresh(bool refresh); 
    2.44 @@ -87,13 +82,12 @@
    2.45  	/// to be called from LLStartUp::setStartSLURL
    2.46  	static void onUpdateStartSLURL(const LLSLURL& new_start_slurl);
    2.47  
    2.48 -	// called from prefs when initializing pane
    2.49 +	// called from prefs when initializing panel
    2.50  	static bool getShowFavorites();
    2.51  
    2.52  	static void clearPassword() { sPassword.clear(); }
    2.53  
    2.54  private:
    2.55 -	friend class LLPanelLoginListener;
    2.56  	void addFavoritesToStartLocation();
    2.57  	void addUsersToCombo(BOOL show_server);
    2.58  	void onSelectUser();
    2.59 @@ -101,6 +95,7 @@
    2.60  	void onModeChangeConfirm(const LLSD& original_value, const LLSD& new_value, const LLSD& notification, const LLSD& response);
    2.61  	void onSelectServer();
    2.62  	void onLocationSLURL();
    2.63 +	void onUsernameTextChanged();
    2.64  
    2.65  	static void onClickConnect(void*);
    2.66  	static void onClickNewAccount(void*);
    2.67 @@ -116,17 +111,22 @@
    2.68  	static std::string credentialName();
    2.69  
    2.70  private:
    2.71 +	void updateLoginButtons();
    2.72 +
    2.73  	void			(*mCallback)(S32 option, void *userdata);
    2.74  	void*			mCallbackData;
    2.75  
    2.76 -	BOOL			mPasswordModified;
    2.77 +	BOOL            mPasswordModified;
    2.78  	bool			mShowFavorites;
    2.79  
    2.80  	static FSPanelLogin* sInstance;
    2.81  	static BOOL		sCapslockDidNotification;
    2.82  
    2.83 +	unsigned int mUsernameLength;
    2.84 +	unsigned int mPasswordLength;
    2.85 +	unsigned int mLocationLength;
    2.86 +
    2.87  	std::string		mPreviousUsername;
    2.88 -
    2.89  	static std::string	sPassword;
    2.90  };
    2.91  
     3.1 --- a/indra/newview/llloginhandler.cpp	Wed Apr 20 17:20:26 2016 +0200
     3.2 +++ b/indra/newview/llloginhandler.cpp	Thu Apr 21 10:36:33 2016 +0200
     3.3 @@ -99,35 +99,6 @@
     3.4  		return true;
     3.5  	}
     3.6  
     3.7 -	// <FS:Ansariel> [FS Login Panel]
     3.8 -	if (tokens.size() == 1
     3.9 -		&& tokens[0].asString() == "show")
    3.10 -	{
    3.11 -		// We're using reg-in-client, so show the XUI login widgets
    3.12 -		FSPanelLogin::showLoginWidgets();
    3.13 -		return true;
    3.14 -	}
    3.15 -
    3.16 -	if (tokens.size() == 1
    3.17 -		&& tokens[0].asString() == "reg")
    3.18 -	{
    3.19 -		LLWindow* window = gViewerWindow->getWindow();
    3.20 -		window->incBusyCount();
    3.21 -		window->setCursor(UI_CURSOR_ARROW);
    3.22 -
    3.23 -		// Do this first, as it may be slow and we want to keep something
    3.24 -		// on the user's screen as long as possible
    3.25 -		LLWeb::loadURLExternal( "http://join.eniac15.lindenlab.com/" );
    3.26 -
    3.27 -		window->decBusyCount();
    3.28 -		window->setCursor(UI_CURSOR_ARROW);
    3.29 -
    3.30 -		// Then hide the window
    3.31 -		window->minimize();
    3.32 -		return true;
    3.33 -	}
    3.34 -	// </FS:Ansariel> [FS Login Panel]
    3.35 -
    3.36  	// Make sure window is visible
    3.37  	LLWindow* window = gViewerWindow->getWindow();
    3.38  	if (window->getMinimized())
     4.1 --- a/indra/newview/skins/default/xui/en/panel_fs_login.xml	Wed Apr 20 17:20:26 2016 +0200
     4.2 +++ b/indra/newview/skins/default/xui/en/panel_fs_login.xml	Thu Apr 21 10:36:33 2016 +0200
     4.3 @@ -116,7 +116,7 @@
     4.4            width="128">
     4.5          Password:
     4.6        </text>
     4.7 -      <!-- The max length might be changed in LLPanelLogin.cpp for Opensim! -->
     4.8 +      <!-- The max length might be changed in FSPanelLogin.cpp for Opensim! -->
     4.9        <line_editor
    4.10            follows="left|bottom"
    4.11            height="22"
     5.1 --- a/indra/newview/skins/starlightcui/xui/en/panel_fs_login.xml	Wed Apr 20 17:20:26 2016 +0200
     5.2 +++ b/indra/newview/skins/starlightcui/xui/en/panel_fs_login.xml	Thu Apr 21 10:36:33 2016 +0200
     5.3 @@ -1,14 +1,15 @@
     5.4  <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
     5.5  <panel
     5.6      follows="all"
     5.7 -    height="600"
     5.8 +    height="768"
     5.9      layout="topleft"
    5.10      left="0"
    5.11      name="panel_login"
    5.12 -    focus_root="true"
    5.13 +    focus_root="true" 
    5.14      background_visible="true"
    5.15 -    top="600"
    5.16 -    width="1130">
    5.17 +    bg_opaque_color="0.16 0.16 0.16 1"
    5.18 +    background_opaque="true"
    5.19 +    width="1024">
    5.20    <panel.string
    5.21       name="real_url" translate="false">
    5.22       http://phoenixviewer.com/app/loginV3/
    5.23 @@ -20,20 +21,18 @@
    5.24        name="forgot_password_url">
    5.25      http://secondlife.com/account/request.php
    5.26    </panel.string>
    5.27 -  <!-- *NOTE: Custom resize logic for login_html in llpanellogin.cpp -->
    5.28    <web_browser
    5.29 -      tab_stop="false" 
    5.30 -      trusted_content="true" 
    5.31 +      tab_stop="false"
    5.32 +      trusted_content="true"
    5.33        bg_opaque_color="Black"
    5.34        border_visible="false"
    5.35 -      bottom="600"
    5.36        follows="all"
    5.37        left="0"
    5.38        name="login_html"
    5.39        start_url=""
    5.40 -      top="0"
    5.41 -      height="600"
    5.42 -      width="996"/>
    5.43 +      top="18"
    5.44 +      height="670"
    5.45 +      width="1024" />
    5.46    <layout_stack
    5.47        animate="false"
    5.48        clip="false"
    5.49 @@ -41,8 +40,8 @@
    5.50        name="login_widgets"
    5.51        layout="topleft"
    5.52        orientation="horizontal"
    5.53 -      top="519"
    5.54 -      width="1130"
    5.55 +      top="688"
    5.56 +      width="1024"
    5.57        height="80">
    5.58      <layout_panel
    5.59          auto_resize="false"
    5.60 @@ -116,6 +115,7 @@
    5.61            width="128">
    5.62          Password:
    5.63        </text>
    5.64 +      <!-- The max length might be changed in FSPanelLogin.cpp for Opensim! -->
    5.65        <line_editor
    5.66            follows="left|bottom"
    5.67            height="22"
    5.68 @@ -155,16 +155,16 @@
    5.69            name="start_location_combo"
    5.70            width="165">
    5.71          <combo_box.item
    5.72 -label="Last location"
    5.73 +            label="Last location"
    5.74              name="MyLastLocation"
    5.75              value="last" />
    5.76          <combo_box.item
    5.77 -label="Home"
    5.78 +            label="Home"
    5.79              name="MyHome"
    5.80              value="home" />
    5.81          <combo_box.item
    5.82              label="&lt;Type region name&gt;"
    5.83 -            name="Typeregionname"   value="" />
    5.84 +            name="Typeregionname" value="" />
    5.85        </combo_box>
    5.86      </layout_panel>
    5.87      <layout_panel

mercurial