# Conflicts:
#	indra/newview/llexperiencelog.cpp
This commit is contained in:
Liru Færs
2020-02-25 03:33:49 -05:00
6 changed files with 19 additions and 8 deletions

View File

@@ -2,7 +2,7 @@
<array>
<map>
<key>default_grids_version</key><string>22</string>
<key>default_grids_version</key><string>23</string>
</map>
<!-- Second Life -->
@@ -11,7 +11,7 @@
<key>gridname</key><string>Second Life</string>
<key>platform</key><string>SecondLife</string>
<key>loginuri</key><string>https://login.agni.lindenlab.com/cgi-bin/login.cgi</string>
<key>loginpage</key><string>http://viewer-login.agni.lindenlab.com/</string>
<key>loginpage</key><string>https://viewer-splash.secondlife.com/</string>
<key>helperuri</key><string>https://secondlife.com/helpers/</string>
<key>website</key><string>http://secondlife.com/</string>
<key>support</key><string>http://secondlife.com/support/</string>
@@ -26,7 +26,7 @@
<key>gridnick</key><string>secondlife_beta</string>
<key>gridname</key><string>Second Life BETA</string>
<key>helperuri</key><string>http://aditi-secondlife.webdev.lindenlab.com/helpers/</string>
<key>loginpage</key><string>http://viewer-login.agni.lindenlab.com/</string>
<key>loginpage</key><string>https://viewer-splash.secondlife.com/</string>
<key>loginuri</key><string>https://login.aditi.lindenlab.com/cgi-bin/login.cgi</string>
<key>password</key><string>http://secondlife.com/account/request.php</string>
<key>platform</key><string>SecondLife</string>

View File

@@ -36,7 +36,7 @@
#include "lldate.h"
class LLExperienceLogDispatchHandler : public LLDispatchHandler
class LLExperienceLogDispatchHandler final : public LLDispatchHandler
{
public:
bool operator()(
@@ -225,12 +225,13 @@ LLExperienceLog::~LLExperienceLog()
void LLExperienceLog::eraseExpired()
{
const auto& inst(*this); // Fixes Linux
std::vector<std::string> expired;
std::for_each(mEvents.beginMap(), mEvents.endMap(),
[&](const auto& event_pair)
{
const std::string& date = event_pair.first;
if (isExpired(date))
if (inst.isExpired(date))
{
expired.push_back(date);
}
@@ -242,7 +243,7 @@ void LLExperienceLog::eraseExpired()
}
}
bool LLExperienceLog::isExpired(const std::string& date)
bool LLExperienceLog::isExpired(const std::string& date) const
{
if (date.empty())
return true;

View File

@@ -61,7 +61,7 @@ public:
static void notify(LLSD& message);
static std::string getFilename();
static std::string getPermissionString(const LLSD& message, const std::string& base);
bool isExpired(const std::string& date);
bool isExpired(const std::string& date) const;
protected:
void handleExperienceMessage(LLSD& message);

View File

@@ -2964,6 +2964,12 @@ void LLFolderBridge::performAction(LLInventoryModel* model, std::string action)
LFFloaterInvPanel::show(LLSD().with("id", mUUID), cat->getName(), model);
return;
}
else if ("copy_folder_uuid" == action)
{
// Single folder only
gViewerWindow->getWindow()->copyTextToClipboard(utf8str_to_wstring(mUUID.asString()));
return;
}
else if ("paste" == action)
{
pasteFromClipboard();
@@ -3896,6 +3902,7 @@ void build_context_menu_folder_options(LLInventoryModel* model, const LLUUID& mU
if (listings_folder.notNull() && gInventory.isObjectDescendentOf(mUUID, listings_folder)) return;
items.push_back(std::string("Open Folder In New Window"));
items.push_back(std::string("Copy Folder UUID"));
LLFolderType::EType type = category->getPreferredType();
const bool is_system_folder = LLFolderType::lookupIsProtectedType(type);

View File

@@ -94,6 +94,9 @@
<menu_item_call label="Open in New Window" name="Open Folder In New Window">
<on_click function="Inventory.DoToSelected" userdata="open_in_new_window"/>
</menu_item_call>
<menu_item_call label="Copy Folder UUID" name="Copy Folder UUID">
<on_click function="Inventory.DoToSelected" userdata="copy_folder_uuid"/>
</menu_item_call>
<menu_item_call bottom_delta="-18" height="18" label="New Folder" left="0" mouse_opaque="true"
name="New Folder" width="128">
<on_click filter="" function="Inventory.DoCreate" userdata="category" />

View File

@@ -7164,7 +7164,7 @@ Event Notification:
<button
index="2"
name="Cancel"
text="Cancel"/>
text="Dismiss"/>
</form>
</notification>