Merged with RLVa-1.4.5 tip

Kitty Barnett 2012-03-10 21:38:23 +01:00
commit 6e0666adc3
45 changed files with 541 additions and 116 deletions

View File

@ -1,2 +1,2 @@
02ccf8ff503830827302748659f143ab6c76faa5
679a4a9e9060746c016b66cbdd495cc4cb523bf3
a09cee18138f2ef92d4ae4e6aee7003687b1e81e
f53367d8e293ee5cbe55cc38ea063ee3337c710e

View File

@ -1 +1 @@
1083ec4b1c22ba71baa9e0cd0f5182b7611476ea
d4a366ed0f30c33e7523dca6ea6d0c469961fe68

View File

@ -1 +1 @@
1083ec4b1c22ba71baa9e0cd0f5182b7611476ea
d4a366ed0f30c33e7523dca6ea6d0c469961fe68

View File

@ -1 +1 @@
59aa74f0bb69a1fc6e0e51778e378cd502b695af
16916a8818d9797d83fb3c4a07f31393e1eb331b

View File

@ -1 +1 @@
1bc0a35cd7054e0a3f6ab296fbd1f7bb8d2d097e
286d73ff5c19f6c00e023dc1b60975ed6bbe2872

View File

@ -275,5 +275,7 @@ a563f7e215c7883c1cfd20908085687a0ed96284 RLVa-1.4.0
40644beae9c4a617504163d5c9f195dc7bfff1b4 RLVa-1.4.1
8787094c309a44ca32b7472acc9217a3c37f00c3 RLVa-1.4.2
11c6c85ddd223bcbd6b3afc53f9a0f5fd349ba65 RLVa-1.4.3
53b44208d44a601fe24e78c1a1909dc82356cded RLVa-1.4.4
6522747820037cc11e5b7d0491a0a9808a958709 RLVa-1.4.5
a656486925e85b49757f272a685de2f888dfaa13 FS_preFUI
931cb0061118b59a6ef542d7695459cf956a3902 V/Dev-to-FSFUI

View File

@ -46,7 +46,7 @@ if (WINDOWS)
set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /Od /Zi /MDd /MP -D_SCL_SECURE_NO_WARNINGS=1"
CACHE STRING "C++ compiler debug options" FORCE)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO
"${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /Zi /MD /MP /Ob0 -D_SECURE_STL=0"
"${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /Od /Zi /MD /Ob0 /Gm -D_SECURE_STL=0"
CACHE STRING "C++ compiler release-with-debug options" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE
"${CMAKE_CXX_FLAGS_RELEASE} ${LL_CXX_FLAGS} /O2 /Zi /MD /MP /Ob2 /Oi /Ot /GF /Gy /arch:SSE2 -D_SECURE_STL=0 -D_HAS_ITERATOR_DEBUGGING=0"

View File

@ -272,6 +272,14 @@ LLFloaterReg::const_instance_list_t& LLFloaterReg::getFloaterList(const std::str
// Visibility Management
// [RLVa:KB] - Checked: 2012-02-07 (RLVa-1.4.5) | Added: RLVa-1.4.5
//static
bool LLFloaterReg::canShowInstance(const std::string& name, const LLSD& key)
{
return mValidateSignal(name, key);
}
// [/RLVa:KB]
//static
LLFloater* LLFloaterReg::showInstance(const std::string& name, const LLSD& key, BOOL focus)
{
@ -545,8 +553,16 @@ void LLFloaterReg::toggleInstanceOrBringToFront(const LLSD& sdname, const LLSD&
}
else if (!instance->isShown())
{
instance->openFloater(key);
instance->setVisibleAndFrontmost();
// [RLVa:KB] - Checked: 2011-12-17 (RLVa-1.4.5a) | Added: RLVa-1.4.5a
// [See LLFloaterReg::showInstance()]
if ( ((!sBlockShowFloaters) || (sAlwaysShowableList.find(name) != sAlwaysShowableList.end())) && (mValidateSignal(name, key)) )
{
instance->openFloater(key);
instance->setVisibleAndFrontmost();
}
// [/RLVa:KB]
// instance->openFloater(key);
// instance->setVisibleAndFrontmost();
}
// [SL:KB] - Patch: Chat-NearbyChatBar | Checked: 2011-11-23 (Catznip-3.2.0b) | Modified: Catznip-3.2.0b
else

View File

@ -123,6 +123,10 @@ public:
static const_instance_list_t& getFloaterList(const std::string& name);
// Visibility Management
// [RLVa:KB] - Checked: 2012-02-07 (RLVa-1.4.5) | Added: RLVa-1.4.5
// return false if floater can not be shown (=doesn't pass the validation filter)
static bool canShowInstance(const std::string& name, const LLSD& key = LLSD());
// [/RLVa:KB]
// return NULL if instance not found or can't create instance (no builder)
static LLFloater* showInstance(const std::string& name, const LLSD& key = LLSD(), BOOL focus = FALSE);
// Close a floater (may destroy or set invisible)

View File

@ -1383,6 +1383,9 @@ void LLToolBarButton::setEnabled(BOOL enabled)
mImageOverlayColor = mImageOverlayDisabledColor;
mImageOverlaySelectedColor = mImageOverlayDisabledColor;
}
// [RLVa:KB] - Checked: 2011-12-17 (RLVa-1.4.5a) | Added: RLVa-1.4.5a
LLButton::setEnabled(enabled);
// [/RLVa:KB]
}
const std::string LLToolBarButton::getToolTip() const

View File

@ -1648,6 +1648,9 @@ void LLUI::initClass(const settings_map_t& settings,
// Used by menus along with Floater.Toggle to display visibility as a check-mark
LLUICtrl::EnableCallbackRegistry::defaultRegistrar().add("Floater.Visible", boost::bind(&LLFloaterReg::instanceVisible, _2, LLSD()));
LLUICtrl::EnableCallbackRegistry::defaultRegistrar().add("Floater.IsOpen", boost::bind(&LLFloaterReg::instanceVisible, _2, LLSD()));
// [RLVa:KB] - Checked: 2012-02-07 (RLVa-1.4.5) | Added: RLVa-1.4.5
LLUICtrl::EnableCallbackRegistry::defaultRegistrar().add("Floater.CanShow", boost::bind(&LLFloaterReg::canShowInstance, _2, LLSD()));
// [/RLVa:KB]
// Parse the master list of commands
LLCommandManager::load();

View File

@ -7,8 +7,8 @@
tooltip_ref="Command_AboutLand_Tooltip"
execute_function="Floater.Toggle"
execute_parameters="about_land"
is_enabled_function="RLV.EnableIfNot"
is_enabled_parameters="showloc"
is_enabled_function="Floater.CanShow"
is_enabled_parameters="about_land"
is_running_function="Floater.IsOpen"
is_running_parameters="about_land"
/>

View File

@ -1396,7 +1396,7 @@
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
<integer>1</integer>
</map>
<key>RLVaHideLockedLayers</key>
<map>

View File

@ -86,14 +86,14 @@ LLAvatarListItem::LLAvatarListItem(bool not_from_ui_factory/* = true*/)
mProfileBtn(NULL),
mOnlineStatus(E_UNKNOWN),
mShowInfoBtn(true),
mShowVoiceVolume(false),
mShowProfileBtn(true),
mNearbyRange(false),
// [RLVa:KB] - Checked: 2010-04-05 (RLVa-1.2.2a) | Added: RLVa-1.2.0d
mRlvCheckShowNames(false),
// [/RLVa:KB]
mShowPermissions(false),
mHovered(false),
mShowVoiceVolume(false),
mNearbyRange(false),
mShowDisplayName(true),
mShowUsername(true),
mFirstSeen(time(NULL)),

View File

@ -56,7 +56,6 @@
#include "llworld.h"
#include "lluiconstants.h"
#include "llstring.h"
#include "llviewercontrol.h"
// [RLVa:KB] - Checked: 2010-04-22 (RLVa-1.2.0f)
#include "rlvcommon.h"

View File

@ -1275,7 +1275,7 @@ void LLFloaterPreference::refreshEnabledState()
ctrl_shader_enable->setEnabled(
fCtrlShaderEnable && ((!gRlvHandler.hasBehaviour(RLV_BHVR_SETENV)) || (!gSavedSettings.getBOOL("VertexShaderEnable"))) );
// [/RLVa:KB]
BOOL shaders = ctrl_shader_enable->get();
if (shaders)
{

View File

@ -36,6 +36,10 @@
//static
const std::string LLFloaterSidePanelContainer::sMainPanelName("main_panel");
// [RLVa:KB] - Checked: 2012-02-07 (RLVa-1.4.5) | Added: RLVa-1.4.5
LLFloaterSidePanelContainer::validate_signal_t LLFloaterSidePanelContainer::mValidateSignal;
// [/RLVa:KB]
LLFloaterSidePanelContainer::LLFloaterSidePanelContainer(const LLSD& key, const Params& params)
: LLFloater(key, params)
{
@ -80,10 +84,25 @@ LLPanel* LLFloaterSidePanelContainer::openChildPanel(const std::string& panel_na
return panel;
}
// [RLVa:KB] - Checked: 2012-02-07 (RLVa-1.4.5) | Added: RLVa-1.4.5
bool LLFloaterSidePanelContainer::canShowPanel(const std::string& floater_name, const LLSD& key)
{
return mValidateSignal(floater_name, sMainPanelName, key);
}
bool LLFloaterSidePanelContainer::canShowPanel(const std::string& floater_name, const std::string& panel_name, const LLSD& key)
{
return mValidateSignal(floater_name, panel_name, key);
}
// [/RLVa:KB]
void LLFloaterSidePanelContainer::showPanel(const std::string& floater_name, const LLSD& key)
{
LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name);
if (floaterp)
// if (floaterp)
// [RLVa:KB] - Checked: 2012-02-07 (RLVa-1.4.5) | Added: RLVa-1.4.5
if ( (floaterp) && (mValidateSignal(floater_name, sMainPanelName, key)) )
// [/RLVa:KB]
{
floaterp->openChildPanel(sMainPanelName, key);
}
@ -92,7 +111,10 @@ void LLFloaterSidePanelContainer::showPanel(const std::string& floater_name, con
void LLFloaterSidePanelContainer::showPanel(const std::string& floater_name, const std::string& panel_name, const LLSD& key)
{
LLFloaterSidePanelContainer* floaterp = LLFloaterReg::getTypedInstance<LLFloaterSidePanelContainer>(floater_name);
if (floaterp)
// if (floaterp)
// [RLVa:KB] - Checked: 2012-02-07 (RLVa-1.4.5) | Added: RLVa-1.4.5
if ( (floaterp) && (mValidateSignal(floater_name, panel_name, key)) )
// [/RLVa:KB]
{
floaterp->openChildPanel(panel_name, key);
}

View File

@ -53,6 +53,11 @@ public:
LLPanel* openChildPanel(const std::string& panel_name, const LLSD& params);
// [RLVa:KB] - Checked: 2012-02-07 (RLVa-1.4.5) | Added: RLVa-1.4.5
static bool canShowPanel(const std::string& floater_name, const LLSD& key);
static bool canShowPanel(const std::string& floater_name, const std::string& panel_name, const LLSD& key);
// [/RLVa:KB]
static void showPanel(const std::string& floater_name, const LLSD& key);
static void showPanel(const std::string& floater_name, const std::string& panel_name, const LLSD& key);
@ -76,6 +81,15 @@ public:
}
return panel;
}
// [RLVa:KB] - Checked: 2012-02-07 (RLVa-1.4.5) | Added: RLVa-1.4.5
// Used to determine whether a sidepanel can be shown
public:
typedef boost::signals2::signal<bool(const std::string&, const std::string&, const LLSD&), boost_boolean_combiner> validate_signal_t;
static boost::signals2::connection setValidateCallback(const validate_signal_t::slot_type& cb) { return mValidateSignal.connect(cb); }
private:
static validate_signal_t mValidateSignal;
// [/RLVa:KB]
};
#endif // LL_LLFLOATERSIDEPANELCONTAINER_H

View File

@ -674,7 +674,10 @@ void LLFloaterWorldMap::trackLocation(const LLVector3d& pos_global)
std::string tooltip("");
mTrackedStatus = LLTracker::TRACKING_LOCATION;
LLTracker::trackLocation(pos_global, full_name, tooltip);
// [RLVa:KB] - Checked: 2012-02-08 (RLVa-1.4.5) | Added: RLVa-1.4.5
LLTracker::trackLocation(pos_global, (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)) ? full_name : RlvStrings::getString(RLV_STRING_HIDDEN).c_str(), tooltip);
// [/RLVa:KB]
// LLTracker::trackLocation(pos_global, full_name, tooltip);
LLWorldMap::getInstance()->cancelTracking(); // The floater is taking over the tracking
LLVector3d coord_pos = LLTracker::getTrackedPositionGlobal();
@ -689,9 +692,25 @@ void LLFloaterWorldMap::trackLocation(const LLVector3d& pos_global)
// enable/disable teleport destination coordinates
void LLFloaterWorldMap::enableTeleportCoordsDisplay( bool enabled )
{
childSetEnabled("teleport_coordinate_x", enabled );
childSetEnabled("teleport_coordinate_y", enabled );
childSetEnabled("teleport_coordinate_z", enabled );
// [RLVa:KB] - Checked: 2012-02-08 (RLVa-1.4.5) | Added: RLVa-1.4.5
LLUICtrl* pCtrl = getChild<LLUICtrl>("events_label");
pCtrl->setVisible(!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC));
pCtrl = getChild<LLUICtrl>("teleport_coordinate_x");
pCtrl->setVisible(!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC));
pCtrl->setEnabled(enabled);
pCtrl = getChild<LLUICtrl>("teleport_coordinate_y");
pCtrl->setVisible(!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC));
pCtrl->setEnabled(enabled);
pCtrl = getChild<LLUICtrl>("teleport_coordinate_z");
pCtrl->setVisible(!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC));
pCtrl->setEnabled(enabled);
// [/RLVa:KB]
// childSetEnabled("teleport_coordinate_x", enabled );
// childSetEnabled("teleport_coordinate_y", enabled );
// childSetEnabled("teleport_coordinate_z", enabled );
}
// update display of teleport destination coordinates - pos is in global coordinates
@ -731,7 +750,22 @@ void LLFloaterWorldMap::updateLocation()
// Make sure we know where we are before setting the current user position
std::string agent_sim_name;
gotSimName = LLWorldMap::getInstance()->simNameFromPosGlobal( agentPos, agent_sim_name );
if ( gotSimName )
// [RLVa:KB] - Checked: 2012-02-08 (RLVa-1.4.5) | Added: RLVa-1.4.5
if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC))
{
mSetToUserPosition = FALSE;
// Fill out the location field
getChild<LLUICtrl>("location")->setValue(RlvStrings::getString(RLV_STRING_HIDDEN_REGION));
// update the coordinate display with location of avatar in region
updateTeleportCoordsDisplay( agentPos );
mSLURL = LLSLURL();
}
else if (gotSimName)
// [/RLVa:KB]
// if ( gotSimName )
{
mSetToUserPosition = FALSE;
@ -776,7 +810,16 @@ void LLFloaterWorldMap::updateLocation()
updateTeleportCoordsDisplay( coord_pos );
// simNameFromPosGlobal can fail, so don't give the user an invalid SLURL
if ( gotSimName )
// [RLVa:KB] - Checked: 2012-02-08 (RLVa-1.4.5) | Added: RLVa-1.4.5
if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC))
{
mSLURL = LLSLURL();
childSetValue("location", RlvStrings::getString(RLV_STRING_HIDDEN_REGION));
}
else if (gotSimName)
// [/RLVa:KB]
// if ( gotSimName )
{
mSLURL = LLSLURL(sim_name, pos_global);
}

View File

@ -603,7 +603,7 @@ void LLLocationInputCtrl::reshape(S32 width, S32 height, BOOL called_from_parent
void LLLocationInputCtrl::onInfoButtonClicked()
{
// [RLVa:KB] - Checked: 2010-04-05 (RLVa-1.2.0d) | Added: RLVa-1.2.0d
// [RLVa:KB] - Checked: 2010-04-05 (RLVa-1.4.5) | Added: RLVa-1.2.0
if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC))
return;
// [/RLVa:KB]
@ -613,7 +613,7 @@ void LLLocationInputCtrl::onInfoButtonClicked()
void LLLocationInputCtrl::onForSaleButtonClicked()
{
// [RLVa:KB] - Checked: 2010-04-05 (RLVa-1.2.0d) | Added: RLVa-1.2.0d
// [RLVa:KB] - Checked: 2010-04-05 (RLVa-1.4.5) | Added: RLVa-1.2.0
if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC))
return;
// [/RLVa:KB]
@ -623,7 +623,7 @@ void LLLocationInputCtrl::onForSaleButtonClicked()
void LLLocationInputCtrl::onAddLandmarkButtonClicked()
{
// [RLVa:KB] - Checked: 2010-04-05 (RLVa-1.2.0d) | Added: RLVa-1.2.0d
// [RLVa:KB] - Checked: 2010-04-05 (RLVa-1.4.5) | Added: RLVa-1.2.0
if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC))
return;
// [/RLVa:KB]
@ -744,7 +744,7 @@ void LLLocationInputCtrl::onTextEditorRightClicked(S32 x, S32 y, MASK mask)
void LLLocationInputCtrl::refresh()
{
// [RLVa:KB] - Checked: 2010-04-05 (RLVa-1.2.0d) | Added: RLVa-1.2.0d
// [RLVa:KB] - Checked: 2010-04-05 (RLVa-1.4.5) | Added: RLVa-1.2.0
mInfoBtn->setEnabled(!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC));
// [/RLVa:KB]
@ -1021,7 +1021,7 @@ void LLLocationInputCtrl::enableAddLandmarkButton(bool val)
// depending on whether current parcel has been landmarked.
void LLLocationInputCtrl::updateAddLandmarkButton()
{
// [RLVa:KB] - Checked: 2010-04-05 (RLVa-1.2.0d) | Added: RLVa-1.2.0d
// [RLVa:KB] - Checked: 2010-04-05 (RLVa-1.4.5) | Added: RLVa-1.2.0
mAddLandmarkBtn->setVisible(!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC));
// [/RLVa:KB]
enableAddLandmarkButton(LLLandmarkActions::hasParcelLandmark());
@ -1053,7 +1053,7 @@ void LLLocationInputCtrl::updateContextMenu(){
{
landmarkItem->setLabel(LLTrans::getString("EditLandmarkNavBarMenu"));
}
// [RLVa:KB] - Checked: 2010-04-05 (RLVa-1.2.0d) | Added: RLVa-1.2.0d
// [RLVa:KB] - Checked: 2010-04-05 (RLVa-1.4.5) | Added: RLVa-1.2.0
landmarkItem->setEnabled(!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC));
// [/RLVa:KB]
}
@ -1111,7 +1111,7 @@ void LLLocationInputCtrl::onLocationContextMenuItemClicked(const LLSD& userdata)
}
else if (item == "landmark")
{
// [RLVa:KB] - Checked: 2010-04-05 (RLVa-1.2.0d) | Added: RLVa-1.2.0d
// [RLVa:KB] - Checked: 2010-04-05 (RLVa-1.4.5) | Added: RLVa-1.2.0
if (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC))
{
// [/RLVa:KB]

View File

@ -429,7 +429,6 @@ private:
*/
static bool canEmbedNotificationInIM(const LLNotificationPtr& notification);
// [/SL:KB]
};
}

View File

@ -55,6 +55,9 @@
#include "lltoggleablemenu.h"
#include "llviewermenu.h"
#include "llviewerregion.h"
// [RLVa:KB]
#include "rlvhandler.h"
// [/RLVa:KB]
// Not yet implemented; need to remove buildPanel() from constructor when we switch
//static LLRegisterPanelClassWrapper<LLLandmarksPanel> t_landmarks("panel_landmarks");
@ -779,15 +782,22 @@ void LLLandmarksPanel::onAddAction(const LLSD& userdata) const
std::string command_name = userdata.asString();
if("add_landmark" == command_name)
{
LLViewerInventoryItem* landmark = LLLandmarkActions::findLandmarkForAgentPos();
if(landmark)
// [RLVa:KB] - Checked: 2012-02-08 (RLVa-1.4.5) | Added: RLVa-1.4.5
if (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC))
{
LLNotificationsUtil::add("LandmarkAlreadyExists");
}
else
{
LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "create_landmark"));
// [/RLVa:KB]
LLViewerInventoryItem* landmark = LLLandmarkActions::findLandmarkForAgentPos();
if(landmark)
{
LLNotificationsUtil::add("LandmarkAlreadyExists");
}
else
{
LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "create_landmark"));
}
// [RLVa:KB] - Checked: 2012-02-08 (RLVa-1.4.5) | Added: RLVa-1.4.5
}
// [/RLVa:KB]
}
else if ("category" == command_name)
{
@ -1057,6 +1067,12 @@ bool LLLandmarksPanel::isActionEnabled(const LLSD& userdata) const
}
return false;
}
// [RLVa:KB] - Checked: 2012-02-08 (RLVa-1.4.5) | Added: RLVa-1.4.5
else if("add_landmark" == command_name)
{
return !gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC);
}
// [/RLVa:KB]
else
{
llwarns << "Unprocessed command has come: " << command_name << llendl;

View File

@ -598,7 +598,7 @@ void LLPanelPlaceProfile::displaySelectedParcelInfo(LLParcel* parcel,
LLPanelPlaceInfo::processParcelInfo(parcel_data);
// mYouAreHerePanel->setVisible(is_current_parcel);
// [RLVa:KB] - Checked: 2010-09-02 (RLVa-1.2.1b) | Added: RLVa-1.2.1b
// [RLVa:KB] - Checked: 2010-09-02 (RLVa-1.4.5) | Added: RLVa-1.2.1
mYouAreHerePanel->setVisible(is_current_parcel && (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)));
// [/RLVa:KB]
getChild<LLAccordionCtrlTab>("sales_tab")->setVisible(for_sale);
@ -668,7 +668,7 @@ void LLPanelPlaceProfile::updateYouAreHereBanner(void* userdata)
LLAgentUI::checkAgentDistance(self->mPosRegion, radius);
// self->mYouAreHerePanel->setVisible(display_banner);
// [RLVa:KB] - Checked: 2010-09-02 (RLVa-1.2.1b) | Added: RLVa-1.2.1b
// [RLVa:KB] - Checked: 2010-09-02 (RLVa-1.4.5) | Added: RLVa-1.2.1
self->mYouAreHerePanel->setVisible(display_banner && (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)));
// [/RLVa:KB]
}

View File

@ -44,6 +44,9 @@
#include "llviewermenu.h"
#include "llviewerparcelmgr.h"
#include "llviewerregion.h"
// [RLVa:KB] - Checked: 2012-02-08 (RLVa-1.4.5) | Added: RLVa-1.4.5
#include "rlvhandler.h"
// [/RLVa:KB]
#include "llfloaterreg.h"
@ -452,24 +455,38 @@ void LLPanelTopInfoBar::onContextMenuItemClicked(const LLSD::String& item)
{
if (item == "landmark")
{
LLViewerInventoryItem* landmark = LLLandmarkActions::findLandmarkForAgentPos();
// [RLVa:KB] - Checked: 2012-02-08 (RLVa-1.4.5) | Added: RLVa-1.4.5
if (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC))
{
// [/RLVa:KB]
LLViewerInventoryItem* landmark = LLLandmarkActions::findLandmarkForAgentPos();
if(landmark == NULL)
{
LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "create_landmark"));
}
else
{
LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "landmark").with("id",landmark->getUUID()));
if(landmark == NULL)
{
LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "create_landmark"));
}
else
{
LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "landmark").with("id",landmark->getUUID()));
}
// [RLVa:KB] - Checked: 2012-02-08 (RLVa-1.4.5) | Added: RLVa-1.4.5
}
// [/RLVa:KB]
}
else if (item == "copy")
{
LLSLURL slurl;
LLAgentUI::buildSLURL(slurl, false);
LLUIString location_str(slurl.getSLURLString());
// [RLVa:KB] - Checked: 2012-02-08 (RLVa-1.4.5) | Added: RLVa-1.4.5
if (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC))
{
// [/RLVa:KB]
LLSLURL slurl;
LLAgentUI::buildSLURL(slurl, false);
LLUIString location_str(slurl.getSLURLString());
gClipboard.copyFromString(location_str);
gClipboard.copyFromString(location_str);
// [RLVa:KB] - Checked: 2012-02-08 (RLVa-1.4.5) | Added: RLVa-1.4.5
}
// [/RLVa:KB]
}
}

View File

@ -45,7 +45,10 @@ public:
// this can return NULL at any time, as parcel selection
// might have been invalidated.
LLParcel* getParcel() { return mParcel; }
// [RLVa:KB] - Checked: 2012-02-09 (RLVa-1.4.5) | Modified: RLVa-1.4.5
LLParcel* getParcel() const { return mParcel; }
// [/RLVa:KB]
// LLParcel* getParcel() { return mParcel; }
// Return the number of grid units that are owned by you within
// the selection (computed by server).

View File

@ -2289,6 +2289,7 @@ void LLLiveLSLEditor::onLoad(void* userdata)
void LLLiveLSLEditor::onSave(void* userdata, BOOL close_after_save)
{
LLLiveLSLEditor* self = (LLLiveLSLEditor*)userdata;
self->mCloseAfterSave = close_after_save;
self->saveIfNeeded();
}

View File

@ -175,7 +175,6 @@
#include "NACLfloaterblacklist.h"
// NaCl End
// handle secondlife:///app/openfloater/{NAME} URLs
class LLFloaterOpenHandler : public LLCommandHandler
{
@ -319,6 +318,10 @@ void LLViewerFloaterReg::registerFloaters()
LLFloaterReg::add("reset_queue", "floater_script_queue.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterResetQueue>);
LLFloaterReg::add("region_debug_console", "floater_region_debug_console.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterRegionDebugConsole>);
LLFloaterReg::add("region_info", "floater_region_info.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterRegionInfo>);
// [RLVa:KB] - Checked: 2010-03-11 (RLVa-1.2.0e) | Added: RLVa-1.2.0a
LLFloaterReg::add("rlv_behaviours", "floater_rlv_behaviours.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<RlvFloaterBehaviours>);
LLFloaterReg::add("rlv_locks", "floater_rlv_locks.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<RlvFloaterLocks>);
// [/RLVa:KB]
LLFloaterReg::add("script_debug", "floater_script_debug.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterScriptDebug>);
LLFloaterReg::add("script_debug_output", "floater_script_debug_panel.xml", (LLFloaterBuildFunc)&LLFloaterReg::build<LLFloaterScriptDebugOutput>);

View File

@ -6295,7 +6295,7 @@ class LLWorldCreateLandmark : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
{
// [RLVa:KB] - Checked: 2010-09-28 (RLVa-1.2.1f) | Added: RLVa-1.0.0a
// [RLVa:KB] - Checked: 2010-09-28 (RLVa-1.4.5) | Added: RLVa-1.0.0
if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC))
return true;
// [/RLVa:KB]
@ -6310,12 +6310,24 @@ class LLWorldPlaceProfile : public view_listener_t
{
bool handleEvent(const LLSD& userdata)
{
// [RLVa:KB] - Checked: 2012-02-08 (RLVa-1.4.5) | Added: RLVa-1.4.5
if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC))
return true;
// [/RLVa:KB]
LLFloaterSidePanelContainer::showPanel("places", LLSD().with("type", "agent"));
return true;
}
};
// [RLVa:KB] - Checked: 2012-02-08 (RLVa-1.4.5) | Added: RLVa-1.4.5
bool enable_place_profile()
{
return LLFloaterSidePanelContainer::canShowPanel("places", LLSD().with("type", "agent"));
}
// [/RLVa:KB]
void handle_script_info()
{
LLUUID object_id;
@ -8214,7 +8226,7 @@ class LLWorldEnableCreateLandmark : public view_listener_t
bool handleEvent(const LLSD& userdata)
{
// return !LLLandmarkActions::landmarkAlreadyExists();
// [RLVa:KB] - Checked: 2010-09-28 (RLVa-1.2.1f) | Added: RLVa-1.2.1f
// [RLVa:KB] - Checked: 2010-09-28 (RLVa-1.4.5) | Added: RLVa-1.2.1
return (!LLLandmarkActions::landmarkAlreadyExists()) && (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC));
// [/RLVa:KB]
}
@ -9258,6 +9270,9 @@ void show_topinfobar_context_menu(LLView* ctrl, S32 x, S32 y)
{
landmark_item->setLabel(LLTrans::getString("EditLandmarkNavBarMenu"));
}
// [RLVa:KB] - Checked: 2012-02-07 (RLVa-1.4.5) | Added: RLVa-1.4.5
landmark_item->setEnabled(!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC));
// [/RLVa:KB]
if(gMenuHolder->hasVisibleMenu())
{
@ -9421,6 +9436,9 @@ void initialize_menus()
view_listener_t::addMenu(new LLWorldGetAutorespondNonFriends(), "World.GetAutorespondNonFriends"); //[SJ FIRE-2177]
view_listener_t::addMenu(new LLWorldEnableCreateLandmark(), "World.EnableCreateLandmark");
// [RLVa:KB]
enable.add("World.EnablePlaceProfile", boost::bind(&enable_place_profile));
// [/RLVa:KB]
view_listener_t::addMenu(new LLWorldEnableSetHomeLocation(), "World.EnableSetHomeLocation");
view_listener_t::addMenu(new LLWorldEnableTeleportHome(), "World.EnableTeleportHome");
view_listener_t::addMenu(new LLWorldEnableBuyLand(), "World.EnableBuyLand");

View File

@ -6371,6 +6371,15 @@ void process_alert_core(const std::string& message, BOOL modal)
else
{
std::string new_msg =LLNotifications::instance().getGlobalString(text);
// [RLVa:KB] - Checked: 2012-02-07 (RLVa-1.4.5) | Added: RLVa-1.4.5
if ( (new_msg == text) && (rlv_handler_t::isEnabled()) )
{
if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC))
RlvUtil::filterLocation(new_msg);
if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES))
RlvUtil::filterNames(new_msg);
}
// [/RLVa:KB]
args["MESSAGE"] = new_msg;
LLNotificationsUtil::add("SystemMessage", args);
}
@ -6379,6 +6388,15 @@ void process_alert_core(const std::string& message, BOOL modal)
{
LLSD args;
std::string new_msg =LLNotifications::instance().getGlobalString(message);
// [RLVa:KB] - Checked: 2012-02-07 (RLVa-1.4.5) | Added: RLVa-1.4.5
if ( (new_msg == message) && (rlv_handler_t::isEnabled()) )
{
if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC))
RlvUtil::filterLocation(new_msg);
if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES))
RlvUtil::filterNames(new_msg);
}
// [/RLVa:KB]
args["ERROR_MESSAGE"] = new_msg;
LLNotificationsUtil::add("ErrorMessage", args);
}
@ -6394,6 +6412,16 @@ void process_alert_core(const std::string& message, BOOL modal)
std::string localized_msg;
bool is_message_localized = LLTrans::findString(localized_msg, new_msg);
// [RLVa:KB] - Checked: 2012-02-07 (RLVa-1.4.5) | Added: RLVa-1.4.5
if ( (new_msg == message) && (rlv_handler_t::isEnabled()) )
{
if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC))
RlvUtil::filterLocation(new_msg);
if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES))
RlvUtil::filterNames(new_msg);
}
// [/RLVa:KB]
args["MESSAGE"] = is_message_localized ? localized_msg : new_msg;
LLNotificationsUtil::add("SystemMessageTip", args);
}

View File

@ -3962,25 +3962,6 @@ LLViewerObject* LLViewerWindow::cursorIntersect(S32 mouse_x, S32 mouse_y, F32 de
}
}
// [RLVa:KB] - Checked: 2010-01-02 (RLVa-1.1.0l) | Added: RLVa-1.1.0l
#ifdef RLV_EXTENSION_CMD_INTERACT
if ( (rlv_handler_t::isEnabled()) && (found) && (gRlvHandler.hasBehaviour(RLV_BHVR_INTERACT)) )
{
// Allow picking if:
// - the drag-and-drop tool is active (allows inventory offers)
// - the camera tool is active
// - the pie tool is active *and* we picked our own avie (allows "mouse steering" and the self pie menu)
LLTool* pCurTool = LLToolMgr::getInstance()->getCurrentTool();
if ( (LLToolDragAndDrop::getInstance() != pCurTool) &&
(!LLToolCamera::getInstance()->hasMouseCapture()) &&
((LLToolPie::getInstance() != pCurTool) || (gAgent.getID() != found->getID())) )
{
found = NULL;
}
#endif // RLV_EXTENSION_CMD_INTERACT
// [/RLVa:KB]
}
// [RLVa:KB] - Checked: 2010-01-02 (RLVa-1.1.0l) | Added: RLVa-1.1.0l
#ifdef RLV_EXTENSION_CMD_INTERACT
if ( (rlv_handler_t::isEnabled()) && (found) && (gRlvHandler.hasBehaviour(RLV_BHVR_INTERACT)) )

View File

@ -3310,7 +3310,7 @@ void LLVOAvatar::idleUpdateNameTagText(BOOL new_name)
else
{
addNameTagLine(full_name, name_tag_color, LLFontGL::NORMAL, font);
}
}
}
}
@ -6793,9 +6793,9 @@ BOOL LLVOAvatar::processFullyLoadedChange(bool loading)
BOOL LLVOAvatar::isFullyLoaded() const
{
// return (mRenderUnloadedAvatar || mFullyLoaded);
// [SL:KB] - Patch: Appearance-SyncAttach | Checked: 2010-09-22 (Catznip-2.6.0a) | Added: Catznip-2.2.0a
// [SL:KB] - Patch: Appearance-SyncAttach | Checked: 2010-09-22 (Catznip-3.0.0a) | Added: Catznip-2.2.0a
// Changes to LLAppearanceMgr::updateAppearanceFromCOF() expect this function to actually return mFullyLoaded for gAgentAvatarp
return ( (!isSelf() && mRenderUnloadedAvatar ) || mFullyLoaded);
return (mRenderUnloadedAvatar && !isSelf()) ||(mFullyLoaded);
// [/SL:KB]
}

View File

@ -86,7 +86,10 @@ LLWearableDictionary::LLWearableDictionary()
addEntry(LLWearableType::WT_ALPHA, new WearableEntry("alpha", "New Alpha", LLAssetType::AT_CLOTHING, LLInventoryIcon::ICONNAME_CLOTHING_ALPHA, FALSE, TRUE));
addEntry(LLWearableType::WT_TATTOO, new WearableEntry("tattoo", "New Tattoo", LLAssetType::AT_CLOTHING, LLInventoryIcon::ICONNAME_CLOTHING_TATTOO, FALSE, TRUE));
addEntry(LLWearableType::WT_PHYSICS, new WearableEntry("physics", "New Physics", LLAssetType::AT_CLOTHING, LLInventoryIcon::ICONNAME_CLOTHING_PHYSICS, TRUE, TRUE));
// addEntry(LLWearableType::WT_PHYSICS, new WearableEntry("physics", "New Physics", LLAssetType::AT_CLOTHING, LLInventoryIcon::ICONNAME_CLOTHING_PHYSICS, TRUE, TRUE));
// [SL:KB] - Patch: Appearance-Misc | Checked: 2011-05-29 (Catznip-3.2.0a) | Added: Catznip-2.6.0a
addEntry(LLWearableType::WT_PHYSICS, new WearableEntry("physics", "New Physics", LLAssetType::AT_CLOTHING, LLInventoryIcon::ICONNAME_CLOTHING_PHYSICS, TRUE, FALSE));
// [/SL:KB]
addEntry(LLWearableType::WT_INVALID, new WearableEntry("invalid", "Invalid Wearable", LLAssetType::AT_NONE, LLInventoryIcon::ICONNAME_NONE, FALSE, FALSE));
addEntry(LLWearableType::WT_NONE, new WearableEntry("none", "Invalid Wearable", LLAssetType::AT_NONE, LLInventoryIcon::ICONNAME_NONE, FALSE, FALSE));

View File

@ -507,7 +507,10 @@ void LLWorldMapView::draw()
}
}
}
if (!mesg.empty())
// if (!mesg.empty())
// [RLVa:KB] - Checked: 2012-02-08 (RLVa-1.4.5) | Added: RLVa-1.4.5
if ( (!mesg.empty()) && (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)) )
// [/RLVa:KB]
{
font->renderUTF8(
mesg, 0,
@ -1053,11 +1056,8 @@ void LLWorldMapView::drawTracking(const LLVector3d& pos_global, const LLColor4&
text_y = llclamp(text_y + vert_offset, TEXT_PADDING + vert_offset, getRect().getHeight() - llround(font->getLineHeight()) - TEXT_PADDING - vert_offset);
// if (label != "")
// [RLVa:KB] - Checked: 2009-07-04 (RLVa-1.0.0a) | Added: RLVa-1.0.0a
if (label != "")
/*
// [RLVa:KB] - Checked: 2009-07-04 (RLVa-1.4.5) | Added: RLVa-1.0.0
if ( (label != "") && (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)) )
*/
// [/RLVa:KB]
{
font->renderUTF8(
@ -1118,7 +1118,7 @@ BOOL LLWorldMapView::handleToolTip( S32 x, S32 y, MASK mask )
{
LLViewerRegion *region = gAgent.getRegion();
// [RLVa:KB] - Checked: 2010-04-19 (RLVa-1.2.0f) | Modified: RLVa-1.2.0f
// [RLVa:KB] - Checked: 2010-04-19 (RLVa-1.4.5) | Modified: RLVa-1.4.5
std::string message = llformat("%s (%s)",
(!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC)) ? info->getName().c_str() : RlvStrings::getString(RLV_STRING_HIDDEN_REGION).c_str(),
info->getAccessString().c_str());

View File

@ -252,13 +252,12 @@ const char* RlvStrings::getStringFromReturnCode(ERlvCmdRet eRet)
return NULL;
}
// Checked: 2010-03-27 (RLVa-1.4.0a) | Modified: RLVa-1.2.0b
// Checked: 2012-02-25 (RLVa-1.4.5) | Modified: RLVa-1.4.5
std::string RlvStrings::getVersion(bool fLegacy)
{
return llformat("%s viewer v%d.%d.%d (%s %d.%d.%d.%d - RLVa %d.%d.%d)",
return llformat("%s viewer v%d.%d.%d (RLVa %d.%d.%d)",
( (!fLegacy) ? "RestrainedLove" : "RestrainedLife" ),
RLV_VERSION_MAJOR, RLV_VERSION_MINOR, RLV_VERSION_PATCH,
LLAppViewer::instance()->getSecondLifeTitle().c_str(), LL_VERSION_MAJOR, LL_VERSION_MINOR, LL_VERSION_PATCH, LL_VERSION_BUILD,
RLVa_VERSION_MAJOR, RLVa_VERSION_MINOR, RLVa_VERSION_PATCH);
}
@ -430,7 +429,7 @@ bool RlvUtil::sendChatReply(S32 nChannel, const std::string& strUTF8Text)
gMessageSystem->addUUIDFast(_PREHASH_AgentID, gAgent.getID());
gMessageSystem->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID());
gMessageSystem->nextBlockFast(_PREHASH_ChatData);
gMessageSystem->addStringFast(_PREHASH_Message, strUTF8Text);
gMessageSystem->addStringFast(_PREHASH_Message, utf8str_truncate(strUTF8Text, MAX_MSG_STR_LEN));
gMessageSystem->addU8Fast(_PREHASH_Type, CHAT_TYPE_SHOUT);
gMessageSystem->addS32("Channel", nChannel);
gAgent.sendReliableMessage();

View File

@ -66,7 +66,7 @@ const S32 RLV_VERSION_BUILD = 0;
// Implementation version
const S32 RLVa_VERSION_MAJOR = 1;
const S32 RLVa_VERSION_MINOR = 4;
const S32 RLVa_VERSION_PATCH = 4;
const S32 RLVa_VERSION_PATCH = 5;
const S32 RLVa_VERSION_BUILD = 0;
// Uncomment before a final release

View File

@ -51,6 +51,12 @@ void RlvAttachPtLookup::initLookupTable()
strAttachPtName = pAttachPt->getName();
LLStringUtil::toLower(strAttachPtName);
m_AttachPtLookupMap.insert(std::pair<std::string, S32>(strAttachPtName, itAttach->first));
// HACK: the RLV API randomly renames "Avatar Center" to "Root" so make sure we add it (but keep the official name)
if ("avatar center" == strAttachPtName)
{
m_AttachPtLookupMap.insert(std::pair<std::string, S32>("root", itAttach->first));
}
}
}
fInitialized = true;

View File

@ -306,9 +306,15 @@ void RlvUIEnabler::onToggleShowLoc()
// Start or stop filtering the "About Land" and "Region / Estate" floaters
if ( (!fEnable) && (!m_ConnFloaterShowLoc.connected()) )
{
m_ConnFloaterShowLoc = LLFloaterReg::setValidateCallback(boost::bind(&RlvUIEnabler::filterFloaterShowLoc, this, _1, _2));
m_ConnPanelShowLoc = LLFloaterSidePanelContainer::setValidateCallback(boost::bind(&RlvUIEnabler::filterPanelShowLoc, this, _1, _2, _3));
}
else if ( (fEnable) && (m_ConnFloaterShowLoc.connected()) )
{
m_ConnFloaterShowLoc.disconnect();
m_ConnPanelShowLoc.disconnect();
}
}
// Checked: 2010-02-28 (RLVa-1.4.0a) | Added: RLVa-1.2.0a
@ -466,7 +472,7 @@ bool RlvUIEnabler::filterFloaterGeneric(const std::string& strName, const LLSD&)
return m_FilteredFloaters.end() == m_FilteredFloaters.find(strName);
}
// Checked: 2010-04-22 (RLVa-1.2.0f) | Added: RLVa-1.2.0f
// Checked: 2010-04-22 (RLVa-1.4.5) | Added: RLVa-1.2.0
bool RlvUIEnabler::filterFloaterShowLoc(const std::string& strName, const LLSD&)
{
if ("about_land" == strName)
@ -478,6 +484,20 @@ bool RlvUIEnabler::filterFloaterShowLoc(const std::string& strName, const LLSD&)
return true;
}
// Checked: 2012-02-07 (RLVa-1.4.5) | Added: RLVa-1.4.5
bool RlvUIEnabler::filterPanelShowLoc(const std::string& strFloater, const std::string&, const LLSD& sdKey)
{
if ("places" == strFloater)
{
const std::string strType = sdKey["type"].asString();
if ("create_landmark" == strType)
return false;
else if ("agent" == strType)
return canViewParcelProperties();
}
return true;
}
// Checked: 2010-03-01 (RLVa-1.2.0b) | Added: RLVa-1.2.0a
bool RlvUIEnabler::filterFloaterViewXXX(const std::string& strName, const LLSD&)
{
@ -501,47 +521,56 @@ bool RlvUIEnabler::filterFloaterViewXXX(const std::string& strName, const LLSD&)
// ============================================================================
// Checked: 2010-04-20 (RLVa-1.2.0f) | Modified: RLVa-1.2.0f
// Checked: 2012-02-09 (RLVa-1.4.5) | Modified: RLVa-1.4.5
bool RlvUIEnabler::canViewParcelProperties()
{
// We'll allow "About Land" as long as the user has the ability to return prims (through ownership or through group powers)
bool fShow = !gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC);
if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC))
{
// RELEASE-RLVa: [SL-2.0.0] Check that ôpening the "About Land" floater still sets focus to the current parcel is none is selected
LLParcelSelection* pParcelSel = LLViewerParcelMgr::getInstance()->getFloatingParcelSelection();
LLParcel* pParcel = (pParcelSel) ? pParcelSel->getParcel() : LLViewerParcelMgr::getInstance()->getAgentParcel();
if ( ((pParcelSel) && (pParcelSel->hasOthersSelected())) || (!pParcel) )
return false;
// Ideally we could just use LLViewerParcelMgr::isParcelOwnedByAgent(), but that has that sneaky exemption for "god-like"
// RELEASE-RLVa: [SL-2.0.0] Check that the "inlining" of "isParcelOwnedByAgent" and "LLAgent::hasPowerInGroup()" still matches
const LLUUID& idOwner = pParcel->getOwnerID();
if ( (idOwner != gAgent.getID()) )
// RELEASE-RLVa: [SL-3.2] Check that opening the "About Land" floater still sets focus to the current parcel is none is selected
const LLParcel* pParcel = NULL;
if (LLViewerParcelMgr::getInstance()->selectionEmpty())
{
// LLAgent::hasPowerInGroup() has it too so copy/paste from there
S32 count = gAgent.mGroups.count();
for (S32 i = 0; i < count; ++i)
{
if (gAgent.mGroups.get(i).mID == idOwner)
{
fShow |= ((gAgent.mGroups.get(i).mPowers & GP_LAND_RETURN) > 0);
break;
}
}
pParcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
}
else
{
fShow = true;
LLParcelSelection* pParcelSel = LLViewerParcelMgr::getInstance()->getFloatingParcelSelection();
if (pParcelSel->hasOthersSelected())
return false;
pParcel = pParcelSel->getParcel();
}
// Ideally we could just use LLViewerParcelMgr::isParcelOwnedByAgent(), but that has that sneaky exemption for "god-like"
if (pParcel)
{
const LLUUID& idOwner = pParcel->getOwnerID();
if ( (idOwner != gAgent.getID()) )
{
S32 count = gAgent.mGroups.count();
for (S32 i = 0; i < count; ++i)
{
if (gAgent.mGroups.get(i).mID == idOwner)
{
fShow = ((gAgent.mGroups.get(i).mPowers & GP_LAND_RETURN) > 0);
break;
}
}
}
else
{
fShow = true;
}
}
}
return fShow;
}
// Checked: 2010-04-20 (RLVa-1.2.0f) | Modified: RLVa-1.2.0f
// Checked: 2010-04-20 (RLVa-1.4.5) | Modified: RLVa-1.2.0
bool RlvUIEnabler::canViewRegionProperties()
{
// We'll allow "Region / Estate" if the user is either the sim owner or an estate manager
// We'll allow "Region / Estate" if the user is either the region owner or an estate manager
bool fShow = !gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC);
if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWLOC))
{

View File

@ -72,6 +72,9 @@ protected:
bool filterFloaterViewXXX(const std::string&, const LLSD&);
boost::signals2::connection m_ConnFloaterViewXXX; // viewnote, viewscript, viewtexture
bool filterPanelShowLoc(const std::string&, const std::string&, const LLSD& );
boost::signals2::connection m_ConnPanelShowLoc; // showloc
/*
* Helper functions
*/

View File

@ -8,6 +8,9 @@
<menu_item_call.on_click
function="Floater.Show"
parameter="about_land" />
<menu_item_call.on_enable
function="Floater.CanShow"
parameter="about_land" />
</menu_item_call>
<!-- <menu_item_call
label="Go Here"

View File

@ -124,6 +124,9 @@
<menu_item_check.on_click
function="ToggleControl"
parameter="RadarLeaveChannelAlert" />
<menu_item_check.on_enable
function="RLV.EnableIfNot"
parameter="showminimap" />
</menu_item_check>
<menu_item_separator layout="topleft" />

View File

@ -23,5 +23,8 @@
<on_click
function="Places.LandmarksGear.Add.Action"
parameter="add_landmark" />
<on_enable
function="Places.LandmarksGear.Enable"
parameter="add_landmark" />
</menu_item_call>
</menu>

View File

@ -13,6 +13,9 @@
<on_click
function="Places.LandmarksGear.Add.Action"
parameter="add_landmark" />
<on_enable
function="Places.LandmarksGear.Enable"
parameter="add_landmark" />
</menu_item_call>
<menu_item_call
label="Add Folder"

View File

@ -48,6 +48,9 @@
<on_click
function="Places.LandmarksGear.Add.Action"
parameter="add_landmark" />
<on_enable
function="Places.LandmarksGear.Enable"
parameter="add_landmark" />
</menu_item_call>
<menu_item_call
label="Add Folder"

View File

@ -590,6 +590,8 @@
name="Place Profile">
<menu_item_call.on_click
function="World.PlaceProfile" />
<menu_item_call.on_enable
function="World.EnablePlaceProfile" />
</menu_item_call>
<menu_item_call
@ -598,6 +600,9 @@
<menu_item_call.on_click
function="Floater.Show"
parameter="about_land" />
<menu_item_call.on_enable
function="Floater.CanShow"
parameter="about_land" />
</menu_item_call>
<menu_item_call
@ -608,6 +613,9 @@
<menu_item_call.on_click
function="Floater.Show"
parameter="region_info" />
<menu_item_call.on_enable
function="Floater.CanShow"
parameter="region_info" />
</menu_item_call>
<menu_item_separator/>
@ -814,6 +822,17 @@
function="RLV.EnableIfNot"
parameter="setenv" />
</menu_item_call>
<menu_item_separator/>
<menu_item_call
label="Estate Time"
name="Revert to Region Default">
<menu_item_call.on_click
function="World.EnvSettings"
parameter="default" />
<menu_item_call.on_enable
function="RLV.EnableIfNot"
parameter="setenv" />
</menu_item_call>
</menu>
<menu
@ -1826,6 +1845,184 @@
<!-- Advanced Menu -->
<menu
create_jump_keys="true"
label="RLVa"
name="RLVa Main"
tear_off="true"
visible="true">
<menu
label="Debug"
name="Debug"
tear_off="true">
<menu_item_check
label="Show Top-level RLVa Menu"
name="Show Top-level RLVa Menu">
<menu_item_check.on_check
function="CheckControl"
parameter="RLVaTopLevelMenu" />
<menu_item_check.on_click
function="ToggleControl"
parameter="RLVaTopLevelMenu" />
</menu_item_check>
<menu_item_separator/>
<menu_item_check
label="Show Debug Messages"
name="Show Debug Messages">
<menu_item_check.on_check
function="CheckControl"
parameter="RestrainedLoveDebug" />
<menu_item_check.on_click
function="ToggleControl"
parameter="RestrainedLoveDebug" />
</menu_item_check>
<menu_item_check
label="Hide Unset or Duplicate Messages"
name="Hide Unset or Duplicate Messages">
<menu_item_check.on_check
function="CheckControl"
parameter="RLVaDebugHideUnsetDuplicate" />
<menu_item_check.on_click
function="ToggleControl"
parameter="RLVaDebugHideUnsetDuplicate" />
</menu_item_check>
<menu_item_check
label="Show Assertion Failures"
name="Show Assertion Failures">
<menu_item_check.on_check
function="CheckControl"
parameter="RLVaShowAssertionFailures" />
<menu_item_check.on_click
function="ToggleControl"
parameter="RLVaShowAssertionFailures" />
</menu_item_check>
<menu_item_separator/>
<menu_item_check
label="Hide Locked Layers"
name="Hide Locked Layers">
<menu_item_check.on_check
function="CheckControl"
parameter="RLVaHideLockedLayers" />
<menu_item_check.on_click
function="ToggleControl"
parameter="RLVaHideLockedLayers" />
</menu_item_check>
<menu_item_check
label="Hide Locked Attachments"
name="Hide Locked Attachments">
<menu_item_check.on_check
function="CheckControl"
parameter="RLVaHideLockedAttachments" />
<menu_item_check.on_click
function="ToggleControl"
parameter="RLVaHideLockedAttachments" />
</menu_item_check>
<menu_item_separator/>
<menu_item_check
label="Enable Legacy Naming"
name="Enable Legacy Naming">
<menu_item_check.on_check
function="CheckControl"
parameter="RLVaEnableLegacyNaming" />
<menu_item_check.on_click
function="ToggleControl"
parameter="RLVaEnableLegacyNaming" />
</menu_item_check>
<menu_item_check
label="Enable Shared Wear"
name="Enable Shared Wear">
<menu_item_check.on_check
function="CheckControl"
parameter="RLVaEnableSharedWear" />
<menu_item_check.on_click
function="ToggleControl"
parameter="RLVaEnableSharedWear" />
</menu_item_check>
<menu_item_check
label="Rename Shared Items on Wear"
name="Rename Shared Items on Wear">
<menu_item_check.on_check
function="CheckControl"
parameter="RLVaSharedInvAutoRename" />
<menu_item_check.on_click
function="ToggleControl"
parameter="RLVaSharedInvAutoRename" />
</menu_item_check>
<menu_item_separator/>
<menu_item_check
label="Locks..."
name="Locks">
<menu_item_check.on_check
function="Floater.Visible"
parameter="rlv_locks" />
<menu_item_check.on_click
function="Floater.Toggle"
parameter="rlv_locks" />
</menu_item_check>
</menu>
<menu_item_separator/>
<menu_item_check
label="Allow OOC Chat"
name="Allow OOC Chat">
<menu_item_check.on_check
function="CheckControl"
parameter="RestrainedLoveCanOOC" />
<menu_item_check.on_click
function="ToggleControl"
parameter="RestrainedLoveCanOOC" />
</menu_item_check>
<menu_item_check
label="Forbid Give to #RLV"
name="Forbid Give to #RLV">
<menu_item_check.on_check
function="CheckControl"
parameter="RestrainedLoveForbidGiveToRLV" />
<menu_item_check.on_click
function="ToggleControl"
parameter="RestrainedLoveForbidGiveToRLV" />
</menu_item_check>
<menu_item_check
label="Show Filtered Chat"
name="Show Filtered Chat">
<menu_item_check.on_check
function="CheckControl"
parameter="RestrainedLoveShowEllipsis" />
<menu_item_check.on_click
function="ToggleControl"
parameter="RestrainedLoveShowEllipsis" />
</menu_item_check>
<menu_item_check
label="Show Name Tags"
name="Show Name Tags">
<menu_item_check.on_check
function="CheckControl"
parameter="RLVaShowNameTags" />
<menu_item_check.on_click
function="ToggleControl"
parameter="RLVaShowNameTags" />
</menu_item_check>
<menu_item_check
label="Wear Replaces Unlocked"
name="Wear Replaces Unlocked">
<menu_item_check.on_check
function="CheckControl"
parameter="RLVaWearReplaceUnlocked" />
<menu_item_check.on_click
function="ToggleControl"
parameter="RLVaWearReplaceUnlocked" />
</menu_item_check>
<menu_item_separator />
<menu_item_check
label="Restrictions..."
name="Restrictions">
<menu_item_check.on_check
function="Floater.Visible"
parameter="rlv_behaviours" />
<menu_item_check.on_click
function="Floater.Toggle"
parameter="rlv_behaviours" />
</menu_item_check>
</menu>
<menu
create_jump_keys="true"
label="Advanced"

View File

@ -133,6 +133,7 @@ Looking for people to hang out with? Use the search box to find topics or conten
<layout_stack orientation="vertical" clip="true" follows="all" layout="topleft" top="0" left="0" height="355" width="313" mouse_opaque="false" name="radar_ls" auto_resize="false">
<layout_panel layout="topleft" top="0" left="3" height="140" width="307" max_height="140" follows="top" mouse_opaque="false" visibility_control="ShowRadarMinimap" name="minimaplayout" auto_resize="false">
name="Net Map Panel"
<net_map
bg_color="NetMapBackgroundColor"
visibility_control="ShowRadarMinimap"