This commit is contained in:
Shyotl
2020-04-01 19:26:41 -05:00
31 changed files with 94 additions and 61 deletions

View File

@@ -1933,38 +1933,6 @@
<key>version</key>
<string>7.11.1.297294</string>
</map>
<key>modernjson</key>
<map>
<key>copyright</key>
<string>Copyright (c) 2013-2018 Niels Lohmann</string>
<key>description</key>
<string>JSON for Modern C++</string>
<key>license</key>
<string>MIT</string>
<key>license_file</key>
<string>LICENSES/modernjson.txt</string>
<key>name</key>
<string>modernjson</string>
<key>platforms</key>
<map>
<key>common</key>
<map>
<key>archive</key>
<map>
<key>hash</key>
<string>6f11eca7e2a6ca61f9217e949a64f026</string>
<key>hash_algorithm</key>
<string>md5</string>
<key>url</key>
<string>https://depot.alchemyviewer.org/pub/common/lib/modernjson-3.2.0-common-201809210551.tar.bz2</string>
</map>
<key>name</key>
<string>common</string>
</map>
</map>
<key>version</key>
<string>3.2.0</string>
</map>
<key>nvapi</key>
<map>
<key>copyright</key>

View File

@@ -50,7 +50,6 @@ set(cmake_SOURCE_FILES
GooglePerfTools.cmake
Hunspell.cmake
JPEG.cmake
Json.cmake
LLAddBuildTest.cmake
LLAppearance.cmake
LLAudio.cmake

View File

@@ -15,10 +15,15 @@ FetchContent_Declare(
GIT_REPOSITORY https://github.com/fmtlib/fmt.git
GIT_TAG 6.1.2
)
FetchContent_Declare(
nlohmann_json
GIT_REPOSITORY https://github.com/nlohmann/json.git
GIT_TAG v3.7.3
)
FetchContent_Declare(
absl
GIT_REPOSITORY https://github.com/abseil/abseil-cpp.git
GIT_TAG 29235139149790f5afc430c11cec8f1eb1677607
GIT_TAG 0033c9ea91a52ade7c6b725aa2ef3cbe15463421
)
# This is a hack because absl has dumb cmake
@@ -44,5 +49,14 @@ if(WINDOWS)
FetchContent_MakeAvailable(fmt)
endif()
# Typically you don't care so much for a third party library's tests to be
# run from your own project's code.
set(JSON_BuildTests OFF CACHE INTERNAL "")
# If you only include this third party in PRIVATE source files, you do not
# need to install it when your main project gets installed.
set(JSON_Install OFF CACHE INTERNAL "")
FetchContent_MakeAvailable(nlohmann_json)
unset(CMAKE_FOLDER)
unset(CMAKE_POSITION_INDEPENDENT_CODE)

View File

@@ -12,7 +12,6 @@ include(Linking)
include(Boost)
include(OpenSSL)
include(LLSharedLibs)
include(Json)
include(Copy3rdPartyLibs)
include(ZLIB)
include(URIPARSER)
@@ -300,6 +299,7 @@ target_link_libraries(
${Boost_SYSTEM_LIBRARY}
${CORESERVICES_LIBRARY}
${URIPARSER_LIBRARY}
nlohmann_json::nlohmann_json
${RT_LIBRARY}
)

View File

@@ -18,7 +18,6 @@ include(FMODSTUDIO)
include(GeneratePrecompiledHeader)
include(GLOD)
include(Hunspell)
include(Json)
include(LLAddBuildTest)
include(LLAppearance)
include(LLAudio)
@@ -63,7 +62,6 @@ include_directories(
${STATEMACHINE_INCLUDE_DIRS}
${DBUSGLIB_INCLUDE_DIRS}
${ZLIB_INCLUDE_DIRS}
${JSON_INCLUDE_DIR}
${GLOD_INCLUDE_DIR}
${LLAUDIO_INCLUDE_DIRS}
${LLCHARACTER_INCLUDE_DIRS}
@@ -1710,6 +1708,7 @@ target_link_libraries(${VIEWER_BINARY_NAME}
${LLAPPEARANCE_LIBRARIES}
absl::flat_hash_map
absl::node_hash_map
nlohmann_json::nlohmann_json
${FMT_LIBRARY}
)

View File

@@ -58,6 +58,7 @@ LLFloaterInspect::LLFloaterInspect(const LLSD&)
mDirty(FALSE)
{
mCommitCallbackRegistrar.add("Inspect.OwnerProfile", boost::bind(&LLFloaterInspect::onClickOwnerProfile, this));
mCommitCallbackRegistrar.add("Inspect.LastOwnerProfile", boost::bind(&LLFloaterInspect::onClickLastOwnerProfile, this));
mCommitCallbackRegistrar.add("Inspect.CreatorProfile", boost::bind(&LLFloaterInspect::onClickCreatorProfile, this));
mCommitCallbackRegistrar.add("Inspect.SelectObject", boost::bind(&LLFloaterInspect::onSelectObject, this));
LLUICtrlFactory::getInstance()->buildFloater(this, "floater_inspect.xml");
@@ -166,6 +167,36 @@ void LLFloaterInspect::onClickOwnerProfile()
}
}
void LLFloaterInspect::onClickLastOwnerProfile()
{
if(mObjectList->getAllSelected().size() == 0) return;
LLScrollListItem* first_selected =mObjectList->getFirstSelected();
if (first_selected)
{
LLUUID selected_id = first_selected->getUUID();
struct f : public LLSelectedNodeFunctor
{
LLUUID obj_id;
f(const LLUUID& id) : obj_id(id) {}
virtual bool apply(LLSelectNode* node)
{
return (obj_id == node->getObject()->getID());
}
} func(selected_id);
LLSelectNode* node = mObjectSelection->getFirstNode(&func);
if(node)
{
const LLUUID& last_owner_id = node->mPermissions->getLastOwner();
// [RLVa:KB] - Checked: 2010-08-25 (RLVa-1.2.2a) | Modified: RLVa-1.0.0e
if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES) || gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMETAGS))
if (last_owner_id == node->mPermissions->getOwner()) return;
// [/RLVa:KB]
LLAvatarActions::showProfile(last_owner_id);
}
}
}
void LLFloaterInspect::onSelectObject()
{
if(LLFloaterInspect::getSelectedUUID() != LLUUID::null)

View File

@@ -60,6 +60,7 @@ public:
virtual void onFocusReceived();
void onClickCreatorProfile();
void onClickOwnerProfile();
void onClickLastOwnerProfile();
void onSelectObject();
LLScrollListCtrl* mObjectList;

View File

@@ -148,7 +148,7 @@ S32 LLFloaterNameDesc::getExpectedUploadCost() const
LLAssetType::EType asset_type = exten == "wav" ? LLAssetType::AT_SOUND
: (exten == "anim" || exten == "bvh") ? LLAssetType::AT_ANIMATION
: exten != "lsl" ? LLAssetType::AT_TEXTURE
: asset_type = LLAssetType::AT_NONE;
: LLAssetType::AT_NONE;
S32 upload_cost = -1;
if (asset_type != LLAssetType::AT_NONE)

View File

@@ -150,8 +150,9 @@ LLGroupNotifyBox::LLGroupNotifyBox(const std::string& subject,
auto links = new LLTextEditor(std::string("group"), LLRect(x, y + 5, RIGHT, bottom), S32_MAX, LLStringUtil::null, nullptr, false, true); // Top adjustment to line up with icon
links->setBorderVisible(FALSE);
links->setReadOnlyFgColor(text_color);
links->setReadOnlyBgColor(LLColor4::transparent);
static const auto header_bg_color = gColors.getColor("GroupNotifyHeaderBGColor");
if (header_bg_color[VALPHA]) links->setReadOnlyFgColor(text_color);
links->setReadOnlyBgColor(header_bg_color);
links->setEnabled(false);
links->setTakesNonScrollClicks(TRUE);
links->setHideScrollbarForShortDocs(TRUE);

View File

@@ -1842,7 +1842,7 @@ void LLIMProcessing::processNewMessage(const LLUUID& from_id,
strings.push_back(from_id.asString());
send_generic_message("requestonlinenotification", strings);
args["NAME"] = name;
args["NAME"] = LLAvatarActions::getSLURL(from_id);
LLSD payload;
payload["from_id"] = from_id;
LLAvatarNameCache::get(from_id, boost::bind(&notification_display_name_callback, _1, _2, "FriendshipAccepted", args, payload));

View File

@@ -224,7 +224,9 @@ LLNotifyBox::LLNotifyBox(LLNotificationPtr notification)
if (!mIsCaution || !mIsTip) // We could do some extra color math here to determine if bg's too close to link color, but let's just cross with the link color instead
mText->setLinkColor(new LLColor4(lerp(text_color, gSavedSettings.getColor4("HTMLLinkColor"), 0.4f)));
mText->setTabStop(FALSE); // can't tab to it (may be a problem for scrolling via keyboard)
mText->appendText(message,false,false,style,!layout_script_dialog); // Now we can set the text, since colors have been set.
mText->appendText(message,false,false,style); // Now we can set the text, since colors have been set.
if (is_textbox || layout_script_dialog)
mText->appendText(notification->getSubstitutions()["SCRIPT_MESSAGE"], false, true, style, false);
addChild(mText);
}

View File

@@ -32,6 +32,7 @@
#include "lllineeditor.h"
#include "llfloaterexperienceprofile.h"
#include "llfloaterexperiences.h"
//#include "llfloaterreg.h"
#include "lluictrlfactory.h"
#include "llscrolllistctrl.h"
@@ -62,13 +63,12 @@ const static std::string columnSpace = " ";
/* Singu Note: We do not have injectors, so we'll have to call this function instead
static LLPanelInjector<LLPanelExperiencePicker> t_panel_status("llpanelexperiencepicker");
*/
void* create_xp_picker(void* data) { return new LLPanelExperiencePicker(false); }
LLPanelExperiencePicker::LLPanelExperiencePicker(bool build)
LLPanelExperiencePicker::LLPanelExperiencePicker()
:LLPanel()
{
//buildFromFile("panel_experience_search.xml");
if (build) LLUICtrlFactory::getInstance()->buildPanel(this, "panel_experience_search.xml"); // Singu Note: Use filename in xml
LLUICtrlFactory::getInstance()->buildPanel(this, "panel_experience_search.xml"); // Singu Note: Use filename in xml
setDefaultFilters();
}
@@ -288,7 +288,7 @@ void LLPanelExperiencePicker::onBtnSelect()
void LLPanelExperiencePicker::onBtnClose()
{
LLFloater* floater = static_cast<LLFloater*>(getParent());
LLFloater* floater = mSelectionCallback ? static_cast<LLFloater*>(getParent()) : LLFloaterExperiences::findInstance();
if (floater)
{
floater->close();

View File

@@ -32,7 +32,6 @@
class LLScrollListCtrl;
class LLLineEditor;
void* create_xp_picker(void* data);
class LLPanelExperiencePicker final : public LLPanel
{
public:
@@ -44,7 +43,7 @@ public:
typedef std::function<bool (const LLSD&)> filter_function;
typedef std::vector<filter_function> filter_list;
LLPanelExperiencePicker(bool build = true);
LLPanelExperiencePicker();
virtual ~LLPanelExperiencePicker();
BOOL postBuild() override;

View File

@@ -7020,7 +7020,8 @@ void process_script_dialog(LLMessageSystem* msg, void**)
LLSD args;
args["TITLE"] = object_name;
args["MESSAGE"] = message;
args["MESSAGE"] = LLStringUtil::null;
args["SCRIPT_MESSAGE"] = message;
args["CHANNEL"] = chat_channel;
LLNotificationPtr notification;
char const* name = (is_group && !is_text_box) ? "GROUPNAME" : "NAME";

View File

@@ -103,6 +103,7 @@
<NotifyCautionBoxColor value="254, 209, 118, 255" /> <!-- the background color of caution permissions prompts -->
<NotifyCautionWarnColor value="0, 0, 0, 255" /> <!-- the foreground color of the special title text in caution permissions prompts -->
<GroupNotifyBoxColor value="66, 66, 66, 255" />
<GroupNotifyHeaderBGColor value="0, 0, 0, 0" />
<GroupNotifyTextColor value="255, 255, 255, 128" />
<!-- CHAT AND IM HISTORY TEXTBOX COLORS -->

View File

@@ -99,6 +99,7 @@
<NotifyCautionBoxColor value="254, 209, 118, 255"/> <!-- the background color of caution permissions prompts -->
<NotifyCautionWarnColor value="0, 0, 0, 255"/> <!-- the foreground color of the special title text in caution permissions prompts -->
<GroupNotifyBoxColor value="66, 66, 66, 255"/>
<GroupNotifyHeaderBGColor value="0, 0, 0, 0" />
<GroupNotifyTextColor value="200, 200, 200, 255"/>
<!-- CHAT AND IM HISTORY TEXTBOX COLORS -->

View File

@@ -100,6 +100,7 @@
<NotifyCautionBoxColor value="254, 209, 118, 255" /> <!-- the background color of caution permissions prompts -->
<NotifyCautionWarnColor value="0, 0, 0, 255" /> <!-- the foreground color of the special title text in caution permissions prompts -->
<GroupNotifyBoxColor value="189, 0, 0, 240" />
<GroupNotifyHeaderBGColor value="0, 0, 0, 0" />
<GroupNotifyTextColor value="1, 0, 0, 255" />
<!-- CHAT AND IM HISTORY TEXTBOX COLORS -->

View File

@@ -103,6 +103,7 @@
<NotifyCautionBoxColor value="254, 209, 118, 255" /> <!-- the background color of caution permissions prompts -->
<NotifyCautionWarnColor value="0, 0, 0, 255" /> <!-- the foreground color of the special title text in caution permissions prompts -->
<GroupNotifyBoxColor value="70, 170, 255, 255" />
<GroupNotifyHeaderBGColor value="255, 255, 255, 184" />
<GroupNotifyTextColor value="0, 30, 60, 255" />
<!-- CHAT AND IM HISTORY TEXTBOX COLORS -->

View File

@@ -64,7 +64,6 @@
height="530"
left="0"
name="xp_scroll"
opaque="true"
bottom="0"
width="348">
<panel

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<floater can_close="true" can_drag_on_left="false" can_minimize="true" can_resize="true"
min_height="300" min_width="400" name="inspect"
min_height="300" min_width="480" name="inspect"
rect_control="FloaterInspectRect" title="Inspect Objects">
<scroll_list bottom="30" can_resize="false" column_padding="0" draw_heading="true"
follows="top|right|left|bottom" left="10" multi_select="false"
@@ -22,12 +22,19 @@
<button bottom="5" follows="left|bottom" font="SansSerif" halign="center" height="20"
label="See Owner Profile..." label_selected="" left="10"
mouse_opaque="true" name="button owner"
tool_tip="See profile of the highlighted object&apos;s owner" width="150" >
tool_tip="See profile of the highlighted object&apos;s owner" width="152" >
<button.commit_callback
function="Inspect.OwnerProfile" />
</button>
<button bottom="5" follows="left|bottom" font="SansSerif" halign="center" height="20"
label="See Creator Profile..." label_selected="" left="170"
label="See Last Owner Profile..." label_selected="" left_delta="154"
mouse_opaque="true" name="button last owner"
tool_tip="See profile of the highlighted object&apos;s last owner" width="152" >
<button.commit_callback
function="Inspect.LastOwnerProfile" />
</button>
<button bottom="5" follows="left|bottom" font="SansSerif" halign="center" height="20"
label="See Creator Profile..." label_selected="" left_delta="154"
mouse_opaque="true" name="button creator"
tool_tip="See profile of the highlighted object&apos;s original creator"
width="150" >

View File

@@ -7862,7 +7862,7 @@ Offer a teleport?
icon="notify.tga"
name="FriendshipAccepted"
log_to_im="true"
type="notify">
type="notifytip">
<tag>friendship</tag>
[NAME] accepted your friendship offer.
</notification>
@@ -7872,7 +7872,7 @@ Offer a teleport?
name="FriendshipDeclined"
log_to_im="true"
persist="true"
type="notify">
type="notifytip">
<tag>friendship</tag>
[NAME] declined your friendship offer.
</notification>

View File

@@ -3609,6 +3609,7 @@ If you continue to receive this message, please contact Second Life support for
<string name="Debits">Debits</string>
<string name="Total">Total</string>
<string name="NoGroupDataFound">No group data found for group </string>
<string name="AlreadyInGroup">You are already in this group </string>
<!-- floater IM bonus_info: When a Linden with Admin/god status receives a new IM this displays the estate (Mainland vs. teen grid) of the source avatar.
This is to help Lindens when answering questions. -->

View File

@@ -3386,11 +3386,11 @@ L'objet [OBJECTFROMNAME] appartenant à un utilisateur inconnu vous a donné un(
</notification>
<notification name="FriendshipAccepted">
[NAME_SLURL] a accepté votre amitié. [MESSAGE]
[NAME] a accepté votre amitié.
</notification>
<notification name="FriendshipDeclined">
[NAME_SLURL] a refusé votre amitié. [MESSAGE]
[NAME] a refusé votre amitié.
</notification>
<notification name="OfferCallingCard">

View File

@@ -99,6 +99,7 @@
<NotifyCautionBoxColor value="0, 0, 0, 255" /> <!-- the background color of caution permissions prompts -->
<NotifyCautionWarnColor value="169, 216, 175, 255" /> <!-- the foreground color of the special title text in caution permissions prompts -->
<GroupNotifyBoxColor value="0, 0, 0, 255" />
<GroupNotifyHeaderBGColor value="0, 0, 0, 0" />
<GroupNotifyTextColor value="169, 216, 175, 255" />
<!-- CHAT AND IM HISTORY TEXTBOX COLORS -->

View File

@@ -103,6 +103,7 @@
<NotifyCautionBoxColor value="254, 209, 118, 255" /> <!-- the background color of caution permissions prompts -->
<NotifyCautionWarnColor value="0, 0, 0, 255" /> <!-- the foreground color of the special title text in caution permissions prompts -->
<GroupNotifyBoxColor value="66, 66, 66, 255" />
<GroupNotifyHeaderBGColor value="0, 0, 0, 0" />
<GroupNotifyTextColor value="255, 255, 255, 128" />
<!-- CHAT AND IM HISTORY TEXTBOX COLORS -->

View File

@@ -99,6 +99,7 @@
<NotifyCautionBoxColor value="254, 209, 118, 255" /> <!-- the background color of caution permissions prompts -->
<NotifyCautionWarnColor value="0, 0, 0, 255" /> <!-- the foreground color of the special title text in caution permissions prompts -->
<GroupNotifyBoxColor value="189, 0, 0, 240" />
<GroupNotifyHeaderBGColor value="0, 0, 0, 0" />
<GroupNotifyTextColor value="1, 0, 0, 255" />
<!-- CHAT AND IM HISTORY TEXTBOX COLORS -->

View File

@@ -99,6 +99,7 @@
<NotifyCautionBoxColor value="254, 209, 118, 255" /> <!-- the background color of caution permissions prompts -->
<NotifyCautionWarnColor value="0, 0, 0, 255" /> <!-- the foreground color of the special title text in caution permissions prompts -->
<GroupNotifyBoxColor value="189, 0, 0, 240" />
<GroupNotifyHeaderBGColor value="0, 0, 0, 0" />
<GroupNotifyTextColor value="1, 0, 0, 255" />
<!-- CHAT AND IM HISTORY TEXTBOX COLORS -->

View File

@@ -103,6 +103,7 @@
<NotifyCautionBoxColor value="210, 210, 210, 255" /> <!-- the background color of caution permissions prompts -->
<NotifyCautionWarnColor value="210, 210, 210, 255" /> <!-- the foreground color of the special title text in caution permissions prompts -->
<GroupNotifyBoxColor value="255, 255, 255, 255" />
<GroupNotifyHeaderBGColor value="0, 0, 0, 0" />
<GroupNotifyTextColor value="0, 0, 0, 255" />
<!-- CHAT AND IM HISTORY TEXTBOX COLORS -->

View File

@@ -99,6 +99,7 @@
<NotifyCautionBoxColor value="210, 210, 210, 255" /> <!-- the background color of caution permissions prompts -->
<NotifyCautionWarnColor value="210, 210, 210, 255" /> <!-- the foreground color of the special title text in caution permissions prompts -->
<GroupNotifyBoxColor value="255, 255, 255, 255" />
<GroupNotifyHeaderBGColor value="0, 0, 0, 0" />
<GroupNotifyTextColor value="0, 0, 0, 255" />
<!-- CHAT AND IM HISTORY TEXTBOX COLORS -->

View File

@@ -103,6 +103,7 @@
<NotifyCautionBoxColor value="254, 209, 118, 255" /> <!-- the background color of caution permissions prompts -->
<NotifyCautionWarnColor value="0, 0, 0, 255" /> <!-- the foreground color of the special title text in caution permissions prompts -->
<GroupNotifyBoxColor value="70, 70, 70, 255" />
<GroupNotifyHeaderBGColor value="0, 0, 0, 0" />
<GroupNotifyTextColor value="0, 30, 60, 255" />
<!-- CHAT AND IM HISTORY TEXTBOX COLORS -->

View File

@@ -1147,13 +1147,13 @@ class LinuxManifest(ViewerManifest):
def is_packaging_viewer(self):
super(LinuxManifest, self).is_packaging_viewer()
return True # We always want a packaged viewer even without archive.
return 'package' in self.args['actions']
def do(self, *actions):
super(LinuxManifest, self).do(*actions)
if not 'package' in self.actions:
self.package_finish() # Always finish the package.
else:
self.package_finish() # Always finish the package.
if 'package' in self.actions:
# package_finish() was called by super.do() so just create the TAR.
self.create_archive()
return self.file_list