--HG--
branch : product-engine
meow-7.2.2
Mike Antipov 2010-03-18 19:22:30 +02:00
commit 2f9223dc14
6 changed files with 22 additions and 63 deletions

View File

@ -54,7 +54,6 @@
#include "llappviewer.h"
#include "lldbstrings.h"
#include "llviewerstats.h"
#include "llmutelist.h"
#include "llnotificationsutil.h"
#include "llcallbacklist.h"
#include "llpreview.h"

View File

@ -128,68 +128,26 @@ LLMute::LLMute(const LLUUID& id, const std::string& name, EType type, U32 flags)
}
std::string LLMute::getDisplayName() const
std::string LLMute::getDisplayType() const
{
std::string name_with_suffix = mName;
switch (mType)
{
case BY_NAME:
default:
name_with_suffix += " " + LLTrans::getString("MuteByName");
return LLTrans::getString("MuteByName");
break;
case AGENT:
name_with_suffix += " " + LLTrans::getString("MuteAgent");
return LLTrans::getString("MuteAgent");
break;
case OBJECT:
name_with_suffix += " " + LLTrans::getString("MuteObject");
return LLTrans::getString("MuteObject");
break;
case GROUP:
name_with_suffix += " " + LLTrans::getString("MuteGroup");
return LLTrans::getString("MuteGroup");
break;
}
return name_with_suffix;
}
void LLMute::setFromDisplayName(const std::string& display_name)
{
size_t pos = 0;
mName = display_name;
pos = mName.rfind(" " + LLTrans::getString("MuteGroup"));
if (pos != std::string::npos)
{
mName.erase(pos);
mType = GROUP;
return;
}
pos = mName.rfind(" " + LLTrans::getString("MuteObject"));
if (pos != std::string::npos)
{
mName.erase(pos);
mType = OBJECT;
return;
}
pos = mName.rfind(" " + LLTrans::getString("MuteAgent"));
if (pos != std::string::npos)
{
mName.erase(pos);
mType = AGENT;
return;
}
pos = mName.rfind(" " + LLTrans::getString("MuteByName"));
if (pos != std::string::npos)
{
mName.erase(pos);
mType = BY_NAME;
return;
}
llwarns << "Unable to set mute from display name " << display_name << llendl;
return;
}
/* static */
LLMuteList* LLMuteList::getInstance()

View File

@ -63,14 +63,8 @@ public:
LLMute(const LLUUID& id, const std::string& name = std::string(), EType type = BY_NAME, U32 flags = 0);
// Returns name + suffix based on type
// For example: "James Tester (resident)"
std::string getDisplayName() const;
// Converts a UI name into just the agent or object name
// For example: "James Tester (resident)" sets the name to "James Tester"
// and the type to AGENT.
void setFromDisplayName(const std::string& display_name);
// Returns localized type name of muted item
std::string getDisplayType() const;
public:
LLUUID mID; // agent or object id

View File

@ -119,8 +119,13 @@ void LLPanelBlockedList::refreshBlockedList()
std::vector<LLMute>::iterator it;
for (it = mutes.begin(); it != mutes.end(); ++it)
{
std::string display_name = it->getDisplayName();
mBlockedList->addStringUUIDItem(display_name, it->mID, ADD_BOTTOM, TRUE);
LLScrollListItem::Params item_p;
item_p.enabled(TRUE);
item_p.value(it->mID); // link UUID of blocked item with ScrollListItem
item_p.columns.add().column("item_name").value(it->mName);//.type("text");
item_p.columns.add().column("item_type").value(it->getDisplayType());//.type("text").width(111);
mBlockedList->addRow(item_p, ADD_BOTTOM);
}
}
@ -145,9 +150,7 @@ void LLPanelBlockedList::onRemoveBtnClick()
{
std::string name = mBlockedList->getSelectedItemLabel();
LLUUID id = mBlockedList->getStringUUIDSelectedItem();
LLMute mute(id);
mute.setFromDisplayName(name);
// now mute.mName has the suffix trimmed off
LLMute mute(id, name);
S32 last_selected = mBlockedList->getFirstSelectedIndex();
if (LLMuteList::getInstance()->remove(mute))

View File

@ -37,7 +37,6 @@
#include "llagent.h"
#include "llappviewer.h"
#include "llimview.h"
#include "llmutelist.h"
#include "llsdutil.h"
#include "lluicolortable.h"
#include "llviewerobjectlist.h"

View File

@ -39,7 +39,13 @@
name="blocked"
tool_tip="List of currently blocked Residents"
top="30"
width="270" />
width="270">
<scroll_list.columns
name="item_name" />
<scroll_list.columns
name="item_type"
width="96" />
</scroll_list>
<button
follows="left|bottom"
height="23"