diff options
| author | Rider Linden <rider@lindenlab.com> | 2015-05-28 12:48:08 -0700 | 
|---|---|---|
| committer | Rider Linden <rider@lindenlab.com> | 2015-05-28 12:48:08 -0700 | 
| commit | 7fb7e93a13356655e0827c083072e67fe1823fd4 (patch) | |
| tree | bd98f37b91da8c65ecc25245792ca181c689eafe | |
| parent | 83543e556cba8753077c9f004bb0dc71b4509007 (diff) | |
Remove the display name floater
| -rwxr-xr-x | indra/newview/CMakeLists.txt | 4 | ||||
| -rwxr-xr-x | indra/newview/llfloaterdisplayname.cpp | 217 | ||||
| -rwxr-xr-x | indra/newview/llfloaterdisplayname.h | 38 | ||||
| -rwxr-xr-x | indra/newview/llpanelme.cpp | 1 | ||||
| -rwxr-xr-x | indra/newview/llviewerdisplayname.cpp | 211 | ||||
| -rwxr-xr-x | indra/newview/llviewerdisplayname.h | 53 | ||||
| -rwxr-xr-x | indra/newview/llviewerfloaterreg.cpp | 2 | 
7 files changed, 0 insertions, 526 deletions
| diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index ada27c0282..3553e3a612 100755 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -231,7 +231,6 @@ set(viewer_SOURCE_FILES      llfloaterconversationpreview.cpp      llfloaterdeleteenvpreset.cpp      llfloaterdestinations.cpp -    llfloaterdisplayname.cpp      llfloatereditdaycycle.cpp      llfloatereditsky.cpp      llfloatereditwater.cpp @@ -612,7 +611,6 @@ set(viewer_SOURCE_FILES      llviewercontrol.cpp      llviewercontrollistener.cpp      llviewerdisplay.cpp -    llviewerdisplayname.cpp      llviewerfloaterreg.cpp      llviewerfoldertype.cpp      llviewergenericmessage.cpp @@ -835,7 +833,6 @@ set(viewer_HEADER_FILES      llfloaterconversationpreview.h      llfloaterdeleteenvpreset.h      llfloaterdestinations.h -    llfloaterdisplayname.h      llfloatereditdaycycle.h      llfloatereditsky.h      llfloatereditwater.h @@ -1209,7 +1206,6 @@ set(viewer_HEADER_FILES      llviewercontrol.h      llviewercontrollistener.h      llviewerdisplay.h -    llviewerdisplayname.h      llviewerfloaterreg.h      llviewerfoldertype.h      llviewergenericmessage.h diff --git a/indra/newview/llfloaterdisplayname.cpp b/indra/newview/llfloaterdisplayname.cpp deleted file mode 100755 index 596e8c0dbe..0000000000 --- a/indra/newview/llfloaterdisplayname.cpp +++ /dev/null @@ -1,217 +0,0 @@ -/**  - * @file llfloaterdisplayname.cpp - * @author Leyla Farazha - * @brief Implementation of the LLFloaterDisplayName class. - * - * $LicenseInfo:firstyear=2002&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - - -#include "llviewerprecompiledheaders.h" -#include "llfloaterreg.h" -#include "llfloater.h" - -#include "llnotificationsutil.h" -#include "llviewerdisplayname.h" - -#include "llnotifications.h" -#include "llfloaterdisplayname.h" -#include "llavatarnamecache.h" - -#include "llagent.h" - - -class LLFloaterDisplayName : public LLFloater -{ -public: -	LLFloaterDisplayName(const LLSD& key); -	virtual ~LLFloaterDisplayName() { } -	/*virtual*/	BOOL	postBuild(); -	void onSave(); -	void onReset(); -	void onCancel(); -	/*virtual*/ void onOpen(const LLSD& key); -	 -private: -	 -	void onCacheSetName(bool success, -										  const std::string& reason, -										  const LLSD& content); -}; - -LLFloaterDisplayName::LLFloaterDisplayName(const LLSD& key) : -	LLFloater(key) -{ -} - -void LLFloaterDisplayName::onOpen(const LLSD& key) -{ -	getChild<LLUICtrl>("display_name_editor")->clear(); -	getChild<LLUICtrl>("display_name_confirm")->clear(); - -	LLAvatarName av_name; -	LLAvatarNameCache::get(gAgent.getID(), &av_name); - -	F64 now_secs = LLDate::now().secondsSinceEpoch(); - -	if (now_secs < av_name.mNextUpdate) -	{ -		// ...can't update until some time in the future -		F64 next_update_local_secs = -			av_name.mNextUpdate - LLStringOps::getLocalTimeOffset(); -		LLDate next_update_local(next_update_local_secs); -		// display as "July 18 12:17 PM" -		std::string next_update_string = -		next_update_local.toHTTPDateString("%B %d %I:%M %p"); -		getChild<LLUICtrl>("lockout_text")->setTextArg("[TIME]", next_update_string); -		getChild<LLUICtrl>("lockout_text")->setVisible(true); -		getChild<LLUICtrl>("save_btn")->setEnabled(false); -		getChild<LLUICtrl>("display_name_editor")->setEnabled(false); -		getChild<LLUICtrl>("display_name_confirm")->setEnabled(false); -		getChild<LLUICtrl>("cancel_btn")->setFocus(TRUE); -		 -	} -	else -	{ -		getChild<LLUICtrl>("lockout_text")->setVisible(false); -		getChild<LLUICtrl>("save_btn")->setEnabled(true); -		getChild<LLUICtrl>("display_name_editor")->setEnabled(true); -		getChild<LLUICtrl>("display_name_confirm")->setEnabled(true); - -	} -} - -BOOL LLFloaterDisplayName::postBuild() -{ -	getChild<LLUICtrl>("reset_btn")->setCommitCallback(boost::bind(&LLFloaterDisplayName::onReset, this));	 -	getChild<LLUICtrl>("cancel_btn")->setCommitCallback(boost::bind(&LLFloaterDisplayName::onCancel, this));	 -	getChild<LLUICtrl>("save_btn")->setCommitCallback(boost::bind(&LLFloaterDisplayName::onSave, this));	 -	 -	center(); - -	return TRUE; -} - -void LLFloaterDisplayName::onCacheSetName(bool success, -										  const std::string& reason, -										  const LLSD& content) -{ -	if (success) -	{ -		// Inform the user that the change took place, but will take a while -		// to percolate. -		LLSD args; -		args["DISPLAY_NAME"] = content["display_name"]; -		LLNotificationsUtil::add("SetDisplayNameSuccess", args); -		return; -	} - -	// Request failed, notify the user -	std::string error_tag = content["error_tag"].asString(); -	LL_INFOS() << "set name failure error_tag " << error_tag << LL_ENDL; - -	// We might have a localized string for this message -	// error_args will usually be empty from the server. -	if (!error_tag.empty() -		&& LLNotifications::getInstance()->templateExists(error_tag)) -	{ -		LLNotificationsUtil::add(error_tag); -		return; -	} - -	// The server error might have a localized message for us -	std::string lang_code = LLUI::getLanguage(); -	LLSD error_desc = content["error_description"]; -	if (error_desc.has( lang_code )) -	{ -		LLSD args; -		args["MESSAGE"] = error_desc[lang_code].asString(); -		LLNotificationsUtil::add("GenericAlert", args); -		return; -	} - -	// No specific error, throw a generic one -	LLNotificationsUtil::add("SetDisplayNameFailedGeneric"); -} - -void LLFloaterDisplayName::onCancel() -{ -	setVisible(false); -} - -void LLFloaterDisplayName::onReset() -{ -	if (LLAvatarNameCache::hasNameLookupURL()) -	{ -		LLViewerDisplayName::set("",boost::bind(&LLFloaterDisplayName::onCacheSetName, this, _1, _2, _3)); -	}	 -	else -	{ -		LLNotificationsUtil::add("SetDisplayNameFailedGeneric"); -	} -	 -	setVisible(false); -} - - -void LLFloaterDisplayName::onSave() -{ -	std::string display_name_utf8 = getChild<LLUICtrl>("display_name_editor")->getValue().asString(); -	std::string display_name_confirm = getChild<LLUICtrl>("display_name_confirm")->getValue().asString(); - -	if (display_name_utf8.compare(display_name_confirm)) -	{ -		LLNotificationsUtil::add("SetDisplayNameMismatch"); -		return; -	} - -	const U32 DISPLAY_NAME_MAX_LENGTH = 31; // characters, not bytes -	LLWString display_name_wstr = utf8string_to_wstring(display_name_utf8); -	if (display_name_wstr.size() > DISPLAY_NAME_MAX_LENGTH) -	{ -		LLSD args; -		args["LENGTH"] = llformat("%d", DISPLAY_NAME_MAX_LENGTH); -		LLNotificationsUtil::add("SetDisplayNameFailedLength", args); -		return; -	} -	 -	if (LLAvatarNameCache::hasNameLookupURL()) -	{ -		LLViewerDisplayName::set(display_name_utf8,boost::bind(&LLFloaterDisplayName::onCacheSetName, this, _1, _2, _3));	 -	} -	else -	{ -		LLNotificationsUtil::add("SetDisplayNameFailedGeneric"); -	} - -	setVisible(false); -} - - -////////////////////////////////////////////////////////////////////////////// -// LLInspectObjectUtil -////////////////////////////////////////////////////////////////////////////// -void LLFloaterDisplayNameUtil::registerFloater() -{ -	LLFloaterReg::add("display_name", "floater_display_name.xml", -					  &LLFloaterReg::build<LLFloaterDisplayName>); -} diff --git a/indra/newview/llfloaterdisplayname.h b/indra/newview/llfloaterdisplayname.h deleted file mode 100755 index a00bf56712..0000000000 --- a/indra/newview/llfloaterdisplayname.h +++ /dev/null @@ -1,38 +0,0 @@ -/**  - * @file llfloaterdisplayname.h - * - * $LicenseInfo:firstyear=2009&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#ifndef LLFLOATERDISPLAYNAME_H -#define LLFLOATERDISPLAYNAME_H - - -namespace LLFloaterDisplayNameUtil -{ -	// Register with LLFloaterReg -	void registerFloater(); -} - - - -#endif diff --git a/indra/newview/llpanelme.cpp b/indra/newview/llpanelme.cpp index cedd3025fc..55e4ffff5e 100755 --- a/indra/newview/llpanelme.cpp +++ b/indra/newview/llpanelme.cpp @@ -37,7 +37,6 @@  #include "llfloaterreg.h"  #include "llhints.h"  #include "llviewercontrol.h" -#include "llviewerdisplayname.h"  // Linden libraries  #include "llavatarnamecache.h"		// IDEVO diff --git a/indra/newview/llviewerdisplayname.cpp b/indra/newview/llviewerdisplayname.cpp deleted file mode 100755 index e390e8776d..0000000000 --- a/indra/newview/llviewerdisplayname.cpp +++ /dev/null @@ -1,211 +0,0 @@ -/**  - * @file llviewerdisplayname.cpp - * @brief Wrapper for display name functionality - * - * $LicenseInfo:firstyear=2010&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#include "llviewerprecompiledheaders.h" - -#include "llviewerdisplayname.h" - -// viewer includes -#include "llagent.h" -#include "llviewerregion.h" -#include "llvoavatar.h" - -// library includes -#include "llavatarnamecache.h" -#include "llhttpclient.h" -#include "llhttpnode.h" -#include "llnotificationsutil.h" -#include "llui.h"					// getLanguage() - -namespace LLViewerDisplayName -{ -	// Fired when viewer receives server response to display name change -	set_name_signal_t sSetDisplayNameSignal; - -	// Fired when there is a change in the agent's name -	name_changed_signal_t sNameChangedSignal; - -	void addNameChangedCallback(const name_changed_signal_t::slot_type& cb)  -	{  -		sNameChangedSignal.connect(cb);  -	} - -	void doNothing() { } -} - -class LLSetDisplayNameResponder : public LLHTTPClient::Responder -{ -	LOG_CLASS(LLSetDisplayNameResponder); -private: -	// only care about errors -	/*virtual*/ void httpFailure() -	{ -		LL_WARNS() << dumpResponse() << LL_ENDL; -		LLViewerDisplayName::sSetDisplayNameSignal(false, "", LLSD()); -		LLViewerDisplayName::sSetDisplayNameSignal.disconnect_all_slots(); -	} -}; - -void LLViewerDisplayName::set(const std::string& display_name, const set_name_slot_t& slot) -{ -	// TODO: simple validation here - -	LLViewerRegion* region = gAgent.getRegion(); -	llassert(region); -	std::string cap_url = region->getCapability("SetDisplayName"); -	if (cap_url.empty()) -	{ -		// this server does not support display names, report error -		slot(false, "unsupported", LLSD()); -		return; -	} - -	// People API can return localized error messages.  Indicate our -	// language preference via header. -	LLSD headers; -	headers[HTTP_OUT_HEADER_ACCEPT_LANGUAGE] = LLUI::getLanguage(); - -	// People API requires both the old and new value to change a variable. -	// Our display name will be in cache before the viewer's UI is available -	// to request a change, so we can use direct lookup without callback. -	LLAvatarName av_name; -	if (!LLAvatarNameCache::get( gAgent.getID(), &av_name)) -	{ -		slot(false, "name unavailable", LLSD()); -		return; -	} - -	// People API expects array of [ "old value", "new value" ] -	LLSD change_array = LLSD::emptyArray(); -	change_array.append(av_name.getDisplayName()); -	change_array.append(display_name); -	 -	LL_INFOS() << "Set name POST to " << cap_url << LL_ENDL; - -	// Record our caller for when the server sends back a reply -	sSetDisplayNameSignal.connect(slot); -	 -	// POST the requested change.  The sim will not send a response back to -	// this request directly, rather it will send a separate message after it -	// communicates with the back-end. -	LLSD body; -	body["display_name"] = change_array; -	LLHTTPClient::post(cap_url, body, new LLSetDisplayNameResponder, headers); -} - -class LLSetDisplayNameReply : public LLHTTPNode -{ -	LOG_CLASS(LLSetDisplayNameReply); -public: -	/*virtual*/ void post( -		LLHTTPNode::ResponsePtr response, -		const LLSD& context, -		const LLSD& input) const -	{ -		LLSD body = input["body"]; - -		S32 status = body["status"].asInteger(); -		bool success = (status == HTTP_OK); -		std::string reason = body["reason"].asString(); -		LLSD content = body["content"]; - -		LL_INFOS() << "status " << status << " reason " << reason << LL_ENDL; - -		// If viewer's concept of display name is out-of-date, the set request -		// will fail with 409 Conflict.  If that happens, fetch up-to-date -		// name information. -		if (status == HTTP_CONFLICT) -		{ -			LLUUID agent_id = gAgent.getID(); -			// Flush stale data -			LLAvatarNameCache::erase( agent_id ); -			// Queue request for new data: nothing to do on callback though... -			// Note: no need to disconnect the callback as it never gets out of scope -			LLAvatarNameCache::get(agent_id, boost::bind(&LLViewerDisplayName::doNothing)); -			// Kill name tag, as it is wrong -			LLVOAvatar::invalidateNameTag( agent_id ); -		} - -		// inform caller of result -		LLViewerDisplayName::sSetDisplayNameSignal(success, reason, content); -		LLViewerDisplayName::sSetDisplayNameSignal.disconnect_all_slots(); -	} -}; - - -class LLDisplayNameUpdate : public LLHTTPNode -{ -	/*virtual*/ void post( -		LLHTTPNode::ResponsePtr response, -		const LLSD& context, -		const LLSD& input) const -	{ -		LLSD body = input["body"]; -		LLUUID agent_id = body["agent_id"]; -		std::string old_display_name = body["old_display_name"]; -		// By convention this record is called "agent" in the People API -		LLSD name_data = body["agent"]; - -		// Inject the new name data into cache -		LLAvatarName av_name; -		av_name.fromLLSD( name_data ); - -		LL_INFOS() << "name-update now " << LLDate::now() -			<< " next_update " << LLDate(av_name.mNextUpdate) -			<< LL_ENDL; - -		// Name expiration time may be provided in headers, or we may use a -		// default value -		// *TODO: get actual headers out of ResponsePtr -		//LLSD headers = response->mHeaders; -		LLSD headers; -		av_name.mExpires =  -			LLAvatarNameCache::nameExpirationFromHeaders(headers); - -		LLAvatarNameCache::insert(agent_id, av_name); - -		// force name tag to update -		LLVOAvatar::invalidateNameTag(agent_id); - -		LLSD args; -		args["OLD_NAME"] = old_display_name; -		args["SLID"] = av_name.getUserName(); -		args["NEW_NAME"] = av_name.getDisplayName(); -		LLNotificationsUtil::add("DisplayNameUpdate", args); -		if (agent_id == gAgent.getID()) -		{ -			LLViewerDisplayName::sNameChangedSignal(); -		} -	} -}; - -LLHTTPRegistration<LLSetDisplayNameReply> -    gHTTPRegistrationMessageSetDisplayNameReply( -		"/message/SetDisplayNameReply"); - -LLHTTPRegistration<LLDisplayNameUpdate> -    gHTTPRegistrationMessageDisplayNameUpdate( -		"/message/DisplayNameUpdate"); diff --git a/indra/newview/llviewerdisplayname.h b/indra/newview/llviewerdisplayname.h deleted file mode 100755 index 16d59ae43b..0000000000 --- a/indra/newview/llviewerdisplayname.h +++ /dev/null @@ -1,53 +0,0 @@ -/**  - * @file llviewerdisplayname.h - * @brief Wrapper for display name functionality - * - * $LicenseInfo:firstyear=2010&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - *  - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - *  - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - *  - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - *  - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#ifndef LLVIEWERDISPLAYNAME_H -#define LLVIEWERDISPLAYNAME_H - -#include <boost/signals2.hpp> - -class LLSD; -class LLUUID; - -namespace LLViewerDisplayName -{ -	typedef boost::signals2::signal< -		void (bool success, const std::string& reason, const LLSD& content)> -			set_name_signal_t; -	typedef set_name_signal_t::slot_type set_name_slot_t; -	 -	typedef boost::signals2::signal<void (void)> name_changed_signal_t; -	typedef name_changed_signal_t::slot_type name_changed_slot_t; - -	// Sends an update to the server to change a display name -	// and call back when done.  May not succeed due to service -	// unavailable or name not available. -	void set(const std::string& display_name, const set_name_slot_t& slot);  -	 -	void addNameChangedCallback(const name_changed_signal_t::slot_type& cb); -} - -#endif // LLVIEWERDISPLAYNAME_H diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index fc18b20758..55d69528a8 100755 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -56,7 +56,6 @@  #include "llfloaterconversationpreview.h"  #include "llfloaterdeleteenvpreset.h"  #include "llfloaterdestinations.h" -#include "llfloaterdisplayname.h"  #include "llfloatereditdaycycle.h"  #include "llfloatereditsky.h"  #include "llfloatereditwater.h" @@ -238,7 +237,6 @@ void LLViewerFloaterReg::registerFloaters()  	LLInspectRemoteObjectUtil::registerFloater();  	LLFloaterVoiceVolumeUtil::registerFloater();  	LLNotificationsUI::registerFloater(); -	LLFloaterDisplayNameUtil::registerFloater();  	LLFloaterReg::add("lagmeter", "floater_lagmeter.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLagMeter>);  	LLFloaterReg::add("land_holdings", "floater_land_holdings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLandHoldings>); | 
