Merge viewer-bear

master
Ansariel 2015-11-19 22:05:58 +01:00
commit 02f976fb54
17 changed files with 71 additions and 186 deletions

View File

@ -3240,17 +3240,6 @@
<key>Value</key>
<integer>1</integer>
</map>
<key>ChatShowIcons</key>
<map>
<key>Comment</key>
<string>Show/hide people icons in chat</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>1</integer>
</map>
<key>CheesyBeacon</key>
<map>
<key>Comment</key>
@ -13683,17 +13672,6 @@ Change of this parameter will affect the layout of buttons in notification toast
<key>Value</key>
<integer>1</integer>
</map>
<key>GlobalShowIconsOverride</key>
<map>
<key>Comment</key>
<string>Show/hide people icons in any list. This option should be set back to 0 when icons are enabled locally for the lists</string>
<key>Persist</key>
<integer>1</integer>
<key>Type</key>
<string>Boolean</string>
<key>Value</key>
<integer>0</integer>
</map>
<key>FriendsSortOrder</key>
<map>
<key>Comment</key>

View File

@ -246,7 +246,7 @@ FSParticipantList::FSParticipantList(LLSpeakerMgr* data_source,
if (use_context_menu && can_toggle_icons)
{
mAvatarList->setShowIcons("ParticipantListShowIcons");
mAvatarListToggleIconsConnection = gSavedSettings.getControl("ParticipantListShowIcons")->getSignal()->connect(boost::bind(&FSParticipantList::onParticipantListIconToggle, this));
mAvatarListToggleIconsConnection = gSavedSettings.getControl("ParticipantListShowIcons")->getSignal()->connect(boost::bind(&LLAvatarList::toggleIcons, mAvatarList));
}
//Lets fill avatarList with existing speakers
@ -473,14 +473,6 @@ void FSParticipantList::onAvalineCallerRemoved(const LLUUID& participant_id)
mSpeakerMgr->removeAvalineSpeaker(participant_id);
}
void FSParticipantList::onParticipantListIconToggle()
{
std::string param = mAvatarList->getIconParamName();
gSavedSettings.setBOOL(param, !(gSavedSettings.getBOOL(param) && !gSavedSettings.getBOOL("GlobalShowIconsOverride")));
gSavedSettings.setBOOL("GlobalShowIconsOverride", (!gSavedSettings.getBOOL(param) && gSavedSettings.getBOOL("GlobalShowIconsOverride")));
mAvatarList->setIconsVisible(gSavedSettings.getBOOL(param));
}
void FSParticipantList::setSortOrder(EParticipantSortOrder order)
{
const U32 speaker_sort_order = gSavedSettings.getU32("SpeakerParticipantDefaultOrder");

View File

@ -263,8 +263,6 @@ private:
void onAvalineCallerFound(const LLUUID& participant_id);
void onAvalineCallerRemoved(const LLUUID& participant_id);
void onParticipantListIconToggle();
/**
* Adjusts passed participant to work properly.
*

View File

@ -66,18 +66,16 @@ bool LLAvatarList::contains(const LLUUID& id)
return std::find(ids.begin(), ids.end(), id) != ids.end();
}
void LLAvatarList::setIconsVisible(bool visible)
void LLAvatarList::toggleIcons()
{
if (visible == mShowIcons) // nothing to be done here.
return;
// Save the new value for new items to use.
mShowIcons = visible;
mShowIcons = !mShowIcons;
gSavedSettings.setBOOL(mIconParamName, mShowIcons);
// Show/hide icons for all existing items.
std::vector<LLPanel*> items;
getItems(items);
for (std::vector<LLPanel*>::const_iterator it = items.begin(); it != items.end(); it++)
for( std::vector<LLPanel*>::const_iterator it = items.begin(); it != items.end(); it++)
{
static_cast<LLAvatarListItem*>(*it)->setAvatarIconVisible(mShowIcons);
}
@ -282,8 +280,6 @@ void LLAvatarList::draw()
updateAvatarNames();
}
setIconsVisible(gSavedSettings.getBOOL(mIconParamName) && !gSavedSettings.getBOOL("GlobalShowIconsOverride"));
if (mDirty)
refresh();

View File

@ -79,7 +79,7 @@ public:
void setSessionID(const LLUUID& session_id) { mSessionID = session_id; }
const LLUUID& getSessionID() { return mSessionID; }
void setIconsVisible(bool visible);
void toggleIcons();
void setSpeakingIndicatorsVisible(bool visible);
void showPermissions(bool visible);
void showDisplayName(bool visible);

View File

@ -87,8 +87,7 @@ LLConversationViewSession::LLConversationViewSession(const LLConversationViewSes
mHasArrow(true),
mIsInActiveVoiceChannel(false),
mFlashStateOn(false),
mFlashStarted(false),
mShowIcons(true)
mFlashStarted(false)
{
mFlashTimer = new LLFlashTimer();
}
@ -176,7 +175,7 @@ BOOL LLConversationViewSession::postBuild()
if (session)
{
LLAvatarIconCtrl* icon = mItemPanel->getChild<LLAvatarIconCtrl>("avatar_icon");
icon->setVisible(mShowIcons);
icon->setVisible(true);
icon->setValue(session->mOtherParticipantID);
mSpeakingIndicator->setSpeakerId(gAgentID, session->mSessionID, true);
mHasArrow = false;
@ -429,49 +428,6 @@ void LLConversationViewSession::showVoiceIndicator(bool visible)
requestArrange();
}
void LLConversationViewSession::setIconsVisible(bool visible)
{
if (visible == mShowIcons) // nothing to be done here.
return;
// Save the new value for new items to use.
mShowIcons = visible;
// Show/hide icons for the 1-n-1 chat.
LLConversationItem* vmi = dynamic_cast<LLConversationItem*>(getViewModelItem());
if (vmi && mItemPanel)
{
switch (vmi->getType())
{
case LLConversationItem::CONV_PARTICIPANT:
case LLConversationItem::CONV_SESSION_1_ON_1:
{
LLIconCtrl* icon = mItemPanel->getChild<LLIconCtrl>("avatar_icon");
icon->setVisible(mShowIcons);
break;
}
/*
case LLConversationItem::CONV_SESSION_AD_HOC:
case LLConversationItem::CONV_SESSION_GROUP:
{
LLIconCtrl* icon = mItemPanel->getChild<LLIconCtrl>("group_icon");
icon->setVisible(mShowIcons);
break;
}
*/
default:
break;
}
}
// Show/hide icons for all existing items.
items_t::const_iterator iter;
for (iter = getItemsBegin(); iter != getItemsEnd(); iter++)
{
dynamic_cast<LLConversationViewParticipant*>(*iter)->setAvatarIconVisible(mShowIcons);
}
}
void LLConversationViewSession::refresh()
{
// Refresh the session view from its model data
@ -504,9 +460,6 @@ void LLConversationViewSession::refresh()
}
}
}
setIconsVisible(gSavedSettings.getBOOL("ChatShowIcons") && !gSavedSettings.getBOOL("GlobalShowIconsOverride"));
requestArrange();
// Do the regular upstream refresh
LLFolderViewFolder::refresh();
@ -558,7 +511,7 @@ void LLConversationViewParticipant::initFromParams(const LLConversationViewParti
LLAvatarIconCtrl::Params avatar_icon_params(params.avatar_icon());
applyXUILayout(avatar_icon_params, this);
LLAvatarIconCtrl * avatarIcon = LLUICtrlFactory::create<LLAvatarIconCtrl>(avatar_icon_params);
addChild(avatarIcon);
addChild(avatarIcon);
LLButton::Params info_button_params(params.info_button());
applyXUILayout(info_button_params, this);
@ -574,7 +527,6 @@ void LLConversationViewParticipant::initFromParams(const LLConversationViewParti
BOOL LLConversationViewParticipant::postBuild()
{
mAvatarIcon = getChild<LLAvatarIconCtrl>("avatar_icon");
mAvatarIcon->setVisible(gSavedSettings.getBOOL("ChatShowIcons") && !gSavedSettings.getBOOL("GlobalShowIconsOverride"));
mInfoBtn = getChild<LLButton>("info_btn");
mInfoBtn->setClickedCallback(boost::bind(&LLConversationViewParticipant::onInfoBtnClick, this));
@ -638,12 +590,12 @@ S32 LLConversationViewParticipant::arrange(S32* width, S32* height)
S32 arranged = LLFolderViewItem::arrange(width, height);
//Adjusts the avatar icon based upon the indentation
LLRect avatarRect(getIndentation(),
mAvatarIcon->getRect().mTop,
getIndentation() + mAvatarIcon->getRect().getWidth(),
mAvatarIcon->getRect().mBottom);
mAvatarIcon->setShape(avatarRect);
LLRect avatarRect(getIndentation(),
mAvatarIcon->getRect().mTop,
getIndentation() + mAvatarIcon->getRect().getWidth(),
mAvatarIcon->getRect().mBottom);
mAvatarIcon->setShape(avatarRect);
//Since dimensions changed, adjust the children (info button, speaker indicator)
updateChildren();
@ -715,7 +667,7 @@ void LLConversationViewParticipant::onMouseLeave(S32 x, S32 y, MASK mask)
S32 LLConversationViewParticipant::getLabelXPos()
{
return getIndentation() + (mAvatarIcon->getVisible() ? mAvatarIcon->getRect().getWidth() : 0) + mIconPad;
return getIndentation() + mAvatarIcon->getRect().getWidth() + mIconPad;
}
// static
@ -794,19 +746,6 @@ void LLConversationViewParticipant::hideSpeakingIndicator()
mSpeakingIndicator->setVisible(false);
}
void LLConversationViewParticipant::setAvatarIconVisible(bool visible)
{
// Already done? Then do nothing.
if (mAvatarIcon->getVisible() == (BOOL)visible)
{
return;
}
// Show/hide avatar icon.
mAvatarIcon->setVisible(visible);
updateChildren();
}
// EOF
#endif

View File

@ -85,7 +85,7 @@ public:
LLConversationViewParticipant* findParticipant(const LLUUID& participant_id);
void showVoiceIndicator(bool visible);
void setIconsVisible(bool visible);
virtual void refresh();
/*virtual*/ void setFlashState(bool flash_state);
@ -112,8 +112,6 @@ private:
bool mIsInActiveVoiceChannel;
bool mShowIcons;
LLVoiceClientStatusObserver* mVoiceClientObserver;
boost::signals2::connection mActiveVoiceChannelConnection;
@ -149,7 +147,6 @@ public:
/*virtual*/ S32 getLabelXPos();
/*virtual*/ BOOL handleMouseDown( S32 x, S32 y, MASK mask );
void hideSpeakingIndicator();
void setAvatarIconVisible(bool visible);
protected:
friend class LLUICtrlFactory;

View File

@ -925,11 +925,6 @@ void LLFloaterIMContainer::onCustomAction(const LLSD& userdata)
{
setSortOrderParticipants(LLConversationFilter::SO_DISTANCE);
}
if ("view_icons" == command)
{
gSavedSettings.setBOOL("ChatShowIcons", !(gSavedSettings.getBOOL("ChatShowIcons") && !gSavedSettings.getBOOL("GlobalShowIconsOverride")));
gSavedSettings.setBOOL("GlobalShowIconsOverride", (!gSavedSettings.getBOOL("ChatShowIcons") && gSavedSettings.getBOOL("GlobalShowIconsOverride")));
}
if ("chat_preferences" == command)
{
LLFloaterPreference * floater_prefp = LLFloaterReg::showTypedInstance<LLFloaterPreference>("preferences");
@ -980,10 +975,6 @@ BOOL LLFloaterIMContainer::isActionChecked(const LLSD& userdata)
{
return (order.getSortOrderParticipants() == LLConversationFilter::SO_DISTANCE);
}
if ("view_icons" == command)
{
return gSavedSettings.getBOOL("ChatShowIcons") && !gSavedSettings.getBOOL("GlobalShowIconsOverride");
}
if ("Translating.Enabled" == command)
{
return gSavedPerAccountSettings.getBOOL("TranslatingEnabled");

View File

@ -98,6 +98,8 @@
#endif
// </FS:Zi>
#include <boost/shared_ptr.hpp>
void copy_slurl_to_clipboard_callback_inv(const std::string& slurl);
typedef std::pair<LLUUID, LLUUID> two_uuids_t;
@ -120,7 +122,7 @@ using namespace LLOldEvents;
// <FS:TT> Patch: ReplaceWornItemsOnly
void wear_inventory_category_on_avatar(LLInventoryCategory* category);
// </FS:TT>
bool move_task_inventory_callback(const LLSD& notification, const LLSD& response, LLMoveInv*);
bool move_task_inventory_callback(const LLSD& notification, const LLSD& response, boost::shared_ptr<LLMoveInv>);
bool confirm_attachment_rez(const LLSD& notification, const LLSD& response);
void teleport_via_landmark(const LLUUID& asset_id);
static BOOL can_move_to_outfit(LLInventoryItem* inv_item, BOOL move_is_into_current_outfit);
@ -3081,7 +3083,7 @@ BOOL LLFolderBridge::dragCategoryIntoFolder(LLInventoryCategory* inv_cat,
return accept;
}
void warn_move_inventory(LLViewerObject* object, LLMoveInv* move_inv)
void warn_move_inventory(LLViewerObject* object, boost::shared_ptr<LLMoveInv> move_inv)
{
const char* dialog = NULL;
if (object->flagScripted())
@ -3092,7 +3094,34 @@ void warn_move_inventory(LLViewerObject* object, LLMoveInv* move_inv)
{
dialog = "MoveInventoryFromObject";
}
LLNotificationsUtil::add(dialog, LLSD(), LLSD(), boost::bind(move_task_inventory_callback, _1, _2, move_inv));
static LLNotificationPtr notification_ptr;
static boost::shared_ptr<LLMoveInv> inv_ptr;
// Notification blocks user from interacting with inventories so everything that comes after first message
// is part of this message - don'r show it again
// Note: workaround for MAINT-5495 untill proper refactoring and warning system for Drag&Drop can be made.
if (notification_ptr == NULL
|| !notification_ptr->isActive()
|| LLNotificationsUtil::find(notification_ptr->getID()) == NULL
|| inv_ptr->mCategoryID != move_inv->mCategoryID
|| inv_ptr->mObjectID != move_inv->mObjectID)
{
notification_ptr = LLNotificationsUtil::add(dialog, LLSD(), LLSD(), boost::bind(move_task_inventory_callback, _1, _2, move_inv));
inv_ptr = move_inv;
}
else
{
// Notification is alive and not responded, operating inv_ptr should be safe so attach new data
two_uuids_list_t::iterator move_it;
for (move_it = move_inv->mMoveList.begin();
move_it != move_inv->mMoveList.end();
++move_it)
{
inv_ptr->mMoveList.push_back(*move_it);
}
move_inv.reset();
}
}
// Move/copy all inventory items from the Contents folder of an in-world
@ -3180,7 +3209,7 @@ BOOL move_inv_category_world_to_agent(const LLUUID& object_id,
if(drop && accept)
{
it = inventory_objects.begin();
LLMoveInv* move_inv = new LLMoveInv;
boost::shared_ptr<LLMoveInv> move_inv(new LLMoveInv);
move_inv->mObjectID = object_id;
move_inv->mCategoryID = category_id;
move_inv->mCallback = callback;
@ -4802,7 +4831,7 @@ LLFontGL::StyleFlags LLMarketplaceFolderBridge::getLabelStyle() const
// helper stuff
bool move_task_inventory_callback(const LLSD& notification, const LLSD& response, LLMoveInv* move_inv)
bool move_task_inventory_callback(const LLSD& notification, const LLSD& response, boost::shared_ptr<LLMoveInv> move_inv)
{
LLFloaterOpenObject::LLCatAndWear* cat_and_wear = (LLFloaterOpenObject::LLCatAndWear* )move_inv->mUserData;
LLViewerObject* object = gObjectList.findObject(move_inv->mObjectID);
@ -4838,7 +4867,7 @@ bool move_task_inventory_callback(const LLSD& notification, const LLSD& response
move_inv->mCallback(option, move_inv->mUserData);
}
delete move_inv;
move_inv.reset(); //since notification will persist
return false;
}
@ -5292,7 +5321,7 @@ BOOL LLFolderBridge::dragItemIntoFolder(LLInventoryItem* inv_item,
if (accept && drop)
{
LLMoveInv* move_inv = new LLMoveInv;
boost::shared_ptr<LLMoveInv> move_inv (new LLMoveInv());
move_inv->mObjectID = inv_item->getParentUUID();
two_uuids_t item_pair(mUUID, inv_item->getUUID());
move_inv->mMoveList.push_back(item_pair);

View File

@ -1502,12 +1502,8 @@ void LLPanelPeople::onFriendsViewSortMenuItemClicked(const LLSD& userdata)
}
else if (chosen_item == "view_icons")
{
std::string param = mAllFriendList->getIconParamName();
gSavedSettings.setBOOL(param, !(gSavedSettings.getBOOL(param) && !gSavedSettings.getBOOL("GlobalShowIconsOverride")));
gSavedSettings.setBOOL("GlobalShowIconsOverride", (!gSavedSettings.getBOOL(param) && gSavedSettings.getBOOL("GlobalShowIconsOverride")));
gSavedSettings.setBOOL(mOnlineFriendList->getIconParamName(), gSavedSettings.getBOOL(param));
mAllFriendList->setIconsVisible(gSavedSettings.getBOOL(param));
mOnlineFriendList->setIconsVisible(gSavedSettings.getBOOL(param));
mAllFriendList->toggleIcons();
mOnlineFriendList->toggleIcons();
}
else if (chosen_item == "view_permissions")
{
@ -1543,10 +1539,7 @@ void LLPanelPeople::onNearbyViewSortMenuItemClicked(const LLSD& userdata)
}
else if (chosen_item == "view_icons")
{
std::string param = mNearbyList->getIconParamName();
gSavedSettings.setBOOL(param, !(gSavedSettings.getBOOL(param) && !gSavedSettings.getBOOL("GlobalShowIconsOverride")));
gSavedSettings.setBOOL("GlobalShowIconsOverride", (!gSavedSettings.getBOOL(param) && gSavedSettings.getBOOL("GlobalShowIconsOverride")));
mNearbyList->setIconsVisible(gSavedSettings.getBOOL(param));
mNearbyList->toggleIcons();
}
else if (chosen_item == "sort_distance")
{
@ -1565,8 +1558,6 @@ bool LLPanelPeople::onNearbyViewSortMenuItemCheck(const LLSD& userdata)
return sort_order == E_SORT_BY_NAME;
if (item == "sort_distance")
return sort_order == E_SORT_BY_DISTANCE;
if (item == "view_icons")
return gSavedSettings.getBOOL(mNearbyList->getIconParamName()) && !gSavedSettings.getBOOL("GlobalShowIconsOverride");
return false;
}
@ -1585,10 +1576,7 @@ void LLPanelPeople::onRecentViewSortMenuItemClicked(const LLSD& userdata)
}
else if (chosen_item == "view_icons")
{
std::string param = mRecentList->getIconParamName();
gSavedSettings.setBOOL(param, !(gSavedSettings.getBOOL(param) && !gSavedSettings.getBOOL("GlobalShowIconsOverride")));
gSavedSettings.setBOOL("GlobalShowIconsOverride", (!gSavedSettings.getBOOL(param) && gSavedSettings.getBOOL("GlobalShowIconsOverride")));
mRecentList->setIconsVisible(gSavedSettings.getBOOL(param));
mRecentList->toggleIcons();
}
}
@ -1601,8 +1589,6 @@ bool LLPanelPeople::onFriendsViewSortMenuItemCheck(const LLSD& userdata)
return sort_order == E_SORT_BY_NAME;
if (item == "sort_status")
return sort_order == E_SORT_BY_STATUS;
if (item == "view_icons")
return gSavedSettings.getBOOL(mAllFriendList->getIconParamName()) && !gSavedSettings.getBOOL("GlobalShowIconsOverride");
// <FS:Ansariel> FIRE-5283: Sort by username
if (item == "sort_username")
return sort_order == E_SORT_BY_USERNAME;
@ -1620,8 +1606,6 @@ bool LLPanelPeople::onRecentViewSortMenuItemCheck(const LLSD& userdata)
return sort_order == E_SORT_BY_MOST_RECENT;
if (item == "sort_name")
return sort_order == E_SORT_BY_NAME;
if (item == "view_icons")
return gSavedSettings.getBOOL(mRecentList->getIconParamName()) && !gSavedSettings.getBOOL("GlobalShowIconsOverride");
return false;
}

View File

@ -5138,7 +5138,13 @@ void LLViewerObject::updateText()
{
if (mText.notNull())
{
LLVector3 up_offset(0,0,0);
LLVOAvatar* avatar = getAvatar();
if (avatar)
{
mText->setHidden(avatar->isInMuteList());
}
LLVector3 up_offset(0,0,0);
up_offset.mV[2] = getScale().mV[VZ]*0.6f;
if (mDrawable.notNull())

View File

@ -9,7 +9,6 @@
<check_box label="Menü „Entwickler“ anzeigen" name="show_develop_menu_check"/>
<check_box label="VRAM-Ermittlung über WMI auf Windows-Systemen deaktivieren" name="FSDisableWMIProbing"/>
<check_box label="Zeitschritte für Animationen aktivieren (experimentell)" name="UseAnimationTimeSteps" tool_tip="Diese Einstellung kann die Render-Komplexität für entfernte Avatare verringen, aber dadurch können deren Animationen in falscher Geschwindigkeit abgespielt werden."/>
<check_box label="Avatar-Icons nicht anzeigen (global übersteuern)" name="global_show_icons_override"/>
<text name="BackgroundYieldTimeText">
Zeit in Millisekunden, die pro Frame an andere Anwendungen abgegeben werden, wenn [APP_NAME] nicht im Vordergrund ist [Standard: 40; 1 Sekunde = 1000 Millisekunden]
</text>

View File

@ -59,19 +59,6 @@
function="IMFloaterContainer.Check"
parameter="sort_participants_by_recent" />
</menu_item_check>
<menu_item_separator
layout="topleft" />
<menu_item_check
label="View people icons"
layout="topleft"
name="view_icons">
<on_click
function="IMFloaterContainer.Action"
parameter="view_icons" />
<on_check
function="IMFloaterContainer.Check"
parameter="view_icons" />
</menu_item_check>
<menu_item_separator
layout="topleft" />
<menu_item_call

View File

@ -39,8 +39,8 @@
function="People.Friends.ViewSort.Action"
parameter="view_icons" />
<menu_item_check.on_check
function="People.Friends.ViewSort.CheckItem"
parameter="view_icons" />
function="CheckControl"
parameter="FriendsListShowIcons" />
</menu_item_check>
<menu_item_check name="view_permissions" label="View Permissions Granted">
<menu_item_check.on_click

View File

@ -39,8 +39,8 @@
function="People.Nearby.ViewSort.Action"
parameter="view_icons" />
<menu_item_check.on_check
function="People.Nearby.ViewSort.CheckItem"
parameter="view_icons"/>
function="CheckControl"
parameter="NearbyListShowIcons" />
</menu_item_check>
<menu_item_check name ="view_map" label="View Map">
<menu_item_check.on_check

View File

@ -29,7 +29,7 @@
function="People.Recent.ViewSort.Action"
parameter="view_icons" />
<menu_item_check.on_check
function="People.Recent.ViewSort.CheckItem"
parameter="view_icons" />
function="CheckControl"
parameter="RecentListShowIcons" />
</menu_item_check>
</toggleable_menu>

View File

@ -79,17 +79,6 @@
name="UseAnimationTimeSteps"
top_pad="5"
width="237"/>
<check_box
top_pad="5"
enabled="true"
follows="top|left"
height="15"
initial_value="false"
control_name="GlobalShowIconsOverride"
label="Hide people icons (global override)"
left="30"
name="global_show_icons_override"
width="400"/>
<text
name="BackgroundYieldTimeText"
follows="top|left"