diff options
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/llfirstuse.cpp | 6 | ||||
-rw-r--r-- | indra/newview/llfirstuse.h | 2 | ||||
-rw-r--r-- | indra/newview/llfloaterbuycontents.cpp | 5 | ||||
-rw-r--r-- | indra/newview/llfloatermediabrowser.cpp | 5 | ||||
-rw-r--r-- | indra/newview/llmediactrl.cpp | 6 | ||||
-rw-r--r-- | indra/newview/llsidepanelinventory.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llviewermessage.cpp | 13 | ||||
-rw-r--r-- | indra/newview/llviewerparcelmedia.cpp | 6 | ||||
-rw-r--r-- | indra/newview/llweb.cpp | 7 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/widgets/text_editor.xml | 1 |
10 files changed, 45 insertions, 8 deletions
diff --git a/indra/newview/llfirstuse.cpp b/indra/newview/llfirstuse.cpp index 038579c0bd..c153f8b787 100644 --- a/indra/newview/llfirstuse.cpp +++ b/indra/newview/llfirstuse.cpp @@ -90,7 +90,7 @@ void LLFirstUse::sit(bool enable) } // static -void LLFirstUse::inventoryOffer(bool enable) +void LLFirstUse::newInventory(bool enable) { firstUseNotification("FirstInventoryOffer", enable, "HintInventory", LLSD(), LLSD().with("target", "inventory_btn").with("direction", "left")); } @@ -147,6 +147,8 @@ void LLFirstUse::firstUseNotification(const std::string& control_var, bool enabl { LL_DEBUGS("LLFirstUse") << "Disabling first use notification " << notification_name << LL_ENDL; LLNotifications::instance().cancelByName(notification_name); + // redundantly clear settings var here, in case there are no notifications to cancel + gWarningSettings.setBOOL(control_var, FALSE); } } @@ -157,7 +159,7 @@ void LLFirstUse::init() static bool initialized = false; if (!initialized) { - LLNotifications::instance().getChannel("Hints")->connectChanged(processNotification); + LLNotifications::instance().getChannel("Hints")->connectChanged(&processNotification); } initialized = true; } diff --git a/indra/newview/llfirstuse.h b/indra/newview/llfirstuse.h index 9c4ab14006..174706f1f4 100644 --- a/indra/newview/llfirstuse.h +++ b/indra/newview/llfirstuse.h @@ -95,7 +95,7 @@ public: static void notUsingDestinationGuide(bool enable = true); static void notUsingSidePanel(bool enable = true); static void notMoving(bool enable = true); - static void inventoryOffer(bool enable = true); + static void newInventory(bool enable = true); static void receiveLindens(bool enable = true); static void useSandbox(); diff --git a/indra/newview/llfloaterbuycontents.cpp b/indra/newview/llfloaterbuycontents.cpp index 3cdd7b801b..8e93a6bf03 100644 --- a/indra/newview/llfloaterbuycontents.cpp +++ b/indra/newview/llfloaterbuycontents.cpp @@ -47,6 +47,7 @@ #include "llinventorydefines.h" #include "llinventoryfunctions.h" #include "llinventorymodel.h" // for gInventory +#include "llfirstuse.h" #include "llfloaterreg.h" #include "llfloaterinventory.h" // for LLInventoryIcon::getIcon #include "llnotificationsutil.h" @@ -289,6 +290,10 @@ void LLFloaterBuyContents::onClickBuy() // it doesn't match region info then sale is canceled. LLSelectMgr::getInstance()->sendBuy(gAgent.getID(), category_id, mSaleInfo); + // NOTE: do this here instead of on receipt of object, since contents are transfered + // via a generic BulkUpdateInventory message with no way of distinguishing it from + // other inventory operations + LLFirstUse::newInventory(); closeFloater(); } diff --git a/indra/newview/llfloatermediabrowser.cpp b/indra/newview/llfloatermediabrowser.cpp index ad996b5dc8..bf797fdc95 100644 --- a/indra/newview/llfloatermediabrowser.cpp +++ b/indra/newview/llfloatermediabrowser.cpp @@ -223,6 +223,11 @@ void LLFloaterMediaBrowser::handleMediaEvent(LLPluginClassMedia* self, EMediaEve getChildView("back")->setEnabled(self->getHistoryBackAvailable()); getChildView("forward")->setEnabled(self->getHistoryForwardAvailable()); } + else if(event == MEDIA_EVENT_CLOSE_REQUEST) + { + // The browser instance wants its window closed. + closeFloater(); + } } void LLFloaterMediaBrowser::setCurrentURL(const std::string& url) { diff --git a/indra/newview/llmediactrl.cpp b/indra/newview/llmediactrl.cpp index d6d128eb29..0739125081 100644 --- a/indra/newview/llmediactrl.cpp +++ b/indra/newview/llmediactrl.cpp @@ -956,6 +956,12 @@ void LLMediaCtrl::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event) LL_DEBUGS("Media") << "Media event: MEDIA_EVENT_NAME_CHANGED" << LL_ENDL; }; break; + + case MEDIA_EVENT_CLOSE_REQUEST: + { + LL_DEBUGS("Media") << "Media event: MEDIA_EVENT_CLOSE_REQUEST" << LL_ENDL; + } + break; }; // chain all events to any potential observers of this object. diff --git a/indra/newview/llsidepanelinventory.cpp b/indra/newview/llsidepanelinventory.cpp index cdd2761024..1316bf0c57 100644 --- a/indra/newview/llsidepanelinventory.cpp +++ b/indra/newview/llsidepanelinventory.cpp @@ -129,7 +129,7 @@ BOOL LLSidepanelInventory::postBuild() void LLSidepanelInventory::onOpen(const LLSD& key) { - LLFirstUse::inventoryOffer(false); + LLFirstUse::newInventory(false); if(key.size() == 0) return; diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 9bb734a3d3..71dff61f41 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -937,6 +937,15 @@ protected: //one global instance to bind them LLOpenTaskOffer* gNewInventoryObserver=NULL; +class LLNewInventoryHintObserver : public LLInventoryAddedObserver +{ +protected: + /*virtual*/ void done() + { + LLFirstUse::newInventory(); + } +}; + void start_new_inventory_observer() { if (!gNewInventoryObserver) //task offer observer @@ -952,6 +961,8 @@ void start_new_inventory_observer() gInventoryMoveObserver = new LLViewerInventoryMoveFromWorldObserver; gInventory.addObserver(gInventoryMoveObserver); } + + gInventory.addObserver(new LLNewInventoryHintObserver()); } class LLDiscardAgentOffer : public LLInventoryFetchItemsObserver @@ -1764,8 +1775,6 @@ void inventory_offer_handler(LLOfferInfo* info) return; } - LLFirstUse::inventoryOffer(); - // Avoid the Accept/Discard dialog if the user so desires. JC if (gSavedSettings.getBOOL("AutoAcceptNewInventory") && (info->mType == LLAssetType::AT_NOTECARD diff --git a/indra/newview/llviewerparcelmedia.cpp b/indra/newview/llviewerparcelmedia.cpp index 202f8822e3..e1d88c799b 100644 --- a/indra/newview/llviewerparcelmedia.cpp +++ b/indra/newview/llviewerparcelmedia.cpp @@ -574,6 +574,12 @@ void LLViewerParcelMedia::handleMediaEvent(LLPluginClassMedia* self, EMediaEvent LL_DEBUGS("Media") << "Media event: MEDIA_EVENT_NAME_CHANGED" << LL_ENDL; }; break; + + case MEDIA_EVENT_CLOSE_REQUEST: + { + LL_DEBUGS("Media") << "Media event: MEDIA_EVENT_CLOSE_REQUEST" << LL_ENDL; + } + break; }; } diff --git a/indra/newview/llweb.cpp b/indra/newview/llweb.cpp index b61109d490..c6219334f4 100644 --- a/indra/newview/llweb.cpp +++ b/indra/newview/llweb.cpp @@ -86,7 +86,12 @@ void LLWeb::initClass() // static void LLWeb::loadURL(const std::string& url, const std::string& target) { - if (gSavedSettings.getBOOL("UseExternalBrowser") || (target == "_external")) + if(target == "_internal") + { + // Force load in the internal browser, as if with a blank target. + loadURLInternal(url); + } + else if (gSavedSettings.getBOOL("UseExternalBrowser") || (target == "_external")) { loadURLExternal(url); } diff --git a/indra/newview/skins/default/xui/en/widgets/text_editor.xml b/indra/newview/skins/default/xui/en/widgets/text_editor.xml index 180120ec89..0f7f50b312 100644 --- a/indra/newview/skins/default/xui/en/widgets/text_editor.xml +++ b/indra/newview/skins/default/xui/en/widgets/text_editor.xml @@ -2,5 +2,4 @@ <!-- Core parameters are in simple_text_editor.xml --> <text_editor parse_urls="false" - text_readonly_color="LabelDisabledColor" show_context_menu="true"/> |