diff options
Diffstat (limited to 'indra/newview/llfloaterurlentry.cpp')
-rw-r--r-- | indra/newview/llfloaterurlentry.cpp | 260 |
1 files changed, 130 insertions, 130 deletions
diff --git a/indra/newview/llfloaterurlentry.cpp b/indra/newview/llfloaterurlentry.cpp index 48d6e01d32..6d75c4eb94 100644 --- a/indra/newview/llfloaterurlentry.cpp +++ b/indra/newview/llfloaterurlentry.cpp @@ -5,21 +5,21 @@ * $LicenseInfo:firstyear=2007&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$ */ @@ -46,10 +46,10 @@ static LLFloaterURLEntry* sInstance = NULL; // LLFloaterURLEntry() //----------------------------------------------------------------------------- LLFloaterURLEntry::LLFloaterURLEntry(LLHandle<LLPanel> parent) - : LLFloater(LLSD()), - mPanelLandMediaHandle(parent) + : LLFloater(LLSD()), + mPanelLandMediaHandle(parent) { - buildFromFile("floater_url_entry.xml"); + buildFromFile("floater_url_entry.xml"); } //----------------------------------------------------------------------------- @@ -57,91 +57,91 @@ LLFloaterURLEntry::LLFloaterURLEntry(LLHandle<LLPanel> parent) //----------------------------------------------------------------------------- LLFloaterURLEntry::~LLFloaterURLEntry() { - sInstance = NULL; + sInstance = NULL; } BOOL LLFloaterURLEntry::postBuild() { - mMediaURLEdit = getChild<LLComboBox>("media_entry"); + mMediaURLEdit = getChild<LLComboBox>("media_entry"); - // Cancel button - childSetAction("cancel_btn", onBtnCancel, this); + // Cancel button + childSetAction("cancel_btn", onBtnCancel, this); - // Cancel button - childSetAction("clear_btn", onBtnClear, this); - // clear media list button - LLSD parcel_history = LLURLHistory::getURLHistory("parcel"); - bool enable_clear_button = parcel_history.size() > 0 ? true : false; - getChildView("clear_btn")->setEnabled(enable_clear_button ); + // Cancel button + childSetAction("clear_btn", onBtnClear, this); + // clear media list button + LLSD parcel_history = LLURLHistory::getURLHistory("parcel"); + bool enable_clear_button = parcel_history.size() > 0 ? true : false; + getChildView("clear_btn")->setEnabled(enable_clear_button ); - // OK button - childSetAction("ok_btn", onBtnOK, this); + // OK button + childSetAction("ok_btn", onBtnOK, this); - setDefaultBtn("ok_btn"); - buildURLHistory(); + setDefaultBtn("ok_btn"); + buildURLHistory(); - return TRUE; + return TRUE; } void LLFloaterURLEntry::buildURLHistory() { - LLCtrlListInterface* url_list = childGetListInterface("media_entry"); - if (url_list) - { - url_list->operateOnAll(LLCtrlListInterface::OP_DELETE); - } - - // Get all of the entries in the "parcel" collection - LLSD parcel_history = LLURLHistory::getURLHistory("parcel"); - - LLSD::array_iterator iter_history = - parcel_history.beginArray(); - LLSD::array_iterator end_history = - parcel_history.endArray(); - for(; iter_history != end_history; ++iter_history) - { - url_list->addSimpleElement((*iter_history).asString()); - } + LLCtrlListInterface* url_list = childGetListInterface("media_entry"); + if (url_list) + { + url_list->operateOnAll(LLCtrlListInterface::OP_DELETE); + } + + // Get all of the entries in the "parcel" collection + LLSD parcel_history = LLURLHistory::getURLHistory("parcel"); + + LLSD::array_iterator iter_history = + parcel_history.beginArray(); + LLSD::array_iterator end_history = + parcel_history.endArray(); + for(; iter_history != end_history; ++iter_history) + { + url_list->addSimpleElement((*iter_history).asString()); + } } void LLFloaterURLEntry::headerFetchComplete(S32 status, const std::string& mime_type) { - LLPanelLandMedia* panel_media = dynamic_cast<LLPanelLandMedia*>(mPanelLandMediaHandle.get()); - if (panel_media) - { - // status is ignored for now -- error = "none/none" - panel_media->setMediaType(mime_type); - panel_media->setMediaURL(mMediaURLEdit->getValue().asString()); - } - - getChildView("loading_label")->setVisible( false); - closeFloater(); + LLPanelLandMedia* panel_media = dynamic_cast<LLPanelLandMedia*>(mPanelLandMediaHandle.get()); + if (panel_media) + { + // status is ignored for now -- error = "none/none" + panel_media->setMediaType(mime_type); + panel_media->setMediaURL(mMediaURLEdit->getValue().asString()); + } + + getChildView("loading_label")->setVisible( false); + closeFloater(); } // static LLHandle<LLFloater> LLFloaterURLEntry::show(LLHandle<LLPanel> parent, const std::string media_url) { - if (!sInstance) - { - sInstance = new LLFloaterURLEntry(parent); - } - sInstance->openFloater(); - sInstance->addURLToCombobox(media_url); - return sInstance->getHandle(); + if (!sInstance) + { + sInstance = new LLFloaterURLEntry(parent); + } + sInstance->openFloater(); + sInstance->addURLToCombobox(media_url); + return sInstance->getHandle(); } bool LLFloaterURLEntry::addURLToCombobox(const std::string& media_url) { - if(! mMediaURLEdit->setSimple( media_url ) && ! media_url.empty()) - { - mMediaURLEdit->add( media_url ); - mMediaURLEdit->setSimple( media_url ); - return true; - } - - // URL was not added for whatever reason (either it was empty or already existed) - return false; + if(! mMediaURLEdit->setSimple( media_url ) && ! media_url.empty()) + { + mMediaURLEdit->add( media_url ); + mMediaURLEdit->setSimple( media_url ); + return true; + } + + // URL was not added for whatever reason (either it was empty or already existed) + return false; } // static @@ -150,49 +150,49 @@ bool LLFloaterURLEntry::addURLToCombobox(const std::string& media_url) //----------------------------------------------------------------------------- void LLFloaterURLEntry::onBtnOK( void* userdata ) { - LLFloaterURLEntry *self =(LLFloaterURLEntry *)userdata; - - std::string media_url = self->mMediaURLEdit->getValue().asString(); - self->mMediaURLEdit->remove(media_url); - LLURLHistory::removeURL("parcel", media_url); - if(self->addURLToCombobox(media_url)) - { - // Add this url to the parcel collection - LLURLHistory::addURL("parcel", media_url); - } - - // show progress bar here? - getWindow()->incBusyCount(); - self->getChildView("loading_label")->setVisible( true); - - // leading whitespace causes problems with the MIME-type detection so strip it - LLStringUtil::trim( media_url ); - - // First check the URL scheme - LLURI url(media_url); - std::string scheme = url.scheme(); - - // We assume that an empty scheme is an http url, as this is how we will treat it. - if(scheme == "") - { - scheme = "https"; - } - - if(!media_url.empty() && - (scheme == "http" || scheme == "https")) - { + LLFloaterURLEntry *self =(LLFloaterURLEntry *)userdata; + + std::string media_url = self->mMediaURLEdit->getValue().asString(); + self->mMediaURLEdit->remove(media_url); + LLURLHistory::removeURL("parcel", media_url); + if(self->addURLToCombobox(media_url)) + { + // Add this url to the parcel collection + LLURLHistory::addURL("parcel", media_url); + } + + // show progress bar here? + getWindow()->incBusyCount(); + self->getChildView("loading_label")->setVisible( true); + + // leading whitespace causes problems with the MIME-type detection so strip it + LLStringUtil::trim( media_url ); + + // First check the URL scheme + LLURI url(media_url); + std::string scheme = url.scheme(); + + // We assume that an empty scheme is an http url, as this is how we will treat it. + if(scheme == "") + { + scheme = "https"; + } + + if(!media_url.empty() && + (scheme == "http" || scheme == "https")) + { LLCoros::instance().launch("LLFloaterURLEntry::getMediaTypeCoro", boost::bind(&LLFloaterURLEntry::getMediaTypeCoro, media_url, self->getHandle())); - } - else - { - self->headerFetchComplete(0, scheme); - } - - // Grey the buttons until we get the header response - self->getChildView("ok_btn")->setEnabled(false); - self->getChildView("cancel_btn")->setEnabled(false); - self->getChildView("media_entry")->setEnabled(false); + } + else + { + self->headerFetchComplete(0, scheme); + } + + // Grey the buttons until we get the header response + self->getChildView("ok_btn")->setEnabled(false); + self->getChildView("cancel_btn")->setEnabled(false); + self->getChildView("media_entry")->setEnabled(false); self->getChildView("clear_btn")->setEnabled(false); } @@ -253,8 +253,8 @@ void LLFloaterURLEntry::getMediaTypeCoro(std::string url, LLHandle<LLFloater> pa //----------------------------------------------------------------------------- void LLFloaterURLEntry::onBtnCancel( void* userdata ) { - LLFloaterURLEntry *self =(LLFloaterURLEntry *)userdata; - self->closeFloater(); + LLFloaterURLEntry *self =(LLFloaterURLEntry *)userdata; + self->closeFloater(); } // static @@ -263,32 +263,32 @@ void LLFloaterURLEntry::onBtnCancel( void* userdata ) //----------------------------------------------------------------------------- void LLFloaterURLEntry::onBtnClear( void* userdata ) { - LLNotificationsUtil::add( "ConfirmClearMediaUrlList", LLSD(), LLSD(), - boost::bind(&LLFloaterURLEntry::callback_clear_url_list, (LLFloaterURLEntry*)userdata, _1, _2) ); + LLNotificationsUtil::add( "ConfirmClearMediaUrlList", LLSD(), LLSD(), + boost::bind(&LLFloaterURLEntry::callback_clear_url_list, (LLFloaterURLEntry*)userdata, _1, _2) ); } bool LLFloaterURLEntry::callback_clear_url_list(const LLSD& notification, const LLSD& response) { - S32 option = LLNotificationsUtil::getSelectedOption(notification, response); - if ( option == 0 ) // YES - { - // clear saved list - LLCtrlListInterface* url_list = childGetListInterface("media_entry"); - if ( url_list ) - { - url_list->operateOnAll( LLCtrlListInterface::OP_DELETE ); - } - - // clear current contents of combo box - mMediaURLEdit->clear(); - - // clear stored version of list - LLURLHistory::clear("parcel"); - - // cleared the list so disable Clear button - getChildView("clear_btn")->setEnabled(false ); - } - return false; + S32 option = LLNotificationsUtil::getSelectedOption(notification, response); + if ( option == 0 ) // YES + { + // clear saved list + LLCtrlListInterface* url_list = childGetListInterface("media_entry"); + if ( url_list ) + { + url_list->operateOnAll( LLCtrlListInterface::OP_DELETE ); + } + + // clear current contents of combo box + mMediaURLEdit->clear(); + + // clear stored version of list + LLURLHistory::clear("parcel"); + + // cleared the list so disable Clear button + getChildView("clear_btn")->setEnabled(false ); + } + return false; } void LLFloaterURLEntry::onClose( bool app_quitting ) |