diff options
| author | maxim_productengine <mnikolenko@productengine.com> | 2018-05-21 18:41:33 +0300 | 
|---|---|---|
| committer | maxim_productengine <mnikolenko@productengine.com> | 2018-05-21 18:41:33 +0300 | 
| commit | 126f9c3e1a96ed6664048dba7a39bdad14148664 (patch) | |
| tree | b8bc1c8b971cd89ea1ac1e7c8755b47e5d74e426 | |
| parent | 0bd55476ac1807b7ae343b3b33c8b7b3168656ba (diff) | |
SL-857 Remove "Create Auction" functionality from viewer
| -rw-r--r-- | indra/newview/CMakeLists.txt | 2 | ||||
| -rw-r--r-- | indra/newview/llfloaterauction.cpp | 552 | ||||
| -rw-r--r-- | indra/newview/llfloaterauction.h | 86 | ||||
| -rw-r--r-- | indra/newview/llfloaterland.cpp | 25 | ||||
| -rw-r--r-- | indra/newview/llviewerfloaterreg.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_about_land.xml | 2 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/floater_auction.xml | 96 | 
7 files changed, 4 insertions, 761 deletions
| diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt index 23337ddbfb..923def7820 100644 --- a/indra/newview/CMakeLists.txt +++ b/indra/newview/CMakeLists.txt @@ -201,7 +201,6 @@ set(viewer_SOURCE_FILES      llflickrconnect.cpp      llfloaterabout.cpp      llfloaterbvhpreview.cpp -    llfloaterauction.cpp      llfloaterautoreplacesettings.cpp      llfloateravatar.cpp      llfloateravatarpicker.cpp @@ -822,7 +821,6 @@ set(viewer_HEADER_FILES      llflickrconnect.h      llfloaterabout.h      llfloaterbvhpreview.h -    llfloaterauction.h      llfloaterautoreplacesettings.h      llfloateravatar.h      llfloateravatarpicker.h diff --git a/indra/newview/llfloaterauction.cpp b/indra/newview/llfloaterauction.cpp deleted file mode 100644 index 56619e818a..0000000000 --- a/indra/newview/llfloaterauction.cpp +++ /dev/null @@ -1,552 +0,0 @@ -/**  - * @file llfloaterauction.cpp - * @author James Cook, Ian Wilkes - * @brief Implementation of the auction floater. - * - * $LicenseInfo:firstyear=2004&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 "llfloaterauction.h" - -#include "llgl.h" -#include "llimagej2c.h" -#include "llimagetga.h" -#include "llparcel.h" -#include "llvfile.h" -#include "llvfs.h" -#include "llwindow.h" -#include "message.h" - -#include "llagent.h" -#include "llassetstorage.h" -#include "llcombobox.h" -#include "llestateinfomodel.h" -#include "llmimetypes.h" -#include "llnotifications.h" -#include "llnotificationsutil.h" -#include "llsavedsettingsglue.h" -#include "llviewertexturelist.h" -#include "llviewerparcelmgr.h" -#include "llviewerregion.h" -#include "lluictrlfactory.h" -#include "llviewerwindow.h" -#include "llviewerdisplay.h" -#include "llviewercontrol.h" -#include "llui.h" -#include "llrender.h" -#include "llsdutil.h" -#include "llsdutil_math.h" -#include "lltrans.h" -#include "llcorehttputil.h" - -///---------------------------------------------------------------------------- -/// Local function declarations, constants, enums, and typedefs -///---------------------------------------------------------------------------- - -void auction_j2c_upload_done(const LLUUID& asset_id, -							   void* user_data, S32 status, LLExtStat ext_status); -void auction_tga_upload_done(const LLUUID& asset_id, -							   void* user_data, S32 status, LLExtStat ext_status); - -///---------------------------------------------------------------------------- -/// Class llfloaterauction -///---------------------------------------------------------------------------- - -// Default constructor -LLFloaterAuction::LLFloaterAuction(const LLSD& key) -  : LLFloater(key), -	mParcelID(-1) -{ -	mCommitCallbackRegistrar.add("ClickSnapshot",	boost::bind(&LLFloaterAuction::onClickSnapshot, this)); -	mCommitCallbackRegistrar.add("ClickSellToAnyone",		boost::bind(&LLFloaterAuction::onClickSellToAnyone, this)); -	mCommitCallbackRegistrar.add("ClickStartAuction",		boost::bind(&LLFloaterAuction::onClickStartAuction, this)); -	mCommitCallbackRegistrar.add("ClickResetParcel",		boost::bind(&LLFloaterAuction::onClickResetParcel, this)); -} - -// Destroys the object -LLFloaterAuction::~LLFloaterAuction() -{ -} - -BOOL LLFloaterAuction::postBuild() -{ -	return TRUE; -} - -void LLFloaterAuction::onOpen(const LLSD& key) -{ -	initialize(); -} - -void LLFloaterAuction::initialize() -{ -	mParcelUpdateCapUrl.clear(); - -	mParcelp = LLViewerParcelMgr::getInstance()->getParcelSelection(); -	LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion(); -	LLParcel* parcelp = mParcelp->getParcel(); -	if(parcelp && region && !parcelp->getForSale()) -	{ -		mParcelHost = region->getHost(); -		mParcelID = parcelp->getLocalID(); -		mParcelUpdateCapUrl = region->getCapability("ParcelPropertiesUpdate"); - -		getChild<LLUICtrl>("parcel_text")->setValue(parcelp->getName()); -		getChildView("snapshot_btn")->setEnabled(TRUE); -		getChildView("reset_parcel_btn")->setEnabled(TRUE); -		getChildView("start_auction_btn")->setEnabled(TRUE); - -		U32 estate_id = LLEstateInfoModel::instance().getID(); -		// Only enable "Sell to Anyone" on Teen grid or if we don't know the ID yet -		getChildView("sell_to_anyone_btn")->setEnabled(estate_id == ESTATE_TEEN || estate_id == 0); -	} -	else -	{ -		mParcelHost.invalidate(); -		if(parcelp && parcelp->getForSale()) -		{ -			getChild<LLUICtrl>("parcel_text")->setValue(getString("already for sale")); -		} -		else -		{ -			getChild<LLUICtrl>("parcel_text")->setValue(LLStringUtil::null); -		} -		mParcelID = -1; -		getChildView("snapshot_btn")->setEnabled(false); -		getChildView("reset_parcel_btn")->setEnabled(false); -		getChildView("sell_to_anyone_btn")->setEnabled(false); -		getChildView("start_auction_btn")->setEnabled(false); -	} - -	mImageID.setNull(); -	mImage = NULL; -} - -void LLFloaterAuction::draw() -{ -	LLFloater::draw(); - -	if(!isMinimized() && mImage.notNull())  -	{ -		LLView* snapshot_icon = findChildView("snapshot_icon"); -		if (snapshot_icon) -		{ -			LLRect rect = snapshot_icon->getRect(); -			{ -				gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); -				gl_rect_2d(rect, LLColor4(0.f, 0.f, 0.f, 1.f)); -				rect.stretch(-1); -			} -			{ -				LLGLSUIDefault gls_ui; -				gGL.color3f(1.f, 1.f, 1.f); -				gl_draw_scaled_image(rect.mLeft, -									 rect.mBottom, -									 rect.getWidth(), -									 rect.getHeight(), -									 mImage); -			} -		} -	} -} - - -// static -void LLFloaterAuction::onClickSnapshot(void* data) -{ -	LLFloaterAuction* self = (LLFloaterAuction*)(data); - -	LLPointer<LLImageRaw> raw = new LLImageRaw; - -	gForceRenderLandFence = self->getChild<LLUICtrl>("fence_check")->getValue().asBoolean(); -	BOOL success = gViewerWindow->rawSnapshot(raw, -											  gViewerWindow->getWindowWidthScaled(), -											  gViewerWindow->getWindowHeightScaled(), -											  TRUE, FALSE, -											  FALSE, FALSE); -	gForceRenderLandFence = FALSE; - -	if (success) -	{ -		self->mTransactionID.generate(); -		self->mImageID = self->mTransactionID.makeAssetID(gAgent.getSecureSessionID()); - -		if(!gSavedSettings.getBOOL("QuietSnapshotsToDisk")) -		{ -			gViewerWindow->playSnapshotAnimAndSound(); -		} -		LL_INFOS() << "Writing TGA..." << LL_ENDL; - -		LLPointer<LLImageTGA> tga = new LLImageTGA; -		tga->encode(raw); -		LLVFile::writeFile(tga->getData(), tga->getDataSize(), gVFS, self->mImageID, LLAssetType::AT_IMAGE_TGA); -		 -		raw->biasedScaleToPowerOfTwo(LLViewerTexture::MAX_IMAGE_SIZE_DEFAULT); - -		LL_INFOS() << "Writing J2C..." << LL_ENDL; - -		LLPointer<LLImageJ2C> j2c = new LLImageJ2C; -		j2c->encode(raw, 0.0f); -		LLVFile::writeFile(j2c->getData(), j2c->getDataSize(), gVFS, self->mImageID, LLAssetType::AT_TEXTURE); - -		self->mImage = LLViewerTextureManager::getLocalTexture((LLImageRaw*)raw, FALSE); -		gGL.getTexUnit(0)->bind(self->mImage); -		self->mImage->setAddressMode(LLTexUnit::TAM_CLAMP); -	} -	else -	{ -		LL_WARNS() << "Unable to take snapshot" << LL_ENDL; -	} -} - -// static -void LLFloaterAuction::onClickStartAuction(void* data) -{ -	LLFloaterAuction* self = (LLFloaterAuction*)(data); - -	if(self->mImageID.notNull()) -	{ -		LLSD parcel_name = self->getChild<LLUICtrl>("parcel_text")->getValue(); - -	// create the asset -		std::string* name = new std::string(parcel_name.asString()); -		gAssetStorage->storeAssetData(self->mTransactionID, LLAssetType::AT_IMAGE_TGA, -									&auction_tga_upload_done, -									(void*)name, -									FALSE); -		self->getWindow()->incBusyCount(); - -		std::string* j2c_name = new std::string(parcel_name.asString()); -		gAssetStorage->storeAssetData(self->mTransactionID, LLAssetType::AT_TEXTURE, -								   &auction_j2c_upload_done, -								   (void*)j2c_name, -								   FALSE); -		self->getWindow()->incBusyCount(); - -		LLNotificationsUtil::add("UploadingAuctionSnapshot"); - -	} -	LLMessageSystem* msg = gMessageSystem; - -	msg->newMessage("ViewerStartAuction"); - -	msg->nextBlock("AgentData"); -	msg->addUUID("AgentID", gAgent.getID()); -	msg->addUUID("SessionID", gAgent.getSessionID()); -	msg->nextBlock("ParcelData"); -	msg->addS32("LocalID", self->mParcelID); -	msg->addUUID("SnapshotID", self->mImageID); -	msg->sendReliable(self->mParcelHost); - -	// clean up floater, and get out -	self->cleanupAndClose(); -} - - -void LLFloaterAuction::cleanupAndClose() -{ -	mImageID.setNull(); -	mImage = NULL; -	mParcelID = -1; -	mParcelHost.invalidate(); -	closeFloater(); -} - - - -// static glue -void LLFloaterAuction::onClickResetParcel(void* data) -{ -	LLFloaterAuction* self = (LLFloaterAuction*)(data); -	if (self) -	{ -		self->doResetParcel(); -	} -} - - -// Reset all the values for the parcel in preparation for a sale -void LLFloaterAuction::doResetParcel() -{ -	LLParcel* parcelp = mParcelp->getParcel(); -	LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion(); - -	if (parcelp -		&& region -		&& !mParcelUpdateCapUrl.empty()) -	{ -		LLSD body; -		std::string empty; - -		// request new properties update from simulator -		U32 message_flags = 0x01; -		body["flags"] = ll_sd_from_U32(message_flags); - -		// Set all the default parcel properties for auction -		body["local_id"] = parcelp->getLocalID(); - -		U32 parcel_flags = PF_ALLOW_LANDMARK | -						   PF_ALLOW_FLY	| -						   PF_CREATE_GROUP_OBJECTS | -						   PF_ALLOW_ALL_OBJECT_ENTRY | -						   PF_ALLOW_GROUP_OBJECT_ENTRY | -						   PF_ALLOW_GROUP_SCRIPTS | -						   PF_RESTRICT_PUSHOBJECT | -						   PF_SOUND_LOCAL | -						   PF_ALLOW_VOICE_CHAT | -						   PF_USE_ESTATE_VOICE_CHAN; - -		body["parcel_flags"] = ll_sd_from_U32(parcel_flags); -		 -		// Build a parcel name like "Ahern (128,128) PG 4032m" -		std::ostringstream parcel_name; -		LLVector3 center_point( parcelp->getCenterpoint() ); -		center_point.snap(0);		// Get rid of fractions -		parcel_name << region->getName()  -					<< " (" -					<< (S32) center_point.mV[VX] -					<< "," -					<< (S32) center_point.mV[VY]						 -					<< ") " -					<< region->getSimAccessString() -					<< " " -					<< parcelp->getArea() -					<< "m"; - -		std::string new_name(parcel_name.str().c_str()); -		body["name"] = new_name; -		getChild<LLUICtrl>("parcel_text")->setValue(new_name);	// Set name in dialog as well, since it won't get updated otherwise - -		body["sale_price"] = (S32) 0; -		body["description"] = empty; -		body["music_url"] = empty; -		body["media_url"] = empty; -		body["media_desc"] = empty; -		body["media_type"] = LLMIMETypes::getDefaultMimeType(); -		body["media_width"] = (S32) 0; -		body["media_height"] = (S32) 0; -		body["auto_scale"] = (S32) 0; -		body["media_loop"] = (S32) 0; -		body["obscure_media"] = (S32) 0; // OBSOLETE - no longer used -		body["obscure_music"] = (S32) 0; // OBSOLETE - no longer used -		body["media_id"] = LLUUID::null; -		body["group_id"] = MAINTENANCE_GROUP_ID;	// Use maintenance group -		body["pass_price"] = (S32) 10;		// Defaults to $10 -		body["pass_hours"] = 0.0f; -		body["category"] = (U8) LLParcel::C_NONE; -		body["auth_buyer_id"] = LLUUID::null; -		body["snapshot_id"] = LLUUID::null; -		body["user_location"] = ll_sd_from_vector3( LLVector3::zero ); -		body["user_look_at"] = ll_sd_from_vector3( LLVector3::zero ); -		body["landing_type"] = (U8) LLParcel::L_DIRECT; - -		LL_INFOS() << "Sending parcel update to reset for auction via capability to: " -			<< mParcelUpdateCapUrl << LL_ENDL; - -        LLCoreHttpUtil::HttpCoroutineAdapter::messageHttpPost(mParcelUpdateCapUrl, body, -            "Parcel reset for auction", -            "Parcel not set for auction."); - -		// Send a message to clear the object return time -		LLMessageSystem *msg = gMessageSystem; -		msg->newMessageFast(_PREHASH_ParcelSetOtherCleanTime); -		msg->nextBlockFast(_PREHASH_AgentData); -		msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID()); -		msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID()); -		msg->nextBlockFast(_PREHASH_ParcelData); -		msg->addS32Fast(_PREHASH_LocalID, parcelp->getLocalID()); -		msg->addS32Fast(_PREHASH_OtherCleanTime, 5);			// 5 minute object auto-return - -		msg->sendReliable(region->getHost()); - -		// Clear the access lists -		clearParcelAccessList(parcelp, region, AL_ACCESS); -		clearParcelAccessList(parcelp, region, AL_BAN); -		clearParcelAccessList(parcelp, region, AL_ALLOW_EXPERIENCE); -		clearParcelAccessList(parcelp, region, AL_BLOCK_EXPERIENCE); -	} -} - - - -void LLFloaterAuction::clearParcelAccessList(LLParcel* parcel, LLViewerRegion* region, U32 list) -{ -	if (!region || !parcel) return; - -	LLUUID transactionUUID; -	transactionUUID.generate(); - -	LLMessageSystem* msg = gMessageSystem; - -	msg->newMessageFast(_PREHASH_ParcelAccessListUpdate); -	msg->nextBlockFast(_PREHASH_AgentData); -	msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID() ); -	msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID() ); -	msg->nextBlockFast(_PREHASH_Data); -	msg->addU32Fast(_PREHASH_Flags, list); -	msg->addS32(_PREHASH_LocalID, parcel->getLocalID() ); -	msg->addUUIDFast(_PREHASH_TransactionID, transactionUUID); -	msg->addS32Fast(_PREHASH_SequenceID, 1);			// sequence_id -	msg->addS32Fast(_PREHASH_Sections, 0);				// num_sections - -	// pack an empty block since there will be no data -	msg->nextBlockFast(_PREHASH_List); -	msg->addUUIDFast(_PREHASH_ID,  LLUUID::null ); -	msg->addS32Fast(_PREHASH_Time, 0 ); -	msg->addU32Fast(_PREHASH_Flags,	0 ); - -	msg->sendReliable( region->getHost() ); -} - - - -// static - 'Sell to Anyone' clicked, throw up a confirmation dialog -void LLFloaterAuction::onClickSellToAnyone(void* data) -{ -	LLFloaterAuction* self = (LLFloaterAuction*)(data); -	if (self) -	{ -		LLParcel* parcelp = self->mParcelp->getParcel(); - -		// Do a confirmation -		S32 sale_price = parcelp->getArea();	// Selling for L$1 per meter -		S32 area = parcelp->getArea(); - -		LLSD args; -		args["LAND_SIZE"] = llformat("%d", area); -		args["SALE_PRICE"] = llformat("%d", sale_price); -		args["NAME"] = LLTrans::getString("Anyone"); - -		LLNotification::Params params("ConfirmLandSaleChange");	// Re-use existing dialog -		params.substitutions(args) -			.functor.function(boost::bind(&LLFloaterAuction::onSellToAnyoneConfirmed, self, _1, _2)); - -		params.name("ConfirmLandSaleToAnyoneChange"); -		 -		// ask away -		LLNotifications::instance().add(params); -	} -} - - -// Sell confirmation clicked -bool LLFloaterAuction::onSellToAnyoneConfirmed(const LLSD& notification, const LLSD& response)	 -{ -	S32 option = LLNotificationsUtil::getSelectedOption(notification, response); -	if (option == 0) -	{ -		doSellToAnyone(); -	} - -	return false; -} - - - -// Reset all the values for the parcel in preparation for a sale -void LLFloaterAuction::doSellToAnyone() -{ -	LLParcel* parcelp = mParcelp->getParcel(); -	LLViewerRegion* region = LLViewerParcelMgr::getInstance()->getSelectionRegion(); - -	if (parcelp -		&& region -		&& !mParcelUpdateCapUrl.empty()) -	{ -		LLSD body; -		std::string empty; - -		// request new properties update from simulator -		U32 message_flags = 0x01; -		body["flags"] = ll_sd_from_U32(message_flags); - -		// Set all the default parcel properties for auction -		body["local_id"] = parcelp->getLocalID(); - -		// Set 'for sale' flag -		U32 parcel_flags = parcelp->getParcelFlags() | PF_FOR_SALE; -		// Ensure objects not included -		parcel_flags &= ~PF_FOR_SALE_OBJECTS; -		body["parcel_flags"] = ll_sd_from_U32(parcel_flags); -		 -		body["sale_price"] = parcelp->getArea();	// Sell for L$1 per square meter -		body["auth_buyer_id"] = LLUUID::null;		// To anyone - -		LL_INFOS() << "Sending parcel update to sell to anyone for L$1 via capability to: " -			<< mParcelUpdateCapUrl << LL_ENDL; - -        LLCoreHttpUtil::HttpCoroutineAdapter::messageHttpPost(mParcelUpdateCapUrl, body, -            "Parcel set as sell to everyone.", -            "Parcel sell to everyone failed."); - -		// clean up floater, and get out -		cleanupAndClose(); -	} -} - - -///---------------------------------------------------------------------------- -/// Local function definitions -///---------------------------------------------------------------------------- - -void auction_tga_upload_done(const LLUUID& asset_id, void* user_data, S32 status, LLExtStat ext_status) // StoreAssetData callback (fixed) -{ -	std::string* name = (std::string*)(user_data); -	LL_INFOS() << "Upload of asset '" << *name << "' " << asset_id -			<< " returned " << status << LL_ENDL; -	delete name; - -	gViewerWindow->getWindow()->decBusyCount(); - -	if (0 == status) -	{ -		LLNotificationsUtil::add("UploadWebSnapshotDone"); -	} -	else -	{ -		LLSD args; -		args["REASON"] = std::string(LLAssetStorage::getErrorString(status)); -		LLNotificationsUtil::add("UploadAuctionSnapshotFail", args); -	} -} - -void auction_j2c_upload_done(const LLUUID& asset_id, void* user_data, S32 status, LLExtStat ext_status) // StoreAssetData callback (fixed) -{ -	std::string* name = (std::string*)(user_data); -	LL_INFOS() << "Upload of asset '" << *name << "' " << asset_id -			<< " returned " << status << LL_ENDL; -	delete name; - -	gViewerWindow->getWindow()->decBusyCount(); - -	if (0 == status) -	{ -		LLNotificationsUtil::add("UploadSnapshotDone"); -	} -	else -	{ -		LLSD args; -		args["REASON"] = std::string(LLAssetStorage::getErrorString(status)); -		LLNotificationsUtil::add("UploadAuctionSnapshotFail", args); -	} -} diff --git a/indra/newview/llfloaterauction.h b/indra/newview/llfloaterauction.h deleted file mode 100644 index c83a11ba8b..0000000000 --- a/indra/newview/llfloaterauction.h +++ /dev/null @@ -1,86 +0,0 @@ -/**  - * @file llfloaterauction.h - * @author James Cook, Ian Wilkes - * @brief llfloaterauction class header file - * - * $LicenseInfo:firstyear=2004&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 LL_LLFLOATERAUCTION_H -#define LL_LLFLOATERAUCTION_H - -#include "llfloater.h" -#include "lluuid.h" -#include "llpointer.h" -#include "llviewertexture.h" - -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Class LLFloaterAuction -// -// Class which holds the functionality to start auctions. -//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -class LLParcelSelection; -class LLParcel; -class LLViewerRegion; - -class LLFloaterAuction : public LLFloater -{ -	friend class LLFloaterReg; -public: -	// LLFloater interface -	/*virtual*/ void onOpen(const LLSD& key); -	/*virtual*/ void draw(); - -private: -	 -	LLFloaterAuction(const LLSD& key); -	~LLFloaterAuction(); -	 -	void initialize(); - -	static void onClickSnapshot(void* data); -	static void onClickResetParcel(void* data); -	static void onClickSellToAnyone(void* data);		// Sell to anyone clicked -	bool onSellToAnyoneConfirmed(const LLSD& notification, const LLSD& response);	// Sell confirmation clicked -	static void onClickStartAuction(void* data); - -	/*virtual*/ BOOL postBuild(); - -	void doResetParcel(); -	void doSellToAnyone(); -	void clearParcelAccessList( LLParcel* parcel, LLViewerRegion* region, U32 list); -	void cleanupAndClose(); - -private: - -	LLTransactionID mTransactionID; -	LLAssetID mImageID; -	LLPointer<LLViewerTexture> mImage; -	LLSafeHandle<LLParcelSelection> mParcelp; -	S32 mParcelID; -	LLHost mParcelHost; - -	std::string mParcelUpdateCapUrl;	// "ParcelPropertiesUpdate" capability -}; - - -#endif // LL_LLFLOATERAUCTION_H diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp index 88b3fb7b96..596b04c31c 100644 --- a/indra/newview/llfloaterland.cpp +++ b/indra/newview/llfloaterland.cpp @@ -45,7 +45,6 @@  #include "llcombobox.h"  #include "llfloaterreg.h"  #include "llfloateravatarpicker.h" -#include "llfloaterauction.h"  #include "llfloatergroups.h"  #include "llfloaterscriptlimits.h"  #include "llavataractions.h" @@ -79,6 +78,7 @@  #include "llpanelexperiencelisteditor.h"  #include "llpanelexperiencepicker.h"  #include "llexperiencecache.h" +#include "llweb.h"  #include "llgroupactions.h" @@ -542,7 +542,6 @@ void LLPanelLandGeneral::refresh()  	mBtnDeedToGroup->setEnabled(FALSE);  	mBtnSetGroup->setEnabled(FALSE); -	mBtnStartAuction->setEnabled(FALSE);  	mCheckDeedToGroup	->set(FALSE);  	mCheckDeedToGroup	->setEnabled(FALSE); @@ -640,7 +639,6 @@ void LLPanelLandGeneral::refresh()  			mTextClaimDate->setEnabled(FALSE);  			mTextGroup->setText(getString("none_text"));  			mTextGroup->setEnabled(FALSE); -			mBtnStartAuction->setEnabled(FALSE);  		}  		else  		{ @@ -692,11 +690,6 @@ void LLPanelLandGeneral::refresh()  			LLStringUtil::format (claim_date_str, substitution);  			mTextClaimDate->setText(claim_date_str);  			mTextClaimDate->setEnabled(is_leased); - -			BOOL enable_auction = (gAgent.getGodLevel() >= GOD_LIAISON) -								  && (owner_id == GOVERNOR_LINDEN_ID) -								  && (parcel->getAuctionID() == 0); -			mBtnStartAuction->setEnabled(enable_auction);  		}  		// Display options @@ -1024,20 +1017,8 @@ void LLPanelLandGeneral::onClickBuyPass(void* data)  // static  void LLPanelLandGeneral::onClickStartAuction(void* data)  { -	LLPanelLandGeneral* panelp = (LLPanelLandGeneral*)data; -	LLParcel* parcelp = panelp->mParcel->getParcel(); -	if(parcelp) -	{ -		if(parcelp->getForSale()) -		{ -			LLNotificationsUtil::add("CannotStartAuctionAlreadyForSale"); -		} -		else -		{ -			//LLFloaterAuction::showInstance(); -			LLFloaterReg::showInstance("auction"); -		} -	} +	std::string auction_url = "https://places.[GRID]/auctions/"; +	LLWeb::loadURLExternal(LLWeb::expandURLSubstitutions(auction_url, LLSD()));  }  // static diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 0ebacddd9b..55317bdaf5 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -34,7 +34,6 @@  #include "llcompilequeue.h"  #include "llfasttimerview.h"  #include "llfloaterabout.h" -#include "llfloaterauction.h"  #include "llfloaterautoreplacesettings.h"  #include "llfloateravatar.h"  #include "llfloateravatarpicker.h" @@ -194,7 +193,6 @@ void LLViewerFloaterReg::registerFloaters()  	LLFloaterReg::add("about_land", "floater_about_land.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterLand>);  	LLFloaterReg::add("appearance", "floater_my_appearance.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterSidePanelContainer>);  	LLFloaterReg::add("associate_listing", "floater_associate_listing.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAssociateListing>); -	LLFloaterReg::add("auction", "floater_auction.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAuction>);  	LLFloaterReg::add("avatar", "floater_avatar.xml",  (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatar>);  	LLFloaterReg::add("avatar_picker", "floater_avatar_picker.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarPicker>);  	LLFloaterReg::add("avatar_render_settings", "floater_avatar_render_settings.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterAvatarRenderSettings>); diff --git a/indra/newview/skins/default/xui/en/floater_about_land.xml b/indra/newview/skins/default/xui/en/floater_about_land.xml index 535af317d9..cf843a07a6 100644 --- a/indra/newview/skins/default/xui/en/floater_about_land.xml +++ b/indra/newview/skins/default/xui/en/floater_about_land.xml @@ -502,7 +502,7 @@               name="Buy Land..."               width="130" />  			<button -             enabled="false" +             enabled="true"               follows="left|top"               height="23"               label="Linden Sale" diff --git a/indra/newview/skins/default/xui/en/floater_auction.xml b/indra/newview/skins/default/xui/en/floater_auction.xml deleted file mode 100644 index 9c6d114c4c..0000000000 --- a/indra/newview/skins/default/xui/en/floater_auction.xml +++ /dev/null @@ -1,96 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="yes" ?> -<floater - legacy_header_height="18" - can_resize="true" - height="412" - layout="topleft" - min_height="412" - min_width="420" - name="floater_auction" - help_topic="floater_auction" - title="START LINDEN LAND SALE" - width="420"> -    <floater.string -     name="already for sale"> -        You cannot auction parcels which are already for sale. -    </floater.string> -    <icon -     bottom="280" -     follows="left|right|top|bottom" -     layout="topleft" -     left="4" -     name="snapshot_icon" -     right="-4" -     top="24" /> -    <text -     follows="left|right|bottom" -     height="16" -     layout="topleft" -     left_delta="0" -     name="parcel_text" -     top_pad="12" -     width="400" /> -    <check_box -     control_name="AuctionShowFence"  -     follows="left|bottom" -     height="16" -     initial_value="true" -     label="Include yellow selection fence" -     layout="topleft" -     left_delta="0" -     name="fence_check" -     top_pad="12" -     width="199" /> -    <button -     follows="left|bottom" -     height="20" -     label="Snapshot" -     label_selected="Snapshot" -     layout="topleft" -     left_delta="0" -     name="snapshot_btn" -     top_pad="4" -     width="150"> -      <button.commit_callback -         function="ClickSnapshot" /> -    </button> -    <button -     follows="left|bottom" -     height="20" -     label="Sell to Anyone" -     label_selected="Sell to Anyone" -     layout="topleft" -     left_delta="0" -     name="sell_to_anyone_btn" -     top_pad="4" -     width="150"> -      <button.commit_callback -         function="ClickSellToAnyone" /> -    </button> -    <button -     follows="left|bottom" -     height="20" -     label="Clear Settings" -     label_selected="Clear Settings" -     layout="topleft" -     left_delta="0" -     name="reset_parcel_btn" -     top_pad="4" -     width="150"> -      <button.commit_callback -         function="ClickResetParcel" /> -    </button> -    <button -     follows="left|bottom" -     height="20" -     label="Start Auction" -     label_selected="Start Auction" -     layout="topleft" -     left_pad="4" -     name="start_auction_btn" -     top_delta="0" -     width="150"> -      <button.commit_callback -          function="ClickStartAuction" /> -    </button> -</floater> | 
