diff --git a/indra/newview/fscontactsfloater.cpp b/indra/newview/fscontactsfloater.cpp index 052c0abb24..e760b3dfa0 100644 --- a/indra/newview/fscontactsfloater.cpp +++ b/indra/newview/fscontactsfloater.cpp @@ -1,10 +1,10 @@ /** - * @file - * @brief + * @file fscontactsfloater.cpp + * @brief Legacy contacts floater implementation * * $LicenseInfo:firstyear=2011&license=fsviewerlgpl$ * Phoenix Firestorm Viewer Source Code - * Copyright (C) 2011, The Phoenix Firestorm Project, Inc. + * Copyright (C) 2013, The Phoenix Firestorm Project, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -33,11 +33,9 @@ #include "llagent.h" #include "llavatarname.h" #include "llfloaterreg.h" -#include "llfloater.h" #include "lltabcontainer.h" #include "llavataractions.h" -#include "llavatarlist.h" #include "llavatarlistitem.h" #include "llavatarnamecache.h" #include "llcallingcard.h" // for LLAvatarTracker @@ -48,7 +46,6 @@ #include "llgrouplist.h" #include "llimfloatercontainer.h" #include "llnotificationsutil.h" -#include "llscrolllistctrl.h" #include "llfloatersidepanelcontainer.h" #include "llstartup.h" #include "llviewercontrol.h" @@ -139,15 +136,13 @@ BOOL FSFloaterContacts::postBuild() mFriendsList->sortByColumn(std::string("icon_online_status"), FALSE); mFriendsList->setSearchColumn(mFriendsList->getColumn("full_name")->mIndex); - mFriendsTab->childSetAction("im_btn", boost::bind(&FSFloaterContacts::onImButtonClicked, this)); - mFriendsTab->childSetAction("profile_btn", boost::bind(&FSFloaterContacts::onViewProfileButtonClicked, this)); - mFriendsTab->childSetAction("offer_teleport_btn", boost::bind(&FSFloaterContacts::onTeleportButtonClicked, this)); - mFriendsTab->childSetAction("pay_btn", boost::bind(&FSFloaterContacts::onPayButtonClicked, this)); - - mFriendsTab->childSetAction("remove_btn", boost::bind(&FSFloaterContacts::onDeleteFriendButtonClicked, this)); - mFriendsTab->childSetAction("add_btn", boost::bind(&FSFloaterContacts::onAddFriendWizButtonClicked, this)); - - mFriendsTab->childSetAction("lgg_fg_openFG", boost::bind(&FSFloaterContacts::onContactSetsButtonClicked, this)); + mFriendsTab->childSetAction("im_btn", boost::bind(&FSFloaterContacts::onImButtonClicked, this)); + mFriendsTab->childSetAction("profile_btn", boost::bind(&FSFloaterContacts::onViewProfileButtonClicked, this)); + mFriendsTab->childSetAction("offer_teleport_btn", boost::bind(&FSFloaterContacts::onTeleportButtonClicked, this)); + mFriendsTab->childSetAction("pay_btn", boost::bind(&FSFloaterContacts::onPayButtonClicked, this)); + mFriendsTab->childSetAction("remove_btn", boost::bind(&FSFloaterContacts::onDeleteFriendButtonClicked, this)); + mFriendsTab->childSetAction("add_btn", boost::bind(&FSFloaterContacts::onAddFriendWizButtonClicked, this)); + mFriendsTab->childSetAction("lgg_fg_openFG", boost::bind(&FSFloaterContacts::onContactSetsButtonClicked, this)); mGroupsTab = getChild(GROUP_TAB_NAME); mGroupList = mGroupsTab->getChild("group_list"); @@ -158,14 +153,14 @@ BOOL FSFloaterContacts::postBuild() mGroupList->setCommitCallback(boost::bind(&FSFloaterContacts::updateGroupButtons, this)); mGroupList->setReturnCallback(boost::bind(&FSFloaterContacts::onGroupChatButtonClicked, this)); - mGroupsTab->childSetAction("chat_btn", boost::bind(&FSFloaterContacts::onGroupChatButtonClicked, this)); - mGroupsTab->childSetAction("info_btn", boost::bind(&FSFloaterContacts::onGroupInfoButtonClicked, this)); - mGroupsTab->childSetAction("activate_btn", boost::bind(&FSFloaterContacts::onGroupActivateButtonClicked, this)); - mGroupsTab->childSetAction("leave_btn", boost::bind(&FSFloaterContacts::onGroupLeaveButtonClicked, this)); - mGroupsTab->childSetAction("create_btn", boost::bind(&FSFloaterContacts::onGroupCreateButtonClicked, this)); - mGroupsTab->childSetAction("search_btn", boost::bind(&FSFloaterContacts::onGroupSearchButtonClicked, this)); - mGroupsTab->childSetAction("titles_btn", boost::bind(&FSFloaterContacts::onGroupTitlesButtonClicked, this)); - mGroupsTab->childSetAction("invite_btn", boost::bind(&FSFloaterContacts::onGroupInviteButtonClicked, this)); + mGroupsTab->childSetAction("chat_btn", boost::bind(&FSFloaterContacts::onGroupChatButtonClicked, this)); + mGroupsTab->childSetAction("info_btn", boost::bind(&FSFloaterContacts::onGroupInfoButtonClicked, this)); + mGroupsTab->childSetAction("activate_btn", boost::bind(&FSFloaterContacts::onGroupActivateButtonClicked, this)); + mGroupsTab->childSetAction("leave_btn", boost::bind(&FSFloaterContacts::onGroupLeaveButtonClicked, this)); + mGroupsTab->childSetAction("create_btn", boost::bind(&FSFloaterContacts::onGroupCreateButtonClicked, this)); + mGroupsTab->childSetAction("search_btn", boost::bind(&FSFloaterContacts::onGroupSearchButtonClicked, this)); + mGroupsTab->childSetAction("titles_btn", boost::bind(&FSFloaterContacts::onGroupTitlesButtonClicked, this)); + mGroupsTab->childSetAction("invite_btn", boost::bind(&FSFloaterContacts::onGroupInviteButtonClicked, this)); return TRUE; } @@ -209,24 +204,24 @@ void FSFloaterContacts::onOpen(const LLSD& key) void FSFloaterContacts::openTab(const std::string& name) { - BOOL visible=FALSE; + bool visible = false; - if(name=="friends") + if (name == "friends") { - visible=TRUE; + visible = true; childShowTab("friends_and_groups", "friends_panel"); } - else if(name=="groups") + else if (name == "groups") { - visible=TRUE; + visible = true; childShowTab("friends_and_groups", "groups_panel"); updateGroupButtons(); } - if(visible) + if (visible) { LLIMFloaterContainer* floater_container = (LLIMFloaterContainer *) getHost(); - if(floater_container) + if (floater_container) { floater_container->setVisible(TRUE); floater_container->showFloater(this); @@ -259,7 +254,7 @@ FSFloaterContacts* FSFloaterContacts::getInstance() void FSFloaterContacts::onAvatarListDoubleClicked(LLUICtrl* ctrl) { LLAvatarListItem* item = dynamic_cast(ctrl); - if(!item) + if (!item) { return; } @@ -344,7 +339,9 @@ bool FSFloaterContacts::isItemsFreeOfFriends(const uuid_vec_t& uuids) void FSFloaterContacts::onAvatarPicked(const uuid_vec_t& ids, const std::vector names) { if (!names.empty() && !ids.empty()) + { LLAvatarActions::requestFriendshipDialog(ids[0], names[0].getCompleteName()); + } } void FSFloaterContacts::onAddFriendWizButtonClicked() @@ -352,7 +349,11 @@ void FSFloaterContacts::onAddFriendWizButtonClicked() // Show add friend wizard. LLFloaterAvatarPicker* picker = LLFloaterAvatarPicker::show(boost::bind(&FSFloaterContacts::onAvatarPicked, _1, _2), FALSE, TRUE); // Need to disable 'ok' button when friend occurs in selection - if (picker) picker->setOkBtnEnableCb(boost::bind(&FSFloaterContacts::isItemsFreeOfFriends, this, _1)); + if (picker) + { + picker->setOkBtnEnableCb(boost::bind(&FSFloaterContacts::isItemsFreeOfFriends, this, _1)); + } + LLFloater* root_floater = gFloaterView->getParentFloater(this); if (root_floater) { @@ -373,7 +374,9 @@ void FSFloaterContacts::onGroupChatButtonClicked() { LLUUID group_id = getCurrentItemID(); if (group_id.notNull()) + { LLGroupActions::startIM(group_id); + } } void FSFloaterContacts::onGroupInfoButtonClicked() @@ -390,7 +393,9 @@ void FSFloaterContacts::onGroupLeaveButtonClicked() { LLUUID group_id = getCurrentItemID(); if (group_id.notNull()) + { LLGroupActions::leave(group_id); + } } void FSFloaterContacts::onGroupCreateButtonClicked() @@ -470,9 +475,13 @@ void FSFloaterContacts::sortFriendList() mFriendsList->updateLayout(); if (mSortByUserName) + { mFriendsList->getColumn(LIST_FRIEND_NAME)->mSortingColumn = mFriendsList->getColumn(LIST_FRIEND_USER_NAME)->mName; + } else + { mFriendsList->getColumn(LIST_FRIEND_NAME)->mSortingColumn = mFriendsList->getColumn(LIST_FRIEND_NAME)->mName; + } mFriendsList->setNeedsSort(true); } @@ -810,7 +819,7 @@ void FSFloaterContacts::confirmModifyRights(rights_map_t& ids, EGrantRevoke comm bool FSFloaterContacts::modifyRightsConfirmation(const LLSD& notification, const LLSD& response, rights_map_t* rights) { S32 option = LLNotificationsUtil::getSelectedOption(notification, response); - if(0 == option) + if (0 == option) { sendRightsGrant(*rights); } @@ -832,31 +841,34 @@ bool FSFloaterContacts::modifyRightsConfirmation(const LLSD& notification, const void FSFloaterContacts::applyRightsToFriends() { - BOOL rights_changed = FALSE; + bool rights_changed = false; // store modify rights separately for confirmation rights_map_t rights_updates; - BOOL need_confirmation = FALSE; + bool need_confirmation = false; EGrantRevoke confirmation_type = GRANT; // this assumes that changes only happened to selected items std::vector selected = mFriendsList->getAllSelected(); - for(std::vector::iterator itr = selected.begin(); itr != selected.end(); ++itr) + for (std::vector::iterator itr = selected.begin(); itr != selected.end(); ++itr) { LLUUID id = (*itr)->getValue(); const LLRelationship* buddy_relationship = LLAvatarTracker::instance().getBuddyInfo(id); - if (buddy_relationship == NULL) continue; + if (buddy_relationship == NULL) + { + continue; + } bool show_online_staus = (*itr)->getColumn(LIST_VISIBLE_ONLINE)->getValue().asBoolean(); bool show_map_location = (*itr)->getColumn(LIST_VISIBLE_MAP)->getValue().asBoolean(); bool allow_modify_objects = (*itr)->getColumn(LIST_EDIT_MINE)->getValue().asBoolean(); S32 rights = buddy_relationship->getRightsGrantedTo(); - if(buddy_relationship->isRightGrantedTo(LLRelationship::GRANT_ONLINE_STATUS) != show_online_staus) + if (buddy_relationship->isRightGrantedTo(LLRelationship::GRANT_ONLINE_STATUS) != show_online_staus) { - rights_changed = TRUE; - if(show_online_staus) + rights_changed = true; + if (show_online_staus) { rights |= LLRelationship::GRANT_ONLINE_STATUS; } @@ -869,10 +881,10 @@ void FSFloaterContacts::applyRightsToFriends() (*itr)->getColumn(LIST_VISIBLE_MAP)->setValue(FALSE); } } - if(buddy_relationship->isRightGrantedTo(LLRelationship::GRANT_MAP_LOCATION) != show_map_location) + if (buddy_relationship->isRightGrantedTo(LLRelationship::GRANT_MAP_LOCATION) != show_map_location) { - rights_changed = TRUE; - if(show_map_location) + rights_changed = true; + if (show_map_location) { // ONLINE_STATUS necessary for MAP_LOCATION rights |= LLRelationship::GRANT_MAP_LOCATION; @@ -886,12 +898,12 @@ void FSFloaterContacts::applyRightsToFriends() } // now check for change in modify object rights, which requires confirmation - if(buddy_relationship->isRightGrantedTo(LLRelationship::GRANT_MODIFY_OBJECTS) != allow_modify_objects) + if (buddy_relationship->isRightGrantedTo(LLRelationship::GRANT_MODIFY_OBJECTS) != allow_modify_objects) { - rights_changed = TRUE; - need_confirmation = TRUE; + rights_changed = true; + need_confirmation = true; - if(allow_modify_objects) + if (allow_modify_objects) { rights |= LLRelationship::GRANT_MODIFY_OBJECTS; confirmation_type = GRANT; @@ -925,7 +937,10 @@ void FSFloaterContacts::applyRightsToFriends() void FSFloaterContacts::sendRightsGrant(rights_map_t& ids) { - if (ids.empty()) return; + if (ids.empty()) + { + return; + } LLMessageSystem* msg = gMessageSystem; @@ -937,7 +952,7 @@ void FSFloaterContacts::sendRightsGrant(rights_map_t& ids) rights_map_t::iterator id_it; rights_map_t::iterator end_it = ids.end(); - for(id_it = ids.begin(); id_it != end_it; ++id_it) + for (id_it = ids.begin(); id_it != end_it; ++id_it) { msg->nextBlockFast(_PREHASH_Rights); msg->addUUID(_PREHASH_AgentRelated, id_it->first); @@ -948,6 +963,4 @@ void FSFloaterContacts::sendRightsGrant(rights_map_t& ids) gAgent.sendReliableMessage(); } - - // EOF diff --git a/indra/newview/fscontactsfloater.h b/indra/newview/fscontactsfloater.h index a85da5f48c..acc3f81388 100644 --- a/indra/newview/fscontactsfloater.h +++ b/indra/newview/fscontactsfloater.h @@ -1,10 +1,10 @@ /** * @file fscontactsfloater.h - * @brief + * @brief Legacy contacts floater header file * * $LicenseInfo:firstyear=2011&license=fsviewerlgpl$ * Phoenix Firestorm Viewer Source Code - * Copyright (C) 2011, The Phoenix Firestorm Project, Inc. + * Copyright (C) 2013, The Phoenix Firestorm Project, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -28,9 +28,6 @@ #ifndef LL_FSCONTACTSFLOATER_H #define LL_FSCONTACTSFLOATER_H -#include -#include - #include "llfloater.h" #include "lleventtimer.h" #include "llcallingcard.h"