svn merge -r 57620:58007 svn+ssh://svn.lindenlab.com/svn/linden/branches/maintenance
parent
73bc0fb42b
commit
7dada07dba
|
|
@ -306,7 +306,7 @@ const U32 MAP_ITEM_TELEHUB = 0x01;
|
|||
const U32 MAP_ITEM_PG_EVENT = 0x02;
|
||||
const U32 MAP_ITEM_MATURE_EVENT = 0x03;
|
||||
const U32 MAP_ITEM_POPULAR = 0x04;
|
||||
const U32 MAP_ITEM_AGENT_COUNT = 0x05;
|
||||
//const U32 MAP_ITEM_AGENT_COUNT = 0x05;
|
||||
const U32 MAP_ITEM_AGENT_LOCATIONS = 0x06;
|
||||
const U32 MAP_ITEM_LAND_FOR_SALE = 0x07;
|
||||
const U32 MAP_ITEM_CLASSIFIED = 0x08;
|
||||
|
|
|
|||
|
|
@ -57,7 +57,5 @@ const char LSL_DOC_URL[] =
|
|||
const char SL_KB_URL[] =
|
||||
"http://secondlife.com/knowledgebase/";
|
||||
|
||||
const char ACCOUNT_TRANSACTIONS_URL[] =
|
||||
"https://secondlife.com/account/transactions.php";
|
||||
|
||||
const char RELEASE_NOTES[] = "releasenotes.txt";
|
||||
|
||||
|
|
|
|||
|
|
@ -55,9 +55,6 @@ extern const char LSL_DOC_URL[];
|
|||
// SL KnowledgeBase page
|
||||
extern const char SL_KB_URL[];
|
||||
|
||||
// Account transactions
|
||||
extern const char ACCOUNT_TRANSACTIONS_URL[];
|
||||
|
||||
// Local Url Release Notes
|
||||
extern const char RELEASE_NOTES[];
|
||||
|
||||
|
|
|
|||
|
|
@ -719,8 +719,11 @@ LLTransferSourceChannel::LLTransferSourceChannel(const LLTransferChannelType cha
|
|||
|
||||
LLTransferSourceChannel::~LLTransferSourceChannel()
|
||||
{
|
||||
LLPriQueueMap<LLTransferSource *>::pqm_iter iter;
|
||||
for (iter = mTransferSources.mMap.begin(); iter != mTransferSources.mMap.end(); iter++)
|
||||
LLPriQueueMap<LLTransferSource*>::pqm_iter iter =
|
||||
mTransferSources.mMap.begin();
|
||||
LLPriQueueMap<LLTransferSource*>::pqm_iter end =
|
||||
mTransferSources.mMap.end();
|
||||
for (; iter != end; ++iter)
|
||||
{
|
||||
// Just kill off all of the transfers
|
||||
(*iter).second->abortTransfer();
|
||||
|
|
|
|||
|
|
@ -628,7 +628,7 @@ S32 LLFontGL::render(const LLWString &wstr,
|
|||
case LEFT:
|
||||
break;
|
||||
case RIGHT:
|
||||
cur_x -= (F32)getWidth(wstr.c_str(), 0, length) * sScaleX;
|
||||
cur_x -= llmin(scaled_max_pixels, llround(getWidthF32(wstr.c_str(), 0, length) * sScaleX));
|
||||
break;
|
||||
case HCENTER:
|
||||
cur_x -= llmin(scaled_max_pixels, llround(getWidthF32(wstr.c_str(), 0, length) * sScaleX)) / 2;
|
||||
|
|
@ -653,12 +653,13 @@ S32 LLFontGL::render(const LLWString &wstr,
|
|||
|
||||
|
||||
BOOL draw_ellipses = FALSE;
|
||||
if (use_ellipses)
|
||||
if (use_ellipses && halign == LEFT)
|
||||
{
|
||||
// check for too long of a string
|
||||
if (getWidthF32(wstr.c_str(), 0, max_chars) > scaled_max_pixels)
|
||||
{
|
||||
const LLWString dots(utf8str_to_wstring(LLString("...")));
|
||||
// use four dots for ellipsis width to generate padding
|
||||
const LLWString dots(utf8str_to_wstring(LLString("....")));
|
||||
scaled_max_pixels = llmax(0, scaled_max_pixels - llround(getWidthF32(dots.c_str())));
|
||||
draw_ellipses = TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1218,24 +1218,36 @@ void LLFloater::onClickEdit(void *userdata)
|
|||
}
|
||||
|
||||
// static
|
||||
void LLFloater::closeByMenu( void* userdata )
|
||||
void LLFloater::closeFocusedFloater()
|
||||
{
|
||||
LLFloater* self = (LLFloater*) userdata;
|
||||
if (!self || self->getHost()) return;
|
||||
LLFloater* focused_floater = NULL;
|
||||
|
||||
LLFloaterView* parent = (LLFloaterView*) self->getParent();
|
||||
|
||||
// grab focus status before close just in case floater is deleted
|
||||
BOOL has_focus = gFocusMgr.childHasKeyboardFocus(self);
|
||||
self->close();
|
||||
|
||||
// if this floater used to have focus and now nothing took focus
|
||||
// give it to next floater (to allow closing multiple windows via keyboard in rapid succession)
|
||||
if (has_focus && gFocusMgr.getKeyboardFocus() == NULL)
|
||||
std::map<LLViewHandle, LLFloater*>::iterator iter;
|
||||
for(iter = sFloaterMap.begin(); iter != sFloaterMap.end(); ++iter)
|
||||
{
|
||||
parent->focusFrontFloater();
|
||||
focused_floater = iter->second;
|
||||
if (focused_floater->hasFocus())
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (iter == sFloaterMap.end())
|
||||
{
|
||||
// nothing found, return
|
||||
return;
|
||||
}
|
||||
|
||||
focused_floater->close();
|
||||
|
||||
// if nothing took focus after closing focused floater
|
||||
// give it to next floater (to allow closing multiple windows via keyboard in rapid succession)
|
||||
if (gFocusMgr.getKeyboardFocus() == NULL)
|
||||
{
|
||||
// HACK: use gFloaterView directly in case we are using Ctrl-W to close snapshot window
|
||||
// which sits in gSnapshotFloaterView, and needs to pass focus on to normal floater view
|
||||
gFloaterView->focusFrontFloater();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -183,7 +183,8 @@ public:
|
|||
|
||||
/*virtual*/ LLView* getRootMostFastFrameView();
|
||||
|
||||
static void closeByMenu(void *userdata);
|
||||
static void closeFocusedFloater();
|
||||
|
||||
static void onClickClose(void *userdata);
|
||||
static void onClickMinimize(void *userdata);
|
||||
static void onClickTearOff(void *userdata);
|
||||
|
|
|
|||
|
|
@ -1155,70 +1155,6 @@ void LLMenuItemToggleGL::doIt( void )
|
|||
}
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Class LLMenuItemBranchGL
|
||||
//
|
||||
// The LLMenuItemBranchGL represents a menu item that has a
|
||||
// sub-menu. This is used to make cascading menus.
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
class LLMenuItemBranchGL : public LLMenuItemGL
|
||||
{
|
||||
protected:
|
||||
LLMenuGL* mBranch;
|
||||
|
||||
public:
|
||||
LLMenuItemBranchGL( const LLString& name, const LLString& label, LLMenuGL* branch,
|
||||
KEY key = KEY_NONE, MASK mask = MASK_NONE );
|
||||
virtual LLXMLNodePtr getXML(bool save_children = true) const;
|
||||
|
||||
virtual LLView* getChildByName(const LLString& name, BOOL recurse) const;
|
||||
|
||||
virtual LLString getType() const { return "menu"; }
|
||||
|
||||
virtual EWidgetType getWidgetType() const;
|
||||
virtual LLString getWidgetTag() const;
|
||||
|
||||
virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask);
|
||||
|
||||
virtual BOOL handleAcceleratorKey(KEY key, MASK mask);
|
||||
|
||||
// check if we've used these accelerators already
|
||||
virtual BOOL addToAcceleratorList(std::list <LLKeyBinding*> *listp);
|
||||
|
||||
// called to rebuild the draw label
|
||||
virtual void buildDrawLabel( void );
|
||||
|
||||
// doIt() - do the primary funcationality of the menu item.
|
||||
virtual void doIt( void );
|
||||
|
||||
virtual BOOL handleKey(KEY key, MASK mask, BOOL called_from_parent);
|
||||
virtual BOOL handleUnicodeChar(llwchar uni_char, BOOL called_from_parent);
|
||||
|
||||
// set the hover status (called by it's menu) and if the object is
|
||||
// active. This is used for behavior transfer.
|
||||
virtual void setHighlight( BOOL highlight );
|
||||
|
||||
virtual BOOL handleKeyHere(KEY key, MASK mask, BOOL called_from_parent);
|
||||
|
||||
virtual BOOL isActive() const;
|
||||
|
||||
virtual BOOL isOpen() const;
|
||||
|
||||
LLMenuGL *getBranch() const { return mBranch; }
|
||||
|
||||
virtual void updateBranchParent( LLView* parentp );
|
||||
|
||||
// LLView Functionality
|
||||
virtual void onVisibilityChange( BOOL curVisibilityIn );
|
||||
|
||||
virtual void draw();
|
||||
|
||||
virtual void setEnabledSubMenus(BOOL enabled);
|
||||
|
||||
virtual void openMenu();
|
||||
};
|
||||
|
||||
LLMenuItemBranchGL::LLMenuItemBranchGL( const LLString& name, const LLString& label, LLMenuGL* branch,
|
||||
KEY key, MASK mask ) :
|
||||
LLMenuItemGL( name, label, key, mask ),
|
||||
|
|
|
|||
|
|
@ -542,6 +542,75 @@ protected:
|
|||
KEY mJumpKey;
|
||||
};
|
||||
|
||||
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// Class LLMenuItemBranchGL
|
||||
//
|
||||
// The LLMenuItemBranchGL represents a menu item that has a
|
||||
// sub-menu. This is used to make cascading menus.
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
class LLMenuItemBranchGL : public LLMenuItemGL
|
||||
{
|
||||
protected:
|
||||
LLMenuGL* mBranch;
|
||||
|
||||
public:
|
||||
LLMenuItemBranchGL( const LLString& name, const LLString& label, LLMenuGL* branch,
|
||||
KEY key = KEY_NONE, MASK mask = MASK_NONE );
|
||||
virtual LLXMLNodePtr getXML(bool save_children = true) const;
|
||||
|
||||
virtual LLView* getChildByName(const LLString& name, BOOL recurse) const;
|
||||
|
||||
virtual LLString getType() const { return "menu"; }
|
||||
|
||||
virtual EWidgetType getWidgetType() const;
|
||||
virtual LLString getWidgetTag() const;
|
||||
|
||||
virtual BOOL handleMouseUp(S32 x, S32 y, MASK mask);
|
||||
|
||||
virtual BOOL handleAcceleratorKey(KEY key, MASK mask);
|
||||
|
||||
// check if we've used these accelerators already
|
||||
virtual BOOL addToAcceleratorList(std::list <LLKeyBinding*> *listp);
|
||||
|
||||
// called to rebuild the draw label
|
||||
virtual void buildDrawLabel( void );
|
||||
|
||||
// doIt() - do the primary funcationality of the menu item.
|
||||
virtual void doIt( void );
|
||||
|
||||
virtual BOOL handleKey(KEY key, MASK mask, BOOL called_from_parent);
|
||||
virtual BOOL handleUnicodeChar(llwchar uni_char, BOOL called_from_parent);
|
||||
|
||||
// set the hover status (called by it's menu) and if the object is
|
||||
// active. This is used for behavior transfer.
|
||||
virtual void setHighlight( BOOL highlight );
|
||||
|
||||
virtual BOOL handleKeyHere(KEY key, MASK mask, BOOL called_from_parent);
|
||||
|
||||
virtual BOOL isActive() const;
|
||||
|
||||
virtual BOOL isOpen() const;
|
||||
|
||||
LLMenuGL *getBranch() const { return mBranch; }
|
||||
|
||||
virtual void updateBranchParent( LLView* parentp );
|
||||
|
||||
// LLView Functionality
|
||||
virtual void onVisibilityChange( BOOL curVisibilityIn );
|
||||
|
||||
virtual void draw();
|
||||
|
||||
virtual void setEnabledSubMenus(BOOL enabled);
|
||||
|
||||
virtual void openMenu();
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// class LLPieMenu
|
||||
// A circular menu of items, icons, etc.
|
||||
|
|
|
|||
|
|
@ -338,16 +338,6 @@ BOOL LLPanel::handleKeyHere( KEY key, MASK mask, BOOL called_from_parent )
|
|||
gFocusMgr.childHasKeyboardFocus(this) && !called_from_parent )
|
||||
{
|
||||
LLUICtrl* cur_focus = gFocusMgr.getKeyboardFocus();
|
||||
if (key == KEY_RETURN && mask == MASK_NONE)
|
||||
{
|
||||
// set keyboard focus to self to trigger commitOnFocusLost behavior on current ctrl
|
||||
if (cur_focus && cur_focus->acceptsTextInput())
|
||||
{
|
||||
cur_focus->onCommit();
|
||||
handled = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
// If we have a default button, click it when
|
||||
// return is pressed, unless current focus is a return-capturing button
|
||||
// in which case *that* button will handle the return key
|
||||
|
|
@ -363,6 +353,16 @@ BOOL LLPanel::handleKeyHere( KEY key, MASK mask, BOOL called_from_parent )
|
|||
handled = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
if (key == KEY_RETURN && mask == MASK_NONE)
|
||||
{
|
||||
// set keyboard focus to self to trigger commitOnFocusLost behavior on current ctrl
|
||||
if (cur_focus && cur_focus->acceptsTextInput())
|
||||
{
|
||||
cur_focus->onCommit();
|
||||
handled = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return handled;
|
||||
|
|
|
|||
|
|
@ -137,10 +137,11 @@ BOOL LLScrollListCheck::handleClick()
|
|||
//
|
||||
U32 LLScrollListText::sCount = 0;
|
||||
|
||||
LLScrollListText::LLScrollListText( const LLString& text, const LLFontGL* font, S32 width, U8 font_style, LLColor4& color, BOOL use_color, BOOL visible)
|
||||
LLScrollListText::LLScrollListText( const LLString& text, const LLFontGL* font, S32 width, U8 font_style, LLFontGL::HAlign font_alignment, LLColor4& color, BOOL use_color, BOOL visible)
|
||||
: mText( text ),
|
||||
mFont( font ),
|
||||
mFontStyle( font_style ),
|
||||
mFontAlignment( font_alignment ),
|
||||
mWidth( width ),
|
||||
mVisible( visible ),
|
||||
mHighlightCount( 0 ),
|
||||
|
|
@ -163,10 +164,6 @@ LLScrollListText::LLScrollListText( const LLString& text, const LLFontGL* font,
|
|||
{
|
||||
mRoundedRectImage = LLUI::sImageProvider->getUIImageByID(LLUUID(LLUI::sAssetsGroup->getString("rounded_square.tga")));
|
||||
}
|
||||
|
||||
// Yes, that's four dots, because we want it to have a little
|
||||
// padding, in proportion to the font size.
|
||||
mEllipsisWidth = (S32)mFont->getWidth("....");
|
||||
}
|
||||
|
||||
LLScrollListText::~LLScrollListText()
|
||||
|
|
@ -202,7 +199,19 @@ void LLScrollListText::drawToWidth(S32 width, const LLColor4& color, const LLCol
|
|||
{
|
||||
mRoundedRectImage->bind();
|
||||
glColor4fv(highlight_color.mV);
|
||||
S32 left = mFont->getWidth(mText.getString(), 0, mHighlightOffset);
|
||||
S32 left = 0;
|
||||
switch(mFontAlignment)
|
||||
{
|
||||
case LLFontGL::LEFT:
|
||||
left = mFont->getWidth(mText.getString(), 0, mHighlightOffset);
|
||||
break;
|
||||
case LLFontGL::RIGHT:
|
||||
left = width - mFont->getWidth(mText.getString(), mHighlightOffset, S32_MAX);
|
||||
break;
|
||||
case LLFontGL::HCENTER:
|
||||
left = (width - mFont->getWidth(mText.getString())) / 2;
|
||||
break;
|
||||
}
|
||||
gl_segmented_rect_2d_tex(left - 2,
|
||||
llround(mFont->getLineHeight()) + 1,
|
||||
left + mFont->getWidth(mText.getString(), mHighlightOffset, mHighlightCount) + 1,
|
||||
|
|
@ -215,21 +224,28 @@ void LLScrollListText::drawToWidth(S32 width, const LLColor4& color, const LLCol
|
|||
// Try to draw the entire string
|
||||
F32 right_x;
|
||||
U32 string_chars = mText.length();
|
||||
U32 drawn_chars = mFont->render(mText.getWString(), 0, 0, 2,
|
||||
*display_color,
|
||||
LLFontGL::LEFT,
|
||||
LLFontGL::BOTTOM,
|
||||
mFontStyle,
|
||||
string_chars,
|
||||
width - mEllipsisWidth,
|
||||
&right_x, FALSE);
|
||||
|
||||
// If we didn't get the whole string, abbreviate
|
||||
if (drawn_chars < string_chars && drawn_chars)
|
||||
F32 start_x = 0.f;
|
||||
switch(mFontAlignment)
|
||||
{
|
||||
mFont->renderUTF8("...", 0, right_x, 0.f, color, LLFontGL::LEFT, LLFontGL::BOTTOM, mFontStyle,
|
||||
S32_MAX, S32_MAX, NULL, FALSE);
|
||||
case LLFontGL::LEFT:
|
||||
start_x = 0.f;
|
||||
break;
|
||||
case LLFontGL::RIGHT:
|
||||
start_x = (F32)width;
|
||||
break;
|
||||
case LLFontGL::HCENTER:
|
||||
start_x = (F32)width * 0.5f;
|
||||
break;
|
||||
}
|
||||
mFont->render(mText.getWString(), 0,
|
||||
start_x, 2.f,
|
||||
*display_color,
|
||||
mFontAlignment,
|
||||
LLFontGL::BOTTOM,
|
||||
mFontStyle,
|
||||
string_chars,
|
||||
width,
|
||||
&right_x, FALSE, TRUE);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -2171,7 +2187,7 @@ LLView* LLScrollListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFac
|
|||
NULL,
|
||||
multi_select,
|
||||
draw_border);
|
||||
|
||||
|
||||
scroll_list->setDisplayHeading(draw_heading);
|
||||
if (node->hasAttribute("heading_height"))
|
||||
{
|
||||
|
|
@ -2226,6 +2242,8 @@ LLView* LLScrollListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFac
|
|||
F32 columnrelwidth = 0.f;
|
||||
child->getAttributeF32("relwidth", columnrelwidth);
|
||||
|
||||
LLFontGL::HAlign h_align = LLFontGL::LEFT;
|
||||
h_align = LLView::selectFontHAlign(child);
|
||||
|
||||
columns[index]["name"] = columnname;
|
||||
columns[index]["sort"] = sortname;
|
||||
|
|
@ -2234,6 +2252,7 @@ LLView* LLScrollListCtrl::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFac
|
|||
columns[index]["width"] = columnwidth;
|
||||
columns[index]["relwidth"] = columnrelwidth;
|
||||
columns[index]["dynamicwidth"] = columndynamicwidth;
|
||||
columns[index]["halign"] = (S32)h_align;
|
||||
index++;
|
||||
}
|
||||
}
|
||||
|
|
@ -2580,6 +2599,7 @@ LLScrollListItem* LLScrollListCtrl::addElement(const LLSD& value, EAddPosition p
|
|||
|
||||
S32 index = column_itor->second.mIndex;
|
||||
S32 width = column_itor->second.mWidth;
|
||||
LLFontGL::HAlign font_alignment = column_itor->second.mFontAlignment;
|
||||
|
||||
LLSD value = (*itor)["value"];
|
||||
LLString fontname = (*itor)["font"].asString();
|
||||
|
|
@ -2607,7 +2627,7 @@ LLScrollListItem* LLScrollListCtrl::addElement(const LLSD& value, EAddPosition p
|
|||
}
|
||||
else
|
||||
{
|
||||
new_item->setColumn(index, new LLScrollListText(value.asString(), font, width, font_style));
|
||||
new_item->setColumn(index, new LLScrollListText(value.asString(), font, width, font_style, font_alignment));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2715,3 +2735,4 @@ void LLScrollListCtrl::onFocusLost()
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -46,9 +46,8 @@ public:
|
|||
|
||||
class LLScrollListText : public LLScrollListCell
|
||||
{
|
||||
static U32 sCount;
|
||||
public:
|
||||
LLScrollListText( const LLString& text, const LLFontGL* font, S32 width = 0, U8 font_style = LLFontGL::NORMAL, LLColor4& color = LLColor4::black, BOOL use_color = FALSE, BOOL visible = TRUE);
|
||||
LLScrollListText( const LLString& text, const LLFontGL* font, S32 width = 0, U8 font_style = LLFontGL::NORMAL, LLFontGL::HAlign font_alignment = LLFontGL::LEFT, LLColor4& color = LLColor4::black, BOOL use_color = FALSE, BOOL visible = TRUE);
|
||||
/*virtual*/ ~LLScrollListText();
|
||||
|
||||
virtual void drawToWidth(S32 width, const LLColor4& color, const LLColor4& highlight_color) const;
|
||||
|
|
@ -65,13 +64,15 @@ private:
|
|||
const LLFontGL* mFont;
|
||||
LLColor4* mColor;
|
||||
const U8 mFontStyle;
|
||||
LLFontGL::HAlign mFontAlignment;
|
||||
S32 mWidth;
|
||||
S32 mEllipsisWidth; // in pixels, of "..."
|
||||
BOOL mVisible;
|
||||
S32 mHighlightCount;
|
||||
S32 mHighlightOffset;
|
||||
|
||||
LLPointer<LLImageGL> mRoundedRectImage;
|
||||
|
||||
static U32 sCount;
|
||||
};
|
||||
|
||||
class LLScrollListIcon : public LLScrollListCell
|
||||
|
|
@ -116,9 +117,10 @@ class LLScrollListColumn
|
|||
{
|
||||
public:
|
||||
// Default constructor
|
||||
LLScrollListColumn() : mName(""), mSortingColumn(""), mLabel(""), mWidth(-1), mRelWidth(-1.0), mDynamicWidth(FALSE), mIndex(-1), mParentCtrl(NULL), mButton(NULL) { }
|
||||
LLScrollListColumn() : mName(""), mSortingColumn(""), mLabel(""), mWidth(-1), mRelWidth(-1.0), mDynamicWidth(FALSE), mIndex(-1), mParentCtrl(NULL), mButton(NULL), mFontAlignment(LLFontGL::LEFT)
|
||||
{ }
|
||||
|
||||
LLScrollListColumn(LLString name, LLString label, S32 width, F32 relwidth)
|
||||
LLScrollListColumn(LLString name, LLString label, S32 width, F32 relwidth)
|
||||
: mName(name), mSortingColumn(name), mLabel(label), mWidth(width), mRelWidth(relwidth), mDynamicWidth(FALSE), mIndex(-1), mParentCtrl(NULL), mButton(NULL) { }
|
||||
|
||||
LLScrollListColumn(const LLSD &sd)
|
||||
|
|
@ -150,20 +152,27 @@ public:
|
|||
mDynamicWidth = FALSE;
|
||||
mRelWidth = -1;
|
||||
}
|
||||
|
||||
if (sd.has("halign"))
|
||||
{
|
||||
mFontAlignment = (LLFontGL::HAlign)llclamp(sd.get("halign").asInteger(), (S32)LLFontGL::LEFT, (S32)LLFontGL::HCENTER);
|
||||
}
|
||||
|
||||
mIndex = -1;
|
||||
mParentCtrl = NULL;
|
||||
mButton = NULL;
|
||||
}
|
||||
|
||||
LLString mName;
|
||||
LLString mSortingColumn;
|
||||
LLString mLabel;
|
||||
S32 mWidth;
|
||||
F32 mRelWidth;
|
||||
BOOL mDynamicWidth;
|
||||
S32 mIndex;
|
||||
LLScrollListCtrl *mParentCtrl;
|
||||
LLButton *mButton;
|
||||
LLString mName;
|
||||
LLString mSortingColumn;
|
||||
LLString mLabel;
|
||||
S32 mWidth;
|
||||
F32 mRelWidth;
|
||||
BOOL mDynamicWidth;
|
||||
S32 mIndex;
|
||||
LLScrollListCtrl* mParentCtrl;
|
||||
LLButton* mButton;
|
||||
LLFontGL::HAlign mFontAlignment;
|
||||
};
|
||||
|
||||
class LLScrollListItem
|
||||
|
|
@ -190,8 +199,8 @@ public:
|
|||
|
||||
// If width = 0, just use the width of the text. Otherwise override with
|
||||
// specified width in pixels.
|
||||
void addColumn( const LLString& text, const LLFontGL* font, S32 width = 0 , U8 font_style = LLFontGL::NORMAL, BOOL visible = TRUE)
|
||||
{ mColumns.push_back( new LLScrollListText(text, font, width, font_style, LLColor4::black, FALSE, visible) ); }
|
||||
void addColumn( const LLString& text, const LLFontGL* font, S32 width = 0 , U8 font_style = LLFontGL::NORMAL, LLFontGL::HAlign font_alignment = LLFontGL::LEFT, BOOL visible = TRUE)
|
||||
{ mColumns.push_back( new LLScrollListText(text, font, width, font_style, font_alignment, LLColor4::black, FALSE, visible) ); }
|
||||
|
||||
void addColumn( LLImageGL* icon, S32 width = 0 )
|
||||
{ mColumns.push_back( new LLScrollListIcon(icon, width) ); }
|
||||
|
|
|
|||
|
|
@ -397,6 +397,11 @@ void LLScriptLibrary::init()
|
|||
addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetParcelPrimCount", "i", "vii","integer llGetParcelPrimCount(vector pos, integer category, integer sim_wide)\nGets the number of prims on the parcel of the given category.\nCategories: PARCEL_COUNT_TOTAL, _OWNER, _GROUP, _OTHER, _SELECTED, _TEMP."));
|
||||
addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetParcelMaxPrims", "i", "vi","integer llGetParcelMaxPrims(vector pos, integer sim_wide)\nGets the maximum number of prims allowed on the parcel at pos."));
|
||||
addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llGetParcelDetails", "l", "vl","list llGetParcelDetails(vector pos, list params)\nGets the parcel details specified in params for the parcel at pos.\nParams is one or more of: PARCEL_DETAILS_NAME, _DESC, _OWNER, _GROUP, _AREA"));
|
||||
|
||||
|
||||
addFunction(new LLScriptLibraryFunction(10.f, 0.2f, dummy_func, "llSetLinkPrimitiveParams", NULL, "il", "llSetLinkPrimitiveParams(integer linknumber, list rules)\nSet primitive parameters for linknumber based on rules."));
|
||||
addFunction(new LLScriptLibraryFunction(10.f, 0.2f, dummy_func, "llSetLinkTexture", NULL, "isi", "llSetLinkTexture(integer link_pos, string texture, integer face)\nSets the texture of face for link_pos"));
|
||||
|
||||
|
||||
// energy, sleep, dummy_func, name, return type, parameters, help text, gods-only
|
||||
|
||||
|
|
@ -421,10 +426,6 @@ void LLScriptLibrary::init()
|
|||
//addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetCamPositionLocked", NULL, "i", "llSetCamPositionLocked(TRUE or FALSE)\nLocks the camera position so it will not move"));
|
||||
//addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetCamFocusLocked", NULL, "i", "llSetCamFocusLocked(TRUE or FALSE)\nLocks the camera focus so it will not move"));
|
||||
|
||||
// These functions are being put on hold until we think through how we want them handled (security issues). DK 02/16/05
|
||||
//addFunction(new LLScriptLibraryFunction(10.f, 0.2f, dummy_func, "llSetLinkPrimitiveParams", NULL, "il", "llSetLinkPrimitiveParams(integer linknumber, list rules)\nSet primitive parameters for linknumber based on rules."));
|
||||
//addFunction(new LLScriptLibraryFunction(10.f, 0.2f, dummy_func, "llSetLinkTexture", NULL, "isi", "llSetLinkTexture(integer link_pos, string texture, integer face)\nSets the texture of face for link_pos"));
|
||||
|
||||
//addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llSetForSale", "i", "ii", "integer llSetForSale(integer selltype, integer price)\nSets this object for sale in mode selltype for price. Returns TRUE if successfully set for sale."));
|
||||
|
||||
LLScriptLibraryFunction::LLScriptLibraryFunction(F32 eu, F32 st, void (*exec_func)(LLScriptLibData *, LLScriptLibData *, const LLUUID &), char *name, char *ret_type, char *args, char *desc, BOOL god_only)
|
||||
|
|
|
|||
|
|
@ -166,7 +166,7 @@ BOOL LLFloaterBuyCurrencyUI::canClose()
|
|||
void LLFloaterBuyCurrencyUI::onClose(bool app_quitting)
|
||||
{
|
||||
LLFloater::onClose(app_quitting);
|
||||
delete this;
|
||||
destroy();
|
||||
}
|
||||
|
||||
void LLFloaterBuyCurrencyUI::updateUI()
|
||||
|
|
|
|||
|
|
@ -993,7 +993,7 @@ BOOL LLFloaterBuyLandUI::canClose()
|
|||
void LLFloaterBuyLandUI::onClose(bool app_quitting)
|
||||
{
|
||||
LLFloater::onClose(app_quitting);
|
||||
delete this;
|
||||
destroy();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ void LLFloaterSellLandUI::SelectionObserver::changed()
|
|||
void LLFloaterSellLandUI::onClose(bool app_quitting)
|
||||
{
|
||||
LLFloater::onClose(app_quitting);
|
||||
delete this;
|
||||
destroy();
|
||||
}
|
||||
|
||||
BOOL LLFloaterSellLandUI::postBuild()
|
||||
|
|
|
|||
|
|
@ -148,7 +148,7 @@ LLHUDObject *LLHUDObject::addHUDObject(const U8 type)
|
|||
((LLHUDEffectSpiral *)hud_objectp)->setColor(LLColor4U(255, 255, 255, 255));
|
||||
break;
|
||||
case LL_HUD_EFFECT_GLOW:
|
||||
llerrs << "Glow not implemented!" << llendl;
|
||||
// deprecated
|
||||
break;
|
||||
case LL_HUD_EFFECT_POINT:
|
||||
hud_objectp = new LLHUDEffectSpiral(type);
|
||||
|
|
|
|||
|
|
@ -592,7 +592,7 @@ void LLFloaterIMPanel::onInputEditorKeystroke(LLLineEditor* caller, void* userda
|
|||
}
|
||||
}
|
||||
|
||||
void LLFloaterIMPanel::close(bool app_quitting)
|
||||
void LLFloaterIMPanel::onClose(bool app_quitting)
|
||||
{
|
||||
setTyping(FALSE);
|
||||
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ public:
|
|||
// Check typing timeout timer.
|
||||
/*virtual*/ void draw();
|
||||
|
||||
/*virtual*/ void close(bool app_quitting = FALSE);
|
||||
/*virtual*/ void onClose(bool app_quitting = FALSE);
|
||||
|
||||
// add target ids to the session.
|
||||
// Return TRUE if successful, otherwise FALSE.
|
||||
|
|
|
|||
|
|
@ -327,6 +327,14 @@ void hideContextEntries(LLMenuGL& menu,
|
|||
for (itor = list->begin(); itor != list->end(); ++itor)
|
||||
{
|
||||
LLString name = (*itor)->getName();
|
||||
|
||||
// descend into split menus:
|
||||
if ((name == "More") && (WIDGET_TYPE_MENU_ITEM_BRANCH == (*itor)->getWidgetType()))
|
||||
{
|
||||
hideContextEntries(*((LLMenuItemBranchGL *)(*itor))->getBranch(), entries_to_show, disabled_entries);
|
||||
}
|
||||
|
||||
|
||||
bool found = false;
|
||||
std::vector<LLString>::const_iterator itor2;
|
||||
for (itor2 = entries_to_show.begin(); itor2 != entries_to_show.end(); ++itor2)
|
||||
|
|
@ -1758,6 +1766,14 @@ void LLFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
|
|||
LLInventoryModel* model = mInventoryPanel->getModel();
|
||||
if(!model) return;
|
||||
LLUUID trash_id = model->findCategoryUUIDForType(LLAssetType::AT_TRASH);
|
||||
LLUUID lost_and_found_id = model->findCategoryUUIDForType(LLAssetType::AT_LOST_AND_FOUND);
|
||||
|
||||
if (lost_and_found_id == mUUID)
|
||||
{
|
||||
// This is the lost+found folder.
|
||||
mItems.push_back("Empty Lost And Found");
|
||||
}
|
||||
|
||||
if(trash_id == mUUID)
|
||||
{
|
||||
// This is the trash.
|
||||
|
|
|
|||
|
|
@ -63,7 +63,6 @@
|
|||
#include "lleventnotifier.h"
|
||||
#include "llface.h"
|
||||
#include "llfeaturemanager.h"
|
||||
#include "llfloateraccounthistory.h"
|
||||
#include "llfloaterchat.h"
|
||||
#include "llfloatergesture.h"
|
||||
#include "llfloaterland.h"
|
||||
|
|
@ -2287,11 +2286,11 @@ BOOL idle_startup()
|
|||
// JC - 7/20/2002
|
||||
gViewerWindow->sendShapeToSim();
|
||||
|
||||
// Ignore stipend information for now. Money history is on the web site.
|
||||
// if needed, show the money history window
|
||||
if (stipend_since_login && !gNoRender)
|
||||
{
|
||||
LLFloaterAccountHistory::show(NULL);
|
||||
}
|
||||
//if (stipend_since_login && !gNoRender)
|
||||
//{
|
||||
//}
|
||||
|
||||
if (!gAgent.isFirstLogin())
|
||||
{
|
||||
|
|
@ -3125,14 +3124,6 @@ void register_viewer_callbacks(LLMessageSystem* msg)
|
|||
|
||||
msg->setHandlerFuncFast(_PREHASH_GrantGodlikePowers, process_grant_godlike_powers);
|
||||
|
||||
msg->setHandlerFuncFast(_PREHASH_MoneySummaryReply,
|
||||
LLFloaterAccountHistory::processMoneySummaryReply);
|
||||
msg->setHandlerFuncFast(_PREHASH_MoneyDetailsReply,
|
||||
LLFloaterAccountHistory::processMoneyDetailsReply);
|
||||
msg->setHandlerFuncFast(_PREHASH_MoneyTransactionsReply,
|
||||
LLFloaterAccountHistory::processMoneyTransactionsReply);
|
||||
|
||||
// ASDF
|
||||
msg->setHandlerFuncFast(_PREHASH_GroupAccountSummaryReply,
|
||||
LLGroupMoneyPlanningTabEventHandler::processGroupAccountSummaryReply);
|
||||
msg->setHandlerFuncFast(_PREHASH_GroupAccountDetailsReply,
|
||||
|
|
|
|||
|
|
@ -212,7 +212,8 @@ LLFloaterTexturePicker::LLFloaterTexturePicker(
|
|||
|
||||
mInventoryPanel->setAutoSelectOverride(true);
|
||||
mInventoryPanel->setFilterTypes(filter_types);
|
||||
mInventoryPanel->setFilterPermMask(getFilterPermMask());
|
||||
//mInventoryPanel->setFilterPermMask(getFilterPermMask()); //Commented out due to no-copy texture loss.
|
||||
mInventoryPanel->setFilterPermMask(immediate_filter_perm_mask);
|
||||
mInventoryPanel->setSelectCallback(onSelectionChange, this);
|
||||
mInventoryPanel->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS);
|
||||
mInventoryPanel->setAllowMultiSelect(FALSE);
|
||||
|
|
@ -350,7 +351,8 @@ BOOL LLFloaterTexturePicker::handleDragAndDrop(
|
|||
if (mod) item_perm_mask |= PERM_MODIFY;
|
||||
if (xfer) item_perm_mask |= PERM_TRANSFER;
|
||||
|
||||
PermissionMask filter_perm_mask = getFilterPermMask();
|
||||
//PermissionMask filter_perm_mask = getFilterPermMask(); Commented out due to no-copy texture loss.
|
||||
PermissionMask filter_perm_mask = mImmediateFilterPermMask;
|
||||
if ( (item_perm_mask & filter_perm_mask) == filter_perm_mask )
|
||||
{
|
||||
if (drop)
|
||||
|
|
@ -729,7 +731,7 @@ void LLFloaterTexturePicker::onApplyImmediateCheck(LLUICtrl* ctrl, void *user_da
|
|||
|
||||
void LLFloaterTexturePicker::updateFilterPermMask()
|
||||
{
|
||||
mInventoryPanel->setFilterPermMask( getFilterPermMask() );
|
||||
//mInventoryPanel->setFilterPermMask( getFilterPermMask() ); Commented out due to no-copy texture loss.
|
||||
}
|
||||
|
||||
void LLFloaterTexturePicker::onSearchEdit(const LLString& search_string, void* user_data )
|
||||
|
|
@ -1252,8 +1254,9 @@ BOOL LLTextureCtrl::allowDrop(LLInventoryItem* item)
|
|||
if (mod) item_perm_mask |= PERM_MODIFY;
|
||||
if (xfer) item_perm_mask |= PERM_TRANSFER;
|
||||
|
||||
PermissionMask filter_perm_mask = mCanApplyImmediately ?
|
||||
mImmediateFilterPermMask : mNonImmediateFilterPermMask;
|
||||
// PermissionMask filter_perm_mask = mCanApplyImmediately ? commented out due to no-copy texture loss.
|
||||
// mImmediateFilterPermMask : mNonImmediateFilterPermMask;
|
||||
PermissionMask filter_perm_mask = mImmediateFilterPermMask;
|
||||
if ( (item_perm_mask & filter_perm_mask) == filter_perm_mask )
|
||||
{
|
||||
if(mDragCallback)
|
||||
|
|
|
|||
|
|
@ -1185,6 +1185,8 @@ BOOL LLToolDragAndDrop::handleDropTextureProtections(LLViewerObject* hit_obj,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
if (!item) return FALSE;
|
||||
|
||||
LLPointer<LLViewerInventoryItem> new_item = new LLViewerInventoryItem(item);
|
||||
if(!item->getPermissions().allowOperationBy(PERM_COPY, gAgent.getID()))
|
||||
{
|
||||
|
|
@ -1217,6 +1219,7 @@ BOOL LLToolDragAndDrop::handleDropTextureProtections(LLViewerObject* hit_obj,
|
|||
return FALSE;
|
||||
}
|
||||
}
|
||||
std::cout << "ASSET ID: " << new_item->getAssetUUID() << "\n";
|
||||
hit_obj->updateInventory(new_item, TASK_INVENTORY_ASSET_KEY, true);
|
||||
}
|
||||
else if(!item->getPermissions().allowOperationBy(PERM_TRANSFER,
|
||||
|
|
@ -1230,6 +1233,7 @@ BOOL LLToolDragAndDrop::handleDropTextureProtections(LLViewerObject* hit_obj,
|
|||
// *FIX: may want to make sure agent can paint hit_obj.
|
||||
|
||||
// make sure the object has the texture in it's inventory.
|
||||
std::cout << "ASSET ID: " << new_item->getAssetUUID() << "\n";
|
||||
hit_obj->updateInventory(new_item, TASK_INVENTORY_ASSET_KEY, true);
|
||||
}
|
||||
return TRUE;
|
||||
|
|
@ -2305,6 +2309,12 @@ EAcceptance LLToolDragAndDrop::dad3dTextureObject(
|
|||
{
|
||||
return ACCEPT_NO_LOCKED;
|
||||
}
|
||||
//If texture !copyable don't texture or you'll never get it back.
|
||||
if(!item->getPermissions().allowCopyBy(gAgent.getID()))
|
||||
{
|
||||
return ACCEPT_NO;
|
||||
}
|
||||
|
||||
if(drop && (ACCEPT_YES_SINGLE <= rv))
|
||||
{
|
||||
if((mask & MASK_SHIFT))
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ BOOL LLFloaterSettingsDebug::postBuild()
|
|||
childSetUserData("boolean_combo", this);
|
||||
childSetCommitCallback("color_swatch", onCommitSettings);
|
||||
childSetUserData("color_swatch", this);
|
||||
|
||||
childSetAction("default_btn", onClickDefault, this);
|
||||
mComment = (LLTextEditor*)getChildByName("comment_text");
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -655,7 +655,7 @@ void copy_inventory_item(
|
|||
msg->addUUIDFast(_PREHASH_OldAgentID, current_owner);
|
||||
msg->addUUIDFast(_PREHASH_OldItemID, item_id);
|
||||
msg->addUUIDFast(_PREHASH_NewFolderID, parent_id);
|
||||
msg->addString("NewName", new_name);
|
||||
msg->addStringFast(_PREHASH_NewName, new_name);
|
||||
gAgent.sendReliableMessage();
|
||||
}
|
||||
|
||||
|
|
@ -672,11 +672,11 @@ void move_inventory_item(
|
|||
msg->nextBlockFast(_PREHASH_AgentData);
|
||||
msg->addUUIDFast(_PREHASH_AgentID, agent_id);
|
||||
msg->addUUIDFast(_PREHASH_SessionID, session_id);
|
||||
msg->addBOOLFast(_PREHASH_Stamp, false);
|
||||
msg->addBOOLFast(_PREHASH_Stamp, FALSE);
|
||||
msg->nextBlockFast(_PREHASH_InventoryData);
|
||||
msg->addUUIDFast(_PREHASH_ItemID, item_id);
|
||||
msg->addUUIDFast(_PREHASH_FolderID, parent_id);
|
||||
msg->addString("NewName", new_name);
|
||||
msg->addStringFast(_PREHASH_NewName, new_name);
|
||||
gAgent.sendReliableMessage();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -89,7 +89,6 @@
|
|||
#include "llfloaterland.h"
|
||||
#include "llfloaterlandholdings.h"
|
||||
#include "llfloatermap.h"
|
||||
#include "llfloateraccounthistory.h"
|
||||
#include "llfloaterimagepreview.h"
|
||||
#include "llfloatermute.h"
|
||||
#include "llfloaternamedesc.h"
|
||||
|
|
@ -5215,15 +5214,23 @@ void upload_error(const char* error_message, const char* label, const std::strin
|
|||
LLFilePicker::instance().reset();
|
||||
}
|
||||
|
||||
class LLFileEnableCloseWindow : public view_listener_t
|
||||
{
|
||||
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
||||
{
|
||||
bool new_value = gFloaterView->getFocusedFloater() != NULL || gSnapshotFloaterView->getFocusedFloater() != NULL;
|
||||
// horrendously opaque, this code
|
||||
gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
class LLFileCloseWindow : public view_listener_t
|
||||
{
|
||||
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
|
||||
{
|
||||
LLFloater *top = gFloaterView->getFrontmost();
|
||||
if (top && top->hasFocus())
|
||||
{
|
||||
LLFloater::closeByMenu( top );
|
||||
}
|
||||
LLFloater::closeFocusedFloater();
|
||||
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
|
@ -6411,10 +6418,6 @@ class LLShowFloater : public view_listener_t
|
|||
{
|
||||
gDebugView->mStatViewp->setVisible(!gDebugView->mStatViewp->getVisible());
|
||||
}
|
||||
else if (floater_name == "account history")
|
||||
{
|
||||
LLFloaterAccountHistory::show(NULL);
|
||||
}
|
||||
else if (floater_name == "my land")
|
||||
{
|
||||
LLFloaterLandHoldings::show(NULL);
|
||||
|
|
@ -8615,6 +8618,7 @@ void initialize_menu_actions()
|
|||
(new LLFileUploadAnim())->registerListener(gMenuHolder, "File.UploadAnim");
|
||||
(new LLFileUploadBulk())->registerListener(gMenuHolder, "File.UploadBulk");
|
||||
(new LLFileCloseWindow())->registerListener(gMenuHolder, "File.CloseWindow");
|
||||
(new LLFileEnableCloseWindow())->registerListener(gMenuHolder, "File.EnableCloseWindow");
|
||||
(new LLFileSaveTexture())->registerListener(gMenuHolder, "File.SaveTexture");
|
||||
(new LLFileTakeSnapshot())->registerListener(gMenuHolder, "File.TakeSnapshot");
|
||||
(new LLFileTakeSnapshotToDisk())->registerListener(gMenuHolder, "File.TakeSnapshotToDisk");
|
||||
|
|
|
|||
|
|
@ -247,7 +247,6 @@ void LLWorldMap::setCurrentLayer(S32 layer, bool request_layer)
|
|||
if (!mMapLoaded[layer] || request_layer)
|
||||
{
|
||||
sendMapLayerRequest();
|
||||
sendItemRequest(MAP_ITEM_AGENT_COUNT);
|
||||
}
|
||||
|
||||
if (mTelehubs.size() == 0 ||
|
||||
|
|
@ -698,12 +697,6 @@ void LLWorldMap::processMapItemReply(LLMessageSystem* msg, void**)
|
|||
gWorldMap->mClassifieds.push_back(new_item);
|
||||
break;
|
||||
}
|
||||
case MAP_ITEM_AGENT_COUNT: // agent counts
|
||||
{
|
||||
// We only ever receive one per region, i.e. this update superceeds any others
|
||||
gWorldMap->mNumAgents[new_item.mRegionHandle] = new_item.mExtra;
|
||||
break;
|
||||
}
|
||||
case MAP_ITEM_AGENT_LOCATIONS: // agent locations
|
||||
{
|
||||
if (!siminfo)
|
||||
|
|
|
|||
|
|
@ -148,8 +148,7 @@ LLWorldMapView::LLWorldMapView(const std::string& name, const LLRect& rect )
|
|||
mMouseDownPanY( 0 ),
|
||||
mMouseDownX( 0 ),
|
||||
mMouseDownY( 0 ),
|
||||
mSelectIDStart(0),
|
||||
mAgentCountsUpdateTime(0)
|
||||
mSelectIDStart(0)
|
||||
{
|
||||
sPixelsPerMeter = gMapScale / REGION_WIDTH_METERS;
|
||||
clearLastClick();
|
||||
|
|
@ -279,12 +278,6 @@ void LLWorldMapView::draw()
|
|||
|
||||
F64 current_time = LLTimer::getElapsedSeconds();
|
||||
|
||||
if (current_time - mAgentCountsUpdateTime > AGENT_COUNTS_UPDATE_TIME)
|
||||
{
|
||||
gWorldMap->sendItemRequest(MAP_ITEM_AGENT_COUNT);
|
||||
mAgentCountsUpdateTime = current_time;
|
||||
}
|
||||
|
||||
mVisibleRegions.clear();
|
||||
|
||||
// animate pan if necessary
|
||||
|
|
|
|||
|
|
@ -33,8 +33,9 @@ class LLTextBox;
|
|||
#define SIM_MAP_AGENT_SCALE 20 // width in pixels, where we start drawing agents
|
||||
#define SIM_MAP_SCALE 90 // width in pixels, where we start drawing sim tiles
|
||||
|
||||
// Updates for agent locations.
|
||||
#define AGENTS_UPDATE_TIME 60.0 // in seconds
|
||||
#define AGENT_COUNTS_UPDATE_TIME 60.0 // in seconds
|
||||
|
||||
|
||||
class LLWorldMapView : public LLPanel
|
||||
{
|
||||
|
|
@ -164,7 +165,6 @@ public:
|
|||
|
||||
static BOOL sHandledLastClick;
|
||||
S32 mSelectIDStart;
|
||||
F64 mAgentCountsUpdateTime;
|
||||
|
||||
typedef std::vector<U64> handle_list_t;
|
||||
handle_list_t mVisibleRegions; // set every frame
|
||||
|
|
|
|||
Loading…
Reference in New Issue