diff options
| author | Rider Linden <rider@lindenlab.com> | 2016-09-16 16:00:07 -0700 | 
|---|---|---|
| committer | Rider Linden <rider@lindenlab.com> | 2016-09-16 16:00:07 -0700 | 
| commit | 8d86f5a0c457fceff5923fb7ca32259b2718addc (patch) | |
| tree | b374188accf39136045590254133d0bc2e62d47c /indra/newview/llpanelsnapshot.cpp | |
| parent | 68b8d2658a741617ae9844824090efe922da1edd (diff) | |
| parent | 51bb369a39142ff5049f753099f9638ce68b95dc (diff) | |
Merge
Diffstat (limited to 'indra/newview/llpanelsnapshot.cpp')
| -rw-r--r-- | indra/newview/llpanelsnapshot.cpp | 59 | 
1 files changed, 44 insertions, 15 deletions
| diff --git a/indra/newview/llpanelsnapshot.cpp b/indra/newview/llpanelsnapshot.cpp index 106fb4997e..a17e3f9e78 100644 --- a/indra/newview/llpanelsnapshot.cpp +++ b/indra/newview/llpanelsnapshot.cpp @@ -29,6 +29,8 @@  // libs  #include "llcombobox.h" +#include "llfloater.h" +#include "llfloatersnapshot.h"  #include "llsliderctrl.h"  #include "llspinctrl.h"  #include "lltrans.h" @@ -50,15 +52,29 @@ S32 power_of_two(S32 sz, S32 upper)  	return res;  } +LLPanelSnapshot::LLPanelSnapshot() +	: mSnapshotFloater(NULL) +{} +  // virtual  BOOL LLPanelSnapshot::postBuild()  {  	getChild<LLUICtrl>(getImageSizeComboName())->setCommitCallback(boost::bind(&LLPanelSnapshot::onResolutionComboCommit, this, _1)); -	getChild<LLUICtrl>(getWidthSpinnerName())->setCommitCallback(boost::bind(&LLPanelSnapshot::onCustomResolutionCommit, this)); -	getChild<LLUICtrl>(getHeightSpinnerName())->setCommitCallback(boost::bind(&LLPanelSnapshot::onCustomResolutionCommit, this)); -	getChild<LLUICtrl>(getAspectRatioCBName())->setCommitCallback(boost::bind(&LLPanelSnapshot::onKeepAspectRatioCommit, this, _1)); - +    if (!getWidthSpinnerName().empty()) +    { +        getChild<LLUICtrl>(getWidthSpinnerName())->setCommitCallback(boost::bind(&LLPanelSnapshot::onCustomResolutionCommit, this)); +    } +    if (!getHeightSpinnerName().empty()) +    { +        getChild<LLUICtrl>(getHeightSpinnerName())->setCommitCallback(boost::bind(&LLPanelSnapshot::onCustomResolutionCommit, this)); +    } +    if (!getAspectRatioCBName().empty()) +    { +        getChild<LLUICtrl>(getAspectRatioCBName())->setCommitCallback(boost::bind(&LLPanelSnapshot::onKeepAspectRatioCommit, this, _1)); +    }  	updateControls(LLSD()); + +	mSnapshotFloater = getParentByType<LLFloaterSnapshotBase>();  	return TRUE;  } @@ -76,13 +92,13 @@ void LLPanelSnapshot::onOpen(const LLSD& key)  	// e.g. attempt to send a large BMP image by email.  	if (old_format != new_format)  	{ -		LLFloaterSnapshot::getInstance()->notify(LLSD().with("image-format-change", true)); +        getParentByType<LLFloater>()->notify(LLSD().with("image-format-change", true));  	}  } -LLFloaterSnapshot::ESnapshotFormat LLPanelSnapshot::getImageFormat() const +LLSnapshotModel::ESnapshotFormat LLPanelSnapshot::getImageFormat() const  { -	return LLFloaterSnapshot::SNAPSHOT_FORMAT_JPEG; +	return LLSnapshotModel::SNAPSHOT_FORMAT_JPEG;  }  void LLPanelSnapshot::enableControls(BOOL enable) @@ -92,27 +108,32 @@ void LLPanelSnapshot::enableControls(BOOL enable)  LLSpinCtrl* LLPanelSnapshot::getWidthSpinner()  { +    llassert(!getWidthSpinnerName().empty());  	return getChild<LLSpinCtrl>(getWidthSpinnerName());  }  LLSpinCtrl* LLPanelSnapshot::getHeightSpinner()  { +    llassert(!getHeightSpinnerName().empty());  	return getChild<LLSpinCtrl>(getHeightSpinnerName());  }  S32 LLPanelSnapshot::getTypedPreviewWidth() const  { +    llassert(!getWidthSpinnerName().empty());  	return getChild<LLUICtrl>(getWidthSpinnerName())->getValue().asInteger();  }  S32 LLPanelSnapshot::getTypedPreviewHeight() const  { -	return getChild<LLUICtrl>(getHeightSpinnerName())->getValue().asInteger(); +    llassert(!getHeightSpinnerName().empty()); +    return getChild<LLUICtrl>(getHeightSpinnerName())->getValue().asInteger();  }  void LLPanelSnapshot::enableAspectRatioCheckbox(BOOL enable)  { -	getChild<LLUICtrl>(getAspectRatioCBName())->setEnabled(enable); +    llassert(!getAspectRatioCBName().empty()); +    getChild<LLUICtrl>(getAspectRatioCBName())->setEnabled(enable);  }  LLSideTrayPanelContainer* LLPanelSnapshot::getParentContainer() @@ -171,14 +192,17 @@ void LLPanelSnapshot::goBack()  void LLPanelSnapshot::cancel()  {  	goBack(); -	LLFloaterSnapshot::getInstance()->notify(LLSD().with("set-ready", true)); +    getParentByType<LLFloater>()->notify(LLSD().with("set-ready", true));  }  void LLPanelSnapshot::onCustomResolutionCommit()  {  	LLSD info; -	LLSpinCtrl *widthSpinner = getChild<LLSpinCtrl>(getWidthSpinnerName()); -	LLSpinCtrl *heightSpinner = getChild<LLSpinCtrl>(getHeightSpinnerName()); +    std::string widthSpinnerName = getWidthSpinnerName(); +    std::string heightSpinnerName = getHeightSpinnerName(); +    llassert(!widthSpinnerName.empty() && !heightSpinnerName.empty()); +    LLSpinCtrl *widthSpinner = getChild<LLSpinCtrl>(widthSpinnerName); +    LLSpinCtrl *heightSpinner = getChild<LLSpinCtrl>(heightSpinnerName);  	if (getName() == "panel_snapshot_inventory")  	{  		S32 width = widthSpinner->getValue().asInteger(); @@ -197,17 +221,22 @@ void LLPanelSnapshot::onCustomResolutionCommit()  		info["w"] = widthSpinner->getValue().asInteger();  		info["h"] = heightSpinner->getValue().asInteger();  	} -	LLFloaterSnapshot::getInstance()->notify(LLSD().with("custom-res-change", info)); +    getParentByType<LLFloater>()->notify(LLSD().with("custom-res-change", info));  }  void LLPanelSnapshot::onResolutionComboCommit(LLUICtrl* ctrl)  {  	LLSD info;  	info["combo-res-change"]["control-name"] = ctrl->getName(); -	LLFloaterSnapshot::getInstance()->notify(info); +    getParentByType<LLFloater>()->notify(info);  }  void LLPanelSnapshot::onKeepAspectRatioCommit(LLUICtrl* ctrl)  { -	LLFloaterSnapshot::getInstance()->notify(LLSD().with("keep-aspect-change", ctrl->getValue().asBoolean())); +    getParentByType<LLFloater>()->notify(LLSD().with("keep-aspect-change", ctrl->getValue().asBoolean())); +} + +LLSnapshotModel::ESnapshotType LLPanelSnapshot::getSnapshotType() +{ +	return LLSnapshotModel::SNAPSHOT_WEB;  } | 
