DEV-50013 Inventory offer notifications use new name system
Reviewed with Richardmeow-7.2.2
parent
3b0bb81596
commit
934dc6e2d0
|
|
@ -34,6 +34,8 @@
|
|||
|
||||
#include "llnotifications.h"
|
||||
|
||||
#include "llavatarnamecache.h"
|
||||
#include "llcachename.h"
|
||||
#include "llxmlnode.h"
|
||||
#include "lluictrl.h"
|
||||
#include "lluictrlfactory.h"
|
||||
|
|
@ -1488,12 +1490,42 @@ std::ostream& operator<<(std::ostream& s, const LLNotification& notification)
|
|||
return s;
|
||||
}
|
||||
|
||||
void LLPostponedNotification::onCachedNameReceived(const LLUUID& id,
|
||||
const std::string& full_name,
|
||||
bool is_group)
|
||||
//static
|
||||
void LLPostponedNotification::lookupName(LLPostponedNotification* thiz,
|
||||
const LLUUID& id,
|
||||
bool is_group)
|
||||
{
|
||||
// *TODO: This is dumb, just use full_name as given
|
||||
gCacheName->getFullName(id, mName);
|
||||
if (is_group)
|
||||
{
|
||||
gCacheName->get(id, is_group,
|
||||
boost::bind(&LLPostponedNotification::onGroupNameCache,
|
||||
thiz, _1, _2, _3));
|
||||
}
|
||||
else
|
||||
{
|
||||
LLAvatarNameCache::get(id,
|
||||
boost::bind(&LLPostponedNotification::onAvatarNameCache,
|
||||
thiz, _1, _2));
|
||||
}
|
||||
}
|
||||
|
||||
void LLPostponedNotification::onGroupNameCache(const LLUUID& id,
|
||||
const std::string& full_name,
|
||||
bool is_group)
|
||||
{
|
||||
finalizeName(full_name);
|
||||
}
|
||||
|
||||
void LLPostponedNotification::onAvatarNameCache(const LLUUID& agent_id,
|
||||
const LLAvatarName& av_name)
|
||||
{
|
||||
std::string name = av_name.getCompleteName();
|
||||
finalizeName(name);
|
||||
}
|
||||
|
||||
void LLPostponedNotification::finalizeName(const std::string& name)
|
||||
{
|
||||
mName = name;
|
||||
modifyNotificationParams();
|
||||
LLNotifications::instance().add(mParams);
|
||||
cleanup();
|
||||
|
|
|
|||
|
|
@ -104,8 +104,8 @@
|
|||
#include "llinitparam.h"
|
||||
#include "llnotificationslistener.h"
|
||||
#include "llnotificationptr.h"
|
||||
#include "llcachename.h"
|
||||
|
||||
class LLAvatarName;
|
||||
|
||||
typedef enum e_notification_priority
|
||||
{
|
||||
|
|
@ -1000,16 +1000,20 @@ public:
|
|||
{
|
||||
// upcast T to the base type to restrict T derivation from LLPostponedNotification
|
||||
LLPostponedNotification* thiz = new T();
|
||||
|
||||
thiz->mParams = params;
|
||||
|
||||
gCacheName->get(id, is_group, boost::bind(
|
||||
&LLPostponedNotification::onCachedNameReceived, thiz, _1, _2,
|
||||
_3));
|
||||
// Avoid header file dependency on llcachename.h
|
||||
lookupName(thiz, id, is_group);
|
||||
}
|
||||
|
||||
private:
|
||||
void onCachedNameReceived(const LLUUID& id, const std::string& full_name, bool is_group);
|
||||
static void lookupName(LLPostponedNotification* thiz, const LLUUID& id, bool is_group);
|
||||
// only used for groups
|
||||
void onGroupNameCache(const LLUUID& id, const std::string& full_name, bool is_group);
|
||||
// only used for avatars
|
||||
void onAvatarNameCache(const LLUUID& agent_id, const LLAvatarName& av_name);
|
||||
// used for both group and avatar names
|
||||
void finalizeName(const std::string& name);
|
||||
|
||||
void cleanup()
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue