diff options
| author | Eli Linden <eli@lindenlab.com> | 2010-03-04 11:23:56 -0800 | 
|---|---|---|
| committer | Eli Linden <eli@lindenlab.com> | 2010-03-04 11:23:56 -0800 | 
| commit | 1201b24d41b285793c1b933c7aebd5a05fa0d27b (patch) | |
| tree | 2ed846daa0881400afa7c9e4a2411b6cd03afb2a | |
| parent | 96fd9253490cd35dca314d7719529b886a3df3ae (diff) | |
| parent | 50cc48de28fd472f7332f9bc306964afaa31d71f (diff) | |
Merge
20 files changed, 490 insertions, 77 deletions
| diff --git a/indra/llcommon/llsys.cpp b/indra/llcommon/llsys.cpp index 0272c55db2..0ed700b9da 100644 --- a/indra/llcommon/llsys.cpp +++ b/indra/llcommon/llsys.cpp @@ -775,6 +775,33 @@ void LLMemoryInfo::stream(std::ostream& s) const  #endif  } +S32 LLDisplayInfo::getDisplayWidth() const +{ +#if LL_WINDOWS +	return  ::GetSystemMetrics(SM_CXVIRTUALSCREEN); +#elif LL_DARWIN +	return 1024; //*FIXME +#elif LL_SOLARIS +	return 1024; //*FIXME +#else +	return 1024; //*FIXME +#endif +} + +S32 LLDisplayInfo::getDisplayHeight() const +{ +#if LL_WINDOWS +	return  ::GetSystemMetrics(SM_CYVIRTUALSCREEN); +#elif LL_DARWIN +	return 768; //*FIXME +#elif LL_SOLARIS +	return 768; //*FIXME +#else +	return 768; //*FIXME +#endif +} + +  std::ostream& operator<<(std::ostream& s, const LLOSInfo& info)  {  	info.stream(s); diff --git a/indra/llcommon/llsys.h b/indra/llcommon/llsys.h index c2c45bec9a..aa3fdd485b 100644 --- a/indra/llcommon/llsys.h +++ b/indra/llcommon/llsys.h @@ -122,6 +122,21 @@ public:  	U32 getPhysicalMemoryClamped() const; ///< Memory size in clamped bytes  }; +//============================================================================= +// +//	CLASS		LLDisplayInfo +class LL_COMMON_API LLDisplayInfo + +/*!	@brief		Class to query the information about some display settings +*/ +{ +public: +	LLDisplayInfo(){}; ///< Default constructor + +	S32 getDisplayWidth() const; ///< display width +	S32 getDisplayHeight() const; ///< display height +	 +};  LL_COMMON_API std::ostream& operator<<(std::ostream& s, const LLOSInfo& info);  LL_COMMON_API std::ostream& operator<<(std::ostream& s, const LLCPUInfo& info); diff --git a/indra/llui/lltabcontainer.cpp b/indra/llui/lltabcontainer.cpp index 1dcfb4e296..30fc7babae 100644 --- a/indra/llui/lltabcontainer.cpp +++ b/indra/llui/lltabcontainer.cpp @@ -2061,12 +2061,5 @@ void LLTabContainer::commitHoveredButton(S32 x, S32 y)  				tuple->mButton->onCommit();  			}  		} -		/** -		 * EXT - 4572 (Click and hold the left mouse button doesn't let you browse tabbed IM floater) -		 * -		 * During hovering mouse(with left mouse button hold) over tabs, a newly just activated corresponding -		 * to the tab(that is hovered in the given instant of time) panel may caught mouse capture. -		 */ -		gFocusMgr.setMouseCapture(this);  	}  } diff --git a/indra/newview/installers/windows/install_icon.ico b/indra/newview/installers/windows/install_icon.icoBinary files differ index 1e00530c90..efe6c4f323 100644 --- a/indra/newview/installers/windows/install_icon.ico +++ b/indra/newview/installers/windows/install_icon.ico diff --git a/indra/newview/installers/windows/uninstall_icon.ico b/indra/newview/installers/windows/uninstall_icon.icoBinary files differ index c4ec6c70bd..05e1546860 100644 --- a/indra/newview/installers/windows/uninstall_icon.ico +++ b/indra/newview/installers/windows/uninstall_icon.ico diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 948d38befb..6d4c90c2b9 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -304,7 +304,8 @@ static std::string gLaunchFileOnQuit;  // Used on Win32 for other apps to identify our window (eg, win_setup)  const char* const VIEWER_WINDOW_CLASSNAME = "Second Life"; - +static const S32 FIRST_RUN_WINDOW_WIDTH = 1024; +static const S32 FIRST_RUN_WINDOW_HRIGHT = 768;  //----------------------------------------------------------------------------  // List of entries from strings.xml to always replace @@ -2362,12 +2363,35 @@ bool LLAppViewer::initWindow()  	// store setting in a global for easy access and modification  	gNoRender = gSavedSettings.getBOOL("DisableRendering"); +	S32 window_x = gSavedSettings.getS32("WindowX"); +	S32 window_y = gSavedSettings.getS32("WindowY"); +	S32 window_width = gSavedSettings.getS32("WindowWidth"); +	S32 window_height = gSavedSettings.getS32("WindowHeight"); + +	bool show_maximized = gSavedSettings.getBOOL("WindowMaximized"); + +	bool first_run = gSavedSettings.getBOOL("FirstLoginThisInstall"); + +	if (first_run)//for first login  +	{ +		window_width = FIRST_RUN_WINDOW_WIDTH;//yep hardcoded +		window_height = FIRST_RUN_WINDOW_HRIGHT; +		 +		//if screen resolution is lower then 1024*768 then show maximized +		LLDisplayInfo display_info; +		if(display_info.getDisplayWidth() <= FIRST_RUN_WINDOW_WIDTH +			|| display_info.getDisplayHeight()<=FIRST_RUN_WINDOW_HRIGHT) +		{ +			show_maximized = true; +		} +	} +  	// always start windowed  	BOOL ignorePixelDepth = gSavedSettings.getBOOL("IgnorePixelDepth");  	gViewerWindow = new LLViewerWindow(gWindowTitle,   		VIEWER_WINDOW_CLASSNAME, -		gSavedSettings.getS32("WindowX"), gSavedSettings.getS32("WindowY"), -		gSavedSettings.getS32("WindowWidth"), gSavedSettings.getS32("WindowHeight"), +		window_x, window_y, +		window_width, window_height,  		FALSE, ignorePixelDepth);  	LLNotificationsUI::LLNotificationManager::getInstance(); @@ -2378,7 +2402,7 @@ bool LLAppViewer::initWindow()  		gViewerWindow->toggleFullscreen(FALSE);  	} -	if (gSavedSettings.getBOOL("WindowMaximized")) +	if (show_maximized)  	{  		gViewerWindow->mWindow->maximize();  		gViewerWindow->getWindow()->setNativeAspectRatio(gSavedSettings.getF32("FullScreenAspectRatio")); diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 224514dd48..839d3f0c21 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -1289,7 +1289,7 @@ BOOL LLPanelPreference::postBuild()  	if (hasChild("media_enabled"))  	{  		bool media_enabled = gSavedSettings.getBOOL("AudioStreamingMedia"); -		getChild<LLCheckBoxCtrl>("voice_call_friends_only_check")->setCommitCallback(boost::bind(&showFriendsOnlyWarning, _1, _2)); +		  		getChild<LLCheckBoxCtrl>("media_enabled")->set(media_enabled);  		getChild<LLCheckBoxCtrl>("autoplay_enabled")->setEnabled(media_enabled);  	} @@ -1297,7 +1297,11 @@ BOOL LLPanelPreference::postBuild()  	{  		getChild<LLCheckBoxCtrl>("music_enabled")->set(gSavedSettings.getBOOL("AudioStreamingMusic"));  	} -	 +	if (hasChild("voice_call_friends_only_check")) +	{ +		getChild<LLCheckBoxCtrl>("voice_call_friends_only_check")->setCommitCallback(boost::bind(&showFriendsOnlyWarning, _1, _2)); +	} +  	apply();  	return true;  } diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp index 8cdc50eb70..77eaebb0bc 100644 --- a/indra/newview/llimfloater.cpp +++ b/indra/newview/llimfloater.cpp @@ -127,12 +127,6 @@ void LLIMFloater::onFocusReceived()  {  	LLIMModel::getInstance()->setActiveSessionID(mSessionID); -	// return focus to the input field when active tab in the multitab container is clicked. -	if (isChatMultiTab() && mInputEditor) -	{ -		mInputEditor->setFocus(TRUE); -	} -  	LLBottomTray::getInstance()->getChicletPanel()->setChicletToggleState(mSessionID, true);  } @@ -682,15 +676,6 @@ void LLIMFloater::onInputEditorFocusReceived( LLFocusableElement* caller, void*  		//in disconnected state IM input editor should be disabled  		self->mInputEditor->setEnabled(!gDisconnected);  	} - -	// when IM Floater is a part of the multitab container LLTabContainer set focus to the first -	// child on tab button's mouse up. This leads input field lost focus. See EXT-3852. -	if (isChatMultiTab()) -	{ -		// So, clear control captured mouse to prevent LLTabContainer set focus on the panel's first child. -		// do not pass self->mInputEditor, this leads to have "Edit Text" mouse pointer wherever it is. -		gFocusMgr.setMouseCapture(NULL); -	}  }  // static diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 1dc601e260..b3f085ef6d 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -1565,7 +1565,7 @@ void LLCallDialog::onOpen(const LLSD& key)  	LLDockableFloater::onOpen(key);  	// it should be over the all floaters. EXT-5116 -	gFloaterView->bringToFront(this); +	gFloaterView->bringToFront(this, FALSE);  }  void LLCallDialog::setIcon(const LLSD& session_id, const LLSD& participant_id) diff --git a/indra/newview/llpanelclassified.cpp b/indra/newview/llpanelclassified.cpp index 6f0b7df935..d59a7d752e 100644 --- a/indra/newview/llpanelclassified.cpp +++ b/indra/newview/llpanelclassified.cpp @@ -1166,6 +1166,7 @@ LLPanelClassifiedInfo::LLPanelClassifiedInfo()   , mTeleportClicksNew(0)   , mMapClicksNew(0)   , mProfileClicksNew(0) + , mSnapshotCtrl(NULL)  {  	sAllPanels.push_back(this);  } @@ -1195,7 +1196,8 @@ BOOL LLPanelClassifiedInfo::postBuild()  	mScrollingPanelMinHeight = mScrollContainer->getScrolledViewRect().getHeight();  	mScrollingPanelWidth = mScrollingPanel->getRect().getWidth(); -	mSnapshotRect = getChild<LLUICtrl>("classified_snapshot")->getRect(); +	mSnapshotCtrl = getChild<LLTextureCtrl>("classified_snapshot"); +	mSnapshotRect = getDefaultSnapshotRect();  	return TRUE;  } @@ -1229,7 +1231,8 @@ void LLPanelClassifiedInfo::reshape(S32 width, S32 height, BOOL called_from_pare  		mScrollingPanel->reshape(mScrollingPanelWidth + scrollbar_size, scroll_height);  	} -	mSnapshotRect = getChild<LLUICtrl>("classified_snapshot")->getRect(); +	mSnapshotRect = getDefaultSnapshotRect(); +	stretchSnapshot();  }  void LLPanelClassifiedInfo::onOpen(const LLSD& key) @@ -1249,6 +1252,7 @@ void LLPanelClassifiedInfo::onOpen(const LLSD& key)  	resetData();  	resetControls(); +	scrollToTop();  	setClassifiedId(key["classified_id"]);  	setClassifiedName(key["name"]); @@ -1359,12 +1363,7 @@ void LLPanelClassifiedInfo::setClassifiedLocation(const std::string& location)  void LLPanelClassifiedInfo::setSnapshotId(const LLUUID& id)  { -	childSetValue("classified_snapshot", id); -	if(!mSnapshotStreched) -	{ -		LLUICtrl* snapshot = getChild<LLUICtrl>("classified_snapshot"); -		snapshot->setRect(mSnapshotRect); -	} +	mSnapshotCtrl->setValue(id);  	mSnapshotStreched = false;  } @@ -1374,7 +1373,10 @@ void LLPanelClassifiedInfo::draw()  	// Stretch in draw because it takes some time to load a texture,  	// going to try to stretch snapshot until texture is loaded -	stretchSnapshot(); +	if(!mSnapshotStreched) +	{ +		stretchSnapshot(); +	}  }  LLUUID LLPanelClassifiedInfo::getSnapshotId() @@ -1474,10 +1476,9 @@ void LLPanelClassifiedInfo::stretchSnapshot()  	// *NOTE dzaporozhan  	// Could be moved to LLTextureCtrl -	LLTextureCtrl* texture_ctrl = getChild<LLTextureCtrl>("classified_snapshot"); -	LLViewerFetchedTexture* texture = texture_ctrl->getTexture(); +	LLViewerFetchedTexture* texture = mSnapshotCtrl->getTexture(); -	if(!texture || mSnapshotStreched) +	if(!texture)  	{  		return;  	} @@ -1485,11 +1486,16 @@ void LLPanelClassifiedInfo::stretchSnapshot()  	if(0 == texture->getOriginalWidth() || 0 == texture->getOriginalHeight())  	{  		// looks like texture is not loaded yet -		llinfos << "Missing image size" << llendl;  		return;  	}  	LLRect rc = mSnapshotRect; +	// *HACK dzaporozhan +	// LLTextureCtrl uses BTN_HEIGHT_SMALL as bottom for texture which causes +	// drawn texture to be smaller than expected. (see LLTextureCtrl::draw()) +	// Lets increase texture height to force texture look as expected. +	rc.mBottom -= BTN_HEIGHT_SMALL; +  	F32 t_width = texture->getFullWidth();  	F32 t_height = texture->getFullHeight(); @@ -1499,11 +1505,26 @@ void LLPanelClassifiedInfo::stretchSnapshot()  	t_height *= ratio;  	rc.setCenterAndSize(rc.getCenterX(), rc.getCenterY(), llfloor(t_width), llfloor(t_height)); -	texture_ctrl->setRect(rc); +	mSnapshotCtrl->setShape(rc);  	mSnapshotStreched = true;  } +LLRect LLPanelClassifiedInfo::getDefaultSnapshotRect() +{ +	// Using scroll container makes getting default rect a hard task +	// because rect in postBuild() and in first reshape() is not the same. +	// Using snapshot_panel makes it easier to reshape snapshot. +	return getChild<LLUICtrl>("snapshot_panel")->getLocalRect(); +} + +void LLPanelClassifiedInfo::scrollToTop() +{ +	LLScrollContainer* scrollContainer = findChild<LLScrollContainer>("profile_scroll"); +	if (scrollContainer) +		scrollContainer->goToTop(); +} +  void LLPanelClassifiedInfo::onMapClick()  {  	LLFloaterWorldMap::getInstance()->trackLocation(getPosGlobal()); @@ -1536,6 +1557,7 @@ LLPanelClassifiedEdit::LLPanelClassifiedEdit()   : LLPanelClassifiedInfo()   , mIsNew(false)   , mCanClose(false) + , mPublishFloater(NULL)  {  } @@ -1587,6 +1609,8 @@ BOOL LLPanelClassifiedEdit::postBuild()  	childSetAction("save_changes_btn", boost::bind(&LLPanelClassifiedEdit::onSaveClick, this));  	childSetAction("set_to_curr_location_btn", boost::bind(&LLPanelClassifiedEdit::onSetLocationClick, this)); +	mSnapshotCtrl->setOnSelectCallback(boost::bind(&LLPanelClassifiedEdit::onTextureSelected, this)); +  	return TRUE;  } @@ -1596,6 +1620,8 @@ void LLPanelClassifiedEdit::onOpen(const LLSD& key)  	mIsNew = classified_id.isNull(); +	scrollToTop(); +  	if(mIsNew)  	{  		setAvatarId(gAgent.getID()); @@ -1641,6 +1667,9 @@ void LLPanelClassifiedEdit::onOpen(const LLSD& key)  		enableEditing(false);  	} +	std::string save_btn_label = isNew() ? getString("publish_label") : getString("save_label"); +	childSetLabelArg("save_changes_btn", "[LABEL]", save_btn_label); +  	resetDirty();  	setInfoLoaded(false);  } @@ -1709,12 +1738,12 @@ void LLPanelClassifiedEdit::resetDirty()  	getChild<LLUICtrl>("price_for_listing")->resetDirty();  } -void LLPanelClassifiedEdit::setSaveCallback(const commit_callback_t& cb) +void LLPanelClassifiedEdit::setSaveCallback(const commit_signal_t::slot_type& cb)  { -	getChild<LLButton>("save_changes_btn")->setClickedCallback(cb); +	mSaveButtonClickedSignal.connect(cb);  } -void LLPanelClassifiedEdit::setCancelCallback(const commit_callback_t& cb) +void LLPanelClassifiedEdit::setCancelCallback(const commit_signal_t::slot_type& cb)  {  	getChild<LLButton>("cancel_btn")->setClickedCallback(cb);  } @@ -1734,6 +1763,22 @@ bool LLPanelClassifiedEdit::canClose()  	return mCanClose;  } +void LLPanelClassifiedEdit::draw() +{ +	LLPanel::draw(); + +	// Need to re-stretch on every draw because LLTextureCtrl::onSelectCallback +	// does not trigger callbacks when user navigates through images. +	stretchSnapshot(); +} + +void LLPanelClassifiedEdit::stretchSnapshot() +{ +	LLPanelClassifiedInfo::stretchSnapshot(); + +	getChild<LLUICtrl>("edit_icon")->setShape(mSnapshotCtrl->getRect()); +} +  void LLPanelClassifiedEdit::sendUpdate()  {  	LLAvatarClassifiedInfo c_data; @@ -1821,6 +1866,11 @@ S32 LLPanelClassifiedEdit::getPriceForListing()  	return childGetValue("price_for_listing").asInteger();  } +void LLPanelClassifiedEdit::setPriceForListing(S32 price) +{ +	childSetValue("price_for_listing", price); +} +  void LLPanelClassifiedEdit::onSetLocationClick()  {  	setPosGlobal(gAgent.getPositionGlobal()); @@ -1864,9 +1914,45 @@ void LLPanelClassifiedEdit::onSaveClick()  		}  	} +	if(isNew()) +	{ +		mPublishFloater = LLFloaterReg::findTypedInstance<LLPublishClassifiedFloater>( +			"publish_classified", LLSD()); + +		if(!mPublishFloater) +		{ +			mPublishFloater = LLFloaterReg::getTypedInstance<LLPublishClassifiedFloater>( +				"publish_classified", LLSD()); + +			mPublishFloater->setPublishClickedCallback(boost::bind +				(&LLPanelClassifiedEdit::onPublishFloaterPublishClicked, this)); +		} + +		// set spinner value before it has focus or value wont be set +		mPublishFloater->setPrice(getPriceForListing()); +		mPublishFloater->openFloater(mPublishFloater->getKey()); +		mPublishFloater->center(); +	} +	else +	{ +		doSave(); +	} +} + +void LLPanelClassifiedEdit::doSave() +{  	mCanClose = true;  	sendUpdate();  	resetDirty(); + +	mSaveButtonClickedSignal(this, LLSD()); +} + +void LLPanelClassifiedEdit::onPublishFloaterPublishClicked() +{ +	setPriceForListing(mPublishFloater->getPrice()); + +	doSave();  }  std::string LLPanelClassifiedEdit::getLocationNotice() @@ -1913,4 +1999,52 @@ void LLPanelClassifiedEdit::onTexturePickerMouseLeave(LLUICtrl* ctrl)  	ctrl->setVisible(FALSE);  } +void LLPanelClassifiedEdit::onTextureSelected() +{ +	setSnapshotId(mSnapshotCtrl->getValue().asUUID()); +} + +////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////// + +LLPublishClassifiedFloater::LLPublishClassifiedFloater(const LLSD& key) + : LLFloater(key) +{ +} + +LLPublishClassifiedFloater::~LLPublishClassifiedFloater() +{ +} + +BOOL LLPublishClassifiedFloater::postBuild() +{ +	LLFloater::postBuild(); + +	childSetAction("publish_btn", boost::bind(&LLFloater::closeFloater, this, false)); +	childSetAction("cancel_btn", boost::bind(&LLFloater::closeFloater, this, false)); + +	return TRUE; +} + +void LLPublishClassifiedFloater::setPrice(S32 price) +{ +	childSetValue("price_for_listing", price); +} + +S32 LLPublishClassifiedFloater::getPrice() +{ +	return childGetValue("price_for_listing").asInteger(); +} + +void LLPublishClassifiedFloater::setPublishClickedCallback(const commit_signal_t::slot_type& cb) +{ +	getChild<LLButton>("publish_btn")->setClickedCallback(cb); +} + +void LLPublishClassifiedFloater::setCancelClickedCallback(const commit_signal_t::slot_type& cb) +{ +	getChild<LLButton>("cancel_btn")->setClickedCallback(cb); +} +  //EOF diff --git a/indra/newview/llpanelclassified.h b/indra/newview/llpanelclassified.h index 43b47d4e3e..78f095a9bb 100644 --- a/indra/newview/llpanelclassified.h +++ b/indra/newview/llpanelclassified.h @@ -202,6 +202,23 @@ private:  	void* mUserData;  }; +class LLPublishClassifiedFloater : public LLFloater +{ +public: +	LLPublishClassifiedFloater(const LLSD& key); +	virtual ~LLPublishClassifiedFloater(); + +	/*virtual*/ BOOL postBuild(); + +	void setPrice(S32 price); +	S32 getPrice(); + +	void setPublishClickedCallback(const commit_signal_t::slot_type& cb); +	void setCancelClickedCallback(const commit_signal_t::slot_type& cb); + +private: +}; +  class LLPanelClassifiedInfo : public LLPanel, public LLAvatarPropertiesObserver  {  public: @@ -280,10 +297,18 @@ protected:  	void stretchSnapshot(); +	LLRect getDefaultSnapshotRect(); + +	void scrollToTop(); +  	void onMapClick();  	void onTeleportClick();  	void onExit(); +	bool mSnapshotStreched; +	LLRect mSnapshotRect; +	LLTextureCtrl* mSnapshotCtrl; +  private:  	LLUUID mAvatarId; @@ -292,9 +317,6 @@ private:  	LLUUID mParcelId;  	bool mInfoLoaded; -	bool mSnapshotStreched; -	LLRect mSnapshotRect; -  	LLScrollContainer*		mScrollContainer;  	LLPanel*				mScrollingPanel; @@ -331,9 +353,9 @@ public:  	/*virtual*/ void resetDirty(); -	void setSaveCallback(const commit_callback_t& cb); +	void setSaveCallback(const commit_signal_t::slot_type& cb); -	void setCancelCallback(const commit_callback_t& cb); +	void setCancelCallback(const commit_signal_t::slot_type& cb);  	/*virtual*/ void resetControls(); @@ -341,6 +363,10 @@ public:  	bool canClose(); +	void draw(); + +	void stretchSnapshot(); +  protected:  	LLPanelClassifiedEdit(); @@ -357,6 +383,8 @@ protected:  	S32 getPriceForListing(); +	void setPriceForListing(S32 price); +  	U8 getFlags();  	std::string getLocationNotice(); @@ -369,12 +397,22 @@ protected:  	void onChange();  	void onSaveClick(); +	void doSave(); + +	void onPublishFloaterPublishClicked(); +  	void onTexturePickerMouseEnter(LLUICtrl* ctrl);  	void onTexturePickerMouseLeave(LLUICtrl* ctrl); +	void onTextureSelected(); +  private:  	bool mIsNew;  	bool mCanClose; + +	LLPublishClassifiedFloater* mPublishFloater; + +	commit_signal_t mSaveButtonClickedSignal;  };  #endif // LL_LLPANELCLASSIFIED_H diff --git a/indra/newview/llviewerfloaterreg.cpp b/indra/newview/llviewerfloaterreg.cpp index 8370c98470..65e9d8971a 100644 --- a/indra/newview/llviewerfloaterreg.cpp +++ b/indra/newview/llviewerfloaterreg.cpp @@ -117,6 +117,7 @@  #include "llmoveview.h"  #include "llnearbychat.h"  #include "llpanelblockedlist.h" +#include "llpanelclassified.h"  #include "llpreviewanim.h"  #include "llpreviewgesture.h"  #include "llpreviewnotecard.h" @@ -219,6 +220,7 @@ void LLViewerFloaterReg::registerFloaters()  	LLFloaterReg::add("preview_sound", "floater_preview_sound.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLPreviewSound>, "preview");  	LLFloaterReg::add("preview_texture", "floater_preview_texture.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLPreviewTexture>, "preview");  	LLFloaterReg::add("properties", "floater_inventory_item_properties.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterProperties>); +	LLFloaterReg::add("publish_classified", "floater_publish_classified.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLPublishClassifiedFloater>);  	LLFloaterReg::add("telehubs", "floater_telehub.xml",&LLFloaterReg::build<LLFloaterTelehub>);  	LLFloaterReg::add("test_inspectors", "floater_test_inspectors.xml", diff --git a/indra/newview/res/ll_icon.ico b/indra/newview/res/ll_icon.icoBinary files differ index c35a3fa3a3..87985b9285 100644 --- a/indra/newview/res/ll_icon.ico +++ b/indra/newview/res/ll_icon.ico diff --git a/indra/newview/secondlife.icns b/indra/newview/secondlife.icnsBinary files differ index ceb6036e0e..4560d4bb24 100644 --- a/indra/newview/secondlife.icns +++ b/indra/newview/secondlife.icns diff --git a/indra/newview/skins/default/xui/en/floater_im_session.xml b/indra/newview/skins/default/xui/en/floater_im_session.xml index d2e5473157..25016e0673 100644 --- a/indra/newview/skins/default/xui/en/floater_im_session.xml +++ b/indra/newview/skins/default/xui/en/floater_im_session.xml @@ -2,6 +2,7 @@  <floater   legacy_header_height="18"   background_visible="true" + default_tab_group="1"   follows="all"   height="350"   layout="topleft" @@ -18,12 +19,14 @@   min_height="190">    <layout_stack     animate="false"  +   default_tab_group="2"    follows="all"    height="320"    width="360"    layout="topleft"    orientation="horizontal"    name="im_panels" +  tab_group="1"    top="20"    left="0">      <layout_panel @@ -35,7 +38,9 @@        auto_resize="false"        user_resize="true" />      <layout_panel +       default_tab_group="3"         left="0" +       tab_group="2"         top="0"         height="200"  	     width="245" @@ -75,6 +80,7 @@           label="To"           layout="bottomleft"           name="chat_editor" +         tab_group="3"           width="240">          </line_editor>      </layout_panel> diff --git a/indra/newview/skins/default/xui/en/floater_publish_classified.xml b/indra/newview/skins/default/xui/en/floater_publish_classified.xml new file mode 100644 index 0000000000..3225843d09 --- /dev/null +++ b/indra/newview/skins/default/xui/en/floater_publish_classified.xml @@ -0,0 +1,82 @@ +<?xml version="1.0" encoding="utf-8" standalone="yes" ?> +<floater + legacy_header_height="18" + can_minimize="false" + height="200" + layout="topleft" + name="publish_classified" + help_topic="price_for_listing" + title="Publishing Classified" + width="320"> +    <text +     top="20" +     follows="top|left" +     font="SansSerif" +     height="60" +     layout="topleft" +     left="15" +     word_wrap="true" +     name="explanation_text"> +      +Your classified ad will run for one week from the date it is published. +         +Remember, Classified fees are non-refundable. + +    </text> +    <spinner +     decimal_digits="0" +     follows="left|top" +     halign="left" +     height="23" +     increment="1" +     label_width="70" +     label="Price for Ad: " +     v_pad="10" +     layout="topleft" +     left="15" +     value="50" +     min_val="50" +     max_val="99999" +     name="price_for_listing" +     top_pad="10" +     tool_tip="Price for listing." +     width="150" /> +    <text +     follows="top|left" +     font="SansSerif" +     height="60" +     layout="topleft" +     left_pad="5" +     top_delta="0" +     word_wrap="true" +     value="L$" +     name="l$_text" /> +    <text +     follows="top|right" +     font="SansSerif" +     height="20" +     layout="topleft" +     left="15" +     name="more_info_text" +     top_pad="-20" +     width="300"> +More info (link to classified help) +    </text> +    <button +     follows="top|left" +     height="22" +     label="Publish" +     layout="topleft" +     left="105" +     name="publish_btn" +     top="160" +     width="100" /> +    <button +     follows="top|left" +     height="22" +     label="Cancel" +     layout="topleft" +     left_pad="5" +     name="cancel_btn" +     width="100" /> +</floater> diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 4264b86a72..a2540237c8 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -249,7 +249,7 @@ Save all changes to clothing/body parts?      Non-friends won't know that you've choosen to ignore their calls and instant messages.      <usetemplate       name="okbutton" -     yestext="Yes"/> +     yestext="OK"/>    </notification>    <notification diff --git a/indra/newview/skins/default/xui/en/panel_classified_info.xml b/indra/newview/skins/default/xui/en/panel_classified_info.xml index a8c72e03bd..932e34d694 100644 --- a/indra/newview/skins/default/xui/en/panel_classified_info.xml +++ b/indra/newview/skins/default/xui/en/panel_classified_info.xml @@ -22,6 +22,14 @@    name="l$_price">      L$[PRICE]   </panel.string> + <panel.string +  name="click_through_text_fmt"> +    [TELEPORT] teleport, [MAP] map, [MAP] profile + </panel.string> + <panel.string +  name="date_fmt"> +    [mthnum,datetime,slt]/[day,datetime,slt]/[year,datetime,slt] + </panel.string>      <button       follows="top|right"       height="23" @@ -66,15 +74,25 @@       height="610"       left="0"       width="285"> +        <panel +         name="snapshot_panel" +         layout="topleft" +         follows="left|top|right" +         height="197" +         left="10" +         top="10" +         width="275" +        >          <texture_picker           enabled="false"           follows="left|top|right"           height="197" -         width="272"           layout="topleft" -         left="11" +         left="0"           name="classified_snapshot" -         top="10" /> +         top="0" +         width="275" /> +        </panel>          <text_editor           allow_scroll="false"           bg_visible="false" @@ -101,7 +119,7 @@           left="10"           name="classified_location_label"           text_color="white" -         top_pad="10" +         top_pad="5"           value="Location:"           width="250" />          <text_editor @@ -129,7 +147,7 @@           text_color="white"           top_pad="10"           value="Content Type:" -         width="250" /> +         width="140" />          <text_editor           allow_scroll="false"           bg_visible="false" @@ -137,11 +155,11 @@           h_pad="0"           height="18"           layout="topleft" -         left="10" +         left_pad="0"           name="content_type"           read_only="true" -         width="290" -         top_pad="15" +         width="150" +         top_pad="-10"           v_pad="0"           value="[content type]" />          <text @@ -152,9 +170,9 @@           left="10"           name="category_label"           text_color="white" -         top_pad="10" +         top_pad="0"           value="Category:" -         width="250" /> +         width="140" />          <text_editor           allow_html="true"           allow_scroll="false" @@ -163,11 +181,11 @@           h_pad="0"           height="18"           layout="topleft" -         left="10" +         left_pad="0"           name="category"           read_only="true" -         width="290" -         top_pad="5" +         width="150" +         top_pad="-10"           v_pad="0"           value="[category]" />          <text @@ -176,11 +194,38 @@           height="10"           layout="topleft"           left="10" +         name="creation_date_label" +         text_color="white" +         top_pad="0" +         value="Creation date:" +         width="140" /> +        <text_editor +         allow_scroll="false" +         bg_visible="false" +         follows="left|top" +         h_pad="0" +         halign="left" +         height="16" +         layout="topleft" +         left_pad="0" +         name="creation_date" +         read_only="true" +         top_pad="-10" +         tool_tip="Creation date" +         v_pad="0" +         value="[date]" +         width="150" /> +        <text +         follows="left|top" +         font.style="BOLD" +         height="10" +         layout="topleft" +         left="10"           name="price_for_listing_label"           text_color="white" -         top_pad="10" +         top_pad="5"           value="Price for listing:" -         width="250" /> +         width="140" />          <text_editor           allow_scroll="false"           bg_visible="false" @@ -189,10 +234,10 @@           halign="left"           height="16"           layout="topleft" -         left="10" +         left_pad="0"           name="price_for_listing"           read_only="true" -         top_pad="5" +         top_pad="-10"           tool_tip="Price for listing."           v_pad="0"           value="[price]" @@ -209,6 +254,44 @@           height="250">           <layout_panel            auto_resize="false" +          name="clickthrough_layout_panel" +          layout="topleft" +          follows="top|left" +          left="0" +          top="0" +          width="290" +          height="26" +          user_resize="false"> +        <text +         follows="left|top" +         font.style="BOLD" +         height="10" +         layout="topleft" +         left="0" +         name="click_through_label" +         text_color="white" +         top_pad="0" +         value="Clicks:" +         width="140" /> +        <text_editor +         allow_scroll="false" +         bg_visible="false" +         follows="left|top" +         h_pad="0" +         halign="left" +         height="16" +         layout="topleft" +         left_pad="0" +         name="click_through_text" +         read_only="true" +         top_pad="-10" +         tool_tip="Click through data" +         v_pad="0" +         value="[clicks]" +         width="150" /> +         </layout_panel> +         <layout_panel +          auto_resize="false"            name="price_layout_panel"            layout="topleft"            follows="top|left" diff --git a/indra/newview/skins/default/xui/en/panel_edit_classified.xml b/indra/newview/skins/default/xui/en/panel_edit_classified.xml index 6cc6c51fe0..c1b352031f 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_classified.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_classified.xml @@ -16,6 +16,12 @@    name="location_notice">      (will update after save)   </panel.string> + <string name="publish_label"> +  Publish + </string> + <string name="save_label"> +  Save + </string>    <button       follows="top|right"       height="23" @@ -62,24 +68,33 @@       height="690"       left="0"       width="285"> +      <panel +         name="snapshot_panel" +         layout="topleft" +         follows="left|top|right" +         height="197" +         left="10" +         top="10" +         width="272">        <texture_picker         follows="left|top|right"         height="197"         width="272"         layout="topleft" -       top="10" -       left="11" +       top="0" +       left="0"         name="classified_snapshot" /> -          <icon +       <icon             height="197"             image_name="spacer24.tga"             layout="topleft"             name="edit_icon"             label=""             tool_tip="Click to select an image" -           top="10" -           left="11" -           width="286" /> +           top="0" +           left="0" +           width="272" /> +       </panel>          <text           type="string"           length="1" @@ -272,7 +287,7 @@          <button           follows="bottom|left"           height="23" -         label="Save" +         label="[LABEL]"           layout="topleft"           name="save_changes_btn"           left="0" diff --git a/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml index 5147bb72d0..701a14e1c5 100644 --- a/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml +++ b/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml @@ -44,11 +44,16 @@ background_visible="true"       tab_stop="false"       top="2"       width="23" /> -    <text +    <text_editor +     allow_scroll="false" +     bg_visible="false" +     read_only = "true"       layout="topleft"       name="group_name" +     v_pad="0"       value="(Loading...)"        font="SansSerifHugeBold" +     h_pad="0"        height="26"        left_pad="10"       text_color="LtGray" | 
