SL-15999 use callback for updating window title

master
Mnikolenko Productengine 2021-10-01 16:39:56 +03:00
parent 8b935e9dfd
commit f3743b8e30
1 changed files with 15 additions and 15 deletions

View File

@ -118,6 +118,20 @@ void LLTeleportHistory::handleLoginComplete()
updateCurrentLocation(gAgent.getPositionGlobal());
}
static void on_avatar_name_update_title(const LLAvatarName& av_name)
{
if (gAgent.getRegion() && gViewerWindow && gViewerWindow->getWindow())
{
std::string region = gAgent.getRegion()->getName();
std::string username = av_name.getUserName();
// this first pass simply displays username and region name
// but could easily be extended to include other details like
// X/Y/Z location within a region etc.
std::string new_title = STRINGIZE(username << " @ " << region);
gViewerWindow->getWindow()->setTitle(new_title);
}
}
void LLTeleportHistory::updateCurrentLocation(const LLVector3d& new_pos)
{
@ -184,21 +198,7 @@ void LLTeleportHistory::updateCurrentLocation(const LLVector3d& new_pos)
// setting to allow it is enabled (may be useful in other situations)
if (gNonInteractive || gSavedSettings.getBOOL("UpdateAppWindowTitleBar"))
{
LLAvatarName av_name;
if (LLAvatarNameCache::get(gAgent.getID(), &av_name))
{
if (gAgent.getRegion() && gViewerWindow && gViewerWindow->getWindow())
{
std::string region = gAgent.getRegion()->getName();
std::string username = av_name.getUserName();
// this first pass simply displays username and region name
// but could easily be extended to include other details like
// X/Y/Z location within a region etc.
std::string new_title = STRINGIZE(username << " @ " << region);
gViewerWindow->getWindow()->setTitle(new_title);
}
}
LLAvatarNameCache::get(gAgent.getID(), boost::bind(&on_avatar_name_update_title, _2));
}
// Signal the interesting party that we've changed.