diff options
Diffstat (limited to 'indra/newview/llpanelsnapshotpostcard.cpp')
-rw-r--r-- | indra/newview/llpanelsnapshotpostcard.cpp | 208 |
1 files changed, 104 insertions, 104 deletions
diff --git a/indra/newview/llpanelsnapshotpostcard.cpp b/indra/newview/llpanelsnapshotpostcard.cpp index 05fa2b58b1..3a25e471bb 100644 --- a/indra/newview/llpanelsnapshotpostcard.cpp +++ b/indra/newview/llpanelsnapshotpostcard.cpp @@ -1,25 +1,25 @@ -/** +/** * @file llpanelsnapshotpostcard.cpp * @brief Postcard sending panel. * * $LicenseInfo:firstyear=2011&license=viewerlgpl$ * Second Life Viewer Source Code * Copyright (C) 2011, 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$ */ @@ -50,106 +50,106 @@ * Sends postcard via email. */ class LLPanelSnapshotPostcard -: public LLPanelSnapshot +: public LLPanelSnapshot { - LOG_CLASS(LLPanelSnapshotPostcard); + LOG_CLASS(LLPanelSnapshotPostcard); public: - LLPanelSnapshotPostcard(); - /*virtual*/ BOOL postBuild(); - /*virtual*/ void onOpen(const LLSD& key); + LLPanelSnapshotPostcard(); + /*virtual*/ BOOL postBuild(); + /*virtual*/ void onOpen(const LLSD& key); private: - /*virtual*/ std::string getWidthSpinnerName() const { return "postcard_snapshot_width"; } - /*virtual*/ std::string getHeightSpinnerName() const { return "postcard_snapshot_height"; } - /*virtual*/ std::string getAspectRatioCBName() const { return "postcard_keep_aspect_check"; } - /*virtual*/ std::string getImageSizeComboName() const { return "postcard_size_combo"; } - /*virtual*/ std::string getImageSizePanelName() const { return "postcard_image_size_lp"; } - /*virtual*/ LLSnapshotModel::ESnapshotFormat getImageFormat() const { return LLSnapshotModel::SNAPSHOT_FORMAT_JPEG; } - /*virtual*/ LLSnapshotModel::ESnapshotType getSnapshotType(); - /*virtual*/ void updateControls(const LLSD& info); - - bool missingSubjMsgAlertCallback(const LLSD& notification, const LLSD& response); - static void sendPostcardFinished(LLSD result); - void sendPostcard(); - - void onMsgFormFocusRecieved(); - void onFormatComboCommit(LLUICtrl* ctrl); - void onQualitySliderCommit(LLUICtrl* ctrl); - void onSend(); - - bool mHasFirstMsgFocus; + /*virtual*/ std::string getWidthSpinnerName() const { return "postcard_snapshot_width"; } + /*virtual*/ std::string getHeightSpinnerName() const { return "postcard_snapshot_height"; } + /*virtual*/ std::string getAspectRatioCBName() const { return "postcard_keep_aspect_check"; } + /*virtual*/ std::string getImageSizeComboName() const { return "postcard_size_combo"; } + /*virtual*/ std::string getImageSizePanelName() const { return "postcard_image_size_lp"; } + /*virtual*/ LLSnapshotModel::ESnapshotFormat getImageFormat() const { return LLSnapshotModel::SNAPSHOT_FORMAT_JPEG; } + /*virtual*/ LLSnapshotModel::ESnapshotType getSnapshotType(); + /*virtual*/ void updateControls(const LLSD& info); + + bool missingSubjMsgAlertCallback(const LLSD& notification, const LLSD& response); + static void sendPostcardFinished(LLSD result); + void sendPostcard(); + + void onMsgFormFocusRecieved(); + void onFormatComboCommit(LLUICtrl* ctrl); + void onQualitySliderCommit(LLUICtrl* ctrl); + void onSend(); + + bool mHasFirstMsgFocus; }; static LLPanelInjector<LLPanelSnapshotPostcard> panel_class("llpanelsnapshotpostcard"); LLPanelSnapshotPostcard::LLPanelSnapshotPostcard() -: mHasFirstMsgFocus(false) +: mHasFirstMsgFocus(false) { - mCommitCallbackRegistrar.add("Postcard.Send", boost::bind(&LLPanelSnapshotPostcard::onSend, this)); - mCommitCallbackRegistrar.add("Postcard.Cancel", boost::bind(&LLPanelSnapshotPostcard::cancel, this)); + mCommitCallbackRegistrar.add("Postcard.Send", boost::bind(&LLPanelSnapshotPostcard::onSend, this)); + mCommitCallbackRegistrar.add("Postcard.Cancel", boost::bind(&LLPanelSnapshotPostcard::cancel, this)); } // virtual BOOL LLPanelSnapshotPostcard::postBuild() { - // For the first time a user focuses to .the msg box, all text will be selected. - getChild<LLUICtrl>("msg_form")->setFocusChangedCallback(boost::bind(&LLPanelSnapshotPostcard::onMsgFormFocusRecieved, this)); + // For the first time a user focuses to .the msg box, all text will be selected. + getChild<LLUICtrl>("msg_form")->setFocusChangedCallback(boost::bind(&LLPanelSnapshotPostcard::onMsgFormFocusRecieved, this)); - getChild<LLUICtrl>("to_form")->setFocus(TRUE); + getChild<LLUICtrl>("to_form")->setFocus(TRUE); - getChild<LLUICtrl>("image_quality_slider")->setCommitCallback(boost::bind(&LLPanelSnapshotPostcard::onQualitySliderCommit, this, _1)); + getChild<LLUICtrl>("image_quality_slider")->setCommitCallback(boost::bind(&LLPanelSnapshotPostcard::onQualitySliderCommit, this, _1)); - return LLPanelSnapshot::postBuild(); + return LLPanelSnapshot::postBuild(); } // virtual void LLPanelSnapshotPostcard::onOpen(const LLSD& key) { - LLUICtrl* name_form = getChild<LLUICtrl>("name_form"); - if (name_form && name_form->getValue().asString().empty()) - { - std::string name_string; - LLAgentUI::buildFullname(name_string); - getChild<LLUICtrl>("name_form")->setValue(LLSD(name_string)); - } - - LLPanelSnapshot::onOpen(key); + LLUICtrl* name_form = getChild<LLUICtrl>("name_form"); + if (name_form && name_form->getValue().asString().empty()) + { + std::string name_string; + LLAgentUI::buildFullname(name_string); + getChild<LLUICtrl>("name_form")->setValue(LLSD(name_string)); + } + + LLPanelSnapshot::onOpen(key); } // virtual void LLPanelSnapshotPostcard::updateControls(const LLSD& info) { - getChild<LLUICtrl>("image_quality_slider")->setValue(gSavedSettings.getS32("SnapshotQuality")); - updateImageQualityLevel(); + getChild<LLUICtrl>("image_quality_slider")->setValue(gSavedSettings.getS32("SnapshotQuality")); + updateImageQualityLevel(); - const bool have_snapshot = info.has("have-snapshot") ? info["have-snapshot"].asBoolean() : true; - getChild<LLUICtrl>("send_btn")->setEnabled(have_snapshot); + const bool have_snapshot = info.has("have-snapshot") ? info["have-snapshot"].asBoolean() : true; + getChild<LLUICtrl>("send_btn")->setEnabled(have_snapshot); } bool LLPanelSnapshotPostcard::missingSubjMsgAlertCallback(const LLSD& notification, const LLSD& response) { - S32 option = LLNotificationsUtil::getSelectedOption(notification, response); - if(0 == option) - { - // User clicked OK - if((getChild<LLUICtrl>("subject_form")->getValue().asString()).empty()) - { - // Stuff the subject back into the form. - getChild<LLUICtrl>("subject_form")->setValue(getString("default_subject")); - } - - if (!mHasFirstMsgFocus) - { - // The user never switched focus to the message window. - // Using the default string. - getChild<LLUICtrl>("msg_form")->setValue(getString("default_message")); - } - - sendPostcard(); - } - return false; + S32 option = LLNotificationsUtil::getSelectedOption(notification, response); + if(0 == option) + { + // User clicked OK + if((getChild<LLUICtrl>("subject_form")->getValue().asString()).empty()) + { + // Stuff the subject back into the form. + getChild<LLUICtrl>("subject_form")->setValue(getString("default_subject")); + } + + if (!mHasFirstMsgFocus) + { + // The user never switched focus to the message window. + // Using the default string. + getChild<LLUICtrl>("msg_form")->setValue(getString("default_message")); + } + + sendPostcard(); + } + return false; } @@ -198,53 +198,53 @@ void LLPanelSnapshotPostcard::sendPostcard() void LLPanelSnapshotPostcard::onMsgFormFocusRecieved() { - LLTextEditor* msg_form = getChild<LLTextEditor>("msg_form"); - if (msg_form->hasFocus() && !mHasFirstMsgFocus) - { - mHasFirstMsgFocus = true; - msg_form->setText(LLStringUtil::null); - } + LLTextEditor* msg_form = getChild<LLTextEditor>("msg_form"); + if (msg_form->hasFocus() && !mHasFirstMsgFocus) + { + mHasFirstMsgFocus = true; + msg_form->setText(LLStringUtil::null); + } } void LLPanelSnapshotPostcard::onFormatComboCommit(LLUICtrl* ctrl) { - // will call updateControls() - LLFloaterSnapshot::getInstance()->notify(LLSD().with("image-format-change", true)); + // will call updateControls() + LLFloaterSnapshot::getInstance()->notify(LLSD().with("image-format-change", true)); } void LLPanelSnapshotPostcard::onQualitySliderCommit(LLUICtrl* ctrl) { - updateImageQualityLevel(); + updateImageQualityLevel(); - LLSliderCtrl* slider = (LLSliderCtrl*)ctrl; - S32 quality_val = llfloor((F32)slider->getValue().asReal()); - LLSD info; - info["image-quality-change"] = quality_val; - LLFloaterSnapshot::getInstance()->notify(info); // updates the "SnapshotQuality" setting + LLSliderCtrl* slider = (LLSliderCtrl*)ctrl; + S32 quality_val = llfloor((F32)slider->getValue().asReal()); + LLSD info; + info["image-quality-change"] = quality_val; + LLFloaterSnapshot::getInstance()->notify(info); // updates the "SnapshotQuality" setting } void LLPanelSnapshotPostcard::onSend() { - // Validate input. - std::string to(getChild<LLUICtrl>("to_form")->getValue().asString()); - - boost::regex email_format("[A-Za-z0-9.%+-_]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}(,[ \t]*[A-Za-z0-9.%+-_]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,})*"); - - if (to.empty() || !ll_regex_match(to, email_format)) - { - LLNotificationsUtil::add("PromptRecipientEmail"); - return; - } - - std::string subject(getChild<LLUICtrl>("subject_form")->getValue().asString()); - if(subject.empty() || !mHasFirstMsgFocus) - { - LLNotificationsUtil::add("PromptMissingSubjMsg", LLSD(), LLSD(), boost::bind(&LLPanelSnapshotPostcard::missingSubjMsgAlertCallback, this, _1, _2)); - return; - } - - // Send postcard. - sendPostcard(); + // Validate input. + std::string to(getChild<LLUICtrl>("to_form")->getValue().asString()); + + boost::regex email_format("[A-Za-z0-9.%+-_]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}(,[ \t]*[A-Za-z0-9.%+-_]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,})*"); + + if (to.empty() || !ll_regex_match(to, email_format)) + { + LLNotificationsUtil::add("PromptRecipientEmail"); + return; + } + + std::string subject(getChild<LLUICtrl>("subject_form")->getValue().asString()); + if(subject.empty() || !mHasFirstMsgFocus) + { + LLNotificationsUtil::add("PromptMissingSubjMsg", LLSD(), LLSD(), boost::bind(&LLPanelSnapshotPostcard::missingSubjMsgAlertCallback, this, _1, _2)); + return; + } + + // Send postcard. + sendPostcard(); } LLSnapshotModel::ESnapshotType LLPanelSnapshotPostcard::getSnapshotType() |