diff options
29 files changed, 703 insertions, 597 deletions
diff --git a/indra/llui/llmenugl.cpp b/indra/llui/llmenugl.cpp index 907f2352a0..fd5c2b7fef 100644 --- a/indra/llui/llmenugl.cpp +++ b/indra/llui/llmenugl.cpp @@ -761,7 +761,7 @@ void LLMenuItemCallGL::initFromParams(const Params& p) { if (p.on_visible.isProvided()) { - mVisibleSignal.connect(initVisibleCallback(p.on_visible)); + mVisibleSignal.connect(initEnableCallback(p.on_visible)); } if (p.on_enable.isProvided()) { diff --git a/indra/llui/llmenugl.h b/indra/llui/llmenugl.h index cbb9b4d344..61e06f9e5f 100644 --- a/indra/llui/llmenugl.h +++ b/indra/llui/llmenugl.h @@ -175,9 +175,7 @@ protected: // This function appends the character string representation of // the current accelerator key and mask to the provided string. void appendAcceleratorString( std::string& st ) const; - - void initMenuEnableCallback(const EnableCallbackParam& cb, enable_signal_t& sig); - + protected: KEY mAcceleratorKey; MASK mAcceleratorMask; @@ -249,7 +247,7 @@ public: { Optional<EnableCallbackParam > on_enable; Optional<CommitCallbackParam > on_click; - Optional<VisibleCallbackParam > on_visible; + Optional<EnableCallbackParam > on_visible; Params() : on_enable("on_enable"), on_click("on_click"), @@ -284,15 +282,10 @@ public: { return mEnableSignal.connect(cb); } - - boost::signals2::connection setVisibleCallback( const visible_signal_t::slot_type& cb ) - { - return mVisibleSignal.connect(cb); - } - + private: enable_signal_t mEnableSignal; - visible_signal_t mVisibleSignal; + enable_signal_t mVisibleSignal; }; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/indra/llui/llpanel.h b/indra/llui/llpanel.h index a8bd5fd5e5..d0986a06d3 100644 --- a/indra/llui/llpanel.h +++ b/indra/llui/llpanel.h @@ -249,7 +249,6 @@ protected: LLCallbackMap::map_t mFactoryMap; CommitCallbackRegistry::ScopedRegistrar mCommitCallbackRegistrar; EnableCallbackRegistry::ScopedRegistrar mEnableCallbackRegistrar; - VisibleCallbackRegistry::ScopedRegistrar mVisibleCallbackRegistrar; commit_signal_t* mVisibleSignal; // Called when visibility changes, passes new visibility as LLSD() diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index 2a9515171a..e0503a0844 100644 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -2080,6 +2080,8 @@ void LLTextBase::updateRects() } mContentsRect.mTop += mVPad; + // subtract a pixel off the bottom to deal with rounding errors in measuring font height + mContentsRect.mBottom -= 1; S32 delta_pos = -mContentsRect.mBottom; // move line segments to fit new document rect diff --git a/indra/llui/lluictrl.cpp b/indra/llui/lluictrl.cpp index 706712ec5e..6044908ca7 100644 --- a/indra/llui/lluictrl.cpp +++ b/indra/llui/lluictrl.cpp @@ -232,11 +232,6 @@ bool default_enable_handler(LLUICtrl* ctrl, const LLSD& param) return true; } -bool default_visible_handler(LLUICtrl* ctrl, const LLSD& param) -{ - return true; -} - LLUICtrl::commit_signal_t::slot_type LLUICtrl::initCommitCallback(const CommitCallbackParam& cb) { @@ -290,30 +285,6 @@ LLUICtrl::enable_signal_t::slot_type LLUICtrl::initEnableCallback(const EnableCa return default_enable_handler; } -LLUICtrl::visible_signal_t::slot_type LLUICtrl::initVisibleCallback(const VisibleCallbackParam& cb) -{ - // Set the callback function - if (cb.function.isProvided()) - { - if (cb.parameter.isProvided()) - return boost::bind(cb.function(), this, cb.parameter); - else - return cb.function(); - } - else - { - visible_callback_t* func = (VisibleCallbackRegistry::getValue(cb.function_name)); - if (func) - { - if (cb.parameter.isProvided()) - return boost::bind((*func), this, cb.parameter); - else - return visible_signal_t::slot_type(*func); - } - } - return default_visible_handler; -} - // virtual void LLUICtrl::onMouseEnter(S32 x, S32 y, MASK mask) { diff --git a/indra/llui/lluictrl.h b/indra/llui/lluictrl.h index b20ff5d798..b9a4f61e15 100644 --- a/indra/llui/lluictrl.h +++ b/indra/llui/lluictrl.h @@ -63,9 +63,6 @@ public: typedef boost::function<bool (LLUICtrl* ctrl, const LLSD& param)> enable_callback_t; typedef boost::signals2::signal<bool (LLUICtrl* ctrl, const LLSD& param), boost_boolean_combiner> enable_signal_t; - typedef boost::function<bool (LLUICtrl* ctrl, const LLSD& param)> visible_callback_t; - typedef boost::signals2::signal<bool (LLUICtrl* ctrl, const LLSD& param), boost_boolean_combiner> visible_signal_t; - struct CallbackParam : public LLInitParam::Block<CallbackParam> { Ignored name; @@ -83,16 +80,12 @@ public: Optional<commit_callback_t> function; }; + // also used for visible callbacks struct EnableCallbackParam : public LLInitParam::Block<EnableCallbackParam, CallbackParam > { Optional<enable_callback_t> function; }; - - struct VisibleCallbackParam : public LLInitParam::Block<VisibleCallbackParam, CallbackParam > - { - Optional<visible_callback_t> function; - }; - + struct EnableControls : public LLInitParam::Choice<EnableControls> { Alternative<std::string> enabled; @@ -148,7 +141,6 @@ protected: commit_signal_t::slot_type initCommitCallback(const CommitCallbackParam& cb); enable_signal_t::slot_type initEnableCallback(const EnableCallbackParam& cb); - visible_signal_t::slot_type initVisibleCallback(const VisibleCallbackParam& cb); // We need this virtual so we can override it with derived versions virtual LLViewModel* getViewModel() const; @@ -269,10 +261,9 @@ public: {}; class CommitCallbackRegistry : public CallbackRegistry<commit_callback_t, CommitCallbackRegistry>{}; + // the enable callback registry is also used for visiblity callbacks class EnableCallbackRegistry : public CallbackRegistry<enable_callback_t, EnableCallbackRegistry>{}; - class VisibleCallbackRegistry : public CallbackRegistry<visible_callback_t, VisibleCallbackRegistry>{}; - - + protected: static bool controlListener(const LLSD& newvalue, LLHandle<LLUICtrl> handle, std::string type); diff --git a/indra/newview/llinspectavatar.cpp b/indra/newview/llinspectavatar.cpp index 83beae29c1..39114d64b4 100644 --- a/indra/newview/llinspectavatar.cpp +++ b/indra/newview/llinspectavatar.cpp @@ -42,10 +42,12 @@ #include "lldateutil.h" #include "llfloaterreporter.h" #include "llfloaterworldmap.h" +#include "llimview.h" #include "llinspect.h" #include "llmutelist.h" #include "llpanelblockedlist.h" #include "llstartup.h" +#include "llspeakers.h" #include "llviewermenu.h" #include "llvoiceclient.h" #include "llviewerobjectlist.h" @@ -99,6 +101,12 @@ private: // Set the volume slider to this user's current client-side volume setting, // hiding/disabling if the user is not nearby. void updateVolumeSlider(); + + // Shows/hides moderator panel depending on voice state + void updateModeratorPanel(); + + // Moderator ability to enable/disable voice chat for avatar + void toggleSelectedVoice(bool enabled); // Button callbacks void onClickAddFriend(); @@ -205,10 +213,12 @@ LLInspectAvatar::LLInspectAvatar(const LLSD& sd) mCommitCallbackRegistrar.add("InspectAvatar.Report", boost::bind(&LLInspectAvatar::onClickReport, this)); mCommitCallbackRegistrar.add("InspectAvatar.FindOnMap", boost::bind(&LLInspectAvatar::onClickFindOnMap, this)); mCommitCallbackRegistrar.add("InspectAvatar.ZoomIn", boost::bind(&LLInspectAvatar::onClickZoomIn, this)); - mVisibleCallbackRegistrar.add("InspectAvatar.VisibleFindOnMap", boost::bind(&LLInspectAvatar::onVisibleFindOnMap, this)); - mVisibleCallbackRegistrar.add("InspectAvatar.VisibleFreezeEject", + mCommitCallbackRegistrar.add("InspectAvatar.DisableVoice", boost::bind(&LLInspectAvatar::toggleSelectedVoice, this, false)); + mCommitCallbackRegistrar.add("InspectAvatar.EnableVoice", boost::bind(&LLInspectAvatar::toggleSelectedVoice, this, true)); + mEnableCallbackRegistrar.add("InspectAvatar.VisibleFindOnMap", boost::bind(&LLInspectAvatar::onVisibleFindOnMap, this)); + mEnableCallbackRegistrar.add("InspectAvatar.VisibleFreezeEject", boost::bind(&LLInspectAvatar::onVisibleFreezeEject, this)); - mVisibleCallbackRegistrar.add("InspectAvatar.VisibleZoomIn", + mEnableCallbackRegistrar.add("InspectAvatar.VisibleZoomIn", boost::bind(&LLInspectAvatar::onVisibleZoomIn, this)); mEnableCallbackRegistrar.add("InspectAvatar.Gear.Enable", boost::bind(&LLInspectAvatar::isNotFriend, this)); @@ -277,6 +287,8 @@ void LLInspectAvatar::onOpen(const LLSD& data) requestUpdate(); updateVolumeSlider(); + + updateModeratorPanel(); } // virtual @@ -366,6 +378,119 @@ void LLInspectAvatar::processAvatarData(LLAvatarData* data) mPropertiesRequest = NULL; } +void LLInspectAvatar::updateModeratorPanel() +{ + bool enable_moderator_panel = false; + + if (LLVoiceChannel::getCurrentVoiceChannel()) + { + LLUUID session_id = LLVoiceChannel::getCurrentVoiceChannel()->getSessionID(); + + if (session_id != LLUUID::null) + { + LLIMSpeakerMgr* speaker_mgr = LLIMModel::getInstance()->getSpeakerManager(session_id); + + if (speaker_mgr) + { + LLPointer<LLSpeaker> self_speakerp = speaker_mgr->findSpeaker(gAgent.getID()); + LLPointer<LLSpeaker> selected_speakerp = speaker_mgr->findSpeaker(mAvatarID); + + if(speaker_mgr->isVoiceActive() && selected_speakerp && + ((self_speakerp && self_speakerp->mIsModerator) || gAgent.isGodlike())) + { + getChild<LLUICtrl>("enable_voice")->setVisible(selected_speakerp->mModeratorMutedVoice); + getChild<LLUICtrl>("disable_voice")->setVisible(!selected_speakerp->mModeratorMutedVoice); + + enable_moderator_panel = true; + } + } + } + } + + if (enable_moderator_panel) + { + if (!getChild<LLUICtrl>("moderator_panel")->getVisible()) + { + getChild<LLUICtrl>("moderator_panel")->setVisible(true); + // stretch the floater so it can accommodate the moderator panel + reshape(getRect().getWidth(), getRect().getHeight() + getChild<LLUICtrl>("moderator_panel")->getRect().getHeight()); + } + } + else if (getChild<LLUICtrl>("moderator_panel")->getVisible()) + { + getChild<LLUICtrl>("moderator_panel")->setVisible(false); + // shrink the inspector floater back to original size + reshape(getRect().getWidth(), getRect().getHeight() - getChild<LLUICtrl>("moderator_panel")->getRect().getHeight()); + } +} + +void LLInspectAvatar::toggleSelectedVoice(bool enabled) +{ + LLUUID session_id = LLVoiceChannel::getCurrentVoiceChannel()->getSessionID(); + LLIMSpeakerMgr* speaker_mgr = LLIMModel::getInstance()->getSpeakerManager(session_id); + + if (speaker_mgr) + { + if (!gAgent.getRegion()) + return; + + std::string url = gAgent.getRegion()->getCapability("ChatSessionRequest"); + LLSD data; + data["method"] = "mute update"; + data["session-id"] = session_id; + data["params"] = LLSD::emptyMap(); + data["params"]["agent_id"] = mAvatarID; + data["params"]["mute_info"] = LLSD::emptyMap(); + // ctrl value represents ability to type, so invert + data["params"]["mute_info"]["voice"] = !enabled; + + class MuteVoiceResponder : public LLHTTPClient::Responder + { + public: + MuteVoiceResponder(const LLUUID& session_id) + { + mSessionID = session_id; + } + + virtual void error(U32 status, const std::string& reason) + { + llwarns << status << ": " << reason << llendl; + + if ( gIMMgr ) + { + //403 == you're not a mod + //should be disabled if you're not a moderator + if ( 403 == status ) + { + gIMMgr->showSessionEventError( + "mute", + "not_a_moderator", + mSessionID); + } + else + { + gIMMgr->showSessionEventError( + "mute", + "generic", + mSessionID); + } + } + } + + private: + LLUUID mSessionID; + }; + + LLHTTPClient::post( + url, + data, + new MuteVoiceResponder(speaker_mgr->getSessionID())); + } + + closeFloater(); + +} + void LLInspectAvatar::updateVolumeSlider() { // By convention, we only display and toggle voice mutes, not all mutes diff --git a/indra/newview/llnavigationbar.cpp b/indra/newview/llnavigationbar.cpp index 9797c01371..08bc1fac8b 100644 --- a/indra/newview/llnavigationbar.cpp +++ b/indra/newview/llnavigationbar.cpp @@ -127,7 +127,6 @@ LLTeleportHistoryMenuItem::LLTeleportHistoryMenuItem(const Params& p) if (p.item_type == TYPE_BACKWARD) { setFont( p.back_item_font ); - setLabel(std::string(" ") + std::string(p.label)); } else if (p.item_type == TYPE_CURRENT) { @@ -136,7 +135,6 @@ LLTeleportHistoryMenuItem::LLTeleportHistoryMenuItem(const Params& p) else { setFont( p.forward_item_font ); - setLabel(std::string(" ") + std::string(p.label)); } LLIconCtrl::Params icon_params; diff --git a/indra/newview/llpanelobjectinventory.cpp b/indra/newview/llpanelobjectinventory.cpp index 4f8aff6f78..9d38dab26e 100644 --- a/indra/newview/llpanelobjectinventory.cpp +++ b/indra/newview/llpanelobjectinventory.cpp @@ -1697,7 +1697,7 @@ void LLPanelObjectInventory::updateInventory() mFolders->requestArrange(); mInventoryNeedsUpdate = FALSE; - LLEditMenuHandler::gEditMenuHandler = mFolders; + // Edit menu handler is set in onFocusReceived } // *FIX: This is currently a very expensive operation, because we have diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp index 1605838b94..4d6c19157a 100644 --- a/indra/newview/llselectmgr.cpp +++ b/indra/newview/llselectmgr.cpp @@ -104,6 +104,7 @@ const F32 SILHOUETTE_UPDATE_THRESHOLD_SQUARED = 0.02f; const S32 MAX_ACTION_QUEUE_SIZE = 20; const S32 MAX_SILS_PER_FRAME = 50; const S32 MAX_OBJECTS_PER_PACKET = 254; +const S32 TE_SELECT_MASK_ALL = 0xFFFFFFFF; // // Globals @@ -5110,7 +5111,7 @@ LLSelectNode::~LLSelectNode() void LLSelectNode::selectAllTEs(BOOL b) { - mTESelectMask = b ? 0xFFFFFFFF : 0x0; + mTESelectMask = b ? TE_SELECT_MASK_ALL : 0x0; mLastTESelected = 0; } @@ -5753,8 +5754,22 @@ void LLSelectMgr::redo() //----------------------------------------------------------------------------- BOOL LLSelectMgr::canDoDelete() const { - // Note: Can only delete root objects (see getFirstDeleteableObject() for more info) - return const_cast<LLSelectMgr*>(this)->mSelectedObjects->getFirstDeleteableObject() != NULL; // HACK: casting away constness - MG + bool can_delete = false;
+ // This function is "logically const" - it does not change state in
+ // a way visible outside the selection manager.
+ LLSelectMgr* self = const_cast<LLSelectMgr*>(this);
+ LLViewerObject* obj = self->mSelectedObjects->getFirstDeleteableObject();
+ // Note: Can only delete root objects (see getFirstDeleteableObject() for more info)
+ if (obj!= NULL)
+ {
+ // all the faces needs to be selected
+ if(self->mSelectedObjects->contains(obj,SELECT_ALL_TES ))
+ {
+ can_delete = true;
+ }
+ }
+
+ return can_delete; } //----------------------------------------------------------------------------- @@ -6189,8 +6204,14 @@ BOOL LLObjectSelection::contains(LLViewerObject* object, S32 te) LLSelectNode* nodep = *iter; if (nodep->getObject() == object) { + // Optimization + if (nodep->getTESelectMask() == TE_SELECT_MASK_ALL) + { + return TRUE; + } + BOOL all_selected = TRUE; - for (S32 i = 0; i < SELECT_MAX_TES; i++) + for (S32 i = 0; i < object->getNumTEs(); i++) { all_selected = all_selected && nodep->isTESelected(i); } diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index 431b4d3c0a..78322dda75 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -2698,20 +2698,24 @@ BOOL enable_has_attachments(void*) bool enable_object_mute() { LLViewerObject* object = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject(); - bool new_value = (object != NULL); - if (new_value) + if (!object) return false; + + LLVOAvatar* avatar = find_avatar_from_object(object); + if (avatar) { - LLVOAvatar* avatar = find_avatar_from_object(object); - if (avatar) - { - // It's an avatar - LLNameValue *lastname = avatar->getNVPair("LastName"); - BOOL is_linden = lastname && !LLStringUtil::compareStrings(lastname->getString(), "Linden"); - BOOL is_self = avatar->isSelf(); - new_value = !is_linden && !is_self; - } + // It's an avatar + LLNameValue *lastname = avatar->getNVPair("LastName"); + bool is_linden = + lastname && !LLStringUtil::compareStrings(lastname->getString(), "Linden"); + bool is_self = avatar->isSelf(); + return !is_linden && !is_self; + } + else + { + // Just a regular object + return LLSelectMgr::getInstance()->getSelection()-> + contains( object, SELECT_ALL_TES ); } - return new_value; } class LLObjectMute : public view_listener_t @@ -7558,12 +7562,11 @@ void initialize_menus() LLUICtrl::EnableCallbackRegistry::Registrar& enable = LLUICtrl::EnableCallbackRegistry::currentRegistrar(); LLUICtrl::CommitCallbackRegistry::Registrar& commit = LLUICtrl::CommitCallbackRegistry::currentRegistrar(); - LLUICtrl::VisibleCallbackRegistry::Registrar& visible = LLUICtrl::VisibleCallbackRegistry::currentRegistrar(); // Generic enable and visible // Don't prepend MenuName.Foo because these can be used in any menu. enable.add("IsGodCustomerService", boost::bind(&is_god_customer_service)); - visible.add("IsGodCustomerService", boost::bind(&is_god_customer_service)); + enable.add("IsGodCustomerService", boost::bind(&is_god_customer_service)); // Agent commit.add("Agent.toggleFlying", boost::bind(&LLAgent::toggleFlying)); @@ -7670,7 +7673,6 @@ void initialize_menus() view_listener_t::addMenu(new LLToolsEnableLink(), "Tools.EnableLink"); view_listener_t::addMenu(new LLToolsEnableUnlink(), "Tools.EnableUnlink"); view_listener_t::addMenu(new LLToolsEnableBuyOrTake(), "Tools.EnableBuyOrTake"); - visible.add("Tools.VisibleTakeCopy", boost::bind(&enable_object_take_copy)); enable.add("Tools.EnableTakeCopy", boost::bind(&enable_object_take_copy)); view_listener_t::addMenu(new LLToolsEnableSaveToInventory(), "Tools.EnableSaveToInventory"); view_listener_t::addMenu(new LLToolsEnableSaveToObjectInventory(), "Tools.EnableSaveToObjectInventory"); @@ -7846,7 +7848,6 @@ void initialize_menus() view_listener_t::addMenu(new LLSelfStandUp(), "Self.StandUp"); view_listener_t::addMenu(new LLSelfRemoveAllAttachments(), "Self.RemoveAllAttachments"); - visible.add("Self.VisibleStandUp", boost::bind(&enable_standup_self)); enable.add("Self.EnableStandUp", boost::bind(&enable_standup_self)); view_listener_t::addMenu(new LLSelfEnableRemoveAllAttachments(), "Self.EnableRemoveAllAttachments"); @@ -7869,59 +7870,42 @@ void initialize_menus() view_listener_t::addMenu(new LLAvatarEnableAddFriend(), "Avatar.EnableAddFriend"); enable.add("Avatar.EnableFreezeEject", boost::bind(&enable_freeze_eject, _2)); - visible.add("Avatar.EnableFreezeEject", boost::bind(&enable_freeze_eject, _2)); + enable.add("Avatar.EnableFreezeEject", boost::bind(&enable_freeze_eject, _2)); // Object pie menu view_listener_t::addMenu(new LLObjectBuild(), "Object.Build"); commit.add("Object.Touch", boost::bind(&handle_object_touch)); commit.add("Object.SitOrStand", boost::bind(&handle_object_sit_or_stand)); - visible.add("Object.EnableSit", boost::bind(&enable_sit_object)); + enable.add("Object.EnableSit", boost::bind(&enable_sit_object)); commit.add("Object.Delete", boost::bind(&handle_object_delete)); view_listener_t::addMenu(new LLObjectAttachToAvatar(), "Object.AttachToAvatar"); view_listener_t::addMenu(new LLObjectReturn(), "Object.Return"); view_listener_t::addMenu(new LLObjectReportAbuse(), "Object.ReportAbuse"); view_listener_t::addMenu(new LLObjectMute(), "Object.Mute"); - visible.add("Object.VisibleTake", boost::bind(&visible_take_object)); - visible.add("Object.VisibleBuy", boost::bind(&visible_buy_object)); + enable.add("Object.VisibleTake", boost::bind(&visible_take_object)); + enable.add("Object.VisibleBuy", boost::bind(&visible_buy_object)); commit.add("Object.Buy", boost::bind(&handle_buy)); commit.add("Object.Edit", boost::bind(&handle_object_edit)); commit.add("Object.Inspect", boost::bind(&handle_object_inspect)); commit.add("Object.Open", boost::bind(&handle_object_open)); - commit.add("Object.Take", boost::bind(&handle_take)); - enable.add("Object.EnableOpen", boost::bind(&enable_object_open)); - visible.add("Object.VisibleOpen", boost::bind(&enable_object_open)); - enable.add("Object.EnableTouch", boost::bind(&enable_object_touch)); - visible.add("Object.VisibleTouch", boost::bind(&enable_object_touch)); - view_listener_t::addMenu(new LLObjectEnableTouch(), "Object.EnableTouch"); view_listener_t::addMenu(new LLObjectEnableSitOrStand(), "Object.EnableSitOrStand"); - enable.add("Object.EnableDelete", boost::bind(&enable_object_delete)); - visible.add("Object.VisibleDelete", boost::bind(&enable_object_delete)); - enable.add("Object.EnableWear", boost::bind(&object_selected_and_point_valid)); - visible.add("Object.VisibleWear", boost::bind(&object_selected_and_point_valid)); view_listener_t::addMenu(new LLObjectEnableReturn(), "Object.EnableReturn"); view_listener_t::addMenu(new LLObjectEnableReportAbuse(), "Object.EnableReportAbuse"); enable.add("Avatar.EnableMute", boost::bind(&enable_object_mute)); enable.add("Object.EnableMute", boost::bind(&enable_object_mute)); - visible.add("Object.VisibleMute", boost::bind(&enable_object_mute)); enable.add("Object.EnableBuy", boost::bind(&enable_buy_object)); - /*view_listener_t::addMenu(new LLObjectVisibleTouch(), "Object.VisibleTouch"); - view_listener_t::addMenu(new LLObjectVisibleCustomTouch(), "Object.VisibleCustomTouch"); - view_listener_t::addMenu(new LLObjectVisibleStandUp(), "Object.VisibleStandUp"); - view_listener_t::addMenu(new LLObjectVisibleSitHere(), "Object.VisibleSitHere"); - view_listener_t::addMenu(new LLObjectVisibleCustomSit(), "Object.VisibleCustomSit");*/ - // Attachment pie menu enable.add("Attachment.Label", boost::bind(&onEnableAttachmentLabel, _1, _2)); view_listener_t::addMenu(new LLAttachmentDrop(), "Attachment.Drop"); @@ -7950,12 +7934,9 @@ void initialize_menus() commit.add("PayObject", boost::bind(&handle_give_money_dialog)); enable.add("EnablePayObject", boost::bind(&enable_pay_object)); - visible.add("VisiblePayObject", boost::bind(&enable_pay_object)); enable.add("EnablePayAvatar", boost::bind(&enable_pay_avatar)); enable.add("EnableEdit", boost::bind(&enable_object_edit)); - visible.add("VisibleBuild", boost::bind(&enable_object_build)); - visible.add("VisibleEdit", boost::bind(&enable_object_edit)); - visible.add("Object.VisibleEdit", boost::bind(&enable_object_edit)); + enable.add("VisibleBuild", boost::bind(&enable_object_build)); view_listener_t::addMenu(new LLFloaterVisible(), "FloaterVisible"); view_listener_t::addMenu(new LLShowSidetrayPanel(), "ShowSidetrayPanel"); diff --git a/indra/newview/skins/default/xui/en/inspect_avatar.xml b/indra/newview/skins/default/xui/en/inspect_avatar.xml index 8349f594d9..996d0f1b72 100644 --- a/indra/newview/skins/default/xui/en/inspect_avatar.xml +++ b/indra/newview/skins/default/xui/en/inspect_avatar.xml @@ -33,7 +33,7 @@ [SL_PROFILE] </string> <text - follows="all" + follows="top|left" font="SansSerifLarge" height="16" left="8" @@ -44,7 +44,7 @@ value="Grumpity ProductEngine" width="175" /> <text - follows="all" + follows="top|left" height="16" left="8" name="user_subtitle" @@ -76,7 +76,7 @@ value="0.5" width="195" /> <button - follows="all" + follows="top|left" height="16" image_disabled="Audio_Off" image_disabled_selected="AudioMute_Off" @@ -89,7 +89,7 @@ name="mute_btn" width="16" /> <avatar_icon - follows="all" + follows="top|left" height="38" right="-10" bevel_style="in" @@ -102,7 +102,7 @@ llinspectavatar.cpp makes visible the most likely default action --> <button - follows="bottom|left" + follows="top|left" height="20" label="Add Friend" left="8" @@ -110,7 +110,7 @@ name="add_friend_btn" width="90" /> <button - follows="bottom|left" + follows="top|left" height="20" label="IM" left_delta="0" @@ -129,7 +129,8 @@ tab_stop="false" width="80" /> <!-- gear buttons here --> - <menu_button + <menu_button + follows="top|left" height="20" layout="topleft" image_overlay="OptionsMenu_Off" @@ -147,4 +148,33 @@ right="-5" top_delta="0" width="35" /> + <panel + follows="top|left" + top="148" + left="0" + height="60" + width="228" + visible="false" + background_visible="true" + name="moderator_panel" + background_opaque="true" + bg_opaque_color="MouseGray"> + <button + name="disable_voice" + label="Disable Voice" + top="20" + width="95" + height="20" + left="10" + commit_callback.function="InspectAvatar.DisableVoice"/> + <button + name="enable_voice" + label="Enable Voice" + top="20" + width="95" + height="20" + left="10" + visible="false" + commit_callback.function="InspectAvatar.EnableVoice"/> + </panel> </floater> diff --git a/indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml b/indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml index 04a247fd54..22df02cd7e 100644 --- a/indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml +++ b/indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml @@ -13,7 +13,7 @@ <menu_item_call.on_click function="InspectObject.Touch"/> <menu_item_call.on_visible - function="Object.VisibleTouch" /> + function="Object.EnableTouch" /> </menu_item_call> <menu_item_call label="Sit" @@ -31,7 +31,7 @@ <menu_item_call.on_click function="InspectObject.Pay"/> <menu_item_call.on_visible - function="VisiblePayObject" /> + function="EnablePayObject" /> </menu_item_call> <menu_item_call label="Buy" @@ -59,7 +59,7 @@ <menu_item_call.on_click function="InspectObject.TakeFreeCopy"/> <menu_item_call.on_visible - function="Tools.VisibleTakeCopy"/> + function="Tools.EnableTakeCopy"/> </menu_item_call> <menu_item_call label="Open" @@ -68,7 +68,7 @@ <menu_item_call.on_click function="InspectObject.Open"/> <menu_item_call.on_visible - function="Object.VisibleOpen" /> + function="Object.EnableOpen" /> </menu_item_call> <menu_item_call label="Edit" @@ -77,7 +77,7 @@ <menu_item_call.on_click function="Object.Edit" /> <menu_item_call.on_enable - function="Object.VisibleEdit"/> + function="EnableEdit"/> </menu_item_call> <menu_item_call label="Wear" @@ -86,7 +86,7 @@ <menu_item_call.on_click function="Object.AttachToAvatar" /> <menu_item_call.on_visible - function="Object.VisibleWear" /> + function="Object.EnableWear" /> </menu_item_call> <menu_item_call label="Report" @@ -102,7 +102,7 @@ <menu_item_call.on_click function="Object.Mute" /> <menu_item_call.on_visible - function="Object.VisibleMute" /> + function="Object.EnableMute" /> </menu_item_call> <menu_item_call label="Zoom In" @@ -118,7 +118,7 @@ <menu_item_call.on_click function="Object.Delete" /> <menu_item_call.on_visible - function="Object.VisibleDelete" /> + function="Object.EnableDelete" /> </menu_item_call> <menu_item_call label="More Info" diff --git a/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml b/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml index 3d65878cf8..9894a01701 100644 --- a/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml +++ b/indra/newview/skins/default/xui/en/menu_inspect_self_gear.xml @@ -13,7 +13,7 @@ function="Self.StandUp" parameter="" /> <menu_item_call.on_visible - function="Self.VisibleStandUp" /> + function="Self.EnableStandUp" /> </menu_item_call> <menu_item_call label="My Appearance" diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index f659062cfe..a07b23d0c3 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -1688,7 +1688,7 @@ This location can play streaming media. Streaming media requires a fast Internet connection. Play streaming media when available? -(You can change this option later under Preferences > Audio & Video.) +(You can change this option later under Preferences > Privacy.) <usetemplate name="okcancelbuttons" notext="Disable" diff --git a/indra/newview/skins/default/xui/en/panel_login.xml b/indra/newview/skins/default/xui/en/panel_login.xml index 22977b2274..c9db75b5d8 100644 --- a/indra/newview/skins/default/xui/en/panel_login.xml +++ b/indra/newview/skins/default/xui/en/panel_login.xml @@ -1,211 +1,212 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <panel - follows="all" - height="600" - layout="topleft" - left="0" - name="panel_login" - top="600" +follows="all" +height="600" +layout="topleft" +left="0" +name="panel_login" +top="600" width="996"> - <panel.string +<panel.string name="create_account_url"> - http://join.secondlife.com/ - </panel.string> - <panel.string + http://join.secondlife.com/ +</panel.string> +<panel.string name="real_url"> - http://secondlife.com/app/login/ - </panel.string> + http://secondlife.com/app/login/ +</panel.string> <string name="reg_in_client_url"> - http://secondlife.eniac15.lindenlab.com/reg-in-client/ - </string> - <panel.string + http://secondlife.eniac15.lindenlab.com/reg-in-client/ +</string> +<panel.string name="forgot_password_url"> - http://secondlife.com/account/request.php - </panel.string> - <!-- *NOTE: Custom resize logic for login_html in llpanellogin.cpp --> - <web_browser - border_visible="false" - bottom="600" - follows="all" - hide_loading="true" - left="0" - name="login_html" - start_url="" - top="0" - height="600" + http://secondlife.com/account/request.php +</panel.string> +<!-- *NOTE: Custom resize logic for login_html in llpanellogin.cpp --> +<web_browser +border_visible="false" +bottom="600" +follows="all" +hide_loading="true" +left="0" +name="login_html" +start_url="" +top="0" +height="600" width="996" /> - <panel - follows="left|bottom|right" - name="login_widgets" - layout="topleft" - top="519" - width="996" +<panel +follows="left|bottom|right" +name="login_widgets" +layout="topleft" +top="519" +width="996" height="80"> - <text - follows="left|bottom" - font="SansSerifSmall" - height="16" - left="20" - name="first_name_text" - top="20" - width="150"> - Name: - </text> - <line_editor - follows="left|bottom" - handle_edit_keys_directly="true" - height="22" - label="First" - left_delta="0" - max_length="31" - name="first_name_edit" - select_on_focus="true" - tool_tip="[SECOND_LIFE] First Name" - top_pad="0" - width="135" /> - <line_editor - follows="left|bottom" - handle_edit_keys_directly="true" - height="22" - label="Last" - left_pad="8" - max_length="31" - name="last_name_edit" - select_on_focus="true" - tool_tip="[SECOND_LIFE] Last Name" - top_delta="0" - width="135" /> - <text - follows="left|bottom" - font="SansSerifSmall" - height="15" - left_pad="8" - name="password_text" - top="20" - width="150"> - Password: - </text> - <line_editor - follows="left|bottom" - handle_edit_keys_directly="true" - height="22" - left="304" - max_length="16" - name="password_edit" - select_on_focus="true" - top_pad="1" - width="135" /> - <check_box - control_name="RememberPassword" - follows="left|bottom" - font="SansSerifSmall" - height="16" - label="Remember" - left_pad="20" - top="20" - name="remember_check" - width="150" /> - <button - follows="left|bottom" - height="23" - image_unselected="PushButton_On" - image_selected="PushButton_On_Selected" - label="Log In" - label_color="White" - layout="topleft" - left="462" - name="connect_btn" - top="35" - width="90" /> - <text - follows="right|bottom" - font="SansSerifSmall" - height="15" - halign="right" - left_pad="10" - right="-240" - name="start_location_text" - top="20" - width="130"> - Starting location: - </text> - <combo_box - allow_text_entry="true" - control_name="LoginLocation" - follows="right|bottom" - height="23" - max_chars="128" - top_pad="0" - name="start_location_combo" +<text +follows="left|bottom" +font="SansSerifSmall" +height="16" +left="20" +name="first_name_text" +top="20" +width="150"> +First name: +</text> +<line_editor +follows="left|bottom" +handle_edit_keys_directly="true" +height="22" +label="First" +left_delta="0" +max_length="31" +name="first_name_edit" +select_on_focus="true" +tool_tip="[SECOND_LIFE] First Name" +top_pad="0" + width="135" /> + <text + follows="left|bottom" + font="SansSerifSmall" + height="16" + left_pad="8" + name="last_name_text" + top="20" + width="150"> + Last name: </text> +<line_editor +follows="left|bottom" +handle_edit_keys_directly="true" +height="22" +label="Last" +max_length="31" +name="last_name_edit" +select_on_focus="true" +tool_tip="[SECOND_LIFE] Last Name" + top_pad="0" + width="135" /> +<text +follows="left|bottom" +font="SansSerifSmall" +height="15" +left_pad="8" +name="password_text" +top="20" + width="150"> + Password: +</text> +<line_editor +follows="left|bottom" +handle_edit_keys_directly="true" + height="22" + max_length="16" +name="password_edit" +select_on_focus="true" + top_pad="0" + width="135" /> + <check_box +control_name="RememberPassword" +follows="left|bottom" +font="SansSerifSmall" +height="16" +label="Remember" + top_pad="3" + name="remember_check" + width="135" /> + <text + follows="left|bottom" + font="SansSerifSmall" + height="15" + left_pad="8" + name="start_location_text" +top="20" + width="130"> + Start at: + </text> +<combo_box +allow_text_entry="true" +control_name="LoginLocation" + follows="left|bottom" + height="23" +max_chars="128" +top_pad="0" +name="start_location_combo" width="135"> - <combo_box.item - label="My last location" - name="MyLastLocation" +<combo_box.item +label="My last location" +name="MyLastLocation" value="last" /> - <combo_box.item - label="My home" - name="MyHome" +<combo_box.item +label="My home" +name="MyHome" value="home" /> - <combo_box.item - label="<Type region name>" - name="Typeregionname" - value="" /> - </combo_box> - <combo_box - allow_text_entry="true" - font="SansSerifSmall" - follows="right|bottom" - height="23" - layout="topleft" - top_pad="2" - name="server_combo" - width="135" - visible="false" /> - <text - follows="right|bottom" - font="SansSerifSmall" - text_color="EmphasisColor" - halign="right" - height="16" - top="12" - left_pad="5" - right="-10" - name="create_new_account_text" - width="180"> - Sign up for account - </text> - <text - follows="right|bottom" - font="SansSerifSmall" - text_color="EmphasisColor" - halign="right" - height="16" - name="forgot_password_text" - top_pad="2" - width="180"> - Forgot your name or password? - </text> - <text - follows="right|bottom" - font="SansSerifSmall" - text_color="EmphasisColor" - halign="right" - height="16" - name="login_help" - top_pad="2" - width="180"> - Need help logging in? - </text> - <text - follows="right|bottom" - font="SansSerifSmall" - halign="right" - height="28" - top_pad="2" - name="channel_text" - width="180" - word_wrap="true"> - [VERSION] - </text> - </panel> +<combo_box.item +label="<Type region name>" +name="Typeregionname" value="" /> +</combo_box> +<combo_box +allow_text_entry="true" +font="SansSerifSmall" + follows="left|bottom" + height="23" +layout="topleft" +top_pad="2" +name="server_combo" +width="135" + visible="false" /> +<button + follows="left|bottom" + height="23" + image_unselected="PushButton_On" + image_selected="PushButton_On_Selected" + label="Log In" + label_color="White" + layout="topleft" + left_pad="15" + name="connect_btn" + top="35" + width="90" /> + <text +follows="right|bottom" +font="SansSerifSmall" +text_color="EmphasisColor" +halign="right" +height="16" +top="12" +left_pad="5" +right="-10" +name="create_new_account_text" + width="180"> + Sign up + </text> +<text +follows="right|bottom" +font="SansSerifSmall" +text_color="EmphasisColor" +halign="right" +height="16" +name="forgot_password_text" top_pad="12" + width="180"> + Forgot your name or password? +</text> +<text +follows="right|bottom" +font="SansSerifSmall" +text_color="EmphasisColor" +halign="right" +height="16" +name="login_help" +top_pad="2" + width="180"> + Need help logging in? </text> +<!-- <text + follows="right|bottom" + font="SansSerifSmall" + halign="right" + height="28" + top_pad="2" + name="channel_text" + width="180" + word_wrap="true"> + [VERSION] + </text>--> +</panel> </panel> diff --git a/indra/newview/skins/default/xui/en/panel_main_inventory.xml b/indra/newview/skins/default/xui/en/panel_main_inventory.xml index aeb28e4c60..812801abc9 100644 --- a/indra/newview/skins/default/xui/en/panel_main_inventory.xml +++ b/indra/newview/skins/default/xui/en/panel_main_inventory.xml @@ -16,16 +16,17 @@ <filter_editor text_pad_left="14" follows="left|top|right" - font="SanSerif" - height="20" + height="23" label="Filter" layout="topleft" left="15" +max_length="300" name="inventory search editor" - top="34" - width="300" /> + top="26" + width="303" /> <tab_container - follows="left|top|right|bottom" +follows="all" +halign="center" height="300" layout="topleft" left_delta="-4" @@ -33,26 +34,28 @@ tab_min_width="70" tab_height="30" tab_position="top" - top_pad="10" - halign="center" + tab_height="30" + tab_min_width="100" + top_pad="4" width="305"> <inventory_panel - follows="left|top|right|bottom" + border="false" + follows="all" height="295" - label="ALL ITEMS" + label="MY INVENTORY" layout="topleft" - left="1" + left="0" name="All Items" top="16" width="290" /> <inventory_panel - follows="left|top|right|bottom" + border="false" + follows="all" height="295" - label="RECENT ITEMS" + label="RECENT" layout="topleft" left_delta="0" name="Recent Items" - top_delta="0" width="290" /> </tab_container> @@ -109,12 +112,12 @@ <menu_bar bg_visible="false" follows="left|top|right" - height="18" + height="20" layout="topleft" - left_delta="0" + left="10" mouse_opaque="false" name="Inventory Menu" - top="15" + top="0" visible="true" width="290"> <menu diff --git a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml index 0567d722d5..db95d01b43 100644 --- a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml +++ b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml @@ -1,46 +1,48 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <panel name="Outfits" - follows="all" -border="false"> + height="510" + width="333" + follows="top|left" + left="0" + top_pad="0"> <accordion single_expansion="true" - follows="top|left|bottom" - height="460" - layout="topleft" - left="0" + height="510" + layout="topleft" + left="0" + follows="top|left" name="outfits_accordion" - top="0" - width="333"> + top_pad="0" + width="333"> <accordion_tab - layout="topleft" + expanded="false" + layout="topleft" name="tab_cof" title="Current Outfit"> <inventory_panel - allow_multi_select="true" - border="false" - bottom="0" - follows="all" - height="416" - left="0" + allow_multi_select="true" + border="false" + height="460" + left="0" + top="0" mouse_opaque="true" name="cof_accordionpanel" - width="333" start_folder="Current Outfit" /> </accordion_tab> <accordion_tab - layout="topleft" + expanded="true" + layout="topleft" name="tab_outfits" title="My Outfits"> <inventory_panel allow_multi_select="true" border="false" - bottom="0" follows="all" - height="415" left="0" + top="0" + height="460" mouse_opaque="true" name="outfitslist_accordionpanel" - width="333" start_folder="My Outfits" /> </accordion_tab> </accordion> diff --git a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml index 6a61953319..78b90eefcc 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_advanced.xml @@ -70,7 +70,7 @@ </text> <combo_box allow_text_entry="true" - height="20" + height="23" follows="left|top" layout="topleft" left_pad="0" @@ -306,7 +306,7 @@ Avatars: <button follows="top|left" enabled_control="EnableVoiceChat" - height="20" + height="23" label="Set Key" left_delta="0" name="set_voice_hotkey_button" @@ -320,7 +320,7 @@ Avatars: enabled_control="EnableVoiceChat" follows="left" halign="center" - height="20" + height="23" label="Middle Mouse Button" left_delta="120" mouse_opaque="true" diff --git a/indra/newview/skins/default/xui/en/panel_preferences_alerts.xml b/indra/newview/skins/default/xui/en/panel_preferences_alerts.xml index a94df4150d..d4f4053dad 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_alerts.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_alerts.xml @@ -63,7 +63,7 @@ <button enabled_control="FirstSelectedDisabledPopups" follows="top|left" - height="20" + height="23" image_disabled="PushButton_Disabled" image_disabled_selected="PushButton_Disabled" image_overlay="Arrow_Up" @@ -81,7 +81,7 @@ <button enabled_control="FirstSelectedEnabledPopups" follows="top|left" - height="20" + height="23" image_disabled="PushButton_Disabled" image_disabled_selected="PushButton_Disabled" image_overlay="Arrow_Down" diff --git a/indra/newview/skins/default/xui/en/panel_preferences_general.xml b/indra/newview/skins/default/xui/en/panel_preferences_general.xml index ee9bfbae93..8aba8b9dd1 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_general.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_general.xml @@ -24,7 +24,7 @@ <combo_box control_name="Language" follows="left|bottom" - height="18" + height="23" layout="topleft" left_delta="50" max_chars="135" @@ -136,7 +136,7 @@ <combo_box control_name="PreferredMaturity" follows="left|bottom" - height="18" + height="23" layout="topleft" left_delta="-10" name="maturity_desired_combobox" @@ -170,7 +170,7 @@ <combo_box control_name="LoginLocation" follows="left|bottom" - height="18" + height="23" layout="topleft" left_delta="50" name="start_location_combo" diff --git a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml index eb00b9b79a..04985d0fa9 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml @@ -708,7 +708,7 @@ </panel> <button follows="left|bottom" - height="20" + height="23" label="Apply" label_selected="Apply" layout="topleft" @@ -721,7 +721,7 @@ </button> <button follows="left|bottom" - height="20" + height="23" label="Reset" layout="topleft" left_pad="3" @@ -734,7 +734,7 @@ <button control_name="ShowAdvancedGraphicsSettings" follows="right|bottom" - height="20" + height="23" is_toggle="true" label="Advanced" layout="topleft" @@ -744,7 +744,7 @@ width="115" /> <button follows="right|bottom" - height="20" + height="23" label="Hardware" label_selected="Hardware" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml index 29e9b476eb..25d7ba0903 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_privacy.xml @@ -15,7 +15,7 @@ </panel.string> <button follows="left|bottom" - height="20" + height="23" label="Clear History" layout="topleft" left="30" @@ -160,7 +160,7 @@ <button enabled="false" follows="right|bottom" - height="20" + height="23" label="Browse" label_selected="Browse" layout="topleft" @@ -173,7 +173,7 @@ </button> <button follows="left|bottom" - height="20" + height="23" label="Block list" layout="topleft" left="30" diff --git a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml index 5cabae5fa0..a7def5306e 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_setup.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_setup.xml @@ -10,7 +10,7 @@ top="1" width="517"> <button - height="20" + height="23" label="Other Devices" layout="topleft" left="30" @@ -138,7 +138,7 @@ enabled_control="BrowserProxyEnabled" decimal_digits="0" follows="left|top" - height="16" + height="23" increment="1" initial_value="80" label="Port number:" @@ -208,7 +208,7 @@ width="205" /> <button follows="left|top" - height="22" + height="23" label="Browse" label_selected="Browse" layout="topleft" @@ -221,7 +221,7 @@ </button> <button follows="left|top" - height="22" + height="23" label="Reset" label_selected="Set" layout="topleft" @@ -314,7 +314,7 @@ width="200" /> <button follows="left|top" - height="22" + height="23" enabled="false" label="Browse" label_selected="Browse" diff --git a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml index 854227619b..102a53ad90 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_sound.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_sound.xml @@ -343,7 +343,7 @@ <button control_name="ShowDeviceSettings" follows="left|top" - height="19" + height="23" is_toggle="true" label="Input/Output devices" layout="topleft" @@ -391,7 +391,7 @@ Input </text> <combo_box - height="19" + height="23" control_name="VoiceInputAudioDevice" layout="topleft" left="165" @@ -505,7 +505,7 @@ </text> <combo_box control_name="VoiceOutputAudioDevice" - height="19" + height="23" layout="topleft" left="165" max_chars="128" diff --git a/indra/newview/skins/default/xui/en/role_actions.xml b/indra/newview/skins/default/xui/en/role_actions.xml index b89a975430..a6036f8b78 100644 --- a/indra/newview/skins/default/xui/en/role_actions.xml +++ b/indra/newview/skins/default/xui/en/role_actions.xml @@ -4,39 +4,39 @@ description="These Abilities include powers to add and remove group Members, and allow new Members to join without an invitation." name="Membership"> <action description="Invite People to this Group" - longdescription="Invite People to this Group using the 'Invite New Person...' button in the Members & Roles tab > Members sub-tab." + longdescription="Invite People to this Group using the 'Invite' button in the Roles section > Members tab." name="member invite" value="1" /> <action description="Eject Members from this Group" - longdescription="Eject Members from this Group using the 'Eject From Group' button in the Members & Roles tab > Members sub-tab. An Owner can eject anyone except another Owner. If you're not an Owner, a Member can be ejected from a group if, and only if, they're only in the Everyone Role, and NO other Roles. To remove Members from Roles, you need to have the 'Remove Members from Roles' Ability." + longdescription="Eject Members from this Group using the 'Eject' button in the Roles section > Members tab. An Owner can eject anyone except another Owner. If you're not an Owner, a Member can be ejected from a group if, and only if, they're only in the Everyone Role, and NO other Roles. To remove Members from Roles, you need to have the 'Remove Members from Roles' Ability." name="member eject" value="2" /> <action - description="Toggle 'Open Enrollment' and change 'Signup Fee'" - longdescription="Toggle 'Open Enrollment' to let new Members join without an invitation, and change 'Signup Fee' in the Group Preferences section of the General tab." + description="Toggle 'Open Enrollment' and change 'Enrollment fee'" + longdescription="Toggle 'Open Enrollment' to let new Members join without an invitation, and change the 'Enrollment fee' in the General section." name="member options" value="3" /> </action_set> <action_set description="These Abilities include powers to add, remove, and change group Roles, add and remove Members in Roles, and assign Abilities to Roles." name="Roles"> <action description="Create new Roles" - longdescription="Create new Roles in the Members & Roles tab > Roles sub-tab." + longdescription="Create new Roles in the Roles section > Roles tab." name="role create" value="4" /> <action description="Delete Roles" - longdescription="Delete Roles in the Members & Roles tab > Roles sub-tab." + longdescription="Delete Roles in the Roles section > Roles tab." name="role delete" value="5" /> - <action description="Change Role names, titles, descriptions, and whether Role members are publicly visible" - longdescription="Change Role names, titles, descriptions, and whether Role members are publicly visible. This is done at the bottom of the the Members & Roles tab > Roles sub-tab after selecting a Role." + <action description="Change Role names, titles, descriptions, and whether Role members are publicly revealed" + longdescription="Change Role names, titles, descriptions, and whether Role members are publicly revealed. This is done at the bottom of the the Roles section > Roles tab after selecting a Role." name="role properties" value="6" /> <action description="Assign Members to Assigner's Roles" - longdescription="Assign Members to Roles in the Assigned Roles section of the Members & Roles tab > Members sub-tab. A Member with this Ability can only add Members to a Role the assigner is already in." + longdescription="Assign Members to Roles in the list of Assigned Roles (Roles section > Members tab). A Member with this Ability can only add Members to a Role that the assigner is already in." name="role assign member limited" value="7" /> <action description="Assign Members to Any Role" - longdescription="Assign Members to Any Role in the Assigned Roles section of the Members & Roles tab > Members sub-tab. *WARNING* Any Member in a Role with this Ability can assign themselves--and any other non-Owner Member--to Roles that have more powers than they currently have, potentially elevating themselves to near-Owner power. Be sure you know what you're doing before assigning this Ability." + longdescription="Assign Members to Any Role in the list of Assigned Roles (Roles section > Members tab). *WARNING* Any Member in a Role with this Ability can assign themselves--and any other non-Owner Member--to Roles that have more powers than they currently have, potentially elevating themselves to near-Owner power. Be sure you know what you're doing before assigning this Ability." name="role assign member" value="8" /> <action description="Remove Members from Roles" - longdescription="Remove Members from Roles in the Assigned Roles section of the Members & Roles tab > Members sub-tab. Owners can't be removed." + longdescription="Remove Members from Roles in the list of Assigned Roles (Roles section > Members tab). Owners can't be removed." name="role remove member" value="9" /> <action description="Assign and Remove Abilities in Roles" - longdescription="Assign and Remove Abilities in Roles in the Allowed Abilities section of the Members & Roles tab > Roles sub-tab. *WARNING* Any Member in a Role with this Ability can assign themselves--and any other non-Owner Member--all Abilities, potentially elevating themselves to near-Owner power. Be sure you know what you're doing before assigning this Ability." + longdescription="Assign and Remove Abilities for each Role in the list of Allowed Abilities (Roles section > Roles tab). *WARNING* Any Member in a Role with this Ability can assign themselves--and any other non-Owner Member--all Abilities, potentially elevating themselves to near-Owner power. Be sure you know what you're doing before assigning this Ability." name="role change actions" value="10" /> </action_set> <action_set @@ -44,11 +44,11 @@ name="Group Identity"> <action description="Change Charter, Insignia, and 'Show in search'" - longdescription="Change Charter, Insignia, and 'Show in search'. This is done in the General tab." + longdescription="Change Charter, Insignia, and 'Show in search'. This is done in the General section." name="group change identity" value="11" /> </action_set> <action_set - description="These Abilities include powers to deed, modify, and sell land in this group's land holdings. To get to the About Land window, right-click the ground and select 'About Land...', or click the parcel info in the menu bar." + description="These Abilities include powers to deed, modify, and sell land in this group's land holdings. To get to the About Land window, right-click the ground and select 'About Land', or click the 'i' icon in the Navigation Bar." name="Parcel Management"> <action description="Deed land and buy land for group" longdescription="Deed land and buy land for group. This is done in About Land > General tab." @@ -60,18 +60,18 @@ longdescription="Set land for sale info. *WARNING* Any Member in a Role with this Ability can sell group-owned land in About Land > General tab as they wish! Be sure you know what you're doing before assigning this Ability." name="land set sale info" value="14" /> <action description="Subdivide and join parcels" - longdescription="Subdivide and join parcels. This is done by right-clicking the ground, 'Edit Terrain', and dragging your mouse on the land to make a selection. To subdivide, select what you want to split and click 'Subdivide...'. To join, select two or more contiguous parcels and click 'Join...'. " + longdescription="Subdivide and join parcels. This is done by right-clicking the ground, 'Edit Terrain', and dragging your mouse on the land to make a selection. To subdivide, select what you want to split and click 'Subdivide'. To join, select two or more contiguous parcels and click 'Join'. " name="land divide join" value="15" /> </action_set> <action_set description="These Abilities include powers to change the parcel name and publish settings, Find directory visibility, and landing point & TP routing options." name="Parcel Identity"> - <action description="Toggle 'Show in Find Places' and set category" - longdescription="Toggle 'Show in Find Places' and setting a parcel's category in About Land > Options tab." + <action description="Toggle 'Show Place in Search' and set category" + longdescription="Toggle 'Show Place in Search' and setting a parcel's category in About Land > Options tab." name="land find places" value="17" /> <action - description="Change parcel name, description, and 'Show in search' settings" - longdescription="Change parcel name, description, and 'Show in search' settings. This is done in About Land > Options tab." + description="Change parcel name, description, and 'Show Place in Search' settings" + longdescription="Change parcel name, description, and 'Show Place in Search' settings. This is done in About Land > Options tab." name="land change identity" value="18" /> <action description="Set landing point and set teleport routing" longdescription="On a group-owned parcel, Members in a Role with this Ability can set a landing point to specify where incoming teleports arrive, and also set teleport routing for further control. This is done in About Land > Options tab." @@ -87,7 +87,7 @@ longdescription="Toggle 'Edit Terrain'. *WARNING* About Land > Options tab > Edit Terrain allows anyone to terraform your land's shape, and place and move Linden plants. Be sure you know what you're doing before assigning this Ability. Editing terrain is toggled in About Land > Options tab." name="land edit" value="21" /> <action description="Toggle various About Land > Options settings" - longdescription="Toggle 'Safe (no damage)', 'Fly', and allow other Residents to: 'Create Objects', 'Edit Terrain', 'Create Landmarks', and 'Run Scripts' on group-owned land in About Land > Options tab." + longdescription="Toggle 'Safe (no damage)', 'Fly', and allow other Residents to: 'Edit Terrain', 'Build', 'Create Landmarks', and 'Run Scripts' on group-owned land in About Land > Options tab." name="land options" value="22" /> </action_set> <action_set @@ -106,7 +106,7 @@ longdescription="Members in a Role with this Ability can landmark a group-owned parcel, even if it's turned off in About Land > Options tab." name="land allow landmark" value="26" /> <action description="Allow 'Set Home to Here' on group land" - longdescription="Members in a Role with this Ability can use World menu > Set Home to Here on a parcel deeded to this group." + longdescription="Members in a Role with this Ability can use World menu > Landmarks > Set Home to Here on a parcel deeded to this group." name="land allow set home" value="28" /> </action_set> <action_set @@ -116,13 +116,13 @@ longdescription="Manage parcel Access lists in About Land > Access tab." name="land manage allowed" value="29" /> <action description="Manage parcel Ban lists" - longdescription="Manage parcel Ban lists in About Land > Ban tab." + longdescription="Manage parcel Ban lists in About Land > Access tab." name="land manage banned" value="30" /> - <action description="Change parcel 'Sell passes...' settings" - longdescription="Change parcel 'Sell passes...' settings in About Land > Access tab." + <action description="Change parcel 'Sell passes to' settings" + longdescription="Change parcel 'Sell passes to' settings in About Land > Access tab." name="land manage passes" value="31" /> <action description="Eject and freeze Residents on parcels" - longdescription="Members in a Role with this Ability can handle an unwelcome Resident on a group-owned parcel by right-clicking them, More >, and selecting 'Eject...' or 'Freeze...'." + longdescription="Members in a Role with this Ability can handle an unwelcome Resident on a group-owned parcel by right-clicking them, then selecting 'Eject' or 'Freeze'." name="land admin" value="32" /> </action_set> <action_set @@ -138,20 +138,20 @@ longdescription="Return objects on group-owned parcels that are non-group in About Land > Objects tab." name="land return non group" value="34" /> <action description="Landscaping using Linden plants" - longdescription="Landscaping ability to place and move Linden trees, plants, and grasses. These items can be found in your inventory's Library > Objects folder or they can be created via the Build button." + longdescription="Landscaping ability to place and move Linden trees, plants, and grasses. These items can be found in your inventory's Library > Objects folder, or they can be created via the Build menu." name="land gardening" value="35" /> </action_set> <action_set - description="These Abilities include powers to deed, modify, and sell group-owned objects. These changes are done in the Edit Tools > General Tab. Right-click an object and Edit to see its settings. " + description="These Abilities include powers to deed, modify, and sell group-owned objects. These changes are done in the Build Tools > General tab. Right-click an object and Edit to see its settings. " name="Object Management"> <action description="Deed objects to group" - longdescription="Deed objects to group in the Edit Tools > General Tab." + longdescription="Deed objects to group in the Build Tools > General tab." name="object deed" value="36" /> <action description="Manipulate (move, copy, modify) group-owned objects" - longdescription="Manipulate (move, copy, modify) group-owned objects in the Edit Tools > General Tab." + longdescription="Manipulate (move, copy, modify) group-owned objects in the Build Tools > General tab." name="object manipulate" value="38" /> <action description="Set group-owned objects for sale" - longdescription="Set group-owned objects for sale in the Edit Tools > General tab." + longdescription="Set group-owned objects for sale in the Build Tools > General tab." name="object set sale" value="39" /> </action_set> <action_set @@ -165,10 +165,10 @@ description="These Abilities include powers to allow Members to send, receive, and view group Notices." name="Notices"> <action description="Send Notices" - longdescription="Members in a Role with this Ability can send Notices in Group Information > Notices tab." + longdescription="Members in a Role with this Ability can send Notices via the Group > Notices section." name="notices send" value="42" /> <action description="Receive Notices and view past Notices" - longdescription="Members in a Role with this Ability can receive Notices and view past Notices in Group Information > Notices tab." + longdescription="Members in a Role with this Ability can receive Notices and view past Notices in Group > Notices section." name="notices receive" value="43" /> </action_set> <action_set diff --git a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml index 886887c2b5..c457dcb526 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml @@ -1,177 +1,171 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <panel background_visible="true" - follows="all" - height="570" - label="My Appearance" - layout="topleft" - min_height="350" - name="appearance panel" - width="333"> - <string -name="No Outfit" -value="No Outfit" /> -<panel - left="0" - top="0" - follows="top|left" +follows="all" +height="635" +label="Outfits" layout="topleft" - width="333" - height="45" - background_visible="true" - background_opaque="false" - bg_alpha_color="MouseGray" - name="panel_currentlook" - > -<button - follows="left|top" - top="0" width="1" height="1" - layout="topleft" - left="0" - name="editappearance_btn" /> - <button - follows="left|top" - top="0" width="1" height="1" - layout="topleft" - left="3" - name="openoutfit_btn" /> -<icon - follows="top|left" - height="30" - image_name="TabIcon_Appearance_Off" - name="outfit_icon" - mouse_opaque="false" - visible="true" - left="5" - top="0" - width="30" /> -<text - width="292" - height="22" -follows="top|left" - layout="topleft" - left_pad="5" -font="SansSerifLarge" -font.style="BOLD" -word_wrap="false" -use_ellipses="true" -mouse_opaque="false" - text_color="white" - name="currentlook_name"> -MyOutfit With a really Long Name like MOOSE - </text> - <text -width="290" -left="40" -height="1" -follows="top|left" - layout="topleft" - top_pad="-2" -mouse_opaque="false" - name="currentlook_title" > -(now wearing) - </text> -</panel> - <filter_editor - follows="top|left" - height="23" - layout="topleft" - left="15" - label="Filter" - max_length="300" - name="Filter" - top_pad="7" - width="303" /> - <panel - follows="top|left" - halign="center" - height="500" - layout="topleft" - class="panel_outfits_inventory" - filename="panel_outfits_inventory.xml" - name="panel_outfits_inventory" - min_height="300" +min_height="460" +name="appearance panel" +top="0" +left="0" + width="333"> + <string + name="No Outfit" + value="No Outfit" /> + <panel + left="0" + top="0" + follows="left|top|right" + layout="topleft" + width="333" + height="33" + name="panel_currentlook" + > + <button + follows="left|top" + top="0" width="1" height="1" + layout="topleft" + left="0" + name="editappearance_btn" /> + <button + follows="left|top" + top="0" width="1" height="1" + layout="topleft" left="0" - top_pad="3" - width="333" - /> + name="openoutfit_btn" /> + <icon + follows="top|left" + height="30" + image_name="TabIcon_Appearance_Off" + name="outfit_icon" + mouse_opaque="false" + visible="true" + left="5" + top="0" + width="30" /> + <text + font="SansSerifHuge" + height="20" + left_pad="5" + text_color="white" + top="3" + use_ellipses="true" + width="290" + follows="top|left" + word_wrap="true" + mouse_opaque="false" + name="currentlook_name"> + MyOutfit With a really Long Name like MOOSE + </text> + <!-- <text + text_color="LtGray_50" + width="290" + left="40" + height="1" + follows="top|left" + layout="topleft" + top_pad="-2" + mouse_opaque="false" + name="currentlook_title" > + (current outfit) + </text>--> + </panel> + <filter_editor + height="23" + follows="left|top|right" + layout="topleft" + left="15" + label="Filter Outfits" + max_length="300" + name="Filter" + top_pad="0" + width="303" /> <panel - background_visible="true" - follows="top|left" - height="19" - layout="topleft" - left="0" - visible="true" - name="bottom_panel" - width="333"> - <button - follows="bottom|left" - tool_tip="Show additional options" - height="18" - image_disabled="OptionsMenu_Disabled" - image_selected="OptionsMenu_Press" - image_unselected="OptionsMenu_Off" - layout="topleft" - left="10" - name="options_gear_btn" - top="6" - width="18" /> - <button - follows="bottom|left" - height="18" - image_selected="AddItem_Press" - image_unselected="AddItem_Off" - image_disabled="AddItem_Disabled" - layout="topleft" - left_pad="5" - name="add_btn" - tool_tip="Add new item" - width="18" /> - <dnd_button - follows="bottom|left" - height="18" - image_selected="TrashItem_Press" - image_unselected="TrashItem_Off" - layout="topleft" - right="-5" - name="trash_btn" - tool_tip="Remove selected item" - top="6" - width="18" /> - <button - follows="top|left" - height="23" - label="Wear" + class="panel_outfits_inventory" + filename="panel_outfits_inventory.xml" + name="panel_outfits_inventory" + height="510" + min_height="510" + width="333" + top_pad="0" + follows="top|left" + /> + <panel + visible="true" + name="bottom_panel" + height="50" + left="0" + top_pad="3" + follows="bottom|left" + width="333"> + <button + follows="bottom|left" + tool_tip="Show additional options" + height="18" + image_disabled="OptionsMenu_Disabled" + image_selected="OptionsMenu_Press" + image_unselected="OptionsMenu_Off" layout="topleft" - name="wear_btn" - right="-5" - top_pad="0" - width="90" /> - </panel> - <!-- <button - follows="bottom|left" - height="23" - label="New outfit" + left="10" + name="options_gear_btn" + top="6" + width="18" /> + <button + follows="bottom|left" + height="18" + image_selected="AddItem_Press" + image_unselected="AddItem_Off" + image_disabled="AddItem_Disabled" layout="topleft" left_pad="5" - right="-10" - name="newlook_btn" - width="100" />--> -<panel - class="panel_look_info" - filename="panel_look_info.xml" - follows="all" - layout="topleft" - left="0" - name="panel_look_info" - visible="false" /> -<panel - class="panel_edit_wearable" - filename="panel_edit_wearable.xml" - follows="all" - layout="topleft" - left="0" - name="panel_edit_wearable" - visible="false" - width="333" /> -</panel> + name="add_btn" + tool_tip="Add new item" + width="18" /> + <dnd_button + follows="bottom|left" + height="18" + image_selected="TrashItem_Press" + image_unselected="TrashItem_Off" + layout="topleft" + right="-5" + name="trash_btn" + tool_tip="Remove selected item" + top="6" + width="18" /> + <button + follows="bottom|left" + height="23" + label="Wear" + layout="topleft" + name="wear_btn" + right="-5" + top_pad="0" + width="90" /> + </panel> + <!-- <button + follows="bottom|left" + height="23" + label="New outfit" + layout="topleft" + left_pad="5" + right="-10" + name="newlook_btn" + width="100" />--> + <panel + class="panel_look_info" + filename="panel_look_info.xml" + follows="all" + layout="topleft" + left="0" + name="panel_look_info" + visible="false" /> + <panel + class="panel_edit_wearable" + filename="panel_edit_wearable.xml" + follows="all" + layout="topleft" + left="0" + name="panel_edit_wearable" + visible="false" /> +</panel>
\ No newline at end of file diff --git a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml index 33a6a52f5c..b738e72423 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_inventory.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_inventory.xml @@ -41,47 +41,47 @@ <button enabled="true" follows="bottom|left" - height="25" - label="Info" + height="23" + label="Profile" layout="topleft" left="0" name="info_btn" top="0" - width="60" /> + width="100" /> <button enabled="false" follows="bottom|left" - height="25" + height="23" label="Wear" layout="topleft" left="130" name="wear_btn" top="0" - width="60" /> + width="100" /> <button enabled="false" follows="bottom|left" - height="25" + height="23" label="Play" layout="topleft" name="play_btn" left="130" top="0" - width="50" /> + width="80" /> <button enabled="false" follows="bottom|left" - height="25" + height="23" label="Teleport" layout="topleft" left="130" name="teleport_btn" top="0" - width="77" /> + width="100" /> </panel> </panel> - <panel +<panel follows="all" layout="topleft" left="0" @@ -95,7 +95,7 @@ width="330"> </panel> - <panel +<panel follows="all" layout="topleft" left="0" @@ -108,5 +108,4 @@ visible="false" width="330"> </panel> - </panel> diff --git a/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml b/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml index eaa68f5690..6c559aa185 100644 --- a/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml +++ b/indra/newview/skins/default/xui/en/widgets/teleport_history_menu_item.xml @@ -3,10 +3,6 @@ Based on menu_item_call.xml --> <teleport_history_menu_item back_item_font="SansSerif" - current_item_font="SansSerifBold" + current_item_font="SansSerif" forward_item_font="SansSerif" - back_item_image="teleport_history_backward.tga" - forward_item_image="teleport_history_forward.tga" - image_hpad="1" - image_vpad="0" /> |