Merge branch 'SL-15999' of ssh://bitbucket.org/lindenlab/viewer into SL-15999
commit
19154bec15
|
|
@ -137,6 +137,12 @@ BOOL LLWindow::canDelete()
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
//virtual
|
||||
void LLWindow::setTitle(const std::string title)
|
||||
{
|
||||
// the action happens in the platform specific impl
|
||||
}
|
||||
|
||||
// virtual
|
||||
void LLWindow::incBusyCount()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -86,6 +86,13 @@ public:
|
|||
virtual void showCursorFromMouseMove() = 0;
|
||||
virtual void hideCursorUntilMouseMove() = 0;
|
||||
|
||||
// Provide a way to set the Viewer window title after the
|
||||
// windows has been created. The initial use case for this
|
||||
// is described in SL-16102 (update window title with agent
|
||||
// name, location etc. for non-interactive viewer) but it
|
||||
// may also be useful in other cases.
|
||||
virtual void setTitle(const std::string title);
|
||||
|
||||
// These two functions create a way to make a busy cursor instead
|
||||
// of an arrow when someone's busy doing something. Draw an
|
||||
// arrow/hour if busycount > 0.
|
||||
|
|
|
|||
|
|
@ -1811,6 +1811,13 @@ void LLWindowWin32::moveWindow( const LLCoordScreen& position, const LLCoordScre
|
|||
MoveWindow(mWindowHandle, position.mX, position.mY, size.mX, size.mY, TRUE);
|
||||
}
|
||||
|
||||
void LLWindowWin32::setTitle(const std::string title)
|
||||
{
|
||||
// TODO: Do we need to use the wide string version of this call
|
||||
// to support non-ascii usernames (and region names??)
|
||||
SetWindowTextA(mWindowHandle, title.c_str());
|
||||
}
|
||||
|
||||
BOOL LLWindowWin32::setCursorPosition(const LLCoordWindow position)
|
||||
{
|
||||
mMousePositionModified = TRUE;
|
||||
|
|
|
|||
|
|
@ -58,7 +58,8 @@ public:
|
|||
/*virtual*/ BOOL setSizeImpl(LLCoordScreen size);
|
||||
/*virtual*/ BOOL setSizeImpl(LLCoordWindow size);
|
||||
/*virtual*/ BOOL switchContext(BOOL fullscreen, const LLCoordScreen &size, BOOL disable_vsync, const LLCoordScreen * const posp = NULL);
|
||||
/*virtual*/ BOOL setCursorPosition(LLCoordWindow position);
|
||||
/*virtual*/ void setTitle(const std::string title);
|
||||
/*virtual*/ BOOL setCursorPosition(LLCoordWindow position);
|
||||
/*virtual*/ BOOL getCursorPosition(LLCoordWindow *position);
|
||||
/*virtual*/ void showCursor();
|
||||
/*virtual*/ void hideCursor();
|
||||
|
|
|
|||
|
|
@ -16666,6 +16666,17 @@
|
|||
<key>Value</key>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>UpdateAppWindowTitleBar</key>
|
||||
<map>
|
||||
<key>Comment</key>
|
||||
<string>Updates the application window title bar with brief information about user/location</string>
|
||||
<key>Persist</key>
|
||||
<integer>1</integer>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
</map>
|
||||
</map>
|
||||
</llsd>
|
||||
|
||||
|
|
|
|||
|
|
@ -2632,9 +2632,10 @@ bool LLAppViewer::initConfiguration()
|
|||
disableCrashlogger();
|
||||
}
|
||||
|
||||
gNonInteractive = gSavedSettings.getBOOL("NonInteractive");
|
||||
// Handle initialization from settings.
|
||||
// Start up the debugging console before handling other options.
|
||||
if (gSavedSettings.getBOOL("ShowConsoleWindow"))
|
||||
if (gSavedSettings.getBOOL("ShowConsoleWindow") && !gNonInteractive)
|
||||
{
|
||||
initConsole();
|
||||
}
|
||||
|
|
@ -2755,7 +2756,6 @@ bool LLAppViewer::initConfiguration()
|
|||
}
|
||||
}
|
||||
|
||||
gNonInteractive = gSavedSettings.getBOOL("NonInteractive");
|
||||
if (gNonInteractive)
|
||||
{
|
||||
tempSetControl("SLURLPassToOtherInstance", "FALSE");
|
||||
|
|
|
|||
|
|
@ -39,6 +39,11 @@
|
|||
#include "llviewerregion.h"
|
||||
#include "llworldmap.h"
|
||||
#include "llagentui.h"
|
||||
#include "llwindow.h"
|
||||
#include "llviewerwindow.h"
|
||||
#include "llavatarname.h"
|
||||
#include "llavatarnamecache.h"
|
||||
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////
|
||||
// LLTeleportHistoryItem
|
||||
|
|
@ -174,6 +179,28 @@ void LLTeleportHistory::updateCurrentLocation(const LLVector3d& new_pos)
|
|||
if (!mGotInitialUpdate)
|
||||
mGotInitialUpdate = true;
|
||||
|
||||
// update Viewer window title with username and region name
|
||||
// if we are in "non-interactive mode" (SL-15999) or the debug
|
||||
// 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Signal the interesting party that we've changed.
|
||||
onHistoryChanged();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -124,7 +124,8 @@ void display_startup()
|
|||
if ( !gViewerWindow
|
||||
|| !gViewerWindow->getActive()
|
||||
|| !gViewerWindow->getWindow()->getVisible()
|
||||
|| gViewerWindow->getWindow()->getMinimized() )
|
||||
|| gViewerWindow->getWindow()->getMinimized()
|
||||
|| gNonInteractive)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -309,7 +310,8 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
|
|||
// Attempting to draw into a minimized window causes a GL error. JC
|
||||
if ( !gViewerWindow->getActive()
|
||||
|| !gViewerWindow->getWindow()->getVisible()
|
||||
|| gViewerWindow->getWindow()->getMinimized() )
|
||||
|| gViewerWindow->getWindow()->getMinimized()
|
||||
|| gNonInteractive)
|
||||
{
|
||||
// Clean up memory the pools may have allocated
|
||||
if (rebuild)
|
||||
|
|
|
|||
|
|
@ -2195,6 +2195,13 @@ void LLViewerWindow::initBase()
|
|||
|
||||
void LLViewerWindow::initWorldUI()
|
||||
{
|
||||
if (gNonInteractive)
|
||||
{
|
||||
gIMMgr = LLIMMgr::getInstance();
|
||||
gFloaterView->pushVisibleAll(FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
S32 height = mRootView->getRect().getHeight();
|
||||
S32 width = mRootView->getRect().getWidth();
|
||||
LLRect full_window(0, height, width, 0);
|
||||
|
|
|
|||
Loading…
Reference in New Issue