4141#include " lltabcontainer.h"
4242#include " llviewercontrol.h"
4343#include " llviewernetwork.h"
44+ #include " llmutelist.h"
45+ #endif
46+ #include " llfloatermute.h"
4447
48+ #ifdef AI_UNUSED
4549static const std::string PANEL_PICKS = " panel_picks" ;
4650#endif // AI_UNUSED
4751
@@ -55,19 +59,19 @@ std::string getProfileURL(const std::string& agent_name)
5559 llassert (!url.empty ());
5660 LLSD subs;
5761 subs[" AGENT_NAME" ] = agent_name;
58- url = LLWeb::expandURLSubstitutions (url,subs);
62+ url = LLWeb::expandURLSubstitutions (url, subs);
5963 LLStringUtil::toLower (url);
6064 return url;
6165}
6266
63- class LLProfileHandler : public LLCommandHandler
67+ class LLProfileHandler final : public LLCommandHandler
6468{
6569public:
6670 // requires trusted browser to trigger
6771 LLProfileHandler () : LLCommandHandler(" profile" , UNTRUSTED_THROTTLE ) { }
6872
6973 bool handle (const LLSD & params, const LLSD & query_map,
70- LLMediaCtrl* web)
74+ LLMediaCtrl* web) override
7175 {
7276 if (params.size () < 1 ) return false ;
7377 std::string agent_name = params[0 ];
@@ -80,14 +84,14 @@ class LLProfileHandler : public LLCommandHandler
8084};
8185LLProfileHandler gProfileHandler ;
8286
83- class LLAgentHandler : public LLCommandHandler
87+ class LLAgentHandler final : public LLCommandHandler
8488{
8589public:
8690 // requires trusted browser to trigger
8791 LLAgentHandler () : LLCommandHandler(" agent" , UNTRUSTED_THROTTLE ) { }
8892
8993 bool handle (const LLSD & params, const LLSD & query_map,
90- LLMediaCtrl* web)
94+ LLMediaCtrl* web) override
9195 {
9296 if (params.size () < 2 ) return false ;
9397 LLUUID avatar_id;
@@ -144,6 +148,12 @@ class LLAgentHandler : public LLCommandHandler
144148 return true ;
145149 }
146150
151+ if (verb == " removefriend" )
152+ {
153+ LLAvatarActions::removeFriendDialog (avatar_id);
154+ return true ;
155+ }
156+
147157 if (verb == " mute" )
148158 {
149159 if (! LLAvatarActions::isBlocked (avatar_id))
@@ -162,6 +172,28 @@ class LLAgentHandler : public LLCommandHandler
162172 return true ;
163173 }
164174
175+ if (verb == " block" )
176+ {
177+ if (params.size () > 2 )
178+ {
179+ const std::string object_name = LLURI::unescape (params[2 ].asString ());
180+ LLMute mute (avatar_id, object_name, LLMute::OBJECT );
181+ LLMuteList::getInstance ()->add (mute);
182+ LLFloaterMute::showInstance ()->selectMute (mute.mID );
183+ }
184+ return true ;
185+ }
186+
187+ if (verb == " unblock" )
188+ {
189+ if (params.size () > 2 )
190+ {
191+ const std::string object_name = params[2 ].asString ();
192+ LLMute mute (avatar_id, object_name, LLMute::OBJECT );
193+ LLMuteList::getInstance ()->remove (mute);
194+ }
195+ return true ;
196+ }
165197 return false ;
166198 }
167199};
@@ -171,13 +203,13 @@ LLAgentHandler gAgentHandler;
171203#ifdef AI_UNUSED
172204// -- LLPanelProfile::ChildStack begins ----------------------------------------
173205LLPanelProfile::ChildStack::ChildStack ()
174- : mParent(NULL )
206+ : mParent(nullptr )
175207{
176208}
177209
178210LLPanelProfile::ChildStack::~ChildStack ()
179211{
180- while (mStack .size () != 0 )
212+ while (! mStack .empty () )
181213 {
182214 view_list_t & top = mStack .back ();
183215 for (view_list_t ::const_iterator it = top.begin (); it != top.end (); ++it)
@@ -217,7 +249,7 @@ bool LLPanelProfile::ChildStack::push()
217249// / Restore saved children (adding them back to the child list).
218250bool LLPanelProfile::ChildStack::pop ()
219251{
220- if (mStack .size () == 0 )
252+ if (mStack .empty () )
221253 {
222254 LL_WARNS () << " Empty stack" << LL_ENDL ;
223255 llassert (mStack .size () == 0 );
@@ -240,7 +272,7 @@ bool LLPanelProfile::ChildStack::pop()
240272void LLPanelProfile::ChildStack::preParentReshape ()
241273{
242274 mSavedStack = mStack ;
243- while (mStack .size () > 0 )
275+ while (! mStack .empty () )
244276 {
245277 pop ();
246278 }
@@ -255,9 +287,8 @@ void LLPanelProfile::ChildStack::postParentReshape()
255287 for (stack_t ::const_iterator stack_it = mStack .begin (); stack_it != mStack .end (); ++stack_it)
256288 {
257289 const view_list_t & vlist = (*stack_it);
258- for (view_list_t ::const_iterator list_it = vlist. begin (); list_it != vlist. end (); ++list_it )
290+ for (auto viewp : vlist)
259291 {
260- LLView* viewp = *list_it;
261292 LL_DEBUGS () << " removing " << viewp->getName () << LL_ENDL ;
262293 mParent ->removeChild (viewp);
263294 }
@@ -273,9 +304,9 @@ void LLPanelProfile::ChildStack::dump()
273304 std::ostringstream dbg_line;
274305 dbg_line << " lvl #" << lvl << " :" ;
275306 const view_list_t & vlist = (*stack_it);
276- for (view_list_t ::const_iterator list_it = vlist. begin (); list_it != vlist. end (); ++list_it )
307+ for (auto list_it : vlist)
277308 {
278- dbg_line << " " << (* list_it) ->getName ();
309+ dbg_line << " " << list_it->getName ();
279310 }
280311 LL_DEBUGS () << dbg_line.str () << LL_ENDL ;
281312 }
@@ -372,7 +403,7 @@ void LLPanelProfile::onOpen()
372403void LLPanelProfile::onTabSelected (const LLSD & param)
373404{
374405 std::string tab_name = param.asString ();
375- if (NULL != getTabContainer ()[tab_name])
406+ if (nullptr != getTabContainer ()[tab_name])
376407 {
377408 getTabContainer ()[tab_name]->onOpen (getAvatarId ());
378409 }
@@ -416,7 +447,7 @@ void LLPanelProfile::closePanel(LLPanel* panel)
416447
417448 // Prevent losing focus by the floater
418449 const child_list_t * child_list = getChildList ();
419- if (child_list->size () > 0 )
450+ if (! child_list->empty () )
420451 {
421452 child_list->front ()->setFocus (TRUE );
422453 }
0 commit comments