diff --git a/indra/llui/llurlentry.cpp b/indra/llui/llurlentry.cpp index 6039cf19e1..82f2a74830 100644 --- a/indra/llui/llurlentry.cpp +++ b/indra/llui/llurlentry.cpp @@ -1358,6 +1358,25 @@ std::string LLUrlEntryTeleport::getLocation(const std::string &url) const return ::getStringAfterToken(url, "app/teleport/"); } +// Wear folder SLUrl +/// +/// FSUrlEntryWear Describes wear folder SLURL, e.g. +/// secondlife:///app/wear_folder/?folder_id=bedd047e-a3d7-23e6-57bc-1ef367d848e7 +/// +FSUrlEntryWear::FSUrlEntryWear() +{ + mPattern = boost::regex("(hop|secondlife|inworldz|iw):///app/wear_folder/\\S+", + boost::regex::perl|boost::regex::icase); + mMenuName = "menu_url_slapp.xml"; + mTooltip = LLTrans::getString("TooltipFSUrlEntryWear"); +} + +std::string FSUrlEntryWear::getLabel(const std::string &url, const LLUrlLabelCallback &cb) +{ + return LLTrans::getString("FSUrlEntryWearLabel"); +} +// + // // LLUrlEntrySL Describes a generic SLURL, e.g., a Url that starts // with secondlife:// (used as a catch-all for cases not matched above) diff --git a/indra/llui/llurlentry.h b/indra/llui/llurlentry.h index ebf6517e52..4e9b7cb066 100644 --- a/indra/llui/llurlentry.h +++ b/indra/llui/llurlentry.h @@ -499,6 +499,20 @@ public: /*virtual*/ std::string getLocation(const std::string &url) const; }; +// Wear folder SLUrl +/// +/// FSUrlEntryWear Describes wear folder SLURL, e.g. +/// secondlife:///app/wear_folder/?folder_id=bedd047e-a3d7-23e6-57bc-1ef367d848e7 +/// +class FSUrlEntryWear : public LLUrlEntryBase +{ +public: + FSUrlEntryWear(); + /*virtual*/ std::string getLabel(const std::string &url, const LLUrlLabelCallback &cb); +}; +// + + // FS Help SLUrl /// /// FSHelpDebugUrlEntrySL Describes a Firestorm Help SLURL, e.g. diff --git a/indra/llui/llurlregistry.cpp b/indra/llui/llurlregistry.cpp index 543d9b1d14..568ac92a4c 100644 --- a/indra/llui/llurlregistry.cpp +++ b/indra/llui/llurlregistry.cpp @@ -41,7 +41,7 @@ LLUrlRegistry::LLUrlRegistry() { // mUrlEntry.reserve(20); // [RLVa:KB] - Checked: 2010-11-01 (RLVa-1.2.2a) | Added: RLVa-1.2.2a - mUrlEntry.reserve(27); + mUrlEntry.reserve(28); // [/RLVa:KB] // Urls are matched in the order that they were registered @@ -84,6 +84,9 @@ LLUrlRegistry::LLUrlRegistry() registerUrl(new LLUrlEntryInventory()); registerUrl(new LLUrlEntryExperienceProfile()); registerUrl(new FSHelpDebugUrlEntrySL()); // FS Help SLUrl + // Wear folder SLUrl + mUrlEntryWear = new FSUrlEntryWear(); + registerUrl(mUrlEntryWear); //LLUrlEntrySL and LLUrlEntrySLLabel have more common pattern, //so it should be registered in the end of list registerUrl(new LLUrlEntrySL()); @@ -268,6 +271,13 @@ bool LLUrlRegistry::findUrl(const std::string &text, LLUrlMatch &match, const LL match_start = start; match_end = end; match_entry = url_entry; + + // Wear folder SLUrl + if (mUrlEntryWear == *it) + { + break; + } + // } } } diff --git a/indra/llui/llurlregistry.h b/indra/llui/llurlregistry.h index 9ea7cfc981..fad69cdd9f 100644 --- a/indra/llui/llurlregistry.h +++ b/indra/llui/llurlregistry.h @@ -98,6 +98,8 @@ private: LLUrlEntryBase* mUrlEntryNoLink; // Normalize only trusted URL LLUrlEntryBase* mUrlEntryTrustedUrl; + // Wear folder SLUrl + LLUrlEntryBase* mUrlEntryWear; }; #endif diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml index 3304bc31e2..8d65d7225b 100644 --- a/indra/newview/skins/default/xui/de/strings.xml +++ b/indra/newview/skins/default/xui/de/strings.xml @@ -708,6 +708,9 @@ Warten Sie kurz und versuchen Sie dann noch einmal, sich anzumelden. Anklicken, um das Fenster mit Debug-Einstellungen für diese Einstellung zu öffnen + + Anklicken, um den Inhalt eines Inventar-Ordners anzuziehen + Klicken, um eine E-Mail zu verfassen @@ -6949,4 +6952,7 @@ Ihre aktuelle Position: [AVATAR_POS] Nein + + Inventar-Ordner anziehen + diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 693cded6a7..071e520722 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -340,6 +340,7 @@ Please try logging in again in a minute. Click to view this location on a map Click to run the secondlife:// command Click to open the debug settings window for this setting + Click to wear the contents of an inventory folder Click to compose an email @@ -3144,4 +3145,5 @@ Your current position: [AVATAR_POS] Yes No + Wear inventory folder