From 8a78a06a108ae8bc6343f3ad8c812ebec2c93821 Mon Sep 17 00:00:00 2001 From: CharleyLevenque Date: Sat, 2 Oct 2010 12:05:14 -0400 Subject: [PATCH] Unfinished code related to Contact Groups --- indra/newview/ascentfloatercontactgroups.cpp | 9 +++- indra/newview/llfloaterfriends.cpp | 46 ++++++++++++++----- .../skins/default/xui/en-us/panel_friends.xml | 4 +- 3 files changed, 44 insertions(+), 15 deletions(-) diff --git a/indra/newview/ascentfloatercontactgroups.cpp b/indra/newview/ascentfloatercontactgroups.cpp index d78000a58..a5d5c67af 100644 --- a/indra/newview/ascentfloatercontactgroups.cpp +++ b/indra/newview/ascentfloatercontactgroups.cpp @@ -20,7 +20,7 @@ #include "llcombobox.h" //Combo dropdowns #include "llscrolllistctrl.h" //List box for filenames #include "lluictrlfactory.h" //Loads the XUI - +#include "llresmgr.h" // project includes #include "llviewercontrol.h" #include "llviewerwindow.h" @@ -84,8 +84,13 @@ void ASFloaterContactGroups::onBtnSave(void* userdata) LLScrollListCtrl* scroller = self->getChild("group_scroll_list"); if(scroller != NULL) { - for (S32 i = self->mSelectedUUIDs.count(); i > 0; --i) + for (S32 i = (self->mSelectedUUIDs.count() - 1); i >= 0; --i) { + std::string i_str; + LLResMgr::getInstance()->getIntegerString(i_str, i); + LLChat msg("Adding index " + i_str + ": " + self->mSelectedUUIDs.get(i).asString()); + LLFloaterChat::addChat(msg); + self->addContactMember(scroller->getValue().asString(), self->mSelectedUUIDs.get(i)); } } diff --git a/indra/newview/llfloaterfriends.cpp b/indra/newview/llfloaterfriends.cpp index c8599db3b..275e48d17 100644 --- a/indra/newview/llfloaterfriends.cpp +++ b/indra/newview/llfloaterfriends.cpp @@ -241,12 +241,11 @@ void LLPanelFriends::populateContactGroupSelect() void LLPanelFriends::setContactGroup(std::string contact_grp) { - if (contact_grp != "All") - { - filterContacts(); - categorizeContacts(); - } - else refreshNames(LLFriendObserver::ADD); + LLChat msg("Group set to " + contact_grp); + LLFloaterChat::addChat(msg); + refreshNames(LLFriendObserver::ADD); + refreshUI(); + categorizeContacts(); } void LLPanelFriends::categorizeContacts() @@ -264,17 +263,45 @@ void LLPanelFriends::categorizeContacts() std::vector vFriends = mFriendsList->getAllData(); // all of it. for (std::vector::iterator itr = vFriends.begin(); itr != vFriends.end(); ++itr) { - BOOL show_entry = (contact_groups[group_name][(*itr)->getUUID().asString()].size() != 0); + BOOL show_entry = false;//contact_groups[group_name].has((*itr)->getUUID().asString()); + + S32 count = contact_groups[group_name].size(); + int i; + for(i = 0; i < count; i++) + { + if (contact_groups[group_name][i].asString() == (*itr)->getUUID().asString()) + { + show_entry = true; + break; + } + } if (!show_entry) { + LLChat msg("False: contact_groups['" + group_name + "'].has('" + (*itr)->getUUID().asString() + "');"); + LLFloaterChat::addChat(msg); mFriendsList->deleteItems((*itr)->getValue()); } + else + { + LLChat msg("True: contact_groups['" + group_name + "'].has('" + (*itr)->getUUID().asString() + "');"); + LLFloaterChat::addChat(msg); + } } } + else + { + LLChat msg("Group set to all."); + LLFloaterChat::addChat(msg); + } refreshUI(); } + else + { + LLChat msg("Null combo."); + LLFloaterChat::addChat(msg); + } } void LLPanelFriends::filterContacts() @@ -325,10 +352,7 @@ void LLPanelFriends::onChangeContactGroup(LLUICtrl* ctrl, void* user_data) if(panelp) { LLComboBox* combo = panelp->getChild("buddy_group_combobox"); - if (combo->getValue().asString() != "All") - { - panelp->setContactGroup(combo->getValue().asString()); - } + panelp->setContactGroup(combo->getValue().asString()); } } // -- diff --git a/indra/newview/skins/default/xui/en-us/panel_friends.xml b/indra/newview/skins/default/xui/en-us/panel_friends.xml index cf357c583..aba8bf589 100644 --- a/indra/newview/skins/default/xui/en-us/panel_friends.xml +++ b/indra/newview/skins/default/xui/en-us/panel_friends.xml @@ -44,9 +44,9 @@ height="18" left="-235" name="buddy_search_lineedit" tool_tip="The friend name you want to search for" width="130" /> - + width="80" />