summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorSteven Bennetts <steve@lindenlab.com>2008-02-19 21:42:32 +0000
committerSteven Bennetts <steve@lindenlab.com>2008-02-19 21:42:32 +0000
commit2e32d44e7165775936beae5d9ef636ff9d3f2bd2 (patch)
tree8153bc399994aabf6e1c41c2d8332e4e8c4ddb78 /indra/newview
parentdb0f5847ea8b96b3c1ac08e7aeb43d83daacb8e4 (diff)
merge svn+ssh://svn.lindenlab.com/svn/linden/qa/combo-merge-ui-2008-02-13 -r 79986 : 80178 -> release.
QAR-290 = QAR-271 + QAR-191
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llagent.cpp4
-rw-r--r--indra/newview/llagent.h2
-rw-r--r--indra/newview/llcallingcard.cpp17
-rw-r--r--indra/newview/llcallingcard.h12
-rw-r--r--indra/newview/llchatbar.cpp6
-rw-r--r--indra/newview/llclassifiedstatsresponder.cpp4
-rw-r--r--indra/newview/llclassifiedstatsresponder.h4
-rw-r--r--indra/newview/llcolorswatch.cpp36
-rw-r--r--indra/newview/llcolorswatch.h2
-rw-r--r--indra/newview/llfasttimerview.cpp19
-rw-r--r--indra/newview/llfilepicker.cpp2
-rw-r--r--indra/newview/llfloaterabout.cpp4
-rw-r--r--indra/newview/llfloateranimpreview.cpp51
-rw-r--r--indra/newview/llfloaterauction.cpp2
-rw-r--r--indra/newview/llfloaterauction.h2
-rw-r--r--indra/newview/llfloateravatarpicker.cpp5
-rw-r--r--indra/newview/llfloateravatartextures.cpp52
-rw-r--r--indra/newview/llfloaterbump.cpp4
-rw-r--r--indra/newview/llfloaterbuy.cpp10
-rw-r--r--indra/newview/llfloaterbuy.h2
-rw-r--r--indra/newview/llfloaterbuycontents.cpp10
-rw-r--r--indra/newview/llfloaterbuycontents.h2
-rw-r--r--indra/newview/llfloaterbuycurrency.cpp2
-rw-r--r--indra/newview/llfloaterbuyland.cpp164
-rw-r--r--indra/newview/llfloaterbuyland.h2
-rw-r--r--indra/newview/llfloaterchat.cpp53
-rw-r--r--indra/newview/llfloaterchat.h9
-rw-r--r--indra/newview/llfloaterchatterbox.cpp80
-rw-r--r--indra/newview/llfloaterchatterbox.h123
-rw-r--r--indra/newview/llfloatercolorpicker.cpp149
-rw-r--r--indra/newview/llfloaterfriends.cpp84
-rw-r--r--indra/newview/llfloaterfriends.h9
-rw-r--r--indra/newview/llfloatergesture.cpp2
-rw-r--r--indra/newview/llfloatergroupinvite.cpp2
-rw-r--r--indra/newview/llfloatergroups.h10
-rw-r--r--indra/newview/llfloaterinspect.cpp15
-rw-r--r--indra/newview/llfloaterinspect.h2
-rw-r--r--indra/newview/llfloaterlagmeter.cpp116
-rw-r--r--indra/newview/llfloaterlagmeter.h2
-rw-r--r--indra/newview/llfloaterland.cpp132
-rw-r--r--indra/newview/llfloaterland.h28
-rw-r--r--indra/newview/llfloatermap.cpp11
-rw-r--r--indra/newview/llfloaternamedesc.cpp19
-rw-r--r--indra/newview/llfloaternamedesc.h1
-rw-r--r--indra/newview/llfloateropenobject.h2
-rw-r--r--indra/newview/llfloaterpostcard.cpp8
-rw-r--r--indra/newview/llfloaterpreference.cpp6
-rw-r--r--indra/newview/llfloaterpreference.h6
-rw-r--r--indra/newview/llfloaterproperties.cpp28
-rw-r--r--indra/newview/llfloaterregioninfo.cpp50
-rw-r--r--indra/newview/llfloaterregioninfo.h6
-rw-r--r--indra/newview/llfloaterreporter.cpp2
-rw-r--r--indra/newview/llfloaterscriptdebug.cpp8
-rw-r--r--indra/newview/llfloatersellland.cpp8
-rw-r--r--indra/newview/llfloatersellland.h2
-rw-r--r--indra/newview/llfloatersnapshot.cpp50
-rw-r--r--indra/newview/llfloatertelehub.h2
-rw-r--r--indra/newview/llfloatertools.cpp44
-rw-r--r--indra/newview/llfloatertools.h6
-rw-r--r--indra/newview/llfloatertopobjects.cpp14
-rw-r--r--indra/newview/llfloatertos.cpp10
-rw-r--r--indra/newview/llfloaterurldisplay.h2
-rw-r--r--indra/newview/llfloaterurlentry.cpp15
-rw-r--r--indra/newview/llfloaterurlentry.h8
-rw-r--r--indra/newview/llfloaterworldmap.cpp24
-rw-r--r--indra/newview/llfloaterworldmap.h2
-rw-r--r--indra/newview/llfolderview.cpp168
-rw-r--r--indra/newview/llfolderview.h21
-rw-r--r--indra/newview/llglsandbox.cpp4
-rw-r--r--indra/newview/llimpanel.cpp16
-rw-r--r--indra/newview/llimpanel.h2
-rw-r--r--indra/newview/llimview.cpp42
-rw-r--r--indra/newview/llimview.h4
-rw-r--r--indra/newview/llinventorybridge.cpp4
-rw-r--r--indra/newview/llinventorybridge.h2
-rw-r--r--indra/newview/lljoystickbutton.cpp50
-rw-r--r--indra/newview/lljoystickbutton.h2
-rw-r--r--indra/newview/llmanip.h4
-rw-r--r--indra/newview/llmemoryview.cpp4
-rw-r--r--indra/newview/llnamebox.cpp15
-rw-r--r--indra/newview/llnameeditor.cpp14
-rw-r--r--indra/newview/llnamelistctrl.cpp43
-rw-r--r--indra/newview/llnetmap.cpp85
-rw-r--r--indra/newview/llnetmap.h2
-rw-r--r--indra/newview/lloverlaybar.cpp2
-rw-r--r--indra/newview/llpanelavatar.cpp85
-rw-r--r--indra/newview/llpanelavatar.h5
-rw-r--r--indra/newview/llpanelclassified.cpp32
-rw-r--r--indra/newview/llpanelclassified.h4
-rw-r--r--indra/newview/llpanelface.cpp14
-rw-r--r--indra/newview/llpanelgroup.cpp43
-rw-r--r--indra/newview/llpanelgroup.h6
-rw-r--r--indra/newview/llpanelgroupgeneral.cpp52
-rw-r--r--indra/newview/llpanelgroupinvite.cpp16
-rw-r--r--indra/newview/llpanelgrouplandmoney.cpp72
-rw-r--r--indra/newview/llpanelgroupnotices.cpp43
-rw-r--r--indra/newview/llpanelgrouproles.cpp103
-rw-r--r--indra/newview/llpanelgrouproles.h4
-rw-r--r--indra/newview/llpanellandmedia.cpp8
-rw-r--r--indra/newview/llpanellandmedia.h7
-rw-r--r--indra/newview/llpanellogin.cpp34
-rw-r--r--indra/newview/llpanelobject.cpp8
-rw-r--r--indra/newview/llpanelpermissions.cpp14
-rw-r--r--indra/newview/llpanelpick.cpp4
-rw-r--r--indra/newview/llpanelplace.cpp21
-rw-r--r--indra/newview/llpanelvolume.cpp14
-rw-r--r--indra/newview/llparcelselection.cpp5
-rw-r--r--indra/newview/llparcelselection.h2
-rw-r--r--indra/newview/llpreview.cpp23
-rw-r--r--indra/newview/llpreview.h8
-rw-r--r--indra/newview/llpreviewanim.cpp8
-rw-r--r--indra/newview/llpreviewgesture.cpp16
-rw-r--r--indra/newview/llpreviewnotecard.cpp6
-rw-r--r--indra/newview/llpreviewscript.cpp84
-rw-r--r--indra/newview/llpreviewscript.h4
-rw-r--r--indra/newview/llpreviewtexture.cpp20
-rw-r--r--indra/newview/llprogressview.cpp16
-rw-r--r--indra/newview/llremoteparcelrequest.cpp6
-rw-r--r--indra/newview/llremoteparcelrequest.h6
-rw-r--r--indra/newview/llselectmgr.cpp54
-rw-r--r--indra/newview/llselectmgr.h14
-rw-r--r--indra/newview/llstatusbar.cpp33
-rw-r--r--indra/newview/llstatusbar.h33
-rw-r--r--indra/newview/lltexturectrl.cpp47
-rw-r--r--indra/newview/lltexturectrl.h3
-rw-r--r--indra/newview/lltextureview.cpp11
-rw-r--r--indra/newview/lltool.cpp1
-rw-r--r--indra/newview/lltool.h2
-rw-r--r--indra/newview/lltoolbar.cpp8
-rw-r--r--indra/newview/lltoolbrush.h6
-rw-r--r--indra/newview/lltoolcomp.cpp8
-rw-r--r--indra/newview/lltoolfocus.cpp1
-rw-r--r--indra/newview/lltoolpie.cpp2
-rw-r--r--indra/newview/lltoolpie.h2
-rw-r--r--indra/newview/lltoolselect.cpp3
-rw-r--r--indra/newview/lltoolselect.h2
-rw-r--r--indra/newview/lltoolselectland.h2
-rw-r--r--indra/newview/lltoolview.cpp3
-rw-r--r--indra/newview/lluploaddialog.cpp16
-rw-r--r--indra/newview/lluploaddialog.h2
-rw-r--r--indra/newview/llviewercontrol.cpp10
-rw-r--r--indra/newview/llviewerkeyboard.cpp7
-rw-r--r--indra/newview/llviewermedia.cpp9
-rw-r--r--indra/newview/llviewermenu.cpp149
-rw-r--r--indra/newview/llviewermenu.h8
-rw-r--r--indra/newview/llviewermessage.cpp65
-rw-r--r--indra/newview/llviewerparcelmedia.cpp2
-rw-r--r--indra/newview/llviewerparcelmgr.cpp11
-rw-r--r--indra/newview/llviewerparcelmgr.h2
-rw-r--r--indra/newview/llviewertexteditor.cpp188
-rw-r--r--indra/newview/llviewertexteditor.h36
-rw-r--r--indra/newview/llviewerwindow.cpp39
-rw-r--r--indra/newview/llworldmapview.cpp40
153 files changed, 1715 insertions, 1951 deletions
diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp
index 51ab279e16..bd885f955c 100644
--- a/indra/newview/llagent.cpp
+++ b/indra/newview/llagent.cpp
@@ -969,12 +969,12 @@ void LLAgent::sendReliableMessage()
{
if (gDisconnected)
{
- llwarns << "Trying to send message when disconnected!" << llendl;
+ lldebugs << "Trying to send message when disconnected!" << llendl;
return;
}
if (!mRegionp)
{
- llwarns << "LLAgent::sendReliableMessage No region for agent yet, not sending message!" << llendl;
+ lldebugs << "LLAgent::sendReliableMessage No region for agent yet, not sending message!" << llendl;
return;
}
gMessageSystem->sendReliable(mRegionp->getHost());
diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h
index 5e5a58cffb..1b21a71212 100644
--- a/indra/newview/llagent.h
+++ b/indra/newview/llagent.h
@@ -117,6 +117,8 @@ inline bool operator==(const LLGroupData &a, const LLGroupData &b)
class LLAgent : public LLObservable
{
+ LOG_CLASS(LLAgent);
+
public:
// When the agent hasn't typed anything for this duration, it leaves the
// typing state (for both chat and IM).
diff --git a/indra/newview/llcallingcard.cpp b/indra/newview/llcallingcard.cpp
index 6d0244e55e..108e2cafe0 100644
--- a/indra/newview/llcallingcard.cpp
+++ b/indra/newview/llcallingcard.cpp
@@ -266,9 +266,8 @@ S32 LLAvatarTracker::addBuddyList(const LLAvatarTracker::buddy_map_t& buds)
{
using namespace std;
- U32 new_buddy_count = 0;
- char first[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char last[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
+ U32 new_buddy_count = 0;
+ std::string first,last;
LLUUID agent_id;
for(buddy_map_t::const_iterator itr = buds.begin(); itr != buds.end(); ++itr)
{
@@ -588,8 +587,7 @@ void LLAvatarTracker::processChange(LLMessageSystem* msg)
{
if((mBuddyInfo[agent_id]->getRightsGrantedFrom() ^ new_rights) & LLRelationship::GRANT_MODIFY_OBJECTS)
{
- char first[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char last[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
+ std::string first, last;
LLStringBase<char>::format_map_t args;
if(gCacheName->getName(agent_id, first, last))
{
@@ -646,8 +644,7 @@ void LLAvatarTracker::processNotify(LLMessageSystem* msg, bool online)
setBuddyOnline(agent_id,online);
if(chat_notify)
{
- char first[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char last[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
+ std::string first, last;
if(gCacheName->getName(agent_id, first, last))
{
notify = TRUE;
@@ -801,8 +798,6 @@ bool LLCollectProxyBuddies::operator()(const LLUUID& buddy_id, LLRelationship* b
bool LLCollectMappableBuddies::operator()(const LLUUID& buddy_id, LLRelationship* buddy)
{
- mFirst[0] = '\0';
- mLast[0] = '\0';
gCacheName->getName(buddy_id, mFirst, mLast);
std::ostringstream fullname;
fullname << mFirst << " " << mLast;
@@ -816,8 +811,6 @@ bool LLCollectMappableBuddies::operator()(const LLUUID& buddy_id, LLRelationship
bool LLCollectOnlineBuddies::operator()(const LLUUID& buddy_id, LLRelationship* buddy)
{
- mFirst[0] = '\0';
- mLast[0] = '\0';
gCacheName->getName(buddy_id, mFirst, mLast);
std::ostringstream fullname;
fullname << mFirst << " " << mLast;
@@ -831,8 +824,6 @@ bool LLCollectOnlineBuddies::operator()(const LLUUID& buddy_id, LLRelationship*
bool LLCollectAllBuddies::operator()(const LLUUID& buddy_id, LLRelationship* buddy)
{
- mFirst[0] = '\0';
- mLast[0] = '\0';
gCacheName->getName(buddy_id, mFirst, mLast);
std::ostringstream fullname;
fullname << mFirst << " " << mLast;
diff --git a/indra/newview/llcallingcard.h b/indra/newview/llcallingcard.h
index f713af389f..c00fe5295d 100644
--- a/indra/newview/llcallingcard.h
+++ b/indra/newview/llcallingcard.h
@@ -212,8 +212,8 @@ public:
virtual bool operator()(const LLUUID& buddy_id, LLRelationship* buddy);
typedef std::map<std::string, LLUUID, LLDictionaryLess> buddy_map_t;
buddy_map_t mMappable;
- char mFirst[DB_FIRST_NAME_BUF_SIZE]; /* Flawfinder: ignore */
- char mLast[DB_LAST_NAME_BUF_SIZE]; /* Flawfinder: ignore */
+ std::string mFirst;
+ std::string mLast;
};
// collect dictionary sorted map of name -> agent_id for every online buddy
@@ -225,8 +225,8 @@ public:
virtual bool operator()(const LLUUID& buddy_id, LLRelationship* buddy);
typedef std::map<std::string, LLUUID, LLDictionaryLess> buddy_map_t;
buddy_map_t mOnline;
- char mFirst[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char mLast[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
+ std::string mFirst;
+ std::string mLast;
};
// collect dictionary sorted map of name -> agent_id for every buddy,
@@ -240,8 +240,8 @@ public:
typedef std::map<std::string, LLUUID, LLDictionaryLess> buddy_map_t;
buddy_map_t mOnline;
buddy_map_t mOffline;
- char mFirst[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char mLast[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
+ std::string mFirst;
+ std::string mLast;
};
#endif // LL_LLCALLINGCARD_H
diff --git a/indra/newview/llchatbar.cpp b/indra/newview/llchatbar.cpp
index 1798aea122..2ea9bf6e5e 100644
--- a/indra/newview/llchatbar.cpp
+++ b/indra/newview/llchatbar.cpp
@@ -125,6 +125,12 @@ BOOL LLChatBar::postBuild()
// attempt to bind to an existing combo box named gesture
setGestureCombo(LLUICtrlFactory::getComboBoxByName(this, "Gesture"));
+ LLButton * sayp = getChild<LLButton>("Say");
+ if(sayp)
+ {
+ setDefaultBtn(sayp);
+ }
+
mInputEditor = LLUICtrlFactory::getLineEditorByName(this, "Chat Editor");
if (mInputEditor)
{
diff --git a/indra/newview/llclassifiedstatsresponder.cpp b/indra/newview/llclassifiedstatsresponder.cpp
index 0b33ce707e..a605d08448 100644
--- a/indra/newview/llclassifiedstatsresponder.cpp
+++ b/indra/newview/llclassifiedstatsresponder.cpp
@@ -43,7 +43,7 @@
#include "llview.h"
#include "message.h"
-LLClassifiedStatsResponder::LLClassifiedStatsResponder(LLViewHandle classified_panel_handle, LLUUID classified_id)
+LLClassifiedStatsResponder::LLClassifiedStatsResponder(LLHandle<LLView> classified_panel_handle, LLUUID classified_id)
: mClassifiedPanelHandle(classified_panel_handle),
mClassifiedID(classified_id)
{
@@ -58,7 +58,7 @@ void LLClassifiedStatsResponder::result(const LLSD& content)
S32 search_map = content["search_map_clicks"].asInteger();
S32 search_profile = content["search_profile_clicks"].asInteger();
- LLPanelClassified* classified_panelp = (LLPanelClassified*)LLPanel::getPanelByHandle(mClassifiedPanelHandle);
+ LLPanelClassified* classified_panelp = (LLPanelClassified*)mClassifiedPanelHandle.get();
if(classified_panelp)
{
diff --git a/indra/newview/llclassifiedstatsresponder.h b/indra/newview/llclassifiedstatsresponder.h
index 45d6ec38cf..a2b1daa8da 100644
--- a/indra/newview/llclassifiedstatsresponder.h
+++ b/indra/newview/llclassifiedstatsresponder.h
@@ -39,14 +39,14 @@
class LLClassifiedStatsResponder : public LLHTTPClient::Responder
{
public:
- LLClassifiedStatsResponder(LLViewHandle classified_panel_handle, LLUUID classified_id);
+ LLClassifiedStatsResponder(LLHandle<LLView> classified_panel_handle, LLUUID classified_id);
//If we get back a normal response, handle it here
virtual void result(const LLSD& content);
//If we get back an error (not found, etc...), handle it here
virtual void error(U32 status, const std::string& reason);
protected:
- LLViewHandle mClassifiedPanelHandle;
+ LLHandle<LLView> mClassifiedPanelHandle;
LLUUID mClassifiedID;
};
diff --git a/indra/newview/llcolorswatch.cpp b/indra/newview/llcolorswatch.cpp
index b814f0d63f..b2b29ffc9f 100644
--- a/indra/newview/llcolorswatch.cpp
+++ b/indra/newview/llcolorswatch.cpp
@@ -61,14 +61,14 @@ LLColorSwatchCtrl::LLColorSwatchCtrl(const std::string& name, const LLRect& rect
mOnSelectCallback(NULL)
{
mCaption = new LLTextBox( name,
- LLRect( 0, BTN_HEIGHT_SMALL, mRect.getWidth(), 0 ),
- LLString::null,
+ LLRect( 0, BTN_HEIGHT_SMALL, getRect().getWidth(), 0 ),
+ name,
LLFontGL::sSansSerifSmall );
mCaption->setFollows( FOLLOWS_LEFT | FOLLOWS_RIGHT | FOLLOWS_BOTTOM );
addChild( mCaption );
// Scalable UI made this off-by-one, I don't know why. JC
- LLRect border_rect(0, mRect.getHeight()-1, mRect.getWidth()-1, 0);
+ LLRect border_rect(0, getRect().getHeight()-1, getRect().getWidth()-1, 0);
border_rect.mBottom += BTN_HEIGHT_SMALL;
mBorder = new LLViewBorder("border", border_rect, LLViewBorder::BEVEL_IN);
addChild(mBorder);
@@ -89,14 +89,14 @@ LLColorSwatchCtrl::LLColorSwatchCtrl(const std::string& name, const LLRect& rect
mOnSelectCallback(NULL)
{
mCaption = new LLTextBox( label,
- LLRect( 0, BTN_HEIGHT_SMALL, mRect.getWidth(), 0 ),
- LLString::null,
+ LLRect( 0, BTN_HEIGHT_SMALL, getRect().getWidth(), 0 ),
+ label,
LLFontGL::sSansSerifSmall );
mCaption->setFollows( FOLLOWS_LEFT | FOLLOWS_RIGHT | FOLLOWS_BOTTOM );
addChild( mCaption );
// Scalable UI made this off-by-one, I don't know why. JC
- LLRect border_rect(0, mRect.getHeight()-1, mRect.getWidth()-1, 0);
+ LLRect border_rect(0, getRect().getHeight()-1, getRect().getWidth()-1, 0);
border_rect.mBottom += BTN_HEIGHT_SMALL;
mBorder = new LLViewBorder("border", border_rect, LLViewBorder::BEVEL_IN);
addChild(mBorder);
@@ -108,7 +108,7 @@ LLColorSwatchCtrl::LLColorSwatchCtrl(const std::string& name, const LLRect& rect
LLColorSwatchCtrl::~LLColorSwatchCtrl ()
{
// parent dialog is destroyed so we are too and we need to cancel selection
- LLFloaterColorPicker* pickerp = (LLFloaterColorPicker*)LLFloater::getFloaterByHandle(mPickerHandle);
+ LLFloaterColorPicker* pickerp = (LLFloaterColorPicker*)mPickerHandle.get();
if (pickerp)
{
pickerp->cancelSelection();
@@ -130,7 +130,7 @@ BOOL LLColorSwatchCtrl::handleHover(S32 x, S32 y, MASK mask)
BOOL LLColorSwatchCtrl::handleUnicodeCharHere(llwchar uni_char, BOOL called_from_parent)
{
- if( getVisible() && mEnabled && !called_from_parent && ' ' == uni_char )
+ if( getVisible() && getEnabled() && !called_from_parent && ' ' == uni_char )
{
showPicker(TRUE);
}
@@ -141,7 +141,7 @@ BOOL LLColorSwatchCtrl::handleUnicodeCharHere(llwchar uni_char, BOOL called_from
void LLColorSwatchCtrl::setOriginal(const LLColor4& color)
{
mColor = color;
- LLFloaterColorPicker* pickerp = (LLFloaterColorPicker*)LLFloater::getFloaterByHandle(mPickerHandle);
+ LLFloaterColorPicker* pickerp = (LLFloaterColorPicker*)mPickerHandle.get();
if (pickerp)
{
pickerp->setOrigRgb(mColor.mV[VRED], mColor.mV[VGREEN], mColor.mV[VBLUE]);
@@ -151,7 +151,7 @@ void LLColorSwatchCtrl::setOriginal(const LLColor4& color)
void LLColorSwatchCtrl::set(const LLColor4& color, BOOL update_picker, BOOL from_event)
{
mColor = color;
- LLFloaterColorPicker* pickerp = (LLFloaterColorPicker*)LLFloater::getFloaterByHandle(mPickerHandle);
+ LLFloaterColorPicker* pickerp = (LLFloaterColorPicker*)mPickerHandle.get();
if (pickerp && update_picker)
{
pickerp->setCurRgb(mColor.mV[VRED], mColor.mV[VGREEN], mColor.mV[VBLUE]);
@@ -188,7 +188,7 @@ BOOL LLColorSwatchCtrl::handleMouseUp(S32 x, S32 y, MASK mask)
// If mouseup in the widget, it's been clicked
if ( pointInView(x, y) )
{
- llassert(mEnabled);
+ llassert(getEnabled());
llassert(getVisible());
showPicker(FALSE);
@@ -206,7 +206,7 @@ void LLColorSwatchCtrl::draw()
{
mBorder->setKeyboardFocusHighlight(hasFocus());
// Draw border
- LLRect border( 0, mRect.getHeight(), mRect.getWidth(), BTN_HEIGHT_SMALL );
+ LLRect border( 0, getRect().getHeight(), getRect().getWidth(), BTN_HEIGHT_SMALL );
gl_rect_2d( border, mBorderColor, FALSE );
LLRect interior = border;
@@ -253,7 +253,7 @@ void LLColorSwatchCtrl::setEnabled( BOOL enabled )
if (!enabled)
{
- LLFloaterColorPicker* pickerp = (LLFloaterColorPicker*)LLFloater::getFloaterByHandle(mPickerHandle);
+ LLFloaterColorPicker* pickerp = (LLFloaterColorPicker*)mPickerHandle.get();
if (pickerp)
{
pickerp->cancelSelection();
@@ -275,7 +275,7 @@ void LLColorSwatchCtrl::onColorChanged ( void* data, EColorPickOp pick_op )
LLColorSwatchCtrl* subject = ( LLColorSwatchCtrl* )data;
if ( subject )
{
- LLFloaterColorPicker* pickerp = (LLFloaterColorPicker*)LLFloater::getFloaterByHandle(subject->mPickerHandle);
+ LLFloaterColorPicker* pickerp = (LLFloaterColorPicker*)subject->mPickerHandle.get();
if (pickerp)
{
// move color across from selector to internal widget storage
@@ -300,14 +300,14 @@ void LLColorSwatchCtrl::onColorChanged ( void* data, EColorPickOp pick_op )
subject->onCommit ();
}
}
- };
+ }
}
void LLColorSwatchCtrl::setValid(BOOL valid )
{
mValid = valid;
- LLFloaterColorPicker* pickerp = (LLFloaterColorPicker*)LLFloater::getFloaterByHandle(mPickerHandle);
+ LLFloaterColorPicker* pickerp = (LLFloaterColorPicker*)mPickerHandle.get();
if (pickerp)
{
pickerp->setActive(valid);
@@ -316,7 +316,7 @@ void LLColorSwatchCtrl::setValid(BOOL valid )
void LLColorSwatchCtrl::showPicker(BOOL take_focus)
{
- LLFloaterColorPicker* pickerp = (LLFloaterColorPicker*)LLFloater::getFloaterByHandle(mPickerHandle);
+ LLFloaterColorPicker* pickerp = (LLFloaterColorPicker*)mPickerHandle.get();
if (!pickerp)
{
pickerp = new LLFloaterColorPicker(this, mCanApplyImmediately);
@@ -324,7 +324,7 @@ void LLColorSwatchCtrl::showPicker(BOOL take_focus)
mPickerHandle = pickerp->getHandle();
}
- // initialize picker singleton with current color
+ // initialize picker with current color
pickerp->initUI ( mColor.mV [ VRED ], mColor.mV [ VGREEN ], mColor.mV [ VBLUE ] );
// display it
diff --git a/indra/newview/llcolorswatch.h b/indra/newview/llcolorswatch.h
index 05b2dc434c..cc9b9ad017 100644
--- a/indra/newview/llcolorswatch.h
+++ b/indra/newview/llcolorswatch.h
@@ -98,7 +98,7 @@ protected:
LLColor4 mColor;
LLColor4 mBorderColor;
LLTextBox* mCaption;
- LLViewHandle mPickerHandle;
+ LLHandle<LLFloater> mPickerHandle;
LLViewBorder* mBorder;
BOOL mCanApplyImmediately;
LLUICtrlCallback mOnCancelCallback;
diff --git a/indra/newview/llfasttimerview.cpp b/indra/newview/llfasttimerview.cpp
index ee9177c18d..654c33bb93 100644
--- a/indra/newview/llfasttimerview.cpp
+++ b/indra/newview/llfasttimerview.cpp
@@ -286,7 +286,7 @@ BOOL LLFastTimerView::handleRightMouseDown(S32 x, S32 y, MASK mask)
S32 LLFastTimerView::getLegendIndex(S32 y)
{
- S32 idx = (mRect.getHeight() - y) / ((S32) LLFontGL::sMonospace->getLineHeight()+2) - 5;
+ S32 idx = (getRect().getHeight() - y) / ((S32) LLFontGL::sMonospace->getLineHeight()+2) - 5;
if (idx >= 0 && idx < FTV_DISPLAY_NUM)
{
return ft_display_idx[idx];
@@ -415,7 +415,8 @@ void LLFastTimerView::draw()
S32 height = (S32) (gViewerWindow->getVirtualWindowRect().getHeight()*0.75f);
S32 width = (S32) (gViewerWindow->getVirtualWindowRect().getWidth() * 0.75f);
- mRect.setLeftTopAndSize(mRect.mLeft, mRect.mTop, width, height);
+ // HACK: casting away const. Should use setRect or some helper function instead.
+ const_cast<LLRect&>(getRect()).setLeftTopAndSize(getRect().mLeft, getRect().mTop, width, height);
S32 left, top, right, bottom;
S32 x, y, barw, barh, dx, dy;
@@ -461,7 +462,7 @@ void LLFastTimerView::draw()
// Draw the window background
{
LLGLSNoTexture gls_ui_no_texture;
- gl_rect_2d(0, mRect.getHeight(), mRect.getWidth(), 0, LLColor4(0.f, 0.f, 0.f, 0.25f));
+ gl_rect_2d(0, getRect().getHeight(), getRect().getWidth(), 0, LLColor4(0.f, 0.f, 0.f, 0.25f));
}
S32 xleft = margin;
@@ -642,7 +643,7 @@ void LLFastTimerView::draw()
// update rectangle that includes timer bars
mBarRect.mLeft = xleft;
- mBarRect.mRight = mRect.mRight - xleft;
+ mBarRect.mRight = getRect().mRight - xleft;
mBarRect.mTop = ytop - ((S32)LLFontGL::sMonospace->getLineHeight() + 4);
mBarRect.mBottom = margin + LINE_GRAPH_HEIGHT;
@@ -760,29 +761,29 @@ void LLFastTimerView::draw()
y -= ((S32)LLFontGL::sMonospace->getLineHeight() + 4);
//heading
- gl_rect_2d(xleft-5, by, mRect.getWidth()-5, y+5, FALSE);
+ gl_rect_2d(xleft-5, by, getRect().getWidth()-5, y+5, FALSE);
//tree view
gl_rect_2d(5, by, xleft-10, 5, FALSE);
by = y + 5;
//average bar
- gl_rect_2d(xleft-5, by, mRect.getWidth()-5, by-barh-dy-5, FALSE);
+ gl_rect_2d(xleft-5, by, getRect().getWidth()-5, by-barh-dy-5, FALSE);
by -= barh*2+dy;
//current frame bar
- gl_rect_2d(xleft-5, by, mRect.getWidth()-5, by-barh-dy-2, FALSE);
+ gl_rect_2d(xleft-5, by, getRect().getWidth()-5, by-barh-dy-2, FALSE);
by -= barh+dy+1;
//history bars
- gl_rect_2d(xleft-5, by, mRect.getWidth()-5, LINE_GRAPH_HEIGHT-barh-dy-2, FALSE);
+ gl_rect_2d(xleft-5, by, getRect().getWidth()-5, LINE_GRAPH_HEIGHT-barh-dy-2, FALSE);
by = LINE_GRAPH_HEIGHT-barh-dy-7;
//line graph
- graph_rect = LLRect(xleft-5, by, mRect.getWidth()-5, 5);
+ graph_rect = LLRect(xleft-5, by, getRect().getWidth()-5, 5);
gl_rect_2d(graph_rect, FALSE);
}
diff --git a/indra/newview/llfilepicker.cpp b/indra/newview/llfilepicker.cpp
index c73b3315cc..5fd0c4ca06 100644
--- a/indra/newview/llfilepicker.cpp
+++ b/indra/newview/llfilepicker.cpp
@@ -216,6 +216,8 @@ BOOL LLFilePicker::getMultipleOpenFiles(ELoadFilter filter)
mCurrentFile = mFiles;
LLString tstr = utf16str_to_utf8str(llutf16string(mFilesW));
memcpy(mFiles, tstr.c_str(), tstr.size()+1); /*Flawfinder: ignore*/
+
+ mCurrentFile = &mFiles[mOFN.nFileOffset];
}
else
{
diff --git a/indra/newview/llfloaterabout.cpp b/indra/newview/llfloaterabout.cpp
index 7da2ac79b1..4edf6f3652 100644
--- a/indra/newview/llfloaterabout.cpp
+++ b/indra/newview/llfloaterabout.cpp
@@ -93,7 +93,7 @@ LLFloaterAbout::LLFloaterAbout()
if (region)
{
const LLVector3d &pos = gAgent.getPositionGlobal();
- LLUIString pos_text = childGetText("you_are_at");
+ LLUIString pos_text = getUIString("you_are_at");
pos_text.setArg("[POSITION]",
llformat("%.1f, %.1f, %.1f ", pos.mdV[VX], pos.mdV[VY], pos.mdV[VZ]));
support.append(pos_text);
@@ -177,7 +177,7 @@ LLFloaterAbout::LLFloaterAbout()
// Fix views
childDisable("credits_editor");
- LLTextEditor * support_widget = (LLTextEditor *) getChildByName("support_editor", true);
+ LLTextEditor * support_widget = getChild<LLTextEditor>("support_editor", true);
if (support_widget)
{
support_widget->setEnabled( FALSE );
diff --git a/indra/newview/llfloateranimpreview.cpp b/indra/newview/llfloateranimpreview.cpp
index 18c3983b9a..2eddb45f23 100644
--- a/indra/newview/llfloateranimpreview.cpp
+++ b/indra/newview/llfloateranimpreview.cpp
@@ -280,7 +280,7 @@ BOOL LLFloaterAnimPreview::postBuild()
childSetValue("hand_pose_combo", LLHandMotion::getHandPoseName(motionp->getHandPose()));
childSetValue("ease_in_time", LLSD(motionp->getEaseInDuration()));
childSetValue("ease_out_time", LLSD(motionp->getEaseOutDuration()));
- mEnabled = TRUE;
+ setEnabled(TRUE);
char seconds_string[128]; /*Flawfinder: ignore*/
snprintf(seconds_string, sizeof(seconds_string), " - %.2f seconds", motionp->getDuration()); /* Flawfinder: ignore */
@@ -291,8 +291,8 @@ BOOL LLFloaterAnimPreview::postBuild()
delete mAnimPreview;
mAnimPreview = NULL;
mMotionID.setNull();
- childSetValue("bad_animation_text", childGetText("failed_to_initialize"));
- mEnabled = FALSE;
+ childSetValue("bad_animation_text", getString("failed_to_initialize"));
+ setEnabled(FALSE);
}
}
else
@@ -301,20 +301,20 @@ BOOL LLFloaterAnimPreview::postBuild()
{
if (loaderp->getDuration() > MAX_ANIM_DURATION)
{
- LLUIString out_str = childGetText("anim_too_long");
+ LLUIString out_str = getString("anim_too_long");
out_str.setArg("[LENGTH]", llformat("%.1f", loaderp->getDuration()));
out_str.setArg("[MAX_LENGTH]", llformat("%.1f", MAX_ANIM_DURATION));
childSetValue("bad_animation_text", out_str.getString());
}
else
{
- LLUIString out_str = childGetText("failed_file_read");
+ LLUIString out_str = getString("failed_file_read");
out_str.setArg("[STATUS]", loaderp->getStatus()); // *TODO:Translate
childSetValue("bad_animation_text", out_str.getString());
}
}
- mEnabled = FALSE;
+ setEnabled(FALSE);
mMotionID.setNull();
mAnimPreview = NULL;
}
@@ -334,7 +334,7 @@ LLFloaterAnimPreview::~LLFloaterAnimPreview()
delete mAnimPreview;
mAnimPreview = NULL;
- mEnabled = FALSE;
+ setEnabled(FALSE);
}
//-----------------------------------------------------------------------------
@@ -507,7 +507,7 @@ void LLFloaterAnimPreview::onMouseCaptureLost()
void LLFloaterAnimPreview::onBtnPlay(void* user_data)
{
LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)user_data;
- if (!previewp->mEnabled) return;
+ if (!previewp->getEnabled()) return;
if (previewp->mMotionID.notNull() && previewp->mAnimPreview)
{
@@ -538,7 +538,7 @@ void LLFloaterAnimPreview::onBtnPlay(void* user_data)
void LLFloaterAnimPreview::onBtnStop(void* user_data)
{
LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)user_data;
- if (!previewp->mEnabled) return;
+ if (!previewp->getEnabled()) return;
if (previewp->mMotionID.notNull() && previewp->mAnimPreview)
{
@@ -563,7 +563,7 @@ void LLFloaterAnimPreview::onBtnStop(void* user_data)
void LLFloaterAnimPreview::onSliderMove(LLUICtrl* ctrl, void*user_data)
{
LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)user_data;
- if (!previewp->mEnabled) return;
+ if (!previewp->getEnabled()) return;
if (previewp->mAnimPreview)
{
@@ -609,7 +609,7 @@ void LLFloaterAnimPreview::onCommitBaseAnim(LLUICtrl* ctrl, void* data)
{
LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data;
- if (!previewp->mEnabled) return;
+ if (!previewp->getEnabled()) return;
if (previewp->mAnimPreview)
{
@@ -639,7 +639,7 @@ void LLFloaterAnimPreview::onCommitLoop(LLUICtrl* ctrl, void* data)
{
LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data;
- if (!previewp->mEnabled) return;
+ if (!previewp->getEnabled()) return;
LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar();
LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(previewp->mMotionID);
@@ -657,7 +657,7 @@ void LLFloaterAnimPreview::onCommitLoop(LLUICtrl* ctrl, void* data)
void LLFloaterAnimPreview::onCommitLoopIn(LLUICtrl* ctrl, void* data)
{
LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data;
- if (!previewp->mEnabled) return;
+ if (!previewp->getEnabled()) return;
LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar();
LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(previewp->mMotionID);
@@ -677,7 +677,7 @@ void LLFloaterAnimPreview::onCommitLoopIn(LLUICtrl* ctrl, void* data)
void LLFloaterAnimPreview::onCommitLoopOut(LLUICtrl* ctrl, void* data)
{
LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data;
- if (!previewp->mEnabled) return;
+ if (!previewp->getEnabled()) return;
LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar();
LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(previewp->mMotionID);
@@ -697,7 +697,7 @@ void LLFloaterAnimPreview::onCommitLoopOut(LLUICtrl* ctrl, void* data)
void LLFloaterAnimPreview::onCommitName(LLUICtrl* ctrl, void* data)
{
LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data;
- if (!previewp->mEnabled) return;
+ if (!previewp->getEnabled()) return;
LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar();
LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(previewp->mMotionID);
@@ -716,7 +716,7 @@ void LLFloaterAnimPreview::onCommitName(LLUICtrl* ctrl, void* data)
void LLFloaterAnimPreview::onCommitHandPose(LLUICtrl* ctrl, void* data)
{
LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data;
- if (!previewp->mEnabled) return;
+ if (!previewp->getEnabled()) return;
LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar();
LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(previewp->mMotionID);
@@ -731,7 +731,7 @@ void LLFloaterAnimPreview::onCommitHandPose(LLUICtrl* ctrl, void* data)
void LLFloaterAnimPreview::onCommitEmote(LLUICtrl* ctrl, void* data)
{
LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data;
- if (!previewp->mEnabled) return;
+ if (!previewp->getEnabled()) return;
LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar();
LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(previewp->mMotionID);
@@ -746,7 +746,7 @@ void LLFloaterAnimPreview::onCommitEmote(LLUICtrl* ctrl, void* data)
void LLFloaterAnimPreview::onCommitPriority(LLUICtrl* ctrl, void* data)
{
LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data;
- if (!previewp->mEnabled) return;
+ if (!previewp->getEnabled()) return;
LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar();
LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(previewp->mMotionID);
@@ -760,7 +760,7 @@ void LLFloaterAnimPreview::onCommitPriority(LLUICtrl* ctrl, void* data)
void LLFloaterAnimPreview::onCommitEaseIn(LLUICtrl* ctrl, void* data)
{
LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data;
- if (!previewp->mEnabled) return;
+ if (!previewp->getEnabled()) return;
LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar();
LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(previewp->mMotionID);
@@ -775,7 +775,7 @@ void LLFloaterAnimPreview::onCommitEaseIn(LLUICtrl* ctrl, void* data)
void LLFloaterAnimPreview::onCommitEaseOut(LLUICtrl* ctrl, void* data)
{
LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data;
- if (!previewp->mEnabled) return;
+ if (!previewp->getEnabled()) return;
LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar();
LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(previewp->mMotionID);
@@ -791,7 +791,7 @@ BOOL LLFloaterAnimPreview::validateEaseIn(LLUICtrl* spin, void* data)
{
LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data;
- if (!previewp->mEnabled) return FALSE;
+ if (!previewp->getEnabled()) return FALSE;
LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar();
LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(previewp->mMotionID);
@@ -812,7 +812,7 @@ BOOL LLFloaterAnimPreview::validateEaseOut(LLUICtrl* spin, void* data)
{
LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data;
- if (!previewp->mEnabled) return FALSE;
+ if (!previewp->getEnabled()) return FALSE;
LLVOAvatar* avatarp = previewp->mAnimPreview->getDummyAvatar();
LLKeyframeMotion* motionp = (LLKeyframeMotion*)avatarp->findMotion(previewp->mMotionID);
@@ -833,7 +833,7 @@ BOOL LLFloaterAnimPreview::validateLoopIn(LLUICtrl* ctrl, void* data)
{
LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data;
- if (!previewp->mEnabled) return FALSE;
+ if (!previewp->getEnabled()) return FALSE;
F32 loop_in_value = (F32)previewp->childGetValue("loop_in_point").asReal();
F32 loop_out_value = (F32)previewp->childGetValue("loop_out_point").asReal();
@@ -862,7 +862,7 @@ BOOL LLFloaterAnimPreview::validateLoopOut(LLUICtrl* spin, void* data)
{
LLFloaterAnimPreview* previewp = (LLFloaterAnimPreview*)data;
- if (!previewp->mEnabled) return FALSE;
+ if (!previewp->getEnabled()) return FALSE;
F32 loop_out_value = (F32)previewp->childGetValue("loop_out_point").asReal();
F32 loop_in_value = (F32)previewp->childGetValue("loop_in_point").asReal();
@@ -947,7 +947,7 @@ void LLFloaterAnimPreview::refresh()
void LLFloaterAnimPreview::onBtnOK(void* userdata)
{
LLFloaterAnimPreview* floaterp = (LLFloaterAnimPreview*)userdata;
- if (!floaterp->mEnabled) return;
+ if (!floaterp->getEnabled()) return;
if (floaterp->mAnimPreview)
{
@@ -1153,3 +1153,4 @@ void LLPreviewAnimation::pan(F32 right, F32 up)
}
+
diff --git a/indra/newview/llfloaterauction.cpp b/indra/newview/llfloaterauction.cpp
index e044ead818..094cbb6c33 100644
--- a/indra/newview/llfloaterauction.cpp
+++ b/indra/newview/llfloaterauction.cpp
@@ -123,7 +123,7 @@ void LLFloaterAuction::initialize()
mParcelHost.invalidate();
if(parcelp && parcelp->getForSale())
{
- childSetText("parcel_text", childGetText("already for sale"));
+ childSetText("parcel_text", getString("already for sale"));
}
else
{
diff --git a/indra/newview/llfloaterauction.h b/indra/newview/llfloaterauction.h
index 135c9fa26b..10e08c14b1 100644
--- a/indra/newview/llfloaterauction.h
+++ b/indra/newview/llfloaterauction.h
@@ -69,7 +69,7 @@ private:
LLTransactionID mTransactionID;
LLAssetID mImageID;
LLPointer<LLImageGL> mImage;
- LLHandle<LLParcelSelection> mParcelp;
+ LLSafeHandle<LLParcelSelection> mParcelp;
S32 mParcelID;
LLHost mParcelHost;
};
diff --git a/indra/newview/llfloateravatarpicker.cpp b/indra/newview/llfloateravatarpicker.cpp
index 2cfcc47af3..a44b3b3755 100644
--- a/indra/newview/llfloateravatarpicker.cpp
+++ b/indra/newview/llfloateravatarpicker.cpp
@@ -347,8 +347,9 @@ void LLFloaterAvatarPicker::processAvatarPickerReply(LLMessageSystem* msg, void*
LLString avatar_name;
if (avatar_id.isNull())
{
- self->childSetTextArg("NotFound", "[TEXT]", self->childGetText("Edit"));
- avatar_name = self->childGetValue("NotFound").asString();
+ LLString::format_map_t map;
+ map["[TEXT]"] = self->childGetText("Edit");
+ avatar_name = self->getString("NotFound", map);
self->mListNames->setEnabled(FALSE);
}
else
diff --git a/indra/newview/llfloateravatartextures.cpp b/indra/newview/llfloateravatartextures.cpp
index 64dc96807c..f05f9a7b52 100644
--- a/indra/newview/llfloateravatartextures.cpp
+++ b/indra/newview/llfloateravatartextures.cpp
@@ -67,26 +67,26 @@ LLFloaterAvatarTextures* LLFloaterAvatarTextures::show(const LLUUID &id)
BOOL LLFloaterAvatarTextures::postBuild()
{
- mBakedHead = (LLTextureCtrl*)getChildByName("baked_head");
- mBakedEyes = (LLTextureCtrl*)getChildByName("baked_eyes");
- mBakedUpper = (LLTextureCtrl*)getChildByName("baked_upper_body");
- mBakedLower = (LLTextureCtrl*)getChildByName("baked_lower_body");
- mBakedSkirt = (LLTextureCtrl*)getChildByName("baked_skirt");
- mHair = (LLTextureCtrl*)getChildByName("hair");
- mMakeup = (LLTextureCtrl*)getChildByName("head_bodypaint");
- mEye = (LLTextureCtrl*)getChildByName("eye_texture");
- mShirt = (LLTextureCtrl*)getChildByName("shirt");
- mUpperTattoo = (LLTextureCtrl*)getChildByName("upper_bodypaint");
- mUpperJacket = (LLTextureCtrl*)getChildByName("upper_jacket");
- mGloves = (LLTextureCtrl*)getChildByName("gloves");
- mUndershirt = (LLTextureCtrl*)getChildByName("undershirt");
- mPants = (LLTextureCtrl*)getChildByName("pants");
- mLowerTattoo = (LLTextureCtrl*)getChildByName("lower_bodypaint");
- mShoes = (LLTextureCtrl*)getChildByName("shoes");
- mSocks = (LLTextureCtrl*)getChildByName("socks");
- mJacket = (LLTextureCtrl*)getChildByName("jacket");
- mUnderpants = (LLTextureCtrl*)getChildByName("underpants");
- mSkirt = (LLTextureCtrl*)getChildByName("skirt_texture");
+ mBakedHead = getChild<LLTextureCtrl>("baked_head");
+ mBakedEyes = getChild<LLTextureCtrl>("baked_eyes");
+ mBakedUpper = getChild<LLTextureCtrl>("baked_upper_body");
+ mBakedLower = getChild<LLTextureCtrl>("baked_lower_body");
+ mBakedSkirt = getChild<LLTextureCtrl>("baked_skirt");
+ mHair = getChild<LLTextureCtrl>("hair");
+ mMakeup = getChild<LLTextureCtrl>("head_bodypaint");
+ mEye = getChild<LLTextureCtrl>("eye_texture");
+ mShirt = getChild<LLTextureCtrl>("shirt");
+ mUpperTattoo = getChild<LLTextureCtrl>("upper_bodypaint");
+ mUpperJacket = getChild<LLTextureCtrl>("upper_jacket");
+ mGloves = getChild<LLTextureCtrl>("gloves");
+ mUndershirt = getChild<LLTextureCtrl>("undershirt");
+ mPants = getChild<LLTextureCtrl>("pants");
+ mLowerTattoo = getChild<LLTextureCtrl>("lower_bodypaint");
+ mShoes = getChild<LLTextureCtrl>("shoes");
+ mSocks = getChild<LLTextureCtrl>("socks");
+ mJacket = getChild<LLTextureCtrl>("jacket");
+ mUnderpants = getChild<LLTextureCtrl>("underpants");
+ mSkirt = getChild<LLTextureCtrl>("skirt_texture");
mTitle = getTitle();
childSetAction("Dump", onClickDump, this);
@@ -142,16 +142,10 @@ void LLFloaterAvatarTextures::refresh()
LLVOAvatar *avatarp = find_avatar(mID);
if (avatarp)
{
- char firstname[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char lastname[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- if (gCacheName->getName(avatarp->getID(), firstname, lastname))
+ std::string fullname;
+ if (gCacheName->getFullName(avatarp->getID(), fullname))
{
- LLString name;
- name.assign( firstname );
- name.append( " " );
- name.append( lastname );
-
- setTitle(mTitle + ": " + name);
+ setTitle(mTitle + ": " + fullname);
}
update_texture_ctrl(avatarp, mBakedHead, LLVOAvatar::TEX_HEAD_BAKED);
update_texture_ctrl(avatarp, mBakedEyes, LLVOAvatar::TEX_EYES_BAKED);
diff --git a/indra/newview/llfloaterbump.cpp b/indra/newview/llfloaterbump.cpp
index abae92a854..3f6ed92868 100644
--- a/indra/newview/llfloaterbump.cpp
+++ b/indra/newview/llfloaterbump.cpp
@@ -85,7 +85,7 @@ void LLFloaterBump::show(void *contents)
if (gMeanCollisionList.isEmpty())
{
- LLString none_detected = sInstance->childGetText("none_detected");
+ LLString none_detected = sInstance->getString("none_detected");
LLSD row;
row["columns"][0]["value"] = none_detected;
row["columns"][0]["font"] = "SansSerifBold";
@@ -151,7 +151,7 @@ void LLFloaterBump::add(LLScrollListCtrl* list, LLMeanCollisionData* mcd)
}
// All above action strings are in XML file
- LLUIString text = sInstance->childGetText(action);
+ LLUIString text = sInstance->getUIString(action);
text.setArg("[TIME]", time);
text.setArg("[FIRST]", mcd->mFirstName);
text.setArg("[LAST]", mcd->mLastName);
diff --git a/indra/newview/llfloaterbuy.cpp b/indra/newview/llfloaterbuy.cpp
index 707ec0e852..5ce5d8616b 100644
--- a/indra/newview/llfloaterbuy.cpp
+++ b/indra/newview/llfloaterbuy.cpp
@@ -121,11 +121,11 @@ void LLFloaterBuy::show(const LLSaleInfo& sale_info)
switch (sale_info.getSaleType())
{
case LLSaleInfo::FS_ORIGINAL:
- title = sInstance->childGetText("title_buy_text");
+ title = sInstance->getString("title_buy_text");
break;
case LLSaleInfo::FS_COPY:
default:
- title = sInstance->childGetText("title_buy_copy_text");
+ title = sInstance->getString("title_buy_copy_text");
break;
}
title.setArg("[NAME]", node->mName);
@@ -165,15 +165,15 @@ void LLFloaterBuy::show(const LLSaleInfo& sale_info)
LLString text = node->mName;
if (!(next_owner_mask & PERM_COPY))
{
- text.append(sInstance->childGetText("no_copy_text"));
+ text.append(sInstance->getString("no_copy_text"));
}
if (!(next_owner_mask & PERM_MODIFY))
{
- text.append(sInstance->childGetText("no_modify_text"));
+ text.append(sInstance->getString("no_modify_text"));
}
if (!(next_owner_mask & PERM_TRANSFER))
{
- text.append(sInstance->childGetText("no_transfer_text"));
+ text.append(sInstance->getString("no_transfer_text"));
}
row["columns"][1]["column"] = "text";
diff --git a/indra/newview/llfloaterbuy.h b/indra/newview/llfloaterbuy.h
index cdf79da954..7f18a894e7 100644
--- a/indra/newview/llfloaterbuy.h
+++ b/indra/newview/llfloaterbuy.h
@@ -71,7 +71,7 @@ protected:
private:
static LLFloaterBuy* sInstance;
- LLHandle<LLObjectSelection> mObjectSelection;
+ LLSafeHandle<LLObjectSelection> mObjectSelection;
LLSaleInfo mSaleInfo;
};
diff --git a/indra/newview/llfloaterbuycontents.cpp b/indra/newview/llfloaterbuycontents.cpp
index 38266797cf..b133a1e88b 100644
--- a/indra/newview/llfloaterbuycontents.cpp
+++ b/indra/newview/llfloaterbuycontents.cpp
@@ -124,9 +124,7 @@ void LLFloaterBuyContents::show(const LLSaleInfo& sale_info)
if (!node) return;
if(node->mPermissions->isGroupOwned())
{
- char group_name[MAX_STRING]; /*Flawfinder: ignore*/
- gCacheName->getGroupName(owner_id, group_name);
- owner_name.assign(group_name);
+ gCacheName->getGroupName(owner_id, owner_name);
}
sInstance->childSetTextArg("contains_text", "[NAME]", node->mName);
@@ -240,15 +238,15 @@ void LLFloaterBuyContents::inventoryChanged(LLViewerObject* obj,
if (!(next_owner_mask & PERM_COPY))
{
- text.append(childGetText("no_copy_text"));
+ text.append(getString("no_copy_text"));
}
if (!(next_owner_mask & PERM_MODIFY))
{
- text.append(childGetText("no_modify_text"));
+ text.append(getString("no_modify_text"));
}
if (!(next_owner_mask & PERM_TRANSFER))
{
- text.append(childGetText("no_transfer_text"));
+ text.append(getString("no_transfer_text"));
}
row["columns"][1]["column"] = "text";
diff --git a/indra/newview/llfloaterbuycontents.h b/indra/newview/llfloaterbuycontents.h
index 8231174579..6b08bb4ad7 100644
--- a/indra/newview/llfloaterbuycontents.h
+++ b/indra/newview/llfloaterbuycontents.h
@@ -67,7 +67,7 @@ protected:
protected:
static LLFloaterBuyContents* sInstance;
- LLHandle<LLObjectSelection> mObjectSelection;
+ LLSafeHandle<LLObjectSelection> mObjectSelection;
LLSaleInfo mSaleInfo;
};
diff --git a/indra/newview/llfloaterbuycurrency.cpp b/indra/newview/llfloaterbuycurrency.cpp
index 4b5bb3548b..8866ad7ed1 100644
--- a/indra/newview/llfloaterbuycurrency.cpp
+++ b/indra/newview/llfloaterbuycurrency.cpp
@@ -316,7 +316,7 @@ void LLFloaterBuyCurrencyUI::onClickBuy(void* data)
LLFloaterBuyCurrencyUI* self = LLFloaterBuyCurrencyUI::soleInstance(false);
if (self)
{
- self->mManager.buy(self->childGetText("buy_currency"));
+ self->mManager.buy(self->getString("buy_currency"));
self->updateUI();
// JC: updateUI() doesn't get called again until progress is made
// with transaction processing, so the "Purchase" button would be
diff --git a/indra/newview/llfloaterbuyland.cpp b/indra/newview/llfloaterbuyland.cpp
index 12722b6d95..52736c8c60 100644
--- a/indra/newview/llfloaterbuyland.cpp
+++ b/indra/newview/llfloaterbuyland.cpp
@@ -390,13 +390,13 @@ void LLFloaterBuyLandUI::updateParcelInfo()
if (!mParcelValid)
{
- mCannotBuyReason= childGetText("no_land_selected");
+ mCannotBuyReason = getString("no_land_selected");
return;
}
if (mParcel->getMultipleOwners())
{
- mCannotBuyReason = childGetText("multiple_parcels_selected");
+ mCannotBuyReason = getString("multiple_parcels_selected");
return;
}
@@ -454,13 +454,13 @@ void LLFloaterBuyLandUI::updateParcelInfo()
bool haveEnoughCash = mParcelPrice <= mAgentCashBalance;
S32 cashBuy = haveEnoughCash ? 0 : (mParcelPrice - mAgentCashBalance);
mCurrency.setAmount(cashBuy, true);
- mCurrency.setZeroMessage(haveEnoughCash ? childGetText("none_needed") : "");
+ mCurrency.setZeroMessage(haveEnoughCash ? getString("none_needed") : "");
// checks that we can buy the land
if(mIsForGroup && !gAgent.hasPowerInActiveGroup(GP_LAND_DEED))
{
- mCannotBuyReason = childGetText("cant_buy_for_group");
+ mCannotBuyReason = getString("cant_buy_for_group");
return;
}
@@ -474,7 +474,7 @@ void LLFloaterBuyLandUI::updateParcelInfo()
|| (mParcelPrice == 0 && authorizedBuyer.isNull()))
{
- mCannotBuyReason = childGetText("parcel_not_for_sale");
+ mCannotBuyReason = getString("parcel_not_for_sale");
return;
}
@@ -482,18 +482,18 @@ void LLFloaterBuyLandUI::updateParcelInfo()
{
if (mIsForGroup)
{
- mCannotBuyReason = childGetText("group_already_owns");
+ mCannotBuyReason = getString("group_already_owns");
}
else
{
- mCannotBuyReason = childGetText("you_already_own");
+ mCannotBuyReason = getString("you_already_own");
}
return;
}
if (!authorizedBuyer.isNull() && buyer != authorizedBuyer)
{
- mCannotBuyReason = childGetText("set_to_sell_to_other");
+ mCannotBuyReason = getString("set_to_sell_to_other");
return;
}
}
@@ -501,14 +501,14 @@ void LLFloaterBuyLandUI::updateParcelInfo()
{
if (mParcelActualArea == 0)
{
- mCannotBuyReason = childGetText("no_public_land");
+ mCannotBuyReason = getString("no_public_land");
return;
}
if (mParcel->hasOthersSelected())
{
// Policy: Must not have someone else's land selected
- mCannotBuyReason = childGetText("not_owned_by_you");
+ mCannotBuyReason = getString("not_owned_by_you");
return;
}
}
@@ -521,39 +521,39 @@ void LLFloaterBuyLandUI::updateCovenantInfo()
LLViewerRegion* region = gParcelMgr->getSelectionRegion();
if(!region) return;
- LLTextBox* region_name = (LLTextBox*)getChildByName("region_name_text");
+ LLTextBox* region_name = getChild<LLTextBox>("region_name_text");
if (region_name)
{
region_name->setText(region->getName());
}
- LLTextBox* resellable_clause = (LLTextBox*)getChildByName("resellable_clause");
+ LLTextBox* resellable_clause = getChild<LLTextBox>("resellable_clause");
if (resellable_clause)
{
if (region->getRegionFlags() & REGION_FLAGS_BLOCK_LAND_RESELL)
{
- resellable_clause->setText(childGetText("can_not_resell"));
+ resellable_clause->setText(getString("can_not_resell"));
}
else
{
- resellable_clause->setText(childGetText("can_resell"));
+ resellable_clause->setText(getString("can_resell"));
}
}
- LLTextBox* changeable_clause = (LLTextBox*)getChildByName("changeable_clause");
+ LLTextBox* changeable_clause = getChild<LLTextBox>("changeable_clause");
if (changeable_clause)
{
if (region->getRegionFlags() & REGION_FLAGS_ALLOW_PARCEL_CHANGES)
{
- changeable_clause->setText(childGetText("can_change"));
+ changeable_clause->setText(getString("can_change"));
}
else
{
- changeable_clause->setText(childGetText("can_not_change"));
+ changeable_clause->setText(getString("can_not_change"));
}
}
- LLCheckBoxCtrl* check = (LLCheckBoxCtrl*)getChildByName("agree_covenant");
+ LLCheckBoxCtrl* check = getChild<LLCheckBoxCtrl>("agree_covenant");
if(check)
{
check->set(false);
@@ -562,7 +562,7 @@ void LLFloaterBuyLandUI::updateCovenantInfo()
check->setCommitCallback(onChangeAgreeCovenant);
}
- LLTextBox* box = (LLTextBox*)getChildByName("covenant_text");
+ LLTextBox* box = getChild<LLTextBox>("covenant_text");
if(box)
{
box->setVisible(FALSE);
@@ -589,14 +589,14 @@ void LLFloaterBuyLandUI::onChangeAgreeCovenant(LLUICtrl* ctrl, void* user_data)
void LLFloaterBuyLandUI::updateCovenantText(const std::string &string, const LLUUID& asset_id)
{
- LLViewerTextEditor* editor = (LLViewerTextEditor*)getChildByName("covenant_editor");
+ LLViewerTextEditor* editor = getChild<LLViewerTextEditor>("covenant_editor");
if (editor)
{
editor->setHandleEditKeysDirectly(FALSE);
editor->setText(string);
- LLCheckBoxCtrl* check = (LLCheckBoxCtrl*)getChildByName("agree_covenant");
- LLTextBox* box = (LLTextBox*)getChildByName("covenant_text");
+ LLCheckBoxCtrl* check = getChild<LLCheckBoxCtrl>("agree_covenant");
+ LLTextBox* box = getChild<LLTextBox>("covenant_text");
if(check && box)
{
if (asset_id.isNull())
@@ -621,19 +621,19 @@ void LLFloaterBuyLandUI::updateCovenantText(const std::string &string, const LLU
void LLFloaterBuyLandUI::updateEstateName(const std::string& name)
{
- LLTextBox* box = (LLTextBox*)getChildByName("estate_name_text");
+ LLTextBox* box = getChild<LLTextBox>("estate_name_text");
if (box) box->setText(name);
}
void LLFloaterBuyLandUI::updateLastModified(const std::string& text)
{
- LLTextBox* editor = (LLTextBox*)getChildByName("covenant_timestamp_text");
+ LLTextBox* editor = getChild<LLTextBox>("covenant_timestamp_text");
if (editor) editor->setText(text);
}
void LLFloaterBuyLandUI::updateEstateOwnerName(const std::string& name)
{
- LLTextBox* box = (LLTextBox*)getChildByName("estate_owner_text");
+ LLTextBox* box = getChild<LLTextBox>("estate_owner_text");
if (box) box->setText(name);
}
@@ -819,18 +819,11 @@ void LLFloaterBuyLandUI::updateNames()
}
else if (parcelp->getIsGroupOwned())
{
- char groupName[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
-
- gCacheName->getGroupName(parcelp->getGroupID(), &groupName[0]);
- mParcelSellerName = groupName;
+ gCacheName->getGroupName(parcelp->getGroupID(), mParcelSellerName);
}
else
{
- char firstName[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char lastName[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
-
- gCacheName->getName(parcelp->getOwnerID(), firstName, lastName);
- mParcelSellerName = llformat("%s %s", firstName, lastName);
+ gCacheName->getFullName(parcelp->getOwnerID(), mParcelSellerName);
}
}
@@ -908,7 +901,7 @@ void LLFloaterBuyLandUI::tellUserError(
{
mCanBuy = false;
mCannotBuyIsError = true;
- mCannotBuyReason = childGetText("fetching_error");
+ mCannotBuyReason = getString("fetching_error");
mCannotBuyReason += message;
mCannotBuyURI = uri;
}
@@ -998,17 +991,15 @@ void LLFloaterBuyLandUI::refreshUI()
mParcelValid ? mParcelSnapshot : LLUUID::null);
}
-
-
if (mParcelValid)
{
childSetText("info_parcel", mParcelLocation);
-
- childSetTextArg("meters_supports_object", "[AMOUNT]", llformat("%d", mParcelActualArea));
- childSetTextArg("meters_supports_object", "[AMOUNT2]", llformat("%d", mParcelSupportedObjects));
-
- childSetText("info_size", childGetText("meters_supports_object"));
+ LLString::format_map_t string_args;
+ string_args["[AMOUNT]"] = llformat("%d", mParcelActualArea);
+ string_args["[AMOUNT2]"] = llformat("%d", mParcelSupportedObjects);
+
+ childSetText("info_size", getString("meters_supports_object", string_args));
childSetText("info_price",
@@ -1022,7 +1013,7 @@ void LLFloaterBuyLandUI::refreshUI()
}
else
{
- childSetText("info_parcel", childGetText("no_parcel_selected"));
+ childSetText("info_parcel", getString("no_parcel_selected"));
childSetText("info_size", LLString::null);
childSetText("info_price", LLString::null);
}
@@ -1031,12 +1022,12 @@ void LLFloaterBuyLandUI::refreshUI()
mCanBuy
?
mIsForGroup
- ? childGetText("buying_for_group")//"Buying land for group:"
- : childGetText("buying_will")//"Buying this land will:"
+ ? getString("buying_for_group")//"Buying land for group:"
+ : getString("buying_will")//"Buying this land will:"
:
mCannotBuyIsError
- ? childGetText("cannot_buy_now")//"Cannot buy now:"
- : childGetText("not_for_sale")//"Not for sale:"
+ ? getString("cannot_buy_now")//"Cannot buy now:"
+ : getString("not_for_sale")//"Not for sale:"
);
}
@@ -1081,8 +1072,8 @@ void LLFloaterBuyLandUI::refreshUI()
childSetText("account_action", mSiteMembershipAction);
childSetText("account_reason",
mSiteMembershipUpgrade
- ? childGetText("must_upgrade")
- : childGetText("cant_own_land")
+ ? getString("must_upgrade")
+ : getString("cant_own_land")
);
LLComboBox* levels = LLUICtrlFactory::getComboBoxByName(this, "account_level");
@@ -1127,18 +1118,17 @@ void LLFloaterBuyLandUI::refreshUI()
if (mIsForGroup)
{
- childSetTextArg("insufficient_land_credits", "[GROUP]", LLString(gAgent.mGroupName));
+ LLString::format_map_t string_args;
+ string_args["[GROUP]"] = LLString(gAgent.mGroupName);
-
- message += childGetText("insufficient_land_credits");
+ message += getString("insufficient_land_credits", string_args);
}
else
{
-
- childSetTextArg("land_holdings", "[BUYER]", llformat("%d", mAgentCommittedTier));
- message += childGetText("land_holdings");
-
+ LLString::format_map_t string_args;
+ string_args["[BUYER]"] = llformat("%d", mAgentCommittedTier);
+ message += getString("land_holdings", string_args);
}
if (!mParcelValid)
@@ -1147,21 +1137,24 @@ void LLFloaterBuyLandUI::refreshUI()
}
else if (mParcelBillableArea == mParcelActualArea)
{
- childSetTextArg("parcel_meters", "[AMOUNT]", llformat("%d", mParcelActualArea));
- message += childGetText("parcel_meters");
+ LLString::format_map_t string_args;
+ string_args["[AMOUNT]"] = llformat("%d", mParcelActualArea);
+ message += getString("parcel_meters", string_args);
}
else
{
if (mParcelBillableArea > mParcelActualArea)
{
- childSetTextArg("premium_land", "[AMOUNT]", llformat("%d", mParcelBillableArea) );
- message += childGetText("premium_land");
+ LLString::format_map_t string_args;
+ string_args["[AMOUNT]"] = llformat("%d", mParcelBillableArea);
+ message += getString("premium_land", string_args);
}
else
{
- childSetTextArg("discounted_land", "[AMOUNT]", llformat("%d", mParcelBillableArea) );
- message += childGetText("discounted_land");
+ LLString::format_map_t string_args;
+ string_args["[AMOUNT]"] = llformat("%d", mParcelBillableArea);
+ message += getString("discounted_land", string_args);
}
}
@@ -1208,35 +1201,36 @@ void LLFloaterBuyLandUI::refreshUI()
if (haveEnough)
{
-
- childSetTextArg("have_enough_lindens", "[AMOUNT]", llformat("%d", mAgentCashBalance));
- childSetText("currency_reason", childGetText("have_enough_lindens"));
+ LLString::format_map_t string_args;
+ string_args["[AMOUNT]"] = llformat("%d", mAgentCashBalance);
+
+ childSetText("currency_reason", getString("have_enough_lindens", string_args));
}
else
{
- childSetTextArg("not_enough_lindens", "[AMOUNT]", llformat("%d", mAgentCashBalance));
- childSetTextArg("not_enough_lindens", "[AMOUNT2]", llformat("%d", mParcelPrice - mAgentCashBalance));
+ LLString::format_map_t string_args;
+ string_args["[AMOUNT]"] = llformat("%d", mAgentCashBalance);
+ string_args["[AMOUNT2]"] = llformat("%d", mParcelPrice - mAgentCashBalance);
- childSetText("currency_reason", childGetText("not_enough_lindens"));
+ childSetText("currency_reason", getString("not_enough_lindens", string_args));
childSetTextArg("currency_est", "[AMOUNT2]", llformat("%#.2f", mCurrency.getEstimate() / 100.0));
-
}
if (willHaveEnough)
{
+ LLString::format_map_t string_args;
+ string_args["[AMOUNT]"] = llformat("%d", finalBalance);
- childSetTextArg("balance_left", "[AMOUNT]", llformat("%d", finalBalance));
-
- childSetText("currency_balance", childGetText("balance_left"));
+ childSetText("currency_balance", getString("balance_left", string_args));
}
else
{
+ LLString::format_map_t string_args;
+ string_args["[AMOUNT]"] = llformat("%d", mParcelPrice - mAgentCashBalance);
- childSetTextArg("balance_needed", "[AMOUNT]", llformat("%d", mParcelPrice - mAgentCashBalance));
-
- childSetText("currency_balance", childGetText("balance_needed"));
+ childSetText("currency_balance", getString("balance_needed", string_args));
}
@@ -1264,7 +1258,7 @@ void LLFloaterBuyLandUI::refreshUI()
bool agrees_to_covenant = false;
- LLCheckBoxCtrl* check = (LLCheckBoxCtrl*)getChildByName("agree_covenant");
+ LLCheckBoxCtrl* check = getChild<LLCheckBoxCtrl>("agree_covenant");
if (check)
{
agrees_to_covenant = check->get();
@@ -1298,17 +1292,17 @@ void LLFloaterBuyLandUI::startBuyPreConfirm()
}
if (mCurrency.getAmount() > 0)
{
+ LLString::format_map_t string_args;
+ string_args["[AMOUNT]"] = llformat("%d", mCurrency.getAmount());
+ string_args["[AMOUNT2]"] = llformat("%#.2f", mCurrency.getEstimate() / 100.0);
- childSetTextArg("buy_for_US", "[AMOUNT]", llformat("%d", mCurrency.getAmount()));
- childSetTextArg("buy_for_US", "[AMOUNT2]", llformat("%#.2f", mCurrency.getEstimate() / 100.0));
-
- action += childGetText("buy_for_US");
+ action += getString("buy_for_US", string_args);
}
- childSetTextArg("pay_to_for_land", "[AMOUNT]", llformat("%d", mParcelPrice));
- childSetTextArg("pay_to_for_land", "[SELLER]", mParcelSellerName);
-
- action += childGetText("pay_to_for_land");
+ LLString::format_map_t string_args;
+ string_args["[AMOUNT]"] = llformat("%d", mParcelPrice);
+ string_args["[SELLER]"] = mParcelSellerName;
+ action += getString("pay_to_for_land", string_args);
LLConfirmationManager::confirm(mSiteConfirm,
@@ -1322,7 +1316,7 @@ void LLFloaterBuyLandUI::startBuyPostConfirm(const std::string& password)
runWebSitePrep(password);
mCanBuy = false;
- mCannotBuyReason = childGetText("processing");
+ mCannotBuyReason = getString("processing");
refreshUI();
}
diff --git a/indra/newview/llfloaterbuyland.h b/indra/newview/llfloaterbuyland.h
index dd7cb393ca..19ad83bb27 100644
--- a/indra/newview/llfloaterbuyland.h
+++ b/indra/newview/llfloaterbuyland.h
@@ -40,7 +40,7 @@ class LLFloaterBuyLand
{
public:
static void buyLand(LLViewerRegion* region,
- LLHandle<LLParcelSelection> parcel,
+ LLSafeHandle<LLParcelSelection> parcel,
bool is_for_group);
static void updateCovenantText(const std::string& string, const LLUUID& asset_id);
static void updateEstateName(const std::string& name);
diff --git a/indra/newview/llfloaterchat.cpp b/indra/newview/llfloaterchat.cpp
index 82fe16172b..851d81f349 100644
--- a/indra/newview/llfloaterchat.cpp
+++ b/indra/newview/llfloaterchat.cpp
@@ -128,7 +128,7 @@ void LLFloaterChat::draw()
childSetValue("toggle_active_speakers_btn", childIsVisible("active_speakers_panel"));
- LLChatBar* chat_barp = (LLChatBar*)getChildByName("chat_panel", TRUE);
+ LLChatBar* chat_barp = getChild<LLChatBar>("chat_panel", TRUE);
if (chat_barp)
{
chat_barp->refresh();
@@ -142,7 +142,7 @@ BOOL LLFloaterChat::postBuild()
{
mPanel = (LLPanelActiveSpeakers*)LLUICtrlFactory::getPanelByName(this, "active_speakers_panel");
- LLChatBar* chat_barp = (LLChatBar*)getChildByName("chat_panel", TRUE);
+ LLChatBar* chat_barp = getChild<LLChatBar>("chat_panel", TRUE);
if (chat_barp)
{
chat_barp->setGestureCombo(LLUICtrlFactory::getComboBoxByName(this, "Gesture"));
@@ -221,8 +221,8 @@ void LLFloaterChat::addChatHistory(const LLChat& chat, bool log_to_file)
// could flash the chat button in the status bar here. JC
LLFloaterChat* chat_floater = LLFloaterChat::getInstance(LLSD());
- LLViewerTextEditor* history_editor = (LLViewerTextEditor*)chat_floater->getChildByName("Chat History Editor", TRUE);
- LLViewerTextEditor* history_editor_with_mute = (LLViewerTextEditor*)chat_floater->getChildByName("Chat History Editor with mute", TRUE);
+ LLViewerTextEditor* history_editor = chat_floater->getChild<LLViewerTextEditor>("Chat History Editor");
+ LLViewerTextEditor* history_editor_with_mute = chat_floater->getChild<LLViewerTextEditor>("Chat History Editor with mute");
history_editor->setParseHTML(TRUE);
history_editor_with_mute->setParseHTML(TRUE);
@@ -255,8 +255,8 @@ void LLFloaterChat::addChatHistory(const LLChat& chat, bool log_to_file)
// static
void LLFloaterChat::setHistoryCursorAndScrollToEnd()
{
- LLViewerTextEditor* history_editor = (LLViewerTextEditor*)LLFloaterChat::getInstance(LLSD())->getChildByName("Chat History Editor", TRUE);
- LLViewerTextEditor* history_editor_with_mute = (LLViewerTextEditor*)LLFloaterChat::getInstance(LLSD())->getChildByName("Chat History Editor with mute", TRUE);
+ LLViewerTextEditor* history_editor = LLFloaterChat::getInstance(LLSD())->getChild<LLViewerTextEditor>("Chat History Editor");
+ LLViewerTextEditor* history_editor_with_mute = LLFloaterChat::getInstance(LLSD())->getChild<LLViewerTextEditor>("Chat History Editor with mute");
if (history_editor)
{
@@ -299,8 +299,8 @@ void LLFloaterChat::onClickToggleShowMute(LLUICtrl* caller, void *data)
//LLCheckBoxCtrl*
BOOL show_mute = LLUICtrlFactory::getCheckBoxByName(floater,"show mutes")->get();
- LLViewerTextEditor* history_editor = (LLViewerTextEditor*)floater->getChildByName("Chat History Editor", TRUE);
- LLViewerTextEditor* history_editor_with_mute = (LLViewerTextEditor*)floater->getChildByName("Chat History Editor with mute", TRUE);
+ LLViewerTextEditor* history_editor = floater->getChild<LLViewerTextEditor>("Chat History Editor");
+ LLViewerTextEditor* history_editor_with_mute = floater->getChild<LLViewerTextEditor>("Chat History Editor with mute");
if (!history_editor || !history_editor_with_mute)
return;
@@ -455,26 +455,35 @@ void* LLFloaterChat::createChatPanel(void* data)
return chatp;
}
+// static
+void LLFloaterChat::onClickToggleActiveSpeakers(void* userdata)
+{
+ LLFloaterChat* self = (LLFloaterChat*)userdata;
+
+ self->childSetVisible("active_speakers_panel", !self->childIsVisible("active_speakers_panel"));
+}
+
+//static
+bool LLFloaterChat::visible(LLFloater* instance, const LLSD& key)
+{
+ return VisibilityPolicy<LLFloater>::visible(instance, key);
+}
+
//static
-void LLFloaterChat::hideInstance(const LLSD& id)
+void LLFloaterChat::show(LLFloater* instance, const LLSD& key)
{
- LLFloaterChat* floaterp = LLFloaterChat::getInstance(LLSD());
+ VisibilityPolicy<LLFloater>::show(instance, key);
+}
- if(floaterp->getHost())
+//static
+void LLFloaterChat::hide(LLFloater* instance, const LLSD& key)
+{
+ if(instance->getHost())
{
- LLFloaterChatterBox::hideInstance(LLSD());
+ LLFloaterChatterBox::hideInstance();
}
else
{
- LLUISingleton<LLFloaterChat>::hideInstance(id);
+ VisibilityPolicy<LLFloater>::hide(instance, key);
}
}
-
-// static
-void LLFloaterChat::onClickToggleActiveSpeakers(void* userdata)
-{
- LLFloaterChat* self = (LLFloaterChat*)userdata;
-
- self->childSetVisible("active_speakers_panel", !self->childIsVisible("active_speakers_panel"));
-}
-
diff --git a/indra/newview/llfloaterchat.h b/indra/newview/llfloaterchat.h
index 58fa607b38..c8ce7c0b55 100644
--- a/indra/newview/llfloaterchat.h
+++ b/indra/newview/llfloaterchat.h
@@ -50,7 +50,7 @@ class LLCheckBoxCtrl;
class LLPanelActiveSpeakers;
class LLFloaterChat
-: public LLFloater, public LLUISingleton<LLFloaterChat>
+ : public LLFloater, public LLUISingleton<LLFloaterChat, LLFloaterChat>
{
public:
LLFloaterChat(const LLSD& seed);
@@ -78,9 +78,12 @@ public:
static void loadHistory();
static void* createSpeakersPanel(void* data);
static void* createChatPanel(void* data);
- static void hideInstance(const LLSD& id);
-protected:
+ // visibility policy for LLUISingleton
+ static bool visible(LLFloater* instance, const LLSD& key);
+ static void show(LLFloater* instance, const LLSD& key);
+ static void hide(LLFloater* instance, const LLSD& key);
+
LLPanelActiveSpeakers* mPanel;
BOOL mScrolledToEnd;
};
diff --git a/indra/newview/llfloaterchatterbox.cpp b/indra/newview/llfloaterchatterbox.cpp
index 85bc8182a5..f18c31baf9 100644
--- a/indra/newview/llfloaterchatterbox.cpp
+++ b/indra/newview/llfloaterchatterbox.cpp
@@ -73,42 +73,6 @@ void LLFloaterMyFriends::onClose(bool app_quitting)
setVisible(FALSE);
}
-//static
-LLFloaterMyFriends* LLFloaterMyFriends::showInstance(const LLSD& id)
-{
- LLFloaterMyFriends* floaterp = LLUIInstanceMgr<LLFloaterMyFriends>::showInstance(id);
- // garbage values in id will be interpreted as 0, or the friends tab
- floaterp->mTabs->selectTab(id);
-
- return floaterp;
-}
-
-//static
-void LLFloaterMyFriends::hideInstance(const LLSD& id)
-{
- LLFloaterMyFriends* floaterp = LLFloaterMyFriends::getInstance();
-
- if(floaterp->getHost())
- {
- LLFloaterChatterBox::hideInstance();
- }
- else
- {
- LLUISingleton<LLFloaterMyFriends>::hideInstance(id);
- }
-}
-
-// is the specified panel currently visible
-//static
-BOOL LLFloaterMyFriends::instanceVisible(const LLSD& id)
-{
- // if singleton not created yet, trivially return false
- if (!findInstance(id)) return FALSE;
-
- LLFloaterMyFriends* floaterp = getInstance(id);
- return floaterp->isInVisibleChain() && floaterp->mTabs->getCurrentPanelIndex() == id.asInteger();
-}
-
//static
void* LLFloaterMyFriends::createFriendsPanel(void* data)
{
@@ -271,7 +235,7 @@ void LLFloaterChatterBox::removeFloater(LLFloater* floaterp)
void LLFloaterChatterBox::addFloater(LLFloater* floaterp,
BOOL select_added_floater,
- LLTabContainerCommon::eInsertionPoint insertion_point)
+ LLTabContainer::eInsertionPoint insertion_point)
{
S32 num_locked_tabs = mTabContainer->getNumLockedTabs();
@@ -322,48 +286,6 @@ void LLFloaterChatterBox::addFloater(LLFloater* floaterp,
}
}
-
-//static
-LLFloaterChatterBox* LLFloaterChatterBox::showInstance(const LLSD& seed)
-{
- LLFloaterChatterBox* chatterbox_floater = LLUISingleton<LLFloaterChatterBox>::showInstance(seed);
-
- // if TRUE, show tab for active voice channel, otherwise, just show last tab
- LLFloater* floater_to_show = NULL;
- LLUUID session_id = seed.asUUID();
- if (session_id.notNull())
- {
- floater_to_show = gIMMgr->findFloaterBySession(session_id);
- }
-
- if (floater_to_show)
- {
- floater_to_show->open();
- }
- else
- {
- // just open chatterbox to the last selected tab
- chatterbox_floater->open();
- }
-
- return chatterbox_floater;
-}
-
-//static
-BOOL LLFloaterChatterBox::instanceVisible(const LLSD &seed)
-{
- if (seed.asBoolean())
- {
- LLFloater* floater_to_show = getCurrentVoiceFloater();
- if (floater_to_show)
- {
- return floater_to_show->isInVisibleChain();
- }
- }
-
- return LLUISingleton<LLFloaterChatterBox>::instanceVisible(seed);
-}
-
//static
LLFloater* LLFloaterChatterBox::getCurrentVoiceFloater()
{
diff --git a/indra/newview/llfloaterchatterbox.h b/indra/newview/llfloaterchatterbox.h
index bf06ee9d38..4b1da9c9bc 100644
--- a/indra/newview/llfloaterchatterbox.h
+++ b/indra/newview/llfloaterchatterbox.h
@@ -36,32 +36,12 @@
#include "llfloater.h"
#include "llstring.h"
+#include "llimview.h"
+#include "llimpanel.h"
-class LLTabContainerCommon;
+class LLTabContainer;
-class LLFloaterMyFriends : public LLFloater, public LLUISingleton<LLFloaterMyFriends>
-{
-public:
- LLFloaterMyFriends(const LLSD& seed);
- virtual ~LLFloaterMyFriends();
-
- virtual BOOL postBuild();
-
- void onClose(bool app_quitting);
-
- // override LLUISingleton behavior
- static LLFloaterMyFriends* showInstance(const LLSD& id = LLSD());
- static void hideInstance(const LLSD& id);
- static BOOL instanceVisible(const LLSD& id);
-
- static void* createFriendsPanel(void* data);
- static void* createGroupsPanel(void* data);
-
-protected:
- LLTabContainerCommon* mTabs;
-};
-
-class LLFloaterChatterBox : public LLMultiFloater, public LLUISingleton<LLFloaterChatterBox>
+class LLFloaterChatterBox : public LLMultiFloater, public LLUISingleton<LLFloaterChatterBox, LLFloaterChatterBox>
{
public:
LLFloaterChatterBox(const LLSD& seed);
@@ -75,16 +55,103 @@ public:
/*virtual*/ void removeFloater(LLFloater* floaterp);
/*virtual*/ void addFloater(LLFloater* floaterp,
BOOL select_added_floater,
- LLTabContainerCommon::eInsertionPoint insertion_point = LLTabContainerCommon::END);
-
- static LLFloaterChatterBox* showInstance(const LLSD& seed = LLSD());
- static BOOL instanceVisible(const LLSD& seed);
+ LLTabContainer::eInsertionPoint insertion_point = LLTabContainer::END);
static LLFloater* getCurrentVoiceFloater();
+
+ // visibility policy for LLUISingleton
+ static bool visible(LLFloater* instance, const LLSD& key)
+ {
+ LLFloater* floater_to_check = ((LLFloaterChatterBox*)instance)->getFloater(key);
+
+ if (floater_to_check)
+ {
+ return floater_to_check->isInVisibleChain();
+ }
+
+ // otherwise use default visibility rule for chatterbox
+ return VisibilityPolicy<LLFloater>::visible(instance, key);
+ }
+
+ static void show(LLFloater* instance, const LLSD& key)
+ {
+ LLFloater* floater_to_show = ((LLFloaterChatterBox*)instance)->getFloater(key);
+ VisibilityPolicy<LLFloater>::show(instance, key);
+
+ if (floater_to_show)
+ {
+ floater_to_show->open();
+ }
+ }
+
+ static void hide(LLFloater* instance, const LLSD& key)
+ {
+ VisibilityPolicy<LLFloater>::hide(instance, key);
+ }
+
+private:
+ LLFloater* getFloater(const LLSD& key)
+ {
+ LLFloater* floater = NULL;
+
+ //try to show requested session
+ LLUUID session_id = key.asUUID();
+ if (session_id.notNull())
+ {
+ floater = LLIMMgr::getInstance()->findFloaterBySession(session_id);
+ }
+
+ // if TRUE, show tab for active voice channel, otherwise, just show last tab
+ if (key.asBoolean())
+ {
+ floater = getCurrentVoiceFloater();
+ }
+
+ return floater;
+ }
protected:
LLFloater* mActiveVoiceFloater;
};
+class LLFloaterMyFriends : public LLFloater, public LLUISingleton<LLFloaterMyFriends, LLFloaterMyFriends>
+{
+public:
+ LLFloaterMyFriends(const LLSD& seed);
+ virtual ~LLFloaterMyFriends();
+
+ virtual BOOL postBuild();
+
+ void onClose(bool app_quitting);
+
+ static void* createFriendsPanel(void* data);
+ static void* createGroupsPanel(void* data);
+
+ // visibility policy for LLUISingleton
+ static bool visible(LLFloater* instance, const LLSD& key)
+ {
+ LLFloaterMyFriends* floaterp = (LLFloaterMyFriends*)instance;
+ return floaterp->isInVisibleChain() && floaterp->mTabs->getCurrentPanelIndex() == key.asInteger();
+ }
+
+ static void show(LLFloater* instance, const LLSD& key)
+ {
+ VisibilityPolicy<LLFloater>::show(instance, key);
+ // garbage values in id will be interpreted as 0, or the friends tab
+ ((LLFloaterMyFriends*)instance)->mTabs->selectTab(key);
+ }
+
+ static void hide(LLFloater* instance, const LLSD& key)
+ {
+ if (visible(instance, key))
+ {
+ LLFloaterChatterBox::hideInstance();
+ }
+ }
+
+protected:
+ LLTabContainer* mTabs;
+};
+
#endif // LL_LLFLOATERCHATTERBOX_H
diff --git a/indra/newview/llfloatercolorpicker.cpp b/indra/newview/llfloatercolorpicker.cpp
index 324da688f8..137b35c3ee 100644
--- a/indra/newview/llfloatercolorpicker.cpp
+++ b/indra/newview/llfloatercolorpicker.cpp
@@ -577,7 +577,7 @@ void LLFloaterColorPicker::draw()
glEnd();
}
- if (gFocusMgr.childHasMouseCapture(mDragHandle))
+ if (gFocusMgr.childHasMouseCapture(getDragHandle()))
{
mContextConeOpacity = lerp(mContextConeOpacity, gSavedSettings.getF32("PickerContextOpacity"), LLCriticalDamp::getInterpolant(CONTEXT_FADE_TIME));
}
@@ -902,104 +902,103 @@ BOOL
LLFloaterColorPicker::
handleMouseDown ( S32 x, S32 y, MASK mask )
{
- // if this window is in the foreground
- if ( mForeground )
- {
+ BOOL ret = LLFloater::handleMouseDown ( x, y, mask );
+
// make it the frontmost
- gFloaterView->bringToFront(this);
+ gFloaterView->bringToFront(this);
- // rect containing RGB area
- LLRect rgbAreaRect ( mRGBViewerImageLeft,
- mRGBViewerImageTop,
- mRGBViewerImageLeft + mRGBViewerImageWidth,
- mRGBViewerImageTop - mRGBViewerImageHeight );
+ // rect containing RGB area
+ LLRect rgbAreaRect ( mRGBViewerImageLeft,
+ mRGBViewerImageTop,
+ mRGBViewerImageLeft + mRGBViewerImageWidth,
+ mRGBViewerImageTop - mRGBViewerImageHeight );
- if ( rgbAreaRect.pointInRect ( x, y ) )
- {
- gViewerWindow->setMouseCapture(this);
- // mouse button down
- setMouseDownInHueRegion ( TRUE );
+ if ( rgbAreaRect.pointInRect ( x, y ) )
+ {
+ gViewerWindow->setMouseCapture(this);
+ // mouse button down
+ setMouseDownInHueRegion ( TRUE );
- // update all values based on initial click
- updateRgbHslFromPoint ( x, y );
+ // update all values based on initial click
+ updateRgbHslFromPoint ( x, y );
- // required by base class
- return TRUE;
- }
+ // required by base class
+ return TRUE;
+ }
- // rect containing RGB area
- LLRect lumAreaRect ( mLumRegionLeft,
- mLumRegionTop,
- mLumRegionLeft + mLumRegionWidth + mLumMarkerSize,
- mLumRegionTop - mLumRegionHeight );
+ // rect containing RGB area
+ LLRect lumAreaRect ( mLumRegionLeft,
+ mLumRegionTop,
+ mLumRegionLeft + mLumRegionWidth + mLumMarkerSize,
+ mLumRegionTop - mLumRegionHeight );
- if ( lumAreaRect.pointInRect ( x, y ) )
- {
- gViewerWindow->setMouseCapture(this);
- // mouse button down
- setMouseDownInLumRegion ( TRUE );
+ if ( lumAreaRect.pointInRect ( x, y ) )
+ {
+ gViewerWindow->setMouseCapture(this);
+ // mouse button down
+ setMouseDownInLumRegion ( TRUE );
- // required by base class
- return TRUE;
- }
+ // required by base class
+ return TRUE;
+ }
- // rect containing swatch area
- LLRect swatchRect ( mSwatchRegionLeft,
- mSwatchRegionTop,
- mSwatchRegionLeft + mSwatchRegionWidth,
- mSwatchRegionTop - mSwatchRegionHeight );
+ // rect containing swatch area
+ LLRect swatchRect ( mSwatchRegionLeft,
+ mSwatchRegionTop,
+ mSwatchRegionLeft + mSwatchRegionWidth,
+ mSwatchRegionTop - mSwatchRegionHeight );
- setMouseDownInSwatch( FALSE );
- if ( swatchRect.pointInRect ( x, y ) )
- {
- setMouseDownInSwatch( TRUE );
+ setMouseDownInSwatch( FALSE );
+ if ( swatchRect.pointInRect ( x, y ) )
+ {
+ setMouseDownInSwatch( TRUE );
- // required - dont drag windows here.
- return TRUE;
- }
+ // required - dont drag windows here.
+ return TRUE;
+ }
- // rect containing palette area
- LLRect paletteRect ( mPaletteRegionLeft,
- mPaletteRegionTop,
- mPaletteRegionLeft + mPaletteRegionWidth,
- mPaletteRegionTop - mPaletteRegionHeight );
+ // rect containing palette area
+ LLRect paletteRect ( mPaletteRegionLeft,
+ mPaletteRegionTop,
+ mPaletteRegionLeft + mPaletteRegionWidth,
+ mPaletteRegionTop - mPaletteRegionHeight );
- if ( paletteRect.pointInRect ( x, y ) )
+ if ( paletteRect.pointInRect ( x, y ) )
+ {
+ // release keyboard focus so we can change text values
+ if (gFocusMgr.childHasKeyboardFocus(this))
{
- // release keyboard focus so we can change text values
- if (gFocusMgr.childHasKeyboardFocus(this))
- {
- mSelectBtn->setFocus(TRUE);
- }
-
- // calculate which palette index we selected
- S32 c = ( ( x - mPaletteRegionLeft ) * numPaletteColumns ) / mPaletteRegionWidth;
- S32 r = ( ( y - ( mPaletteRegionTop - mPaletteRegionHeight ) ) * numPaletteRows ) / mPaletteRegionHeight;
+ mSelectBtn->setFocus(TRUE);
+ }
- U32 index = ( numPaletteRows - r - 1 ) * numPaletteColumns + c;
+ // calculate which palette index we selected
+ S32 c = ( ( x - mPaletteRegionLeft ) * numPaletteColumns ) / mPaletteRegionWidth;
+ S32 r = ( ( y - ( mPaletteRegionTop - mPaletteRegionHeight ) ) * numPaletteRows ) / mPaletteRegionHeight;
- if ( index <= mPalette.size () )
- {
- LLColor4 selected = *mPalette [ index ];
+ U32 index = ( numPaletteRows - r - 1 ) * numPaletteColumns + c;
- setCurRgb ( selected [ 0 ], selected [ 1 ], selected [ 2 ] );
+ if ( index <= mPalette.size () )
+ {
+ LLColor4 selected = *mPalette [ index ];
- if (mApplyImmediateCheck->get())
- {
- LLColorSwatchCtrl::onColorChanged ( getSwatch (), LLColorSwatchCtrl::COLOR_CHANGE );
- }
+ setCurRgb ( selected [ 0 ], selected [ 1 ], selected [ 2 ] );
- // HACK: turn off the call back wilst we update the text or we recurse ourselves into oblivion
- enableTextCallbacks ( FALSE );
- updateTextEntry ();
- enableTextCallbacks ( TRUE );
+ if (mApplyImmediateCheck->get())
+ {
+ LLColorSwatchCtrl::onColorChanged ( getSwatch (), LLColorSwatchCtrl::COLOR_CHANGE );
}
- return TRUE;
+ // HACK: turn off the call back wilst we update the text or we recurse ourselves into oblivion
+ enableTextCallbacks ( FALSE );
+ updateTextEntry ();
+ enableTextCallbacks ( TRUE );
}
+
+ return TRUE;
}
+
// dispatch to base class for the rest of things
- return LLFloater::handleMouseDown ( x, y, mask );
+ return ret;
}
//////////////////////////////////////////////////////////////////////////////
diff --git a/indra/newview/llfloaterfriends.cpp b/indra/newview/llfloaterfriends.cpp
index 9d52107a20..30326dc496 100644
--- a/indra/newview/llfloaterfriends.cpp
+++ b/indra/newview/llfloaterfriends.cpp
@@ -60,6 +60,7 @@
//Maximum number of people you can select to do an operation on at once.
#define MAX_FRIEND_SELECT 20
+#define DEFAULT_PERIOD 5.0
#define RIGHTS_CHANGE_TIMEOUT 5.0
#define OBSERVER_TIMEOUT 0.5
@@ -80,7 +81,6 @@ public:
// events can arrive quickly in bulk - we need not process EVERY one of them -
// so we wait a short while to let others pile-in, and process them in aggregate.
mEventTimer.start();
- mEventTimer.reset();
// save-up all the mask-bits which have come-in
mMask |= mask;
@@ -102,7 +102,7 @@ protected:
LLPanelFriends::LLPanelFriends() :
LLPanel(),
- LLEventTimer(1000000),
+ LLEventTimer(DEFAULT_PERIOD),
mObserver(NULL),
mShowMaxSelectWarning(TRUE),
mAllowRightsChange(TRUE),
@@ -122,7 +122,7 @@ LLPanelFriends::~LLPanelFriends()
BOOL LLPanelFriends::tick()
{
mEventTimer.stop();
- mPeriod = 1000000;
+ mPeriod = DEFAULT_PERIOD;
mAllowRightsChange = TRUE;
updateFriends(LLFriendObserver::ADD);
return FALSE;
@@ -152,7 +152,6 @@ void LLPanelFriends::updateFriends(U32 changed_mask)
{
mPeriod = RIGHTS_CHANGE_TIMEOUT;
mEventTimer.start();
- mEventTimer.reset();
mAllowRightsChange = FALSE;
}
else
@@ -208,17 +207,20 @@ BOOL LLPanelFriends::postBuild()
}
-void LLPanelFriends::addFriend(const std::string& name, const LLUUID& agent_id)
+BOOL LLPanelFriends::addFriend(const LLUUID& agent_id)
{
LLAvatarTracker& at = LLAvatarTracker::instance();
const LLRelationship* relationInfo = at.getBuddyInfo(agent_id);
- if(!relationInfo) return;
+ if(!relationInfo) return FALSE;
BOOL online = relationInfo->isOnline();
+ std::string fullname;
+ BOOL have_name = gCacheName->getFullName(agent_id, fullname);
+
LLSD element;
element["id"] = agent_id;
element["columns"][LIST_FRIEND_NAME]["column"] = "friend_name";
- element["columns"][LIST_FRIEND_NAME]["value"] = name.c_str();
+ element["columns"][LIST_FRIEND_NAME]["value"] = fullname;
element["columns"][LIST_FRIEND_NAME]["font"] = "SANSSERIF";
element["columns"][LIST_FRIEND_NAME]["font-style"] = "NORMAL";
element["columns"][LIST_ONLINE_STATUS]["column"] = "icon_online_status";
@@ -247,30 +249,39 @@ void LLPanelFriends::addFriend(const std::string& name, const LLUUID& agent_id)
element["columns"][LIST_EDIT_THEIRS]["value"] = relationInfo->isRightGrantedFrom(LLRelationship::GRANT_MODIFY_OBJECTS);
element["columns"][LIST_FRIEND_UPDATE_GEN]["column"] = "friend_last_update_generation";
- element["columns"][LIST_FRIEND_UPDATE_GEN]["value"] = relationInfo->getChangeSerialNum();
+ element["columns"][LIST_FRIEND_UPDATE_GEN]["value"] = have_name ? relationInfo->getChangeSerialNum() : -1;
mFriendsList->addElement(element, ADD_BOTTOM);
+ return have_name;
}
// propagate actual relationship to UI
-void LLPanelFriends::updateFriendItem(LLScrollListItem* itemp, const LLRelationship* info)
+BOOL LLPanelFriends::updateFriendItem(const LLUUID& agent_id, const LLRelationship* info)
{
- if (!itemp) return;
- if (!info) return;
+ if (!info) return FALSE;
+ LLScrollListItem* itemp = mFriendsList->getItem(agent_id);
+ if (!itemp) return FALSE;
+
+ std::string fullname;
+ BOOL have_name = gCacheName->getFullName(agent_id, fullname);
itemp->getColumn(LIST_ONLINE_STATUS)->setValue(info->isOnline() ? gViewerArt.getString("icon_avatar_online.tga") : LLString());
+ itemp->getColumn(LIST_FRIEND_NAME)->setValue(fullname);
// render name of online friends in bold text
((LLScrollListText*)itemp->getColumn(LIST_FRIEND_NAME))->setFontStyle(info->isOnline() ? LLFontGL::BOLD : LLFontGL::NORMAL);
itemp->getColumn(LIST_VISIBLE_ONLINE)->setValue(info->isRightGrantedTo(LLRelationship::GRANT_ONLINE_STATUS));
itemp->getColumn(LIST_VISIBLE_MAP)->setValue(info->isRightGrantedTo(LLRelationship::GRANT_MAP_LOCATION));
itemp->getColumn(LIST_EDIT_MINE)->setValue(info->isRightGrantedTo(LLRelationship::GRANT_MODIFY_OBJECTS));
- itemp->getColumn(LIST_FRIEND_UPDATE_GEN)->setValue(info->getChangeSerialNum());
+ S32 change_generation = have_name ? info->getChangeSerialNum() : -1;
+ itemp->getColumn(LIST_FRIEND_UPDATE_GEN)->setValue(change_generation);
// enable this item, in case it was disabled after user input
itemp->setEnabled(TRUE);
// changed item in place, need to request sort
mFriendsList->sortItems();
+
+ return have_name;
}
void LLPanelFriends::refreshRightsChangeList()
@@ -354,7 +365,8 @@ void LLPanelFriends::refreshNames()
std::vector<LLScrollListItem*>::iterator item_it = items.begin();
std::vector<LLScrollListItem*>::iterator item_end = items.end();
-
+
+ BOOL have_names = TRUE;
LLAvatarTracker::buddy_map_t::iterator buddy_it;
for (buddy_it = all_buddies.begin() ; buddy_it != all_buddies.end(); ++buddy_it)
{
@@ -379,24 +391,24 @@ void LLPanelFriends::refreshNames()
if (last_change_generation < info->getChangeSerialNum())
{
// update existing item in UI
- updateFriendItem(mFriendsList->getItem(buddy_it->first), info);
+ have_names &= updateFriendItem(buddy_it->first, info);
}
++item_it;
}
// add new friend to list
else
{
- const LLUUID& buddy_id = buddy_it->first;
- char first_name[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char last_name[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
-
- gCacheName->getName(buddy_id, first_name, last_name);
- std::ostringstream fullname;
- fullname << first_name << " " << last_name;
- addFriend(fullname.str(), buddy_id);
+ have_names &= addFriend(buddy_it->first);
}
}
+ if (!have_names)
+ {
+ mEventTimer.start();
+ }
+ // changed item in place, need to request sort and update columns
+ mFriendsList->sortItems();
+ // re-select items
mFriendsList->selectMultiple(selected_ids);
mFriendsList->setScrollPos(pos);
}
@@ -412,7 +424,7 @@ void LLPanelFriends::refreshUI()
single_selected = TRUE;
if(num_selected > 1)
{
- childSetText("friend_name_label", childGetText("Multiple"));
+ childSetText("friend_name_label", getString("Multiple"));
multiple_selected = TRUE;
}
else
@@ -501,26 +513,17 @@ void LLPanelFriends::onClickIM(void* user_data)
{
LLUUID agent_id = ids[0];
const LLRelationship* info = LLAvatarTracker::instance().getBuddyInfo(agent_id);
- char first[DB_FIRST_NAME_BUF_SIZE]; /* Flawfinder: ignore */
- char last[DB_LAST_NAME_BUF_SIZE]; /* Flawfinder: ignore */
- if(info && gCacheName->getName(agent_id, first, last))
+ std::string fullname;
+ if(info && gCacheName->getFullName(agent_id, fullname))
{
- char buffer[MAX_STRING]; /* Flawfinder: ignore */
- snprintf(buffer, MAX_STRING, "%s %s", first, last); /* Flawfinder: ignore */
gIMMgr->setFloaterOpen(TRUE);
- gIMMgr->addSession(
- buffer,
- IM_NOTHING_SPECIAL,
- agent_id);
+ gIMMgr->addSession(fullname, IM_NOTHING_SPECIAL, agent_id);
}
}
else
{
gIMMgr->setFloaterOpen(TRUE);
- gIMMgr->addSession("Friends Conference",
- IM_SESSION_CONFERENCE_START,
- ids[0],
- ids);
+ gIMMgr->addSession("Friends Conference", IM_SESSION_CONFERENCE_START, ids[0], ids);
}
make_ui_sound("UISndStartIM");
}
@@ -612,8 +615,7 @@ void LLPanelFriends::onClickRemove(void* user_data)
if(ids.size() == 1)
{
LLUUID agent_id = ids[0];
- char first[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char last[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
+ std::string first, last;
if(gCacheName->getName(agent_id, first, last))
{
args["[FIRST_NAME]"] = first;
@@ -671,8 +673,7 @@ void LLPanelFriends::confirmModifyRights(rights_map_t& ids, EGrantRevoke command
if(ids.size() == 1)
{
LLUUID agent_id = ids.begin()->first;
- char first[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char last[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
+ std::string first, last;
if(gCacheName->getName(agent_id, first, last))
{
args["[FIRST_NAME]"] = first;
@@ -720,9 +721,8 @@ void LLPanelFriends::modifyRightsConfirmation(S32 option, void* user_data)
rights_map_t::iterator rights_it;
for (rights_it = rights->begin(); rights_it != rights->end(); ++rights_it)
{
- LLScrollListItem* itemp = panelp->mFriendsList->getItem(rights_it->first);
const LLRelationship* info = LLAvatarTracker::instance().getBuddyInfo(rights_it->first);
- panelp->updateFriendItem(itemp, info);
+ panelp->updateFriendItem(rights_it->first, info);
}
}
panelp->refreshUI();
diff --git a/indra/newview/llfloaterfriends.h b/indra/newview/llfloaterfriends.h
index 46e4eaaf79..2e87688f8e 100644
--- a/indra/newview/llfloaterfriends.h
+++ b/indra/newview/llfloaterfriends.h
@@ -41,7 +41,8 @@
class LLFriendObserver;
class LLRelationship;
-
+class LLScrollListItem;
+class LLScrollListCtrl;
/**
* @class LLPanelFriends
@@ -100,8 +101,8 @@ private:
void refreshUI();
void refreshRightsChangeList();
void applyRightsToFriends();
- void addFriend(const std::string& name, const LLUUID& agent_id);
- void updateFriendItem(LLScrollListItem* itemp, const LLRelationship* relationship);
+ BOOL addFriend(const LLUUID& agent_id);
+ BOOL updateFriendItem(const LLUUID& agent_id, const LLRelationship* relationship);
typedef enum
{
@@ -138,7 +139,7 @@ private:
LLFriendObserver* mObserver;
LLUUID mAddFriendID;
LLString mAddFriendName;
- LLScrollListCtrl* mFriendsList;
+ LLScrollListCtrl* mFriendsList;
BOOL mShowMaxSelectWarning;
BOOL mAllowRightsChange;
S32 mNumRightsChanged;
diff --git a/indra/newview/llfloatergesture.cpp b/indra/newview/llfloatergesture.cpp
index 3bc7f5a28c..44d158d2e3 100644
--- a/indra/newview/llfloatergesture.cpp
+++ b/indra/newview/llfloatergesture.cpp
@@ -99,7 +99,7 @@ LLFloaterGesture::~LLFloaterGesture()
// Custom saving rectangle, since load must be done
// after postBuild.
- gSavedSettings.setRect("FloaterGestureRect", mRect);
+ gSavedSettings.setRect("FloaterGestureRect", getRect());
}
// virtual
diff --git a/indra/newview/llfloatergroupinvite.cpp b/indra/newview/llfloatergroupinvite.cpp
index 6d76f7685a..a82e6e914e 100644
--- a/indra/newview/llfloatergroupinvite.cpp
+++ b/indra/newview/llfloatergroupinvite.cpp
@@ -83,7 +83,7 @@ LLFloaterGroupInvite::LLFloaterGroupInvite(const std::string& name,
const LLUUID& group_id)
: LLFloater(name, rect, title)
{
- LLRect contents(mRect);
+ LLRect contents(getRect());
contents.mTop -= LLFLOATER_HEADER_SIZE;
mImpl = new impl(group_id);
diff --git a/indra/newview/llfloatergroups.h b/indra/newview/llfloatergroups.h
index 63b9096e77..a1740861d5 100644
--- a/indra/newview/llfloatergroups.h
+++ b/indra/newview/llfloatergroups.h
@@ -53,9 +53,9 @@ class LLScrollListCtrl;
class LLButton;
class LLFloaterGroupPicker;
-class LLFloaterGroupPicker : public LLFloater, public LLUIInstanceMgr<LLFloaterGroupPicker>
+class LLFloaterGroupPicker : public LLFloater, public LLUIFactory<LLFloaterGroupPicker, LLFloaterGroupPicker, VisibilityPolicy<LLFloater> >
{
- friend class LLUIInstanceMgr<LLFloaterGroupPicker>;
+ friend class LLUIFactory<LLFloaterGroupPicker>;
public:
~LLFloaterGroupPicker();
void setSelectCallback( void (*callback)(LLUUID, void*),
@@ -63,11 +63,13 @@ public:
void setPowersMask(U64 powers_mask);
BOOL postBuild();
+ // implementation of factory policy
+ static LLFloaterGroupPicker* findInstance(const LLSD& seed);
+ static LLFloaterGroupPicker* createInstance(const LLSD& seed);
+
protected:
LLFloaterGroupPicker(const LLSD& seed);
void ok();
- static LLFloaterGroupPicker* findInstance(const LLSD& seed);
- static LLFloaterGroupPicker* createInstance(const LLSD& seed);
static void onBtnOK(void* userdata);
static void onBtnCancel(void* userdata);
diff --git a/indra/newview/llfloaterinspect.cpp b/indra/newview/llfloaterinspect.cpp
index 9f1624d20c..4280e250d7 100644
--- a/indra/newview/llfloaterinspect.cpp
+++ b/indra/newview/llfloaterinspect.cpp
@@ -211,18 +211,13 @@ void LLFloaterInspect::refresh()
{
LLSelectNode* obj = *iter;
LLSD row;
- char owner_first_name[MAX_STRING], owner_last_name[MAX_STRING];
- char creator_first_name[MAX_STRING], creator_last_name[MAX_STRING];
char time[MAX_STRING];
- std::ostringstream owner_name, creator_name, date;
+ std::string owner_name, creator_name;
time_t timestamp = (time_t) (obj->mCreationDate/1000000);
LLString::copy(time, ctime(&timestamp), MAX_STRING);
time[24] = '\0';
- date << obj->mCreationDate;
- gCacheName->getName(obj->mPermissions->getOwner(), owner_first_name, owner_last_name);
- owner_name << owner_first_name << " " << owner_last_name;
- gCacheName->getName(obj->mPermissions->getCreator(), creator_first_name, creator_last_name);
- creator_name << creator_first_name << " " << creator_last_name;
+ gCacheName->getFullName(obj->mPermissions->getOwner(), owner_name);
+ gCacheName->getFullName(obj->mPermissions->getCreator(), creator_name);
row["id"] = obj->getObject()->getID();
row["columns"][0]["column"] = "object_name";
row["columns"][0]["type"] = "text";
@@ -238,10 +233,10 @@ void LLFloaterInspect::refresh()
}
row["columns"][1]["column"] = "owner_name";
row["columns"][1]["type"] = "text";
- row["columns"][1]["value"] = owner_name.str().c_str();
+ row["columns"][1]["value"] = owner_name;
row["columns"][2]["column"] = "creator_name";
row["columns"][2]["type"] = "text";
- row["columns"][2]["value"] = creator_name.str().c_str();
+ row["columns"][2]["value"] = creator_name;
row["columns"][3]["column"] = "creation_date";
row["columns"][3]["type"] = "text";
row["columns"][3]["value"] = time;
diff --git a/indra/newview/llfloaterinspect.h b/indra/newview/llfloaterinspect.h
index 8656f13124..befb133f68 100644
--- a/indra/newview/llfloaterinspect.h
+++ b/indra/newview/llfloaterinspect.h
@@ -67,7 +67,7 @@ private:
// static data
static LLFloaterInspect* sInstance;
- LLHandle<LLObjectSelection> mObjectSelection;
+ LLSafeHandle<LLObjectSelection> mObjectSelection;
};
#endif //LL_LLFLOATERINSPECT_H
diff --git a/indra/newview/llfloaterlagmeter.cpp b/indra/newview/llfloaterlagmeter.cpp
index 04a5cf6a24..9f1bef5be7 100644
--- a/indra/newview/llfloaterlagmeter.cpp
+++ b/indra/newview/llfloaterlagmeter.cpp
@@ -72,49 +72,49 @@ LLFloaterLagMeter::LLFloaterLagMeter()
mServerText = LLUICtrlFactory::getTextBoxByName(this, "server_text");
mServerCause = LLUICtrlFactory::getTextBoxByName(this, "server_lag_cause");
- LLString config_string = childGetText("client_frame_rate_critical_fps");
+ LLString config_string = getString("client_frame_rate_critical_fps", mStringArgs);
mClientFrameTimeCritical = 1.0f / (float)atof( config_string.c_str() );
- config_string = childGetText("client_frame_rate_warning_fps");
+ config_string = getString("client_frame_rate_warning_fps", mStringArgs);
mClientFrameTimeWarning = 1.0f / (float)atof( config_string.c_str() );
- config_string = childGetText("network_packet_loss_critical_pct");
+ config_string = getString("network_packet_loss_critical_pct", mStringArgs);
mNetworkPacketLossCritical = (float)atof( config_string.c_str() );
- config_string = childGetText("network_packet_loss_warning_pct");
+ config_string = getString("network_packet_loss_warning_pct", mStringArgs);
mNetworkPacketLossWarning = (float)atof( config_string.c_str() );
- config_string = childGetText("network_ping_critical_ms");
+ config_string = getString("network_ping_critical_ms", mStringArgs);
mNetworkPingCritical = (float)atof( config_string.c_str() );
- config_string = childGetText("network_ping_warning_ms");
+ config_string = getString("network_ping_warning_ms", mStringArgs);
mNetworkPingWarning = (float)atof( config_string.c_str() );
- config_string = childGetText("server_frame_rate_critical_fps");
+ config_string = getString("server_frame_rate_critical_fps", mStringArgs);
mServerFrameTimeCritical = 1000.0f / (float)atof( config_string.c_str() );
- config_string = childGetText("server_frame_rate_warning_fps");
+ config_string = getString("server_frame_rate_warning_fps", mStringArgs);
mServerFrameTimeWarning = 1000.0f / (float)atof( config_string.c_str() );
- config_string = childGetText("server_single_process_max_time_ms");
+ config_string = getString("server_single_process_max_time_ms", mStringArgs);
mServerSingleProcessMaxTime = (float)atof( config_string.c_str() );
mShrunk = false;
- config_string = childGetText("max_width_px");
+ config_string = getString("max_width_px", mStringArgs);
mMaxWidth = atoi( config_string.c_str() );
- config_string = childGetText("min_width_px");
+ config_string = getString("min_width_px", mStringArgs);
mMinWidth = atoi( config_string.c_str() );
- childSetTextArg("client_frame_time_critical_msg", "[CLIENT_FRAME_RATE_CRITICAL]", childGetText("client_frame_rate_critical_fps"));
- childSetTextArg("client_frame_time_warning_msg", "[CLIENT_FRAME_RATE_CRITICAL]", childGetText("client_frame_rate_critical_fps"));
- childSetTextArg("client_frame_time_warning_msg", "[CLIENT_FRAME_RATE_WARNING]", childGetText("client_frame_rate_warning_fps"));
+ mStringArgs["[CLIENT_FRAME_RATE_CRITICAL]"] = getString("client_frame_rate_critical_fps");
+ mStringArgs["[CLIENT_FRAME_RATE_CRITICAL]"] = getString("client_frame_rate_critical_fps");
+ mStringArgs["[CLIENT_FRAME_RATE_WARNING]"] = getString("client_frame_rate_warning_fps");
- childSetTextArg("network_packet_loss_critical_msg", "[NETWORK_PACKET_LOSS_CRITICAL]", childGetText("network_packet_loss_critical_pct"));
- childSetTextArg("network_packet_loss_warning_msg", "[NETWORK_PACKET_LOSS_CRITICAL]", childGetText("network_packet_loss_critical_pct"));
- childSetTextArg("network_packet_loss_warning_msg", "[NETWORK_PACKET_LOSS_WARNING]", childGetText("network_packet_loss_warning_pct"));
+ mStringArgs["[NETWORK_PACKET_LOSS_CRITICAL]"] = getString("network_packet_loss_critical_pct");
+ mStringArgs["[NETWORK_PACKET_LOSS_CRITICAL]"] = getString("network_packet_loss_critical_pct");
+ mStringArgs["[NETWORK_PACKET_LOSS_WARNING]"] = getString("network_packet_loss_warning_pct");
- childSetTextArg("network_ping_critical_msg", "[NETWORK_PING_CRITICAL]", childGetText("network_ping_critical_ms"));
- childSetTextArg("network_ping_warning_msg", "[NETWORK_PING_CRITICAL]", childGetText("network_ping_critical_ms"));
- childSetTextArg("network_ping_warning_msg", "[NETWORK_PING_WARNING]", childGetText("network_ping_warning_ms"));
+ mStringArgs["[NETWORK_PING_CRITICAL]"] = getString("network_ping_critical_ms");
+ mStringArgs["[NETWORK_PING_CRITICAL]"] = getString("network_ping_critical_ms");
+ mStringArgs["[NETWORK_PING_WARNING]"] = getString("network_ping_warning_ms");
- childSetTextArg("server_frame_time_critical_msg", "[SERVER_FRAME_RATE_CRITICAL]", childGetText("server_frame_rate_critical_fps"));
- childSetTextArg("server_frame_time_warning_msg", "[SERVER_FRAME_RATE_CRITICAL]", childGetText("server_frame_rate_critical_fps"));
- childSetTextArg("server_frame_time_warning_msg", "[SERVER_FRAME_RATE_WARNING]", childGetText("server_frame_rate_warning_fps"));
+ mStringArgs["[SERVER_FRAME_RATE_CRITICAL]"] = getString("server_frame_rate_critical_fps");
+ mStringArgs["[SERVER_FRAME_RATE_CRITICAL]"] = getString("server_frame_rate_critical_fps");
+ mStringArgs["[SERVER_FRAME_RATE_WARNING]"] = getString("server_frame_rate_warning_fps");
childSetAction("minimize", onClickShrink, this);
@@ -162,25 +162,25 @@ void LLFloaterLagMeter::determineClient()
if (!gFocusMgr.getAppHasFocus())
{
mClientButton->setImageUnselected(LAG_GOOD_IMAGE_NAME);
- mClientText->setText( childGetText("client_frame_time_window_bg_msg") );
+ mClientText->setText( getString("client_frame_time_window_bg_msg", mStringArgs) );
mClientCause->setText( LLString::null );
}
else if(client_frame_time >= mClientFrameTimeCritical)
{
mClientButton->setImageUnselected(LAG_CRITICAL_IMAGE_NAME);
- mClientText->setText( childGetText("client_frame_time_critical_msg") );
+ mClientText->setText( getString("client_frame_time_critical_msg", mStringArgs) );
find_cause = true;
}
else if(client_frame_time >= mClientFrameTimeWarning)
{
mClientButton->setImageUnselected(LAG_WARNING_IMAGE_NAME);
- mClientText->setText( childGetText("client_frame_time_warning_msg") );
+ mClientText->setText( getString("client_frame_time_warning_msg", mStringArgs) );
find_cause = true;
}
else
{
mClientButton->setImageUnselected(LAG_GOOD_IMAGE_NAME);
- mClientText->setText( childGetText("client_frame_time_normal_msg") );
+ mClientText->setText( getString("client_frame_time_normal_msg", mStringArgs) );
mClientCause->setText( LLString::null );
}
@@ -188,19 +188,19 @@ void LLFloaterLagMeter::determineClient()
{
if(gSavedSettings.getF32("RenderFarClip") > 128)
{
- mClientCause->setText( childGetText("client_draw_distance_cause_msg") );
+ mClientCause->setText( getString("client_draw_distance_cause_msg", mStringArgs) );
}
else if(LLAppViewer::instance()->getTextureFetch()->getNumRequests() > 2)
{
- mClientCause->setText( childGetText("client_texture_loading_cause_msg") );
+ mClientCause->setText( getString("client_texture_loading_cause_msg", mStringArgs) );
}
else if(LLViewerImage::sBoundTextureMemory > LLViewerImage::sMaxBoundTextureMem)
{
- mClientCause->setText( childGetText("client_texture_memory_cause_msg") );
+ mClientCause->setText( getString("client_texture_memory_cause_msg", mStringArgs) );
}
else
{
- mClientCause->setText( childGetText("client_complex_objects_cause_msg") );
+ mClientCause->setText( getString("client_complex_objects_cause_msg", mStringArgs) );
}
}
}
@@ -215,40 +215,40 @@ void LLFloaterLagMeter::determineNetwork()
if(packet_loss >= mNetworkPacketLossCritical)
{
mNetworkButton->setImageUnselected(LAG_CRITICAL_IMAGE_NAME);
- mNetworkText->setText( childGetText("network_packet_loss_critical_msg") );
+ mNetworkText->setText( getString("network_packet_loss_critical_msg", mStringArgs) );
find_cause_loss = true;
}
else if(ping_time >= mNetworkPingCritical)
{
mNetworkButton->setImageUnselected(LAG_CRITICAL_IMAGE_NAME);
- mNetworkText->setText( childGetText("network_ping_critical_msg") );
+ mNetworkText->setText( getString("network_ping_critical_msg", mStringArgs) );
find_cause_ping = true;
}
else if(packet_loss >= mNetworkPacketLossWarning)
{
mNetworkButton->setImageUnselected(LAG_WARNING_IMAGE_NAME);
- mNetworkText->setText( childGetText("network_packet_loss_warning_msg") );
+ mNetworkText->setText( getString("network_packet_loss_warning_msg", mStringArgs) );
find_cause_loss = true;
}
else if(ping_time >= mNetworkPingWarning)
{
mNetworkButton->setImageUnselected(LAG_WARNING_IMAGE_NAME);
- mNetworkText->setText( childGetText("network_ping_warning_msg") );
+ mNetworkText->setText( getString("network_ping_warning_msg", mStringArgs) );
find_cause_ping = true;
}
else
{
mNetworkButton->setImageUnselected(LAG_GOOD_IMAGE_NAME);
- mNetworkText->setText( childGetText("network_performance_normal_msg") );
+ mNetworkText->setText( getString("network_performance_normal_msg", mStringArgs) );
}
if(find_cause_loss)
{
- mNetworkCause->setText( childGetText("network_packet_loss_cause_msg") );
+ mNetworkCause->setText( getString("network_packet_loss_cause_msg", mStringArgs) );
}
else if(find_cause_ping)
{
- mNetworkCause->setText( childGetText("network_ping_cause_msg") );
+ mNetworkCause->setText( getString("network_ping_cause_msg", mStringArgs) );
}
else
{
@@ -264,19 +264,19 @@ void LLFloaterLagMeter::determineServer()
if(sim_frame_time >= mServerFrameTimeCritical)
{
mServerButton->setImageUnselected(LAG_CRITICAL_IMAGE_NAME);
- mServerText->setText( childGetText("server_frame_time_critical_msg") );
+ mServerText->setText( getString("server_frame_time_critical_msg", mStringArgs) );
find_cause = true;
}
else if(sim_frame_time >= mServerFrameTimeWarning)
{
mServerButton->setImageUnselected(LAG_WARNING_IMAGE_NAME);
- mServerText->setText( childGetText("server_frame_time_warning_msg") );
+ mServerText->setText( getString("server_frame_time_warning_msg", mStringArgs) );
find_cause = true;
}
else
{
mServerButton->setImageUnselected(LAG_GOOD_IMAGE_NAME);
- mServerText->setText( childGetText("server_frame_time_normal_msg") );
+ mServerText->setText( getString("server_frame_time_normal_msg", mStringArgs) );
mServerCause->setText( LLString::null );
}
@@ -284,27 +284,27 @@ void LLFloaterLagMeter::determineServer()
{
if(gViewerStats->mSimSimPhysicsMsec.getCurrent() > mServerSingleProcessMaxTime)
{
- mServerCause->setText( childGetText("server_physics_cause_msg") );
+ mServerCause->setText( getString("server_physics_cause_msg", mStringArgs) );
}
else if(gViewerStats->mSimScriptMsec.getCurrent() > mServerSingleProcessMaxTime)
{
- mServerCause->setText( childGetText("server_scripts_cause_msg") );
+ mServerCause->setText( getString("server_scripts_cause_msg", mStringArgs) );
}
else if(gViewerStats->mSimNetMsec.getCurrent() > mServerSingleProcessMaxTime)
{
- mServerCause->setText( childGetText("server_net_cause_msg") );
+ mServerCause->setText( getString("server_net_cause_msg", mStringArgs) );
}
else if(gViewerStats->mSimAgentMsec.getCurrent() > mServerSingleProcessMaxTime)
{
- mServerCause->setText( childGetText("server_agent_cause_msg") );
+ mServerCause->setText( getString("server_agent_cause_msg", mStringArgs) );
}
else if(gViewerStats->mSimImagesMsec.getCurrent() > mServerSingleProcessMaxTime)
{
- mServerCause->setText( childGetText("server_images_cause_msg") );
+ mServerCause->setText( getString("server_images_cause_msg", mStringArgs) );
}
else
{
- mServerCause->setText( childGetText("server_generic_cause_msg") );
+ mServerCause->setText( getString("server_generic_cause_msg", mStringArgs) );
}
}
}
@@ -314,38 +314,38 @@ void LLFloaterLagMeter::onClickShrink(void * data)
{
LLFloaterLagMeter * self = (LLFloaterLagMeter*)data;
- LLButton * button = (LLButton*)self->getChildByName("minimize");
+ LLButton * button = self->getChild<LLButton>("minimize");
S32 delta_width = self->mMaxWidth - self->mMinWidth;
LLRect r = self->getRect();
if(self->mShrunk)
{
- self->setTitle( self->childGetText("max_title_msg") );
+ self->setTitle( self->getString("max_title_msg", self->mStringArgs) );
// make left edge appear to expand
r.translate(-delta_width, 0);
self->setRect(r);
self->reshape(self->mMaxWidth, self->getRect().getHeight());
- self->childSetText("client", self->childGetText("client_text_msg") + ":");
- self->childSetText("network", self->childGetText("network_text_msg") + ":");
- self->childSetText("server", self->childGetText("server_text_msg") + ":");
+ self->childSetText("client", self->getString("client_text_msg", self->mStringArgs) + ":");
+ self->childSetText("network", self->getString("network_text_msg", self->mStringArgs) + ":");
+ self->childSetText("server", self->getString("server_text_msg", self->mStringArgs) + ":");
// usually "<<"
- button->setLabel( self->childGetText("smaller_label") );
+ button->setLabel( self->getString("smaller_label", self->mStringArgs) );
}
else
{
- self->setTitle( self->childGetText("min_title_msg") );
+ self->setTitle( self->getString("min_title_msg", self->mStringArgs) );
// make left edge appear to collapse
r.translate(delta_width, 0);
self->setRect(r);
self->reshape(self->mMinWidth, self->getRect().getHeight());
- self->childSetText("client", self->childGetText("client_text_msg") );
- self->childSetText("network", self->childGetText("network_text_msg") );
- self->childSetText("server", self->childGetText("server_text_msg") );
+ self->childSetText("client", self->getString("client_text_msg", self->mStringArgs) );
+ self->childSetText("network", self->getString("network_text_msg", self->mStringArgs) );
+ self->childSetText("server", self->getString("server_text_msg", self->mStringArgs) );
// usually ">>"
- button->setLabel( self->childGetText("bigger_label") );
+ button->setLabel( self->getString("bigger_label", self->mStringArgs) );
}
// Don't put keyboard focus on the button
button->setFocus(FALSE);
diff --git a/indra/newview/llfloaterlagmeter.h b/indra/newview/llfloaterlagmeter.h
index 0309f199f7..83603826c4 100644
--- a/indra/newview/llfloaterlagmeter.h
+++ b/indra/newview/llfloaterlagmeter.h
@@ -74,6 +74,8 @@ private:
LLTextBox * mServerText;
LLTextBox * mServerCause;
+ LLString::format_map_t mStringArgs;
+
static LLFloaterLagMeter * sInstance;
};
diff --git a/indra/newview/llfloaterland.cpp b/indra/newview/llfloaterland.cpp
index f340ff2569..aafd5d7cb4 100644
--- a/indra/newview/llfloaterland.cpp
+++ b/indra/newview/llfloaterland.cpp
@@ -112,7 +112,7 @@ static const BOOL BUY_PERSONAL_LAND = FALSE;
LLParcelSelectionObserver* LLFloaterLand::sObserver = NULL;
S32 LLFloaterLand::sLastTab = 0;
-LLViewHandle LLPanelLandGeneral::sBuyPassDialogHandle;
+LLHandle<LLFloater> LLPanelLandGeneral::sBuyPassDialogHandle;
// Local classes
class LLParcelSelectionObserver : public LLParcelObserver
@@ -189,10 +189,6 @@ void LLFloaterLand::refreshAll()
void LLFloaterLand::onOpen()
{
- // Select tab from last view
- mTabLand->selectTab(sLastTab);
-
-
// Done automatically when the selected parcel's properties arrive
// (and hence we have the local id).
// gParcelMgr->sendParcelAccessListRequest(AL_ACCESS | AL_BAN | AL_RENTER);
@@ -237,7 +233,7 @@ LLFloaterLand::LLFloaterLand(const LLSD& seed)
factory_map["land_media_panel"] = LLCallbackMap(createPanelLandMedia, this);
factory_map["land_access_panel"] = LLCallbackMap(createPanelLandAccess, this);
- gUICtrlFactory->buildFloater(this, "floater_about_land.xml", &factory_map);
+ gUICtrlFactory->buildFloater(this, "floater_about_land.xml", &factory_map, false);
sObserver = new LLParcelSelectionObserver();
gParcelMgr->addObserver( sObserver );
@@ -245,7 +241,7 @@ LLFloaterLand::LLFloaterLand(const LLSD& seed)
BOOL LLFloaterLand::postBuild()
{
- LLTabContainerCommon* tab = LLUICtrlFactory::getTabContainerByName(this, "landtab");
+ LLTabContainer* tab = LLUICtrlFactory::getTabContainerByName(this, "landtab");
mTabLand = (LLTabContainer*) tab;
@@ -483,7 +479,7 @@ void LLPanelLandGeneral::refresh()
mCheckContributeWithDeed->setEnabled(FALSE);
mTextOwner->setText(LLString::null);
- mBtnProfile->setLabel(childGetText("profile_text"));
+ mBtnProfile->setLabel(getString("profile_text"));
mBtnProfile->setEnabled(FALSE);
mTextClaimDate->setText(LLString::null);
@@ -537,12 +533,12 @@ void LLPanelLandGeneral::refresh()
{
mTextSalePending->setText(LLString::null);
mTextSalePending->setEnabled(FALSE);
- mTextOwner->setText(childGetText("public_text"));
+ mTextOwner->setText(getString("public_text"));
mTextOwner->setEnabled(FALSE);
mBtnProfile->setEnabled(FALSE);
mTextClaimDate->setText(LLString::null);
mTextClaimDate->setEnabled(FALSE);
- mTextGroup->setText(childGetText("none_text"));
+ mTextGroup->setText(getString("none_text"));
mTextGroup->setEnabled(FALSE);
mBtnStartAuction->setEnabled(FALSE);
}
@@ -550,12 +546,12 @@ void LLPanelLandGeneral::refresh()
{
if(!is_leased && (owner_id == gAgent.getID()))
{
- mTextSalePending->setText(childGetText("need_tier_to_modify"));
+ mTextSalePending->setText(getString("need_tier_to_modify"));
mTextSalePending->setEnabled(TRUE);
}
else if(parcel->getAuctionID())
{
- mTextSalePending->setText(childGetText("auction_id_text"));
+ mTextSalePending->setText(getString("auction_id_text"));
mTextSalePending->setTextArg("[ID]", llformat("%u", parcel->getAuctionID()));
mTextSalePending->setEnabled(TRUE);
}
@@ -574,15 +570,15 @@ void LLPanelLandGeneral::refresh()
if (parcel->getGroupID().isNull())
{
// Not group owned, so "Profile"
- mBtnProfile->setLabel(childGetText("profile_text"));
+ mBtnProfile->setLabel(getString("profile_text"));
- mTextGroup->setText(childGetText("none_text"));
+ mTextGroup->setText(getString("none_text"));
mTextGroup->setEnabled(FALSE);
}
else
{
// Group owned, so "Info"
- mBtnProfile->setLabel(childGetText("info_text"));
+ mBtnProfile->setLabel(getString("info_text"));
//mTextGroup->setText("HIPPOS!");//parcel->getGroupName());
mTextGroup->setEnabled(TRUE);
@@ -692,9 +688,9 @@ void LLPanelLandGeneral::refresh()
&dwell);
// Area
- LLUIString price = childGetText("area_size_text");
+ LLUIString price = getString("area_size_text");
price.setArg("[AREA]", llformat("%d",area));
- mTextPriceLabel->setText(childGetText("area_text"));
+ mTextPriceLabel->setText(getString("area_text"));
mTextPrice->setText(price.getString());
mTextDwell->setText(llformat("%.0f", dwell));
@@ -732,29 +728,24 @@ void LLPanelLandGeneral::refreshNames()
LLString owner;
if (parcel->getIsGroupOwned())
{
- owner = childGetText("group_owned_text");
+ owner = getString("group_owned_text");
}
else
{
// Figure out the owner's name
- char owner_first[MAX_STRING]; /*Flawfinder: ignore*/
- char owner_last[MAX_STRING]; /*Flawfinder: ignore*/
- gCacheName->getName(parcel->getOwnerID(), owner_first, owner_last);
- owner = llformat("%s %s", owner_first, owner_last);
+ gCacheName->getFullName(parcel->getOwnerID(), owner);
}
if(LLParcel::OS_LEASE_PENDING == parcel->getOwnershipStatus())
{
- owner += childGetText("sale_pending_text");
+ owner += getString("sale_pending_text");
}
mTextOwner->setText(owner);
LLString group;
if(!parcel->getGroupID().isNull())
{
- char buffer[MAX_STRING]; /*Flawfinder: ignore*/
- gCacheName->getGroupName(parcel->getGroupID(), buffer);
- group = buffer;
+ gCacheName->getGroupName(parcel->getGroupID(), group);
}
mTextGroup->setText(group);
@@ -762,18 +753,12 @@ void LLPanelLandGeneral::refreshNames()
if(auth_buyer_id.notNull())
{
LLString name;
- char firstname[MAX_STRING]; /*Flawfinder: ignore*/
- char lastname[MAX_STRING]; /*Flawfinder: ignore*/
- gCacheName->getName(auth_buyer_id, firstname, lastname);
- name.assign(firstname);
- name.append(" ");
- name.append(lastname);
-
+ gCacheName->getFullName(auth_buyer_id, name);
mSaleInfoForSale2->setTextArg("[BUYER]", name);
}
else
{
- mSaleInfoForSale2->setTextArg("[BUYER]", childGetText("anyone"));
+ mSaleInfoForSale2->setTextArg("[BUYER]", getString("anyone"));
}
}
@@ -949,7 +934,7 @@ void LLPanelLandGeneral::cbBuyPass(S32 option, void* data)
//static
BOOL LLPanelLandGeneral::buyPassDialogVisible()
{
- return LLFloater::getFloaterByHandle(sBuyPassDialogHandle) != NULL;
+ return sBuyPassDialogHandle.get() != NULL;
}
// static
@@ -1071,7 +1056,7 @@ BOOL LLPanelLandObjects::postBuild()
image_id.set( gViewerArt.getString("icon_group.tga") );
mIconGroup = gImageList.getImage(image_id, MIPMAP_FALSE, TRUE);
- mOwnerList = LLUICtrlFactory::getNameListByName(this, "owner list");
+ mOwnerList = getChild<LLNameListCtrl>("owner list");
mOwnerList->sortByColumn(3, FALSE);
childSetCommitCallback("owner list", onCommitList, this);
mOwnerList->setDoubleClickCallback(onDoubleClickOwner);
@@ -1181,12 +1166,12 @@ void LLPanelLandObjects::refresh()
if (sw_total > sw_max)
{
- mSWTotalObjects->setText(childGetText("objects_deleted_text"));
+ mSWTotalObjects->setText(getString("objects_deleted_text"));
mSWTotalObjects->setTextArg("[DELETED]", llformat("%d", sw_total - sw_max));
}
else
{
- mSWTotalObjects->setText(childGetText("objects_available_text"));
+ mSWTotalObjects->setText(getString("objects_available_text"));
mSWTotalObjects->setTextArg("[AVAILABLE]", llformat("%d", sw_max - sw_total));
}
mSWTotalObjects->setTextArg("[COUNT]", llformat("%d", sw_total));
@@ -1311,8 +1296,7 @@ void LLPanelLandObjects::callbackReturnOwnerObjects(S32 option, void* userdata)
}
else
{
- char first[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char last[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
+ std::string first, last;
gCacheName->getName(owner_id, first, last);
args["[FIRST]"] = first;
args["[LAST]"] = last;
@@ -1336,7 +1320,7 @@ void LLPanelLandObjects::callbackReturnGroupObjects(S32 option, void* userdata)
{
if (parcel)
{
- char group_name[MAX_STRING]; /*Flawfinder: ignore*/
+ std::string group_name;
gCacheName->getGroupName(parcel->getGroupID(), group_name);
LLString::format_map_t args;
args["[GROUPNAME]"] = group_name;
@@ -1639,12 +1623,8 @@ void LLPanelLandObjects::onClickReturnOwnerObjects(void* userdata)
}
else
{
- char first[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char last[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- gCacheName->getName(owner_id, first, last);
- std::string name = first;
- name += " ";
- name += last;
+ std::string name;
+ gCacheName->getFullName(owner_id, name);
args["[NAME]"] = name;
gViewerWindow->alertXml("ReturnObjectsOwnedByUser", args, callbackReturnOwnerObjects, userdata);
}
@@ -1659,7 +1639,7 @@ void LLPanelLandObjects::onClickReturnGroupObjects(void* userdata)
send_parcel_select_objects(parcel->getLocalID(), RT_GROUP);
- char group_name[MAX_STRING]; /*Flawfinder: ignore*/
+ std::string group_name;
gCacheName->getGroupName(parcel->getGroupID(), group_name);
LLStringBase<char>::format_map_t args;
@@ -1688,7 +1668,7 @@ void LLPanelLandObjects::onClickReturnOtherObjects(void* userdata)
if (parcel->getIsGroupOwned())
{
- char group_name[MAX_STRING]; /*Flawfinder: ignore*/
+ std::string group_name;
gCacheName->getGroupName(parcel->getGroupID(), group_name);
args["[NAME]"] = group_name;
@@ -1704,13 +1684,8 @@ void LLPanelLandObjects::onClickReturnOtherObjects(void* userdata)
}
else
{
- char first[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char last[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- gCacheName->getName(owner_id, first, last);
std::string name;
- name += first;
- name += " ";
- name += last;
+ gCacheName->getFullName(owner_id, name);
args["[NAME]"] = name;
gViewerWindow->alertXml("ReturnObjectsNotOwnedByUser", args, callbackReturnOtherObjects, userdata);
@@ -1857,7 +1832,7 @@ BOOL LLPanelLandOptions::postBuild()
}*/
- mSnapshotCtrl = LLUICtrlFactory::getTexturePickerByName(this, "snapshot_ctrl");
+ mSnapshotCtrl = getChild<LLTextureCtrl>("snapshot_ctrl");
if (mSnapshotCtrl)
{
mSnapshotCtrl->setCommitCallback( onCommitAny );
@@ -1948,7 +1923,7 @@ void LLPanelLandOptions::refresh()
mSnapshotCtrl->setImageAssetID(LLUUID::null);
mSnapshotCtrl->setEnabled(FALSE);
- mLocationText->setTextArg("[LANDING]", childGetText("landing_point_none"));
+ mLocationText->setTextArg("[LANDING]", getString("landing_point_none"));
mSetBtn->setEnabled(FALSE);
mClearBtn->setEnabled(FALSE);
@@ -1995,13 +1970,13 @@ void LLPanelLandOptions::refresh()
mPushRestrictionCtrl->set( parcel->getRestrictPushObject() );
if(parcel->getRegionPushOverride())
{
- mPushRestrictionCtrl->setLabel(childGetText("push_restrict_region_text"));
+ mPushRestrictionCtrl->setLabel(getString("push_restrict_region_text"));
mPushRestrictionCtrl->setEnabled(false);
mPushRestrictionCtrl->set(TRUE);
}
else
{
- mPushRestrictionCtrl->setLabel(childGetText("push_restrict_text"));
+ mPushRestrictionCtrl->setLabel(getString("push_restrict_text"));
mPushRestrictionCtrl->setEnabled(can_change_options);
}
@@ -2025,7 +2000,7 @@ void LLPanelLandOptions::refresh()
LLVector3 pos = parcel->getUserLocation();
if (pos.isExactlyZero())
{
- mLocationText->setTextArg("[LANDING]", childGetText("landing_point_none"));
+ mLocationText->setTextArg("[LANDING]", getString("landing_point_none"));
}
else
{
@@ -2245,11 +2220,11 @@ BOOL LLPanelLandAccess::postBuild()
childSetAction("add_banned", onClickAddBanned, this);
childSetAction("remove_banned", onClickRemoveBanned, this);
- mListAccess = LLUICtrlFactory::getNameListByName(this, "AccessList");
+ mListAccess = getChild<LLNameListCtrl>("AccessList");
if (mListAccess)
mListAccess->sortByColumn(0, TRUE); // ascending
- mListBanned = LLUICtrlFactory::getNameListByName(this, "BannedList");
+ mListBanned = getChild<LLNameListCtrl>("BannedList");
if (mListBanned)
mListBanned->sortByColumn(0, TRUE); // ascending
@@ -2280,9 +2255,9 @@ void LLPanelLandAccess::refresh()
childSetValue("public_access", public_access );
childSetValue("GroupCheck", use_group );
- char group_name[MAX_STRING]; /*Flawfinder: ignore*/
+ std::string group_name;
gCacheName->getGroupName(parcel->getGroupID(), group_name);
- childSetLabelArg("GroupCheck", "[GROUP]", LLString(group_name) );
+ childSetLabelArg("GroupCheck", "[GROUP]", group_name );
// Allow list
{
@@ -2503,13 +2478,12 @@ void LLPanelLandAccess::refresh_ui()
void LLPanelLandAccess::refreshNames()
{
LLParcel* parcel = mParcel->getParcel();
- char group_name[DB_GROUP_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- group_name[0] = '\0';
+ std::string group_name;
if(parcel)
{
gCacheName->getGroupName(parcel->getGroupID(), group_name);
}
- childSetLabelArg("GroupCheck", "[GROUP]", LLString(group_name));
+ childSetLabelArg("GroupCheck", "[GROUP]", group_name);
}
@@ -2561,7 +2535,7 @@ void LLPanelLandAccess::onCommitAny(LLUICtrl *ctrl, void *userdata)
BOOL use_access_group = self->childGetValue("GroupCheck").asBoolean();
if (use_access_group)
{
- char group_name[MAX_STRING]; /*Flawfinder: ignore*/
+ std::string group_name;
if (!gCacheName->getGroupName(parcel->getGroupID(), group_name))
{
use_access_group = FALSE;
@@ -2738,35 +2712,35 @@ void LLPanelLandCovenant::refresh()
LLViewerRegion* region = gParcelMgr->getSelectionRegion();
if(!region) return;
- LLTextBox* region_name = (LLTextBox*)getChildByName("region_name_text");
+ LLTextBox* region_name = getChild<LLTextBox>("region_name_text");
if (region_name)
{
region_name->setText(region->getName());
}
- LLTextBox* resellable_clause = (LLTextBox*)getChildByName("resellable_clause");
+ LLTextBox* resellable_clause = getChild<LLTextBox>("resellable_clause");
if (resellable_clause)
{
if (region->getRegionFlags() & REGION_FLAGS_BLOCK_LAND_RESELL)
{
- resellable_clause->setText(childGetText("can_not_resell"));
+ resellable_clause->setText(getString("can_not_resell"));
}
else
{
- resellable_clause->setText(childGetText("can_resell"));
+ resellable_clause->setText(getString("can_resell"));
}
}
- LLTextBox* changeable_clause = (LLTextBox*)getChildByName("changeable_clause");
+ LLTextBox* changeable_clause = getChild<LLTextBox>("changeable_clause");
if (changeable_clause)
{
if (region->getRegionFlags() & REGION_FLAGS_ALLOW_PARCEL_CHANGES)
{
- changeable_clause->setText(childGetText("can_change"));
+ changeable_clause->setText(getString("can_change"));
}
else
{
- changeable_clause->setText(childGetText("can_not_change"));
+ changeable_clause->setText(getString("can_not_change"));
}
}
@@ -2785,7 +2759,7 @@ void LLPanelLandCovenant::updateCovenantText(const std::string &string)
LLPanelLandCovenant* self = LLFloaterLand::getCurrentPanelLandCovenant();
if (self)
{
- LLViewerTextEditor* editor = (LLViewerTextEditor*)self->getChildByName("covenant_editor");
+ LLViewerTextEditor* editor = self->getChild<LLViewerTextEditor>("covenant_editor");
if (editor)
{
editor->setHandleEditKeysDirectly(TRUE);
@@ -2800,7 +2774,7 @@ void LLPanelLandCovenant::updateEstateName(const std::string& name)
LLPanelLandCovenant* self = LLFloaterLand::getCurrentPanelLandCovenant();
if (self)
{
- LLTextBox* editor = (LLTextBox*)self->getChildByName("estate_name_text");
+ LLTextBox* editor = self->getChild<LLTextBox>("estate_name_text");
if (editor) editor->setText(name);
}
}
@@ -2811,7 +2785,7 @@ void LLPanelLandCovenant::updateLastModified(const std::string& text)
LLPanelLandCovenant* self = LLFloaterLand::getCurrentPanelLandCovenant();
if (self)
{
- LLTextBox* editor = (LLTextBox*)self->getChildByName("covenant_timestamp_text");
+ LLTextBox* editor = self->getChild<LLTextBox>("covenant_timestamp_text");
if (editor) editor->setText(text);
}
}
@@ -2822,7 +2796,7 @@ void LLPanelLandCovenant::updateEstateOwnerName(const std::string& name)
LLPanelLandCovenant* self = LLFloaterLand::getCurrentPanelLandCovenant();
if (self)
{
- LLTextBox* editor = (LLTextBox*)self->getChildByName("estate_owner_text");
+ LLTextBox* editor = self->getChild<LLTextBox>("estate_owner_text");
if (editor) editor->setText(name);
}
}
diff --git a/indra/newview/llfloaterland.h b/indra/newview/llfloaterland.h
index e504e27f21..38d58fabfe 100644
--- a/indra/newview/llfloaterland.h
+++ b/indra/newview/llfloaterland.h
@@ -68,8 +68,9 @@ class LLPanelLandRenters;
class LLPanelLandCovenant;
class LLFloaterLand
-: public LLFloater, public LLUISingleton<LLFloaterLand>
+: public LLFloater, public LLUISingleton<LLFloaterLand, VisibilityPolicy<LLFloater> >
{
+ friend class LLUISingleton<LLFloaterLand, VisibilityPolicy<LLFloater> >;
public:
static void refreshAll();
@@ -82,7 +83,6 @@ public:
virtual BOOL postBuild();
protected:
- friend class LLUISingleton<LLFloaterLand>;
// Does its own instance management, so clients not allowed
// to allocate or destroy.
@@ -113,7 +113,7 @@ protected:
LLPanelLandAccess* mPanelAccess;
LLPanelLandCovenant* mPanelCovenant;
- LLHandle<LLParcelSelection> mParcel;
+ LLSafeHandle<LLParcelSelection> mParcel;
public:
// When closing the dialog, we want to deselect the land. But when
@@ -128,7 +128,7 @@ class LLPanelLandGeneral
: public LLPanel
{
public:
- LLPanelLandGeneral(LLHandle<LLParcelSelection>& parcelp);
+ LLPanelLandGeneral(LLSafeHandle<LLParcelSelection>& parcelp);
virtual ~LLPanelLandGeneral();
void refresh();
void refreshNames();
@@ -220,16 +220,16 @@ protected:
LLButton* mBtnBuyPass;
LLButton* mBtnStartAuction;
- LLHandle<LLParcelSelection>& mParcel;
+ LLSafeHandle<LLParcelSelection>& mParcel;
- static LLViewHandle sBuyPassDialogHandle;
+ static LLHandle<LLFloater> sBuyPassDialogHandle;
};
class LLPanelLandObjects
: public LLPanel
{
public:
- LLPanelLandObjects(LLHandle<LLParcelSelection>& parcelp);
+ LLPanelLandObjects(LLSafeHandle<LLParcelSelection>& parcelp);
virtual ~LLPanelLandObjects();
void refresh();
virtual void draw();
@@ -292,7 +292,7 @@ protected:
S32 mSelectedCount;
BOOL mSelectedIsGroup;
- LLHandle<LLParcelSelection>& mParcel;
+ LLSafeHandle<LLParcelSelection>& mParcel;
};
@@ -300,7 +300,7 @@ class LLPanelLandOptions
: public LLPanel
{
public:
- LLPanelLandOptions(LLHandle<LLParcelSelection>& parcelp);
+ LLPanelLandOptions(LLSafeHandle<LLParcelSelection>& parcelp);
virtual ~LLPanelLandOptions();
void refresh();
@@ -339,7 +339,7 @@ protected:
LLCheckBoxCtrl *mPushRestrictionCtrl;
LLButton *mPublishHelpButton;
- LLHandle<LLParcelSelection>& mParcel;
+ LLSafeHandle<LLParcelSelection>& mParcel;
};
@@ -347,7 +347,7 @@ class LLPanelLandAccess
: public LLPanel
{
public:
- LLPanelLandAccess(LLHandle<LLParcelSelection>& parcelp);
+ LLPanelLandAccess(LLSafeHandle<LLParcelSelection>& parcelp);
virtual ~LLPanelLandAccess();
void refresh();
void refresh_ui();
@@ -369,7 +369,7 @@ protected:
LLNameListCtrl* mListAccess;
LLNameListCtrl* mListBanned;
- LLHandle<LLParcelSelection>& mParcel;
+ LLSafeHandle<LLParcelSelection>& mParcel;
};
@@ -377,7 +377,7 @@ class LLPanelLandCovenant
: public LLPanel
{
public:
- LLPanelLandCovenant(LLHandle<LLParcelSelection>& parcelp);
+ LLPanelLandCovenant(LLSafeHandle<LLParcelSelection>& parcelp);
virtual ~LLPanelLandCovenant();
virtual BOOL postBuild();
void refresh();
@@ -387,7 +387,7 @@ public:
static void updateEstateOwnerName(const std::string& name);
protected:
- LLHandle<LLParcelSelection>& mParcel;
+ LLSafeHandle<LLParcelSelection>& mParcel;
};
#endif
diff --git a/indra/newview/llfloatermap.cpp b/indra/newview/llfloatermap.cpp
index ef628be471..4097abc22d 100644
--- a/indra/newview/llfloatermap.cpp
+++ b/indra/newview/llfloatermap.cpp
@@ -128,7 +128,7 @@ LLFloaterMap::LLFloaterMap(const std::string& name)
TRUE) // close button
{
const S32 LEFT = LLPANEL_BORDER_WIDTH;
- const S32 TOP = mRect.getHeight();
+ const S32 TOP = getRect().getHeight();
S32 y = 0;
@@ -136,7 +136,7 @@ LLFloaterMap::LLFloaterMap(const std::string& name)
LLRect map_rect(
LEFT,
TOP - LLPANEL_BORDER_WIDTH,
- mRect.getWidth() - LLPANEL_BORDER_WIDTH,
+ getRect().getWidth() - LLPANEL_BORDER_WIDTH,
y );
LLColor4 bg_color = gColors.getColor( "NetMapBackgroundColor" );
mMap = new LLNetMap("Net Map", map_rect, bg_color);
@@ -144,8 +144,7 @@ LLFloaterMap::LLFloaterMap(const std::string& name)
addChildAtEnd(mMap);
// Get the drag handle all the way in back
- removeChild(mDragHandle);
- addChildAtEnd(mDragHandle);
+ sendChildToBack(getDragHandle());
setIsChrome(TRUE);
}
@@ -191,14 +190,14 @@ void LLFloaterMap::draw()
if( gAgent.cameraMouselook())
{
setMouseOpaque(FALSE);
- mDragHandle->setMouseOpaque(FALSE);
+ getDragHandle()->setMouseOpaque(FALSE);
drawChild(mMap);
}
else
{
setMouseOpaque(TRUE);
- mDragHandle->setMouseOpaque(TRUE);
+ getDragHandle()->setMouseOpaque(TRUE);
LLFloater::draw();
}
diff --git a/indra/newview/llfloaternamedesc.cpp b/indra/newview/llfloaternamedesc.cpp
index d4c9478fdf..1cac8fd4c5 100644
--- a/indra/newview/llfloaternamedesc.cpp
+++ b/indra/newview/llfloaternamedesc.cpp
@@ -106,10 +106,10 @@ BOOL LLFloaterNameDesc::postBuild()
setTitle(mFilename);
- centerWindow();
+ centerWithin(gViewerWindow->getRootView()->getRect());
- S32 line_width = mRect.getWidth() - 2 * PREVIEW_HPAD;
- S32 y = mRect.getHeight() - PREVIEW_LINE_HEIGHT;
+ S32 line_width = getRect().getWidth() - 2 * PREVIEW_HPAD;
+ S32 y = getRect().getHeight() - PREVIEW_LINE_HEIGHT;
r.setLeftTopAndSize( PREVIEW_HPAD, y, line_width, PREVIEW_LINE_HEIGHT );
y -= PREVIEW_LINE_HEIGHT;
@@ -158,19 +158,6 @@ LLFloaterNameDesc::~LLFloaterNameDesc()
gFocusMgr.releaseFocusIfNeeded( this ); // calls onCommit()
}
-//-----------------------------------------------------------------------------
-// centerWindow()
-//-----------------------------------------------------------------------------
-void LLFloaterNameDesc::centerWindow()
-{
- LLRect window_rect = gViewerWindow->getRootView()->getRect();
-
- S32 dialog_left = window_rect.mLeft + (window_rect.getWidth() - mRect.getWidth()) / 2;
- S32 dialog_bottom = window_rect.mBottom + (window_rect.getHeight() - mRect.getHeight()) / 2;
-
- translate( dialog_left - mRect.mLeft, dialog_bottom - mRect.mBottom );
-}
-
// Sub-classes should override this function if they allow editing
//-----------------------------------------------------------------------------
// onCommit()
diff --git a/indra/newview/llfloaternamedesc.h b/indra/newview/llfloaternamedesc.h
index 2b0ec9b78a..8c968329c2 100644
--- a/indra/newview/llfloaternamedesc.h
+++ b/indra/newview/llfloaternamedesc.h
@@ -50,7 +50,6 @@ public:
static void doCommit(class LLUICtrl *, void* userdata);
protected:
virtual void onCommit();
- virtual void centerWindow();
protected:
BOOL mIsAudio;
diff --git a/indra/newview/llfloateropenobject.h b/indra/newview/llfloateropenobject.h
index cd656bccaa..76d9291d47 100644
--- a/indra/newview/llfloateropenobject.h
+++ b/indra/newview/llfloateropenobject.h
@@ -73,7 +73,7 @@ protected:
static LLFloaterOpenObject* sInstance;
LLPanelInventory* mPanelInventory;
- LLHandle<LLObjectSelection> mObjectSelection;
+ LLSafeHandle<LLObjectSelection> mObjectSelection;
BOOL mDirty;
};
diff --git a/indra/newview/llfloaterpostcard.cpp b/indra/newview/llfloaterpostcard.cpp
index 1f5ebec684..044c8c9d90 100644
--- a/indra/newview/llfloaterpostcard.cpp
+++ b/indra/newview/llfloaterpostcard.cpp
@@ -157,9 +157,9 @@ void LLFloaterPostcard::draw()
LLGLSUIDefault gls_ui;
LLFloater::draw();
- if(getVisible() && !mMinimized && mViewerImage.notNull() && mJPEGImage.notNull())
+ if(getVisible() && !isMinimized() && mViewerImage.notNull() && mJPEGImage.notNull())
{
- LLRect rect(mRect);
+ LLRect rect(getRect());
// first set the max extents of our preview
rect.translate(-rect.mLeft, -rect.mBottom);
@@ -352,14 +352,14 @@ void LLFloaterPostcard::missingSubjMsgAlertCallback(S32 option, void* data)
if((self->childGetValue("subject_form").asString()).empty())
{
// Stuff the subject back into the form.
- self->childSetValue("subject_form", self->childGetText("default_subject"));
+ self->childSetValue("subject_form", self->getString("default_subject"));
}
if(!self->mHasFirstMsgFocus)
{
// The user never switched focus to the messagee window.
// Using the default string.
- self->childSetValue("msg_form", self->childGetText("default_message"));
+ self->childSetValue("msg_form", self->getString("default_message"));
}
self->sendPostcard();
diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp
index 060952667b..cac2d0a0b6 100644
--- a/indra/newview/llfloaterpreference.cpp
+++ b/indra/newview/llfloaterpreference.cpp
@@ -127,7 +127,7 @@ S32 pref_min_height()
}
-LLPreferenceCore::LLPreferenceCore(LLTabContainerCommon* tab_container, LLButton * default_btn) :
+LLPreferenceCore::LLPreferenceCore(LLTabContainer* tab_container, LLButton * default_btn) :
mTabContainer(tab_container),
mGeneralPanel(NULL),
mInputPanel(NULL),
@@ -314,7 +314,7 @@ void LLPreferenceCore::cancel()
// static
void LLPreferenceCore::onTabChanged(void* user_data, bool from_click)
{
- LLTabContainerCommon* self = (LLTabContainerCommon*)user_data;
+ LLTabContainer* self = (LLTabContainer*)user_data;
gSavedSettings.setS32("LastPrefTab", self->getCurrentPanelIndex());
}
@@ -363,7 +363,7 @@ BOOL LLFloaterPreference::postBuild()
mPreferenceCore = new LLPreferenceCore(
LLUICtrlFactory::getTabContainerByName(this, "pref core"),
- static_cast<LLButton *>(getChildByName("OK"))
+ getChild<LLButton>("OK")
);
sInstance = this;
diff --git a/indra/newview/llfloaterpreference.h b/indra/newview/llfloaterpreference.h
index bf554766b7..7396467d8c 100644
--- a/indra/newview/llfloaterpreference.h
+++ b/indra/newview/llfloaterpreference.h
@@ -62,13 +62,13 @@ class LLPreferenceCore
{
public:
- LLPreferenceCore(LLTabContainerCommon* tab_container, LLButton * default_btn);
+ LLPreferenceCore(LLTabContainer* tab_container, LLButton * default_btn);
~LLPreferenceCore();
void apply();
void cancel();
- LLTabContainerCommon* getTabContainer() { return mTabContainer; }
+ LLTabContainer* getTabContainer() { return mTabContainer; }
void setPersonalInfo(
const char* visibility,
@@ -78,7 +78,7 @@ public:
static void onTabChanged(void* user_data, bool from_click);
private:
- LLTabContainerCommon *mTabContainer;
+ LLTabContainer *mTabContainer;
LLPanelGeneral *mGeneralPanel;
LLPanelInput *mInputPanel;
LLPanelNetwork *mNetworkPanel;
diff --git a/indra/newview/llfloaterproperties.cpp b/indra/newview/llfloaterproperties.cpp
index 82f72103f7..ace3eeac66 100644
--- a/indra/newview/llfloaterproperties.cpp
+++ b/indra/newview/llfloaterproperties.cpp
@@ -303,18 +303,13 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
//////////////////
// CREATOR NAME //
//////////////////
- char first_name[DB_FIRST_NAME_BUF_SIZE]; /* Flawfinder: ignore */
- char last_name[DB_LAST_NAME_BUF_SIZE]; /* Flawfinder: ignore */
if(!gCacheName) return;
if(!gAgent.getRegion()) return;
if (item->getCreatorUUID().notNull())
{
- gCacheName->getName(item->getCreatorUUID(), first_name, last_name);
- LLString name(first_name);
- name.append(1, ' ');
- name.append(last_name);
-
+ std::string name;
+ gCacheName->getFullName(item->getCreatorUUID(), name);
childSetEnabled("BtnCreator",TRUE);
childSetEnabled("LabelCreatorTitle",TRUE);
childSetEnabled("LabelCreatorName",TRUE);
@@ -325,7 +320,7 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
childSetEnabled("BtnCreator",FALSE);
childSetEnabled("LabelCreatorTitle",FALSE);
childSetEnabled("LabelCreatorName",FALSE);
- childSetText("LabelCreatorName",childGetText("unknown"));
+ childSetText("LabelCreatorName",getString("unknown"));
}
////////////////
@@ -336,16 +331,11 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
LLString name;
if (perm.isGroupOwned())
{
- char group_name[DB_GROUP_NAME_BUF_SIZE]; /* Flawfinder: ignore */
- gCacheName->getGroupName(perm.getGroup(), group_name);
- name.assign(group_name);
+ gCacheName->getGroupName(perm.getGroup(), name);
}
else
{
- gCacheName->getName(perm.getOwner(), first_name, last_name);
- name.assign(first_name);
- name.append(1, ' ');
- name.append(last_name);
+ gCacheName->getFullName(perm.getOwner(), name);
}
childSetEnabled("BtnOwner",TRUE);
childSetEnabled("LabelOwnerTitle",TRUE);
@@ -357,7 +347,7 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
childSetEnabled("BtnOwner",FALSE);
childSetEnabled("LabelOwnerTitle",FALSE);
childSetEnabled("LabelOwnerName",FALSE);
- childSetText("LabelOwnerName",childGetText("public"));
+ childSetText("LabelOwnerName",getString("public"));
}
//////////////////
@@ -368,7 +358,7 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
time_t time_utc = (time_t)item->getCreationDate();
if (0 == time_utc)
{
- childSetText("LabelAcquiredDate",childGetText("unknown"));
+ childSetText("LabelAcquiredDate",getString("unknown"));
}
else
{
@@ -380,11 +370,11 @@ void LLFloaterProperties::refreshFromItem(LLInventoryItem* item)
///////////////////////
if(can_agent_manipulate)
{
- childSetText("OwnerLabel",childGetText("you_can"));
+ childSetText("OwnerLabel",getString("you_can"));
}
else
{
- childSetText("OwnerLabel",childGetText("owner_can"));
+ childSetText("OwnerLabel",getString("owner_can"));
}
U32 base_mask = perm.getMaskBase();
diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp
index c3ded7de4f..4a3b2192c0 100644
--- a/indra/newview/llfloaterregioninfo.cpp
+++ b/indra/newview/llfloaterregioninfo.cpp
@@ -214,7 +214,6 @@ BOOL LLFloaterRegionInfo::postBuild()
LLFloaterRegionInfo::~LLFloaterRegionInfo()
{
- sInstance = NULL;
}
void LLFloaterRegionInfo::onOpen()
@@ -248,14 +247,17 @@ void LLFloaterRegionInfo::requestRegionInfo()
void LLFloaterRegionInfo::processEstateOwnerRequest(LLMessageSystem* msg,void**)
{
static LLDispatcher dispatch;
- if(!sInstance) return;
-
+ if(!findInstance())
+ {
+ return;
+ }
+
if (!estate_dispatch_initialized)
{
LLPanelEstateInfo::initDispatch(dispatch);
}
- LLTabContainerCommon* tab = LLUICtrlFactory::getTabContainerByName(sInstance, "region_panels");
+ LLTabContainer* tab = LLUICtrlFactory::getTabContainerByName(findInstance(), "region_panels");
if (!tab) return;
LLPanelEstateInfo* panel = (LLPanelEstateInfo*)LLUICtrlFactory::getPanelByName(tab, "Estate");
@@ -283,8 +285,12 @@ void LLFloaterRegionInfo::processRegionInfo(LLMessageSystem* msg)
LLPanel* panel;
llinfos << "LLFloaterRegionInfo::processRegionInfo" << llendl;
- if(!sInstance) return;
- LLTabContainerCommon* tab = LLUICtrlFactory::getTabContainerByName(sInstance, "region_panels");
+ if(!findInstance())
+ {
+ return;
+ }
+
+ LLTabContainer* tab = LLUICtrlFactory::getTabContainerByName(findInstance(), "region_panels");
if(!tab) return;
// extract message
@@ -361,7 +367,7 @@ void LLFloaterRegionInfo::processRegionInfo(LLMessageSystem* msg)
panel->childSetValue("sun_hour_slider", LLSD(sun_hour));
panel->childSetEnabled("sun_hour_slider", allow_modify && !use_estate_sun);
- sInstance->refreshFromRegion( gAgent.getRegion() );
+ getInstance()->refreshFromRegion( gAgent.getRegion() );
}
// static
@@ -369,7 +375,7 @@ LLPanelEstateInfo* LLFloaterRegionInfo::getPanelEstate()
{
LLFloaterRegionInfo* floater = LLFloaterRegionInfo::getInstance();
if (!floater) return NULL;
- LLTabContainerCommon* tab = LLUICtrlFactory::getTabContainerByName(floater, "region_panels");
+ LLTabContainer* tab = LLUICtrlFactory::getTabContainerByName(floater, "region_panels");
if (!tab) return NULL;
LLPanelEstateInfo* panel = (LLPanelEstateInfo*)LLUICtrlFactory::getPanelByName(tab,"Estate");
return panel;
@@ -380,7 +386,7 @@ LLPanelEstateCovenant* LLFloaterRegionInfo::getPanelCovenant()
{
LLFloaterRegionInfo* floater = LLFloaterRegionInfo::getInstance();
if (!floater) return NULL;
- LLTabContainerCommon* tab = LLUICtrlFactory::getTabContainerByName(floater, "region_panels");
+ LLTabContainer* tab = LLUICtrlFactory::getTabContainerByName(floater, "region_panels");
if (!tab) return NULL;
LLPanelEstateCovenant* panel = (LLPanelEstateCovenant*)LLUICtrlFactory::getPanelByName(tab, "Covenant");
return panel;
@@ -1249,7 +1255,7 @@ BOOL LLPanelRegionTerrainInfo::sendUpdate()
LLFloaterRegionInfo* floater = LLFloaterRegionInfo::getInstance();
if (!floater) return true;
- LLTabContainerCommon* tab = LLUICtrlFactory::getTabContainerByName(floater, "region_panels");
+ LLTabContainer* tab = LLUICtrlFactory::getTabContainerByName(floater, "region_panels");
if (!tab) return true;
LLPanelEstateInfo* panel = (LLPanelEstateInfo*)LLUICtrlFactory::getPanelByName(tab, "Estate");
@@ -2543,35 +2549,35 @@ LLPanelEstateCovenant::LLPanelEstateCovenant()
// virtual
bool LLPanelEstateCovenant::refreshFromRegion(LLViewerRegion* region)
{
- LLTextBox* region_name = (LLTextBox*)getChildByName("region_name_text");
+ LLTextBox* region_name = getChild<LLTextBox>("region_name_text");
if (region_name)
{
region_name->setText(region->getName());
}
- LLTextBox* resellable_clause = (LLTextBox*)getChildByName("resellable_clause");
+ LLTextBox* resellable_clause = getChild<LLTextBox>("resellable_clause");
if (resellable_clause)
{
if (region->getRegionFlags() & REGION_FLAGS_BLOCK_LAND_RESELL)
{
- resellable_clause->setText(childGetText("can_not_resell"));
+ resellable_clause->setText(getString("can_not_resell"));
}
else
{
- resellable_clause->setText(childGetText("can_resell"));
+ resellable_clause->setText(getString("can_resell"));
}
}
- LLTextBox* changeable_clause = (LLTextBox*)getChildByName("changeable_clause");
+ LLTextBox* changeable_clause = getChild<LLTextBox>("changeable_clause");
if (changeable_clause)
{
if (region->getRegionFlags() & REGION_FLAGS_ALLOW_PARCEL_CHANGES)
{
- changeable_clause->setText(childGetText("can_change"));
+ changeable_clause->setText(getString("can_change"));
}
else
{
- changeable_clause->setText(childGetText("can_not_change"));
+ changeable_clause->setText(getString("can_not_change"));
}
}
@@ -2597,12 +2603,12 @@ bool LLPanelEstateCovenant::estateUpdate(LLMessageSystem* msg)
BOOL LLPanelEstateCovenant::postBuild()
{
initHelpBtn("covenant_help", "HelpEstateCovenant");
- mEstateNameText = (LLTextBox*)getChildByName("estate_name_text");
- mEstateOwnerText = (LLTextBox*)getChildByName("estate_owner_text");
- mLastModifiedText = (LLTextBox*)getChildByName("covenant_timestamp_text");
- mEditor = (LLViewerTextEditor*)getChildByName("covenant_editor");
+ mEstateNameText = getChild<LLTextBox>("estate_name_text");
+ mEstateOwnerText = getChild<LLTextBox>("estate_owner_text");
+ mLastModifiedText = getChild<LLTextBox>("covenant_timestamp_text");
+ mEditor = getChild<LLViewerTextEditor>("covenant_editor");
if (mEditor) mEditor->setHandleEditKeysDirectly(TRUE);
- LLButton* reset_button = (LLButton*)getChildByName("reset_covenant");
+ LLButton* reset_button = getChild<LLButton>("reset_covenant");
reset_button->setEnabled(gAgent.canManageEstate());
reset_button->setClickedCallback(LLPanelEstateCovenant::resetCovenantID, NULL);
diff --git a/indra/newview/llfloaterregioninfo.h b/indra/newview/llfloaterregioninfo.h
index 96cf8af667..cdda7e532c 100644
--- a/indra/newview/llfloaterregioninfo.h
+++ b/indra/newview/llfloaterregioninfo.h
@@ -58,9 +58,9 @@ class LLPanelRegionTerrainInfo;
class LLPanelEstateInfo;
class LLPanelEstateCovenant;
-class LLFloaterRegionInfo : public LLFloater, public LLUISingleton<LLFloaterRegionInfo>
+class LLFloaterRegionInfo : public LLFloater, public LLFloaterSingleton<LLFloaterRegionInfo>
{
- friend class LLUISingleton<LLFloaterRegionInfo>;
+ friend class LLUISingleton<LLFloaterRegionInfo, VisibilityPolicy<LLFloater> >;
public:
~LLFloaterRegionInfo();
@@ -90,7 +90,7 @@ protected:
void refreshFromRegion(LLViewerRegion* region);
// member data
- LLTabContainerCommon* mTab;
+ LLTabContainer* mTab;
typedef std::vector<LLPanelRegionInfo*> info_panels_t;
info_panels_t mInfoPanels;
//static S32 sRequestSerial; // serial # of last EstateOwnerRequest
diff --git a/indra/newview/llfloaterreporter.cpp b/indra/newview/llfloaterreporter.cpp
index 2da9ed4e14..63d7d7b958 100644
--- a/indra/newview/llfloaterreporter.cpp
+++ b/indra/newview/llfloaterreporter.cpp
@@ -903,7 +903,7 @@ void LLFloaterReporter::takeScreenshot()
gImageList.addImage(image_in_list);
// the texture picker then uses that texture
- LLTexturePicker* texture = LLUICtrlFactory::getTexturePickerByName(this, "screenshot");
+ LLTexturePicker* texture = getChild<LLTextureCtrl>("screenshot");
if (texture)
{
texture->setImageAssetID(mResourceDatap->mAssetInfo.mUuid);
diff --git a/indra/newview/llfloaterscriptdebug.cpp b/indra/newview/llfloaterscriptdebug.cpp
index 80a686d162..3a17e232b6 100644
--- a/indra/newview/llfloaterscriptdebug.cpp
+++ b/indra/newview/llfloaterscriptdebug.cpp
@@ -163,14 +163,14 @@ LLFloaterScriptDebugOutput::LLFloaterScriptDebugOutput()
LLFloaterScriptDebugOutput::LLFloaterScriptDebugOutput(const LLUUID& object_id)
: LLFloater("script instance floater", LLRect(0, 200, 200, 0), "Script", TRUE), mObjectID(object_id)
{
- S32 y = mRect.getHeight() - LLFLOATER_HEADER_SIZE - LLFLOATER_VPAD;
+ S32 y = getRect().getHeight() - LLFLOATER_HEADER_SIZE - LLFLOATER_VPAD;
S32 x = LLFLOATER_HPAD;
// History editor
// Give it a border on the top
LLRect history_editor_rect(
x,
y,
- mRect.getWidth() - LLFLOATER_HPAD,
+ getRect().getWidth() - LLFLOATER_HPAD,
LLFLOATER_VPAD );
mHistoryEditor = new LLViewerTextEditor( "Chat History Editor",
history_editor_rect, S32_MAX, "", LLFontGL::sSansSerif);
@@ -186,14 +186,14 @@ void LLFloaterScriptDebugOutput::init(const LLString& title, BOOL resizable,
BOOL minimizable, BOOL close_btn)
{
LLFloater::init(title, resizable, min_width, min_height, drag_on_left, minimizable, close_btn);
- S32 y = mRect.getHeight() - LLFLOATER_HEADER_SIZE - LLFLOATER_VPAD;
+ S32 y = getRect().getHeight() - LLFLOATER_HEADER_SIZE - LLFLOATER_VPAD;
S32 x = LLFLOATER_HPAD;
// History editor
// Give it a border on the top
LLRect history_editor_rect(
x,
y,
- mRect.getWidth() - LLFLOATER_HPAD,
+ getRect().getWidth() - LLFLOATER_HPAD,
LLFLOATER_VPAD );
mHistoryEditor = new LLViewerTextEditor( "Chat History Editor",
history_editor_rect, S32_MAX, "", LLFontGL::sSansSerif);
diff --git a/indra/newview/llfloatersellland.cpp b/indra/newview/llfloatersellland.cpp
index ffa1e13bf2..f3d8996b6a 100644
--- a/indra/newview/llfloatersellland.cpp
+++ b/indra/newview/llfloatersellland.cpp
@@ -244,13 +244,7 @@ void LLFloaterSellLandUI::updateParcelInfo()
if(mSellToBuyer)
{
LLString name;
- char firstname[MAX_STRING]; /* Flawfinder: ignore */
- char lastname[MAX_STRING]; /* Flawfinder: ignore */
- gCacheName->getName(mAuthorizedBuyer, firstname, lastname);
- name.assign(firstname);
- name.append(" ");
- name.append(lastname);
-
+ gCacheName->getFullName(mAuthorizedBuyer, name);
childSetText("sell_to_agent", name);
}
}
diff --git a/indra/newview/llfloatersellland.h b/indra/newview/llfloatersellland.h
index 8cada4e579..d8eb5d0a0a 100644
--- a/indra/newview/llfloatersellland.h
+++ b/indra/newview/llfloatersellland.h
@@ -40,7 +40,7 @@ class LLFloaterSellLand
{
public:
static void sellLand(LLViewerRegion* region,
- LLHandle<LLParcelSelection> parcel);
+ LLSafeHandle<LLParcelSelection> parcel);
};
#endif // LL_LLFLOATERSELLLAND_H
diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp
index 31c60d8b2d..d2f3bc7cf5 100644
--- a/indra/newview/llfloatersnapshot.cpp
+++ b/indra/newview/llfloatersnapshot.cpp
@@ -221,7 +221,7 @@ F32 LLSnapshotLivePreview::getImageAspect()
}
F32 image_aspect_ratio = ((F32)mWidth[mCurImageIndex]) / ((F32)mHeight[mCurImageIndex]);
- F32 window_aspect_ratio = ((F32)mRect.getWidth()) / ((F32)mRect.getHeight());
+ F32 window_aspect_ratio = ((F32)getRect().getWidth()) / ((F32)getRect().getHeight());
if (gSavedSettings.getBOOL("KeepAspectForSnapshot"))
{
@@ -262,26 +262,26 @@ void LLSnapshotLivePreview::updateSnapshot(BOOL new_snapshot)
}
LLRect& rect = mImageRect[mCurImageIndex];
- rect.set(0, mRect.getHeight(), mRect.getWidth(), 0);
+ rect.set(0, getRect().getHeight(), getRect().getWidth(), 0);
F32 image_aspect_ratio = ((F32)mWidth[mCurImageIndex]) / ((F32)mHeight[mCurImageIndex]);
- F32 window_aspect_ratio = ((F32)mRect.getWidth()) / ((F32)mRect.getHeight());
+ F32 window_aspect_ratio = ((F32)getRect().getWidth()) / ((F32)getRect().getHeight());
if (gSavedSettings.getBOOL("KeepAspectForSnapshot"))
{
if (image_aspect_ratio > window_aspect_ratio)
{
// trim off top and bottom
- S32 new_height = llround((F32)mRect.getWidth() / image_aspect_ratio);
- rect.mBottom += (mRect.getHeight() - new_height) / 2;
- rect.mTop -= (mRect.getHeight() - new_height) / 2;
+ S32 new_height = llround((F32)getRect().getWidth() / image_aspect_ratio);
+ rect.mBottom += (getRect().getHeight() - new_height) / 2;
+ rect.mTop -= (getRect().getHeight() - new_height) / 2;
}
else if (image_aspect_ratio < window_aspect_ratio)
{
// trim off left and right
- S32 new_width = llround((F32)mRect.getHeight() * image_aspect_ratio);
- rect.mLeft += (mRect.getWidth() - new_width) / 2;
- rect.mRight -= (mRect.getWidth() - new_width) / 2;
+ S32 new_width = llround((F32)getRect().getHeight() * image_aspect_ratio);
+ rect.mLeft += (getRect().getWidth() - new_width) / 2;
+ rect.mRight -= (getRect().getWidth() - new_width) / 2;
}
}
}
@@ -314,7 +314,7 @@ void LLSnapshotLivePreview::draw()
mSnapshotUpToDate)
{
LLColor4 bg_color(0.f, 0.f, 0.3f, 0.4f);
- gl_rect_2d(mRect, bg_color);
+ gl_rect_2d(getRect(), bg_color);
LLRect &rect = mImageRect[mCurImageIndex];
LLRect shadow_rect = mImageRect[mCurImageIndex];
shadow_rect.stretch(BORDER_WIDTH);
@@ -349,7 +349,7 @@ void LLSnapshotLivePreview::draw()
glPopMatrix();
glColor4f(1.f, 1.f, 1.f, mFlashAlpha);
- gl_rect_2d(mRect);
+ gl_rect_2d(getRect());
if (mNeedsFlash)
{
if (mFlashAlpha < 1.f)
@@ -470,7 +470,7 @@ void LLSnapshotLivePreview::draw()
glPushMatrix();
{
LLRect& rect = mImageRect[old_image_index];
- glTranslatef((F32)rect.mLeft, (F32)rect.mBottom - llround(mRect.getHeight() * 2.f * (fall_interp * fall_interp)), 0.f);
+ glTranslatef((F32)rect.mLeft, (F32)rect.mBottom - llround(getRect().getHeight() * 2.f * (fall_interp * fall_interp)), 0.f);
glRotatef(-45.f * fall_interp, 0.f, 0.f, 1.f);
glBegin(GL_QUADS);
{
@@ -497,7 +497,7 @@ void LLSnapshotLivePreview::draw()
/*virtual*/
void LLSnapshotLivePreview::reshape(S32 width, S32 height, BOOL called_from_parent)
{
- LLRect old_rect = mRect;
+ LLRect old_rect = getRect();
LLView::reshape(width, height, called_from_parent);
if (old_rect.getWidth() != width || old_rect.getHeight() != height)
{
@@ -742,7 +742,7 @@ public:
static void updateControls(LLFloaterSnapshot* floater);
static void updateLayout(LLFloaterSnapshot* floater);
- static LLViewHandle sPreviewHandle;
+ static LLHandle<LLView> sPreviewHandle;
private:
static LLSnapshotLivePreview::ESnapshotType getTypeIndex(LLFloaterSnapshot* floater);
@@ -757,12 +757,12 @@ public:
};
// static
-LLViewHandle LLFloaterSnapshot::Impl::sPreviewHandle;
+LLHandle<LLView> LLFloaterSnapshot::Impl::sPreviewHandle;
// static
LLSnapshotLivePreview* LLFloaterSnapshot::Impl::getPreviewView(LLFloaterSnapshot *floater)
{
- LLSnapshotLivePreview* previewp = (LLSnapshotLivePreview*)LLView::getViewByHandle(sPreviewHandle);
+ LLSnapshotLivePreview* previewp = (LLSnapshotLivePreview*)sPreviewHandle.get();
return previewp;
}
@@ -817,7 +817,7 @@ void LLFloaterSnapshot::Impl::updateLayout(LLFloaterSnapshot* floaterp)
floaterp->getParent()->setMouseOpaque(TRUE);
// shrink to smaller layout
- floaterp->reshape(floaterp->mRect.getWidth(), 410);
+ floaterp->reshape(floaterp->getRect().getWidth(), 410);
// can see and interact with fullscreen preview now
if (previewp)
@@ -850,7 +850,7 @@ void LLFloaterSnapshot::Impl::updateLayout(LLFloaterSnapshot* floaterp)
else // turning off freeze frame mode
{
floaterp->getParent()->setMouseOpaque(FALSE);
- floaterp->reshape(floaterp->mRect.getWidth(), 510);
+ floaterp->reshape(floaterp->getRect().getWidth(), 510);
if (previewp)
{
previewp->setVisible(FALSE);
@@ -1242,8 +1242,8 @@ LLFloaterSnapshot::~LLFloaterSnapshot()
{
if (sInstance == this)
{
- delete LLView::getViewByHandle(Impl::sPreviewHandle);
- Impl::sPreviewHandle = LLViewHandle::sDeadHandle;
+ LLView::deleteViewByHandle(Impl::sPreviewHandle);
+ Impl::sPreviewHandle = LLHandle<LLView>();
sInstance = NULL;
}
@@ -1315,7 +1315,7 @@ BOOL LLFloaterSnapshot::postBuild()
sInstance->getRootView()->addChild(previewp);
sInstance->getRootView()->addChild(gSnapshotFloaterView);
- Impl::sPreviewHandle = previewp->mViewHandle;
+ Impl::sPreviewHandle = previewp->getHandle();
impl.updateControls(this);
@@ -1332,7 +1332,7 @@ void LLFloaterSnapshot::draw()
return;
}
- if(getVisible() && !mMinimized)
+ if(getVisible() && !isMinimized())
{
if (previewp && previewp->getDataSize() > 0)
{
@@ -1359,7 +1359,7 @@ void LLFloaterSnapshot::draw()
}
else
{
- childSetTextArg("file_size_label", "[SIZE]", childGetText("unknwon"));
+ childSetTextArg("file_size_label", "[SIZE]", getString("unknown"));
childSetColor("file_size_label", gColors.getColor( "LabelTextColor" ));
}
childSetEnabled("upload_btn", previewp->getSnapshotUpToDate());
@@ -1386,7 +1386,7 @@ void LLFloaterSnapshot::draw()
{
F32 aspect = previewp->getImageAspect();
// UI size for thumbnail
- S32 max_width = mRect.getWidth() - 20;
+ S32 max_width = getRect().getWidth() - 20;
S32 max_height = 90;
S32 img_render_width = 0;
@@ -1414,7 +1414,7 @@ void LLFloaterSnapshot::draw()
glScalef(llmin(1.f, (F32)image_width / (F32)previewp->getCurrentImage()->getWidth()), llmin(1.f, (F32)image_height / (F32)previewp->getCurrentImage()->getHeight()), 1.f);
}
glMatrixMode(GL_MODELVIEW);
- gl_draw_scaled_image((mRect.getWidth() - img_render_width) / 2, 35 + (max_height - img_render_height) / 2, img_render_width, img_render_height, previewp->getCurrentImage(), LLColor4::white);
+ gl_draw_scaled_image((getRect().getWidth() - img_render_width) / 2, 35 + (max_height - img_render_height) / 2, img_render_width, img_render_height, previewp->getCurrentImage(), LLColor4::white);
}
glMatrixMode(GL_TEXTURE);
glPopMatrix();
diff --git a/indra/newview/llfloatertelehub.h b/indra/newview/llfloatertelehub.h
index 5b9821ebe9..dd7631f6dd 100644
--- a/indra/newview/llfloatertelehub.h
+++ b/indra/newview/llfloatertelehub.h
@@ -75,7 +75,7 @@ private:
S32 mNumSpawn;
LLVector3 mSpawnPointPos[MAX_SPAWNPOINTS_PER_TELEHUB];
- LLHandle<LLObjectSelection> mObjectSelection;
+ LLSafeHandle<LLObjectSelection> mObjectSelection;
static LLFloaterTelehub* sInstance;
};
diff --git a/indra/newview/llfloatertools.cpp b/indra/newview/llfloatertools.cpp
index d03ce373cc..8879be2e51 100644
--- a/indra/newview/llfloatertools.cpp
+++ b/indra/newview/llfloatertools.cpp
@@ -181,7 +181,7 @@ BOOL LLFloaterTools::postBuild()
// make sounds on visibility changes.
setSoundFlags(LLView::SILENT);
- mDragHandle->setEnabled( !gSavedSettings.getBOOL("ToolboxAutoMove") );
+ getDragHandle()->setEnabled( !gSavedSettings.getBOOL("ToolboxAutoMove") );
LLRect rect;
mBtnFocus = LLUICtrlFactory::getButtonByName(this,"button focus");//btn;
@@ -317,14 +317,14 @@ BOOL LLFloaterTools::postBuild()
mTab->selectFirstTab();
}
- mStatusText["rotate"] = childGetText("status_rotate");
- mStatusText["scale"] = childGetText("status_scale");
- mStatusText["move"] = childGetText("status_move");
- mStatusText["modifyland"] = childGetText("status_modifyland");
- mStatusText["camera"] = childGetText("status_camera");
- mStatusText["grab"] = childGetText("status_grab");
- mStatusText["place"] = childGetText("status_place");
- mStatusText["selectland"] = childGetText("status_selectland");
+ mStatusText["rotate"] = getString("status_rotate");
+ mStatusText["scale"] = getString("status_scale");
+ mStatusText["move"] = getString("status_move");
+ mStatusText["modifyland"] = getString("status_modifyland");
+ mStatusText["camera"] = getString("status_camera");
+ mStatusText["grab"] = getString("status_grab");
+ mStatusText["place"] = getString("status_place");
+ mStatusText["selectland"] = getString("status_selectland");
return TRUE;
}
@@ -396,7 +396,7 @@ LLFloaterTools::LLFloaterTools()
mTabLand(NULL),
mDirty(TRUE)
{
- mAutoFocus = FALSE;
+ setAutoFocus(FALSE);
LLCallbackMap::map_t factory_map;
factory_map["General"] = LLCallbackMap(createPanelPermissions, this);//LLPanelPermissions
factory_map["Object"] = LLCallbackMap(createPanelObject, this);//LLPanelObject
@@ -442,7 +442,7 @@ void LLFloaterTools::setStatusText(const std::string& text)
void LLFloaterTools::refresh()
{
- const S32 INFO_WIDTH = mRect.getWidth();
+ const S32 INFO_WIDTH = getRect().getWidth();
const S32 INFO_HEIGHT = 384;
LLRect object_info_rect(0, 0, INFO_WIDTH, -INFO_HEIGHT);
BOOL all_volume = gSelectMgr->selectionAllPCode( LL_PCODE_VOLUME );
@@ -611,19 +611,19 @@ void LLFloaterTools::updatePopup(LLCoordGL center, MASK mask)
switch (mObjectSelection->getSelectType())
{
case SELECT_TYPE_HUD:
- mComboGridMode->add(childGetText("grid_screen_text"));
- mComboGridMode->add(childGetText("grid_local_text"));
- //mComboGridMode->add(childGetText("grid_reference_text"));
+ mComboGridMode->add(getString("grid_screen_text"));
+ mComboGridMode->add(getString("grid_local_text"));
+ //mComboGridMode->add(getString("grid_reference_text"));
break;
case SELECT_TYPE_WORLD:
- mComboGridMode->add(childGetText("grid_world_text"));
- mComboGridMode->add(childGetText("grid_local_text"));
- mComboGridMode->add(childGetText("grid_reference_text"));
+ mComboGridMode->add(getString("grid_world_text"));
+ mComboGridMode->add(getString("grid_local_text"));
+ mComboGridMode->add(getString("grid_reference_text"));
break;
case SELECT_TYPE_ATTACHMENT:
- mComboGridMode->add(childGetText("grid_attachment_text"));
- mComboGridMode->add(childGetText("grid_local_text"));
- mComboGridMode->add(childGetText("grid_reference_text"));
+ mComboGridMode->add(getString("grid_attachment_text"));
+ mComboGridMode->add(getString("grid_local_text"));
+ mComboGridMode->add(getString("grid_reference_text"));
break;
}
@@ -805,12 +805,12 @@ void LLFloaterTools::showMore(BOOL show_more)
if (show_more)
{
- reshape( mRect.getWidth(), mLargeHeight, TRUE);
+ reshape( getRect().getWidth(), mLargeHeight, TRUE);
translate( 0, mSmallHeight - mLargeHeight );
}
else
{
- reshape( mRect.getWidth(), mSmallHeight, TRUE);
+ reshape( getRect().getWidth(), mSmallHeight, TRUE);
translate( 0, mLargeHeight - mSmallHeight );
}
childSetVisible("button less", show_more);
diff --git a/indra/newview/llfloatertools.h b/indra/newview/llfloatertools.h
index f56cdbecb5..a6fdc76d9f 100644
--- a/indra/newview/llfloatertools.h
+++ b/indra/newview/llfloatertools.h
@@ -34,6 +34,7 @@
#include "llfloater.h"
#include "llcoord.h"
+#include "llparcelselection.h"
class LLButton;
class LLTextBox;
@@ -50,8 +51,7 @@ class LLComboBox;
class LLParcelSelection;
class LLObjectSelection;
-typedef LLHandle<LLParcelSelection> LLParcelSelectionHandle;
-typedef LLHandle<LLObjectSelection> LLObjectSelectionHandle;
+typedef LLSafeHandle<LLObjectSelection> LLObjectSelectionHandle;
class LLFloaterTools
: public LLFloater
@@ -174,7 +174,7 @@ public:
std::vector<LLButton*> mButtons;//[ 15 ];
- LLTabContainerCommon *mTab;
+ LLTabContainer *mTab;
LLPanelPermissions *mPanelPermissions;
LLPanelObject *mPanelObject;
LLPanelVolume *mPanelVolume;
diff --git a/indra/newview/llfloatertopobjects.cpp b/indra/newview/llfloatertopobjects.cpp
index 6bbb748a10..593d1f5114 100644
--- a/indra/newview/llfloatertopobjects.cpp
+++ b/indra/newview/llfloatertopobjects.cpp
@@ -207,7 +207,7 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data)
LLSD element;
element["id"] = LLUUID::null;
element["columns"][0]["column"] = "name";
- element["columns"][0]["value"] = childGetText("none_descriptor");
+ element["columns"][0]["value"] = getString("none_descriptor");
element["columns"][0]["font"] = "SANSSERIF";
list->addElement(element);
@@ -219,19 +219,19 @@ void LLFloaterTopObjects::handleReply(LLMessageSystem *msg, void** data)
if (mCurrentMode == STAT_REPORT_TOP_SCRIPTS)
{
- setTitle(childGetText("top_scripts_title"));
- list->setColumnLabel("score", childGetText("scripts_score_label"));
+ setTitle(getString("top_scripts_title"));
+ list->setColumnLabel("score", getString("scripts_score_label"));
- LLUIString format = childGetText("top_scripts_text");
+ LLUIString format = getString("top_scripts_text");
format.setArg("[COUNT]", llformat("%d", total_count));
format.setArg("[TIME]", llformat("%0.1f", mtotalScore));
childSetValue("title_text", LLSD(format));
}
else
{
- setTitle(childGetText("top_colliders_title"));
- list->setColumnLabel("score", childGetText("colliders_score_label"));
- LLUIString format = childGetText("top_colliders_text");
+ setTitle(getString("top_colliders_title"));
+ list->setColumnLabel("score", getString("colliders_score_label"));
+ LLUIString format = getString("top_colliders_text");
format.setArg("[COUNT]", llformat("%d", total_count));
childSetValue("title_text", LLSD(format));
}
diff --git a/indra/newview/llfloatertos.cpp b/indra/newview/llfloatertos.cpp
index bdf583126f..5875c4bef7 100644
--- a/indra/newview/llfloatertos.cpp
+++ b/indra/newview/llfloatertos.cpp
@@ -159,7 +159,7 @@ BOOL LLFloaterTOS::postBuild()
editor->setVisible( FALSE );
};
- LLWebBrowserCtrl* web_browser = LLUICtrlFactory::getWebBrowserCtrlByName(this, "tos_html");
+ LLWebBrowserCtrl* web_browser = getChild<LLWebBrowserCtrl>("tos_html");
if ( web_browser )
{
// start to observe it so we see navigate complete events
@@ -169,7 +169,7 @@ BOOL LLFloaterTOS::postBuild()
};
gResponsePtr = LLIamHere::build( this );
- LLHTTPClient::get( childGetValue( "real_url" ).asString(), gResponsePtr );
+ LLHTTPClient::get( getString( "real_url" ), gResponsePtr );
};
return TRUE;
@@ -180,14 +180,14 @@ void LLFloaterTOS::setSiteIsAlive( bool alive )
// only do this for TOS pages
if ( mType == TOS_TOS )
{
- LLWebBrowserCtrl* web_browser = LLUICtrlFactory::getWebBrowserCtrlByName(this, "tos_html");
+ LLWebBrowserCtrl* web_browser = getChild<LLWebBrowserCtrl>("tos_html");
// if the contents of the site was retrieved
if ( alive )
{
if ( web_browser )
{
// navigate to the "real" page
- web_browser->navigateTo( childGetValue( "real_url" ).asString() );
+ web_browser->navigateTo( getString( "real_url" ) );
};
}
else
@@ -212,7 +212,7 @@ void LLFloaterTOS::setSiteIsAlive( bool alive )
LLFloaterTOS::~LLFloaterTOS()
{
// stop obsaerving events
- LLWebBrowserCtrl* web_browser = LLUICtrlFactory::getWebBrowserCtrlByName(this, "tos_html");
+ LLWebBrowserCtrl* web_browser = getChild<LLWebBrowserCtrl>("tos_html");
if ( web_browser )
{
web_browser->addObserver( this );
diff --git a/indra/newview/llfloaterurldisplay.h b/indra/newview/llfloaterurldisplay.h
index 5ee447391f..307b16fd73 100644
--- a/indra/newview/llfloaterurldisplay.h
+++ b/indra/newview/llfloaterurldisplay.h
@@ -39,7 +39,7 @@ class LLPanelPlace;
class LLSD;
class LLUUID;
-class LLFloaterURLDisplay : public LLFloater, public LLUISingleton<LLFloaterURLDisplay>
+class LLFloaterURLDisplay : public LLFloater, public LLFloaterSingleton<LLFloaterURLDisplay>
{
public:
LLFloaterURLDisplay(const LLSD& sd);
diff --git a/indra/newview/llfloaterurlentry.cpp b/indra/newview/llfloaterurlentry.cpp
index 1ad9e0577c..f121efb6b7 100644
--- a/indra/newview/llfloaterurlentry.cpp
+++ b/indra/newview/llfloaterurlentry.cpp
@@ -27,11 +27,11 @@ static LLFloaterURLEntry* sInstance = NULL;
class LLMediaTypeResponder : public LLHTTPClient::Responder
{
public:
- LLMediaTypeResponder( LLViewHandle parent ) :
+ LLMediaTypeResponder( const LLHandle<LLFloater> parent ) :
mParent( parent )
{}
- LLViewHandle mParent;
+ LLHandle<LLFloater> mParent;
virtual void completedHeader(U32 status, const std::string& reason, const LLSD& content)
@@ -49,8 +49,7 @@ public:
void completeAny(U32 status, const std::string& mime_type)
{
- LLFloaterURLEntry* floater_url_entry =
- (LLFloaterURLEntry*)LLFloater::getFloaterByHandle(mParent);
+ LLFloaterURLEntry* floater_url_entry = (LLFloaterURLEntry*)mParent.get();
if ( floater_url_entry )
floater_url_entry->headerFetchComplete( status, mime_type );
}
@@ -59,7 +58,7 @@ public:
//-----------------------------------------------------------------------------
// LLFloaterURLEntry()
//-----------------------------------------------------------------------------
-LLFloaterURLEntry::LLFloaterURLEntry(LLViewHandle parent)
+LLFloaterURLEntry::LLFloaterURLEntry(LLHandle<LLPanel> parent)
:
LLFloater(),
mPanelLandMediaHandle(parent)
@@ -119,7 +118,7 @@ void LLFloaterURLEntry::buildURLHistory()
void LLFloaterURLEntry::headerFetchComplete(U32 status, const std::string& mime_type)
{
- LLPanelLandMedia* panel_media = (LLPanelLandMedia*)LLPanel::getPanelByHandle(mPanelLandMediaHandle);
+ LLPanelLandMedia* panel_media = (LLPanelLandMedia*)mPanelLandMediaHandle.get();
if (panel_media)
{
// status is ignored for now -- error = "none/none"
@@ -133,7 +132,7 @@ void LLFloaterURLEntry::headerFetchComplete(U32 status, const std::string& mime_
}
// static
-LLViewHandle LLFloaterURLEntry::show(LLViewHandle parent)
+LLHandle<LLFloater> LLFloaterURLEntry::show(LLHandle<LLPanel> parent)
{
if (sInstance)
{
@@ -149,7 +148,7 @@ LLViewHandle LLFloaterURLEntry::show(LLViewHandle parent)
void LLFloaterURLEntry::updateFromLandMediaPanel()
{
- LLPanelLandMedia* panel_media = (LLPanelLandMedia*)LLPanel::getPanelByHandle(mPanelLandMediaHandle);
+ LLPanelLandMedia* panel_media = (LLPanelLandMedia*)mPanelLandMediaHandle.get();
if (panel_media)
{
std::string media_url = panel_media->getMediaURL();
diff --git a/indra/newview/llfloaterurlentry.h b/indra/newview/llfloaterurlentry.h
index 022c1eddd7..95954d82bb 100644
--- a/indra/newview/llfloaterurlentry.h
+++ b/indra/newview/llfloaterurlentry.h
@@ -10,15 +10,17 @@
#define LL_LLFLOATERURLENTRY_H
#include "llfloater.h"
+#include "llpanellandmedia.h"
class LLLineEditor;
+class LLComboBox;
class LLFloaterURLEntry : public LLFloater
{
public:
// Can only be shown by LLPanelLandMedia, and pushes data back into
// that panel via the handle.
- static LLViewHandle show(LLViewHandle panel_land_media_handle);
+ static LLHandle<LLFloater> show(LLHandle<LLPanel> panel_land_media_handle);
void updateFromLandMediaPanel();
@@ -27,13 +29,13 @@ public:
bool addURLToCombobox(const std::string& media_url);
private:
- LLFloaterURLEntry(LLViewHandle parent);
+ LLFloaterURLEntry(LLHandle<LLPanel> parent);
/*virtual*/ ~LLFloaterURLEntry();
void buildURLHistory();
private:
LLComboBox* mMediaURLEdit;
- LLViewHandle mPanelLandMediaHandle;
+ LLHandle<LLPanel> mPanelLandMediaHandle;
static void onBtnOK(void*);
static void onBtnCancel(void*);
diff --git a/indra/newview/llfloaterworldmap.cpp b/indra/newview/llfloaterworldmap.cpp
index 9f9396a2d0..9da923e739 100644
--- a/indra/newview/llfloaterworldmap.cpp
+++ b/indra/newview/llfloaterworldmap.cpp
@@ -39,13 +39,6 @@
#include "llfloaterworldmap.h"
-// Library includes
-#include "llfontgl.h"
-#include "llinventory.h"
-#include "lllineeditor.h"
-#include "message.h"
-
-// Viewer includes
#include "llagent.h"
#include "llviewerwindow.h"
#include "llbutton.h"
@@ -54,36 +47,23 @@
#include "llcombobox.h"
#include "llviewercontrol.h"
#include "lldraghandle.h"
-#include "lleconomy.h"
#include "llfirstuse.h"
#include "llfocusmgr.h"
-#include "lliconctrl.h"
#include "llinventorymodel.h"
-#include "llinventoryview.h"
#include "lllandmarklist.h"
+#include "lllineeditor.h"
#include "llnetmap.h"
#include "llpreviewlandmark.h"
-#include "llradiogroup.h"
#include "llregionhandle.h"
-#include "llresizehandle.h"
-#include "llresmgr.h"
#include "llscrolllistctrl.h"
-#include "llsliderctrl.h"
-#include "llspinctrl.h"
-#include "llstatusbar.h"
-#include "lltabcontainer.h"
#include "lltextbox.h"
#include "lltracker.h"
-#include "llui.h"
-#include "lluiconstants.h"
#include "llurldispatcher.h"
-#include "llviewercamera.h"
#include "llviewermenu.h"
#include "llviewerregion.h"
#include "llviewerstats.h"
#include "llworldmap.h"
#include "llworldmapview.h"
-#include "llurl.h"
#include "llvieweruictrlfactory.h"
#include "llappviewer.h"
#include "llmapimagetype.h"
@@ -518,7 +498,7 @@ void LLFloaterWorldMap::draw()
childSetEnabled("copy_slurl", (mSLURL.size() > 0) );
setMouseOpaque(TRUE);
- mDragHandle->setMouseOpaque(TRUE);
+ getDragHandle()->setMouseOpaque(TRUE);
//RN: snaps to zoom value because interpolation caused jitter in the text rendering
if (!mZoomTimer.getStarted() && mCurZoomVal != (F32)childGetValue("zoom slider").asReal())
diff --git a/indra/newview/llfloaterworldmap.h b/indra/newview/llfloaterworldmap.h
index 6f3c583557..3cf12a9eb7 100644
--- a/indra/newview/llfloaterworldmap.h
+++ b/indra/newview/llfloaterworldmap.h
@@ -161,7 +161,7 @@ protected:
void cacheLandmarkPosition();
protected:
- LLTabContainerCommon* mTabs;
+ LLTabContainer* mTabs;
// Sets gMapScale, in pixels per region
F32 mCurZoomVal;
diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp
index 90df2284c5..a710d1688d 100644
--- a/indra/newview/llfolderview.cpp
+++ b/indra/newview/llfolderview.cpp
@@ -87,6 +87,11 @@ const F32 FOLDER_CLOSE_TIME_CONSTANT = 0.02f;
const F32 FOLDER_OPEN_TIME_CONSTANT = 0.03f;
const S32 MAX_FOLDER_ITEM_OVERLAP = 2;
+enum {
+ SIGNAL_NO_KEYBOARD_FOCUS = 1,
+ SIGNAL_KEYBOARD_FOCUS = 2
+};
+
F32 LLFolderView::sAutoOpenTime = 1.f;
void delete_selected_item(void* user_data);
@@ -600,16 +605,6 @@ const LLString& LLFolderViewItem::getName( void ) const
return mLabel;
}
-LLFolderViewFolder* LLFolderViewItem::getParentFolder( void )
-{
- return mParentFolder;
-}
-
-LLFolderViewEventListener* LLFolderViewItem::getListener( void )
-{
- return mListener;
-}
-
// LLView functionality
BOOL LLFolderViewItem::handleRightMouseDown( S32 x, S32 y, MASK mask )
{
@@ -817,7 +812,7 @@ void LLFolderViewItem::draw()
LLGLSTexture gls_texture;
if (mArrowImage)
{
- gl_draw_scaled_rotated_image(mIndentation, mRect.getHeight() - ARROW_SIZE - TEXT_PAD,
+ gl_draw_scaled_rotated_image(mIndentation, getRect().getHeight() - ARROW_SIZE - TEXT_PAD,
ARROW_SIZE, ARROW_SIZE, mControlLabelRotation, mArrowImage, sFgColor);
}
}
@@ -853,33 +848,33 @@ void LLFolderViewItem::draw()
gl_rect_2d(
0,
- mRect.getHeight(),
- mRect.getWidth() - 2,
- llfloor(mRect.getHeight() - sFont->getLineHeight() - ICON_PAD),
+ getRect().getHeight(),
+ getRect().getWidth() - 2,
+ llfloor(getRect().getHeight() - sFont->getLineHeight() - ICON_PAD),
bg_color, filled);
if (mIsCurSelection)
{
gl_rect_2d(
0,
- mRect.getHeight(),
- mRect.getWidth() - 2,
- llfloor(mRect.getHeight() - sFont->getLineHeight() - ICON_PAD),
+ getRect().getHeight(),
+ getRect().getWidth() - 2,
+ llfloor(getRect().getHeight() - sFont->getLineHeight() - ICON_PAD),
sHighlightFgColor, FALSE);
}
- if (mRect.getHeight() > llround(sFont->getLineHeight()) + ICON_PAD + 2)
+ if (getRect().getHeight() > llround(sFont->getLineHeight()) + ICON_PAD + 2)
{
gl_rect_2d(
0,
- llfloor(mRect.getHeight() - sFont->getLineHeight() - ICON_PAD) - 2,
- mRect.getWidth() - 2,
+ llfloor(getRect().getHeight() - sFont->getLineHeight() - ICON_PAD) - 2,
+ getRect().getWidth() - 2,
2,
sHighlightFgColor, FALSE);
if (show_context)
{
gl_rect_2d(
0,
- llfloor(mRect.getHeight() - sFont->getLineHeight() - ICON_PAD) - 2,
- mRect.getWidth() - 2,
+ llfloor(getRect().getHeight() - sFont->getLineHeight() - ICON_PAD) - 2,
+ getRect().getWidth() - 2,
2,
sHighlightBgColor, TRUE);
}
@@ -890,17 +885,17 @@ void LLFolderViewItem::draw()
LLGLSNoTexture gls_no_texture;
gl_rect_2d(
0,
- mRect.getHeight(),
- mRect.getWidth() - 2,
- llfloor(mRect.getHeight() - sFont->getLineHeight() - ICON_PAD),
+ getRect().getHeight(),
+ getRect().getWidth() - 2,
+ llfloor(getRect().getHeight() - sFont->getLineHeight() - ICON_PAD),
sHighlightBgColor, FALSE);
- if (mRect.getHeight() > llround(sFont->getLineHeight()) + ICON_PAD + 2)
+ if (getRect().getHeight() > llround(sFont->getLineHeight()) + ICON_PAD + 2)
{
gl_rect_2d(
0,
- llfloor(mRect.getHeight() - sFont->getLineHeight() - ICON_PAD) - 2,
- mRect.getWidth() - 2,
+ llfloor(getRect().getHeight() - sFont->getLineHeight() - ICON_PAD) - 2,
+ getRect().getWidth() - 2,
2,
sHighlightBgColor, FALSE);
}
@@ -910,7 +905,7 @@ void LLFolderViewItem::draw()
if(mIcon)
{
- gl_draw_image(mIndentation + ARROW_SIZE + TEXT_PAD, mRect.getHeight() - mIcon->getHeight(), mIcon);
+ gl_draw_image(mIndentation + ARROW_SIZE + TEXT_PAD, getRect().getHeight() - mIcon->getHeight(), mIcon);
mIcon->addTextureStats( (F32)(mIcon->getWidth() * mIcon->getHeight()));
}
@@ -920,7 +915,7 @@ void LLFolderViewItem::draw()
BOOL debug_filters = getRoot()->getDebugFilters();
LLColor4 color = ( (mIsSelected && filled) ? sHighlightFgColor : sFgColor );
F32 right_x;
- F32 y = (F32)mRect.getHeight() - sFont->getLineHeight() - (F32)TEXT_PAD;
+ F32 y = (F32)getRect().getHeight() - sFont->getLineHeight() - (F32)TEXT_PAD;
if (debug_filters)
{
@@ -963,14 +958,14 @@ void LLFolderViewItem::draw()
LLString combined_string = mLabel + mLabelSuffix;
S32 left = llround(text_left) + sFont->getWidth(combined_string, 0, mStringMatchOffset) - 1;
S32 right = left + sFont->getWidth(combined_string, mStringMatchOffset, filter_string_length) + 2;
- S32 bottom = llfloor(mRect.getHeight() - sFont->getLineHeight() - 3);
- S32 top = mRect.getHeight();
+ S32 bottom = llfloor(getRect().getHeight() - sFont->getLineHeight() - 3);
+ S32 top = getRect().getHeight();
LLViewerImage::bindTexture(mBoxImage);
glColor4fv(sFilterBGColor.mV);
gl_segmented_rect_2d_tex(left, top, right, bottom, mBoxImage->getWidth(), mBoxImage->getHeight(), 16);
F32 match_string_left = text_left + sFont->getWidthF32(combined_string, 0, mStringMatchOffset);
- F32 y = (F32)mRect.getHeight() - sFont->getLineHeight() - (F32)TEXT_PAD;
+ F32 y = (F32)getRect().getHeight() - sFont->getLineHeight() - (F32)TEXT_PAD;
sFont->renderUTF8( combined_string, mStringMatchOffset, match_string_left, y,
sFilterTextColor, LLFontGL::LEFT, LLFontGL::BOTTOM, mLabelStyle,
filter_string_length, S32_MAX, &right_x, FALSE );
@@ -1074,7 +1069,7 @@ S32 LLFolderViewFolder::arrange( S32* width, S32* height, S32 filter_generation)
if (mIsOpen)
{
// Add sizes of children
- S32 parent_item_height = mRect.getHeight();
+ S32 parent_item_height = getRect().getHeight();
folders_t::iterator fit = mFolders.begin();
folders_t::iterator fend = mFolders.end();
@@ -1158,7 +1153,7 @@ S32 LLFolderViewFolder::arrange( S32* width, S32* height, S32 filter_generation)
{
folders_t::iterator fit = iter++;
// number of pixels that bottom of folder label is from top of parent folder
- if (mRect.getHeight() - (*fit)->getRect().mTop + (*fit)->getItemHeight()
+ if (getRect().getHeight() - (*fit)->getRect().mTop + (*fit)->getItemHeight()
> llround(mCurHeight) + MAX_FOLDER_ITEM_OVERLAP)
{
// hide if beyond current folder height
@@ -1171,7 +1166,7 @@ S32 LLFolderViewFolder::arrange( S32* width, S32* height, S32 filter_generation)
{
items_t::iterator iit = iter++;
// number of pixels that bottom of item label is from top of parent folder
- if (mRect.getHeight() - (*iit)->getRect().mBottom
+ if (getRect().getHeight() - (*iit)->getRect().mBottom
> llround(mCurHeight) + MAX_FOLDER_ITEM_OVERLAP)
{
(*iit)->setVisible(FALSE);
@@ -1184,7 +1179,7 @@ S32 LLFolderViewFolder::arrange( S32* width, S32* height, S32 filter_generation)
}
// don't change width as this item is already as wide as its parent folder
- reshape(mRect.getWidth(),llround(mCurHeight));
+ reshape(getRect().getWidth(),llround(mCurHeight));
// pass current height value back to parent
*height = llround(mCurHeight);
@@ -1903,7 +1898,7 @@ BOOL LLFolderViewFolder::addItem(LLFolderViewItem* item)
item,
mSortFunction);
mItems.insert(it,item);
- item->setRect(LLRect(0, 0, mRect.getWidth(), 0));
+ item->setRect(LLRect(0, 0, getRect().getWidth(), 0));
item->setVisible(FALSE);
addChild( item );
item->dirtyFilter();
@@ -1921,7 +1916,7 @@ BOOL LLFolderViewFolder::addFolder(LLFolderViewFolder* folder)
mSortFunction);
mFolders.insert(it,folder);
folder->setOrigin(0, 0);
- folder->reshape(mRect.getWidth(), 0);
+ folder->reshape(getRect().getWidth(), 0);
folder->setVisible(FALSE);
addChild( folder );
folder->dirtyFilter();
@@ -1972,6 +1967,7 @@ void LLFolderViewFolder::setOpenArrangeRecursively(BOOL open, ERecurseType recur
mListener->openItem();
}
}
+
if (recurse == RECURSE_DOWN || recurse == RECURSE_UP_DOWN)
{
for (folders_t::iterator iter = mFolders.begin();
@@ -2131,7 +2127,7 @@ BOOL LLFolderViewFolder::handleHover(S32 x, S32 y, MASK mask)
handled = LLFolderViewItem::handleHover(x, y, mask);
}
- //if(x < LEFT_INDENTATION + mIndentation && x > mIndentation - LEFT_PAD && y > mRect.getHeight() - )
+ //if(x < LEFT_INDENTATION + mIndentation && x > mIndentation - LEFT_PAD && y > getRect().getHeight() - )
//{
// gViewerWindow->setCursor(UI_CURSOR_ARROW);
// mExpanderHighlighted = TRUE;
@@ -2544,7 +2540,7 @@ LLFolderView::LLFolderView( const LLString& name, LLViewerImage* root_folder_ico
#pragma warning( pop )
#endif
mScrollContainer( NULL ),
- mPopupMenuHandle( LLViewHandle::sDeadHandle ),
+ mPopupMenuHandle(),
mAllowMultiSelect(TRUE),
mShowFolderHierarchy(FALSE),
mSourceID(source_id),
@@ -2562,11 +2558,11 @@ LLFolderView::LLFolderView( const LLString& name, LLViewerImage* root_folder_ico
mArrangeGeneration(0),
mUserData(NULL),
mSelectCallback(NULL),
- mSelectionChanged(FALSE),
+ mSignalSelectCallback(0),
mMinWidth(0),
mDragAndDropThisFrame(FALSE)
{
- LLRect new_rect(rect.mLeft, rect.mBottom + mRect.getHeight(), rect.mLeft + mRect.getWidth(), rect.mBottom);
+ LLRect new_rect(rect.mLeft, rect.mBottom + getRect().getHeight(), rect.mLeft + getRect().getWidth(), rect.mBottom);
setRect( rect );
reshape(rect.getWidth(), rect.getHeight());
mIsOpen = TRUE; // this view is always open.
@@ -2582,7 +2578,7 @@ LLFolderView::LLFolderView( const LLString& name, LLViewerImage* root_folder_ico
// just make sure the label ("Inventory Folder") never shows up
mLabel = LLString::null;
- mRenamer = new LLLineEditor("ren", mRect, "", sFont,
+ mRenamer = new LLLineEditor("ren", getRect(), "", sFont,
DB_INV_ITEM_NAME_STR_LEN,
&LLFolderView::commitRename,
NULL,
@@ -2606,7 +2602,7 @@ LLFolderView::LLFolderView( const LLString& name, LLViewerImage* root_folder_ico
}
menu->setBackgroundColor(gColors.getColor("MenuPopupBgColor"));
menu->setVisible(FALSE);
- mPopupMenuHandle = menu->mViewHandle;
+ mPopupMenuHandle = menu->getHandle();
setTabStop(TRUE);
}
@@ -2710,7 +2706,7 @@ BOOL LLFolderView::addFolder( LLFolderViewFolder* folder)
mFolders.insert(mFolders.begin(), folder);
}
folder->setOrigin(0, 0);
- folder->reshape(mRect.getWidth(), 0);
+ folder->reshape(getRect().getWidth(), 0);
folder->setVisible(FALSE);
addChild( folder );
folder->dirtyFilter();
@@ -2726,7 +2722,7 @@ void LLFolderView::closeAllFolders()
void LLFolderView::openFolder(const LLString& foldername)
{
- LLFolderViewFolder* inv = (LLFolderViewFolder*)getChildByName(foldername);
+ LLFolderViewFolder* inv = getChild<LLFolderViewFolder>(foldername);
if (inv)
{
setSelection(inv, FALSE, FALSE);
@@ -2759,7 +2755,7 @@ S32 LLFolderView::arrange( S32* unused_width, S32* unused_height, S32 filter_gen
S32 total_width = LEFT_PAD;
S32 running_height = mDebugFilters ? llceil(sSmallFont->getLineHeight()) : 0;
S32 target_height = running_height;
- S32 parent_item_height = mRect.getHeight();
+ S32 parent_item_height = getRect().getHeight();
for (folders_t::iterator iter = mFolders.begin();
iter != mFolders.end();)
@@ -2943,7 +2939,7 @@ BOOL LLFolderView::setSelection(LLFolderViewItem* selection, BOOL open, /* Flaw
llassert(mSelectedItems.size() <= 1);
- mSelectionChanged = TRUE;
+ mSignalSelectCallback = take_keyboard_focus ? SIGNAL_KEYBOARD_FOCUS : SIGNAL_NO_KEYBOARD_FOCUS;
return rv;
}
@@ -2985,7 +2981,7 @@ BOOL LLFolderView::changeSelection(LLFolderViewItem* selection, BOOL selected)
rv = LLFolderViewFolder::changeSelection(selection, selected);
- mSelectionChanged = TRUE;
+ mSignalSelectCallback = SIGNAL_KEYBOARD_FOCUS;
return rv;
}
@@ -3011,7 +3007,7 @@ S32 LLFolderView::extendSelection(LLFolderViewItem* selection, LLFolderViewItem*
rv++;
}
- mSelectionChanged = TRUE;
+ mSignalSelectCallback = SIGNAL_KEYBOARD_FOCUS;
return rv;
}
@@ -3181,7 +3177,7 @@ void LLFolderView::draw()
LLString current_filter_string = llformat("Current Filter: %d, Least Filter: %d, Auto-accept Filter: %d",
mFilter.getCurrentGeneration(), mFilter.getMinRequiredGeneration(), mFilter.getMustPassGeneration());
sSmallFont->renderUTF8(current_filter_string, 0, 2,
- mRect.getHeight() - sSmallFont->getLineHeight(), LLColor4(0.5f, 0.5f, 0.8f, 1.f),
+ getRect().getHeight() - sSmallFont->getLineHeight(), LLColor4(0.5f, 0.5f, 0.8f, 1.f),
LLFontGL::LEFT, LLFontGL::BOTTOM, LLFontGL::NORMAL, S32_MAX, S32_MAX, NULL, FALSE );
}
@@ -3287,7 +3283,7 @@ void LLFolderView::revertRenamingItem( void )
void LLFolderView::removeSelectedItems( void )
{
- if(getVisible() && mEnabled)
+ if(getVisible() && getEnabled())
{
// just in case we're removing the renaming item.
mRenameItem = NULL;
@@ -3392,7 +3388,7 @@ void LLFolderView::removeSelectedItems( void )
// open the selected item.
void LLFolderView::openSelectedItems( void )
{
- if(getVisible() && mEnabled)
+ if(getVisible() && getEnabled())
{
if (mSelectedItems.size() == 1)
{
@@ -3432,7 +3428,7 @@ void LLFolderView::openSelectedItems( void )
void LLFolderView::propertiesSelectedItems( void )
{
- if(getVisible() && mEnabled)
+ if(getVisible() && getEnabled())
{
if (mSelectedItems.size() == 1)
{
@@ -3531,17 +3527,16 @@ BOOL LLFolderView::autoOpenTest(LLFolderViewFolder* folder)
return FALSE;
}
-BOOL LLFolderView::canCopy()
+BOOL LLFolderView::canCopy() const
{
- if (!(getVisible() && mEnabled && (mSelectedItems.size() > 0)))
+ if (!(getVisible() && getEnabled() && (mSelectedItems.size() > 0)))
{
return FALSE;
}
-
- selected_items_t::iterator selected_it;
- for (selected_it = mSelectedItems.begin(); selected_it != mSelectedItems.end(); ++selected_it)
+
+ for (selected_items_t::const_iterator selected_it = mSelectedItems.begin(); selected_it != mSelectedItems.end(); ++selected_it)
{
- LLFolderViewItem* item = *selected_it;
+ const LLFolderViewItem* item = *selected_it;
if (!item->getListener()->isItemCopyable())
{
return FALSE;
@@ -3556,7 +3551,7 @@ void LLFolderView::copy()
// *NOTE: total hack to clear the inventory clipboard
LLInventoryClipboard::instance().reset();
S32 count = mSelectedItems.size();
- if(getVisible() && mEnabled && (count > 0))
+ if(getVisible() && getEnabled() && (count > 0))
{
LLFolderViewEventListener* listener = NULL;
selected_items_t::iterator item_it;
@@ -3572,7 +3567,7 @@ void LLFolderView::copy()
mSearchString.clear();
}
-BOOL LLFolderView::canCut()
+BOOL LLFolderView::canCut() const
{
return FALSE;
}
@@ -3582,24 +3577,24 @@ void LLFolderView::cut()
// implement Windows-style cut-and-leave
}
-BOOL LLFolderView::canPaste()
+BOOL LLFolderView::canPaste() const
{
if (mSelectedItems.empty())
{
return FALSE;
}
- if(getVisible() && mEnabled)
+ if(getVisible() && getEnabled())
{
- selected_items_t::iterator item_it;
- for (item_it = mSelectedItems.begin(); item_it != mSelectedItems.end(); ++item_it)
+ for (selected_items_t::const_iterator item_it = mSelectedItems.begin();
+ item_it != mSelectedItems.end(); ++item_it)
{
// *TODO: only check folders and parent folders of items
- LLFolderViewItem* item = (*item_it);
- LLFolderViewEventListener* listener = item->getListener();
+ const LLFolderViewItem* item = (*item_it);
+ const LLFolderViewEventListener* listener = item->getListener();
if(!listener || !listener->isClipboardPasteable())
{
- LLFolderViewFolder* folderp = item->getParentFolder();
+ const LLFolderViewFolder* folderp = item->getParentFolder();
listener = folderp->getListener();
if (!listener || !listener->isClipboardPasteable())
{
@@ -3615,7 +3610,7 @@ BOOL LLFolderView::canPaste()
// paste selected item
void LLFolderView::paste()
{
- if(getVisible() && mEnabled)
+ if(getVisible() && getEnabled())
{
// find set of unique folders to paste into
std::set<LLFolderViewItem*> folder_set;
@@ -3657,7 +3652,7 @@ void LLFolderView::startRenamingSelectedItem( void )
{
item = mSelectedItems.front();
}
- if(getVisible() && mEnabled && (count == 1) && item && item->getListener() &&
+ if(getVisible() && getEnabled() && (count == 1) && item && item->getListener() &&
item->getListener()->isItemRenameable())
{
mRenameItem = item;
@@ -3676,7 +3671,7 @@ void LLFolderView::startRenamingSelectedItem( void )
mScrollContainer->calcVisibleSize( &scroller_width, &scroller_height, &dummy_bool, &dummy_bool);
}
- S32 width = llmax(llmin(item->getRect().getWidth() - x, scroller_width - x - mRect.mLeft), MINIMUM_RENAMER_WIDTH);
+ S32 width = llmax(llmin(item->getRect().getWidth() - x, scroller_width - x - getRect().mLeft), MINIMUM_RENAMER_WIDTH);
S32 height = llfloor(sFont->getLineHeight() + RENAME_HEIGHT_PAD);
mRenamer->reshape( width, height, TRUE );
@@ -3709,7 +3704,7 @@ BOOL LLFolderView::handleKeyHere( KEY key, MASK mask, BOOL called_from_parent )
// SL-51858: Key presses are not being passed to the Popup menu.
// A proper fix is non-trivial so instead just close the menu.
- LLMenuGL* menu = (LLMenuGL*)LLView::getViewByHandle(mPopupMenuHandle);
+ LLMenuGL* menu = (LLMenuGL*)mPopupMenuHandle.get();
if (menu && menu->isOpen())
{
LLMenuGL::sMenuContainer->hideMenus();
@@ -3721,7 +3716,7 @@ BOOL LLFolderView::handleKeyHere( KEY key, MASK mask, BOOL called_from_parent )
item = *(getChildList()->begin());
}
- if( getVisible() && mEnabled && !called_from_parent )
+ if( getVisible() && getEnabled() && !called_from_parent )
{
switch( key )
{
@@ -3952,7 +3947,7 @@ BOOL LLFolderView::handleUnicodeCharHere(llwchar uni_char, BOOL called_from_pare
{
// SL-51858: Key presses are not being passed to the Popup menu.
// A proper fix is non-trivial so instead just close the menu.
- LLMenuGL* menu = (LLMenuGL*)LLView::getViewByHandle(mPopupMenuHandle);
+ LLMenuGL* menu = (LLMenuGL*)mPopupMenuHandle.get();
if (menu && menu->isOpen())
{
LLMenuGL::sMenuContainer->hideMenus();
@@ -3977,11 +3972,11 @@ BOOL LLFolderView::handleUnicodeCharHere(llwchar uni_char, BOOL called_from_pare
}
-BOOL LLFolderView::canDoDelete()
+BOOL LLFolderView::canDoDelete() const
{
if (mSelectedItems.size() == 0) return FALSE;
- selected_items_t::iterator item_it;
- for (item_it = mSelectedItems.begin(); item_it != mSelectedItems.end(); ++item_it)
+
+ for (selected_items_t::const_iterator item_it = mSelectedItems.begin(); item_it != mSelectedItems.end(); ++item_it)
{
if (!(*item_it)->getListener()->isItemRemovable())
{
@@ -4103,7 +4098,7 @@ BOOL LLFolderView::handleRightMouseDown( S32 x, S32 y, MASK mask )
BOOL handled = childrenHandleRightMouseDown(x, y, mask) != NULL;
S32 count = mSelectedItems.size();
- LLMenuGL* menu = (LLMenuGL*)LLView::getViewByHandle(mPopupMenuHandle);
+ LLMenuGL* menu = (LLMenuGL*)mPopupMenuHandle.get();
if(handled && (count > 0) && menu)
{
//menu->empty();
@@ -4179,7 +4174,7 @@ void LLFolderView::deleteAllChildren()
gViewerWindow->setTopCtrl(NULL);
}
LLView::deleteViewByHandle(mPopupMenuHandle);
- mPopupMenuHandle = LLViewHandle::sDeadHandle;
+ mPopupMenuHandle = LLHandle<LLView>();
mRenamer = NULL;
mRenameItem = NULL;
clearSelection();
@@ -4247,7 +4242,7 @@ LLRect LLFolderView::getVisibleRect()
S32 visible_height = mScrollContainer->getRect().getHeight();
S32 visible_width = mScrollContainer->getRect().getWidth();
LLRect visible_rect;
- visible_rect.setLeftTopAndSize(-mRect.mLeft, visible_height - mRect.mBottom, visible_width, visible_height);
+ visible_rect.setLeftTopAndSize(-getRect().mLeft, visible_height - getRect().mBottom, visible_width, visible_height);
return visible_rect;
}
@@ -4257,7 +4252,7 @@ BOOL LLFolderView::getShowSelectionContext()
{
return TRUE;
}
- LLMenuGL* menu = (LLMenuGL*)LLView::getViewByHandle(mPopupMenuHandle);
+ LLMenuGL* menu = (LLMenuGL*)mPopupMenuHandle.get();
if (menu && menu->getVisible())
{
return TRUE;
@@ -4364,12 +4359,13 @@ void LLFolderView::doIdle()
}
}
- if (mSelectionChanged && mSelectCallback)
+ if (mSignalSelectCallback && mSelectCallback)
{
//RN: we use keyboard focus as a proxy for user-explicit actions
- mSelectCallback(mSelectedItems, gFocusMgr.childHasKeyboardFocus(this), mUserData);
+ BOOL take_keyboard_focus = (mSignalSelectCallback == SIGNAL_KEYBOARD_FOCUS);
+ mSelectCallback(mSelectedItems, take_keyboard_focus, mUserData);
}
- mSelectionChanged = FALSE;
+ mSignalSelectCallback = FALSE;
}
diff --git a/indra/newview/llfolderview.h b/indra/newview/llfolderview.h
index 37b9ee6c13..d451e75fa6 100644
--- a/indra/newview/llfolderview.h
+++ b/indra/newview/llfolderview.h
@@ -108,7 +108,7 @@ public:
// This method should be called when a drag begins. returns TRUE
// if the drag can begin, otherwise FALSE.
- virtual BOOL startDrag(EDragAndDropType* type, LLUUID* id) = 0;
+ virtual BOOL startDrag(EDragAndDropType* type, LLUUID* id) const = 0;
// This method will be called to determine if a drop can be
// performed, and will set drop to TRUE if a drop is
@@ -465,11 +465,14 @@ public:
// Used for sorting, like getLabel() above.
virtual U32 getCreationDate() const { return mCreationDate; }
- LLFolderViewFolder* getParentFolder( void );
+ LLFolderViewFolder* getParentFolder( void ) { return mParentFolder; }
+ const LLFolderViewFolder* getParentFolder( void ) const { return mParentFolder; }
+
LLFolderViewItem* getNextOpenNode( BOOL include_children = TRUE );
LLFolderViewItem* getPreviousOpenNode( BOOL include_children = TRUE );
- LLFolderViewEventListener* getListener( void );
+ const LLFolderViewEventListener* getListener( void ) const { return mListener; }
+ LLFolderViewEventListener* getListener( void ) { return mListener; }
// just rename the object.
void rename(const LLString& new_name);
@@ -803,16 +806,16 @@ public:
// copy & paste
virtual void copy();
- virtual BOOL canCopy();
+ virtual BOOL canCopy() const;
virtual void cut();
- virtual BOOL canCut();
+ virtual BOOL canCut() const;
virtual void paste();
- virtual BOOL canPaste();
+ virtual BOOL canPaste() const;
virtual void doDelete();
- virtual BOOL canDoDelete();
+ virtual BOOL canDoDelete() const;
// public rename functionality - can only start the process
void startRenamingSelectedItem( void );
@@ -885,7 +888,7 @@ protected:
void revertRenamingItem( void );
protected:
- LLViewHandle mPopupMenuHandle;
+ LLHandle<LLView> mPopupMenuHandle;
typedef std::deque<LLFolderViewItem*> selected_items_t;
selected_items_t mSelectedItems;
@@ -920,7 +923,7 @@ protected:
void* mUserData;
SelectCallback mSelectCallback;
- BOOL mSelectionChanged;
+ S32 mSignalSelectCallback;
S32 mMinWidth;
std::map<LLUUID, LLFolderViewItem*> mItemMap;
BOOL mDragAndDropThisFrame;
diff --git a/indra/newview/llglsandbox.cpp b/indra/newview/llglsandbox.cpp
index 29b739bca3..a291f1da49 100644
--- a/indra/newview/llglsandbox.cpp
+++ b/indra/newview/llglsandbox.cpp
@@ -427,8 +427,8 @@ void LLHorizontalCompass::draw()
LLGLSUIDefault gls_ui;
- S32 width = mRect.getWidth();
- S32 height = mRect.getHeight();
+ S32 width = getRect().getWidth();
+ S32 height = getRect().getHeight();
S32 half_width = width / 2;
if( mTexture )
diff --git a/indra/newview/llimpanel.cpp b/indra/newview/llimpanel.cpp
index 0c34ef3ebc..c26e9de423 100644
--- a/indra/newview/llimpanel.cpp
+++ b/indra/newview/llimpanel.cpp
@@ -438,7 +438,7 @@ void LLVoiceChannel::handleStatusChange(EStatusType type)
case STATUS_LOGGED_IN:
if (!mLoginNotificationHandle.isDead())
{
- LLNotifyBox* notifyp = (LLNotifyBox*)LLPanel::getPanelByHandle(mLoginNotificationHandle);
+ LLNotifyBox* notifyp = (LLNotifyBox*)mLoginNotificationHandle.get();
if (notifyp)
{
notifyp->close();
@@ -1251,9 +1251,9 @@ BOOL LLFloaterIMPanel::postBuild()
childSetEnabled("profile_btn", FALSE);
}
- sTitleString = getFormattedUIString("title_string");
- sTypingStartString = getFormattedUIString("typing_start_string");
- sSessionStartString = getFormattedUIString("session_start_string");
+ sTitleString = getString("title_string");
+ sTypingStartString = getString("typing_start_string");
+ sSessionStartString = getString("session_start_string");
if (mSpeakerPanel)
{
@@ -1330,12 +1330,12 @@ void LLFloaterIMPanel::draw()
if (self_speaker.notNull() && self_speaker->mModeratorMutedText)
{
mInputEditor->setEnabled(FALSE);
- mInputEditor->setLabel(getFormattedUIString("muted_text_label"));
+ mInputEditor->setLabel(getString("muted_text_label"));
}
else
{
mInputEditor->setEnabled(TRUE);
- mInputEditor->setLabel(getFormattedUIString("default_text_label"));
+ mInputEditor->setLabel(getString("default_text_label"));
}
if (mAutoConnect && enable_connect)
@@ -1539,7 +1539,7 @@ void LLFloaterIMPanel::selectNone()
BOOL LLFloaterIMPanel::handleKeyHere( KEY key, MASK mask, BOOL called_from_parent )
{
BOOL handled = FALSE;
- if( getVisible() && mEnabled && !called_from_parent && gFocusMgr.childHasKeyboardFocus(this))
+ if( getVisible() && getEnabled() && !called_from_parent && gFocusMgr.childHasKeyboardFocus(this))
{
if( KEY_RETURN == key && mask == MASK_NONE)
{
@@ -1926,7 +1926,7 @@ void LLFloaterIMPanel::processSessionUpdate(const LLSD& session_update)
if (voice_moderated)
{
- setTitle(mSessionLabel + LLString(" ") + getFormattedUIString("moderated_chat_label"));
+ setTitle(mSessionLabel + LLString(" ") + getString("moderated_chat_label"));
}
else
{
diff --git a/indra/newview/llimpanel.h b/indra/newview/llimpanel.h
index ef36ff4a33..50830dedd0 100644
--- a/indra/newview/llimpanel.h
+++ b/indra/newview/llimpanel.h
@@ -100,7 +100,7 @@ protected:
LLString mSessionName;
LLString::format_map_t mNotifyArgs;
BOOL mIgnoreNextSessionLeave;
- LLViewHandle mLoginNotificationHandle;
+ LLHandle<LLPanel> mLoginNotificationHandle;
typedef std::map<LLUUID, LLVoiceChannel*> voice_channel_map_t;
static voice_channel_map_t sVoiceChannelMap;
diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp
index 2be41f01c5..58139e41aa 100644
--- a/indra/newview/llimview.cpp
+++ b/indra/newview/llimview.cpp
@@ -158,7 +158,7 @@ LLFloaterIM::LLFloaterIM()
BOOL LLFloaterIM::postBuild()
{
- sOnlyUserMessage = getFormattedUIString("only_user_message");
+ sOnlyUserMessage = getString("only_user_message");
sOfflineMessage = getUIString("offline_message");
sInviteMessage = getUIString("invite_message");
@@ -166,75 +166,75 @@ BOOL LLFloaterIM::postBuild()
if ( sErrorStringsMap.find("generic") == sErrorStringsMap.end() )
{
sErrorStringsMap["generic"] =
- getFormattedUIString("generic_request_error");
+ getString("generic_request_error");
}
if ( sErrorStringsMap.find("unverified") ==
sErrorStringsMap.end() )
{
sErrorStringsMap["unverified"] =
- getFormattedUIString("insufficient_perms_error");
+ getString("insufficient_perms_error");
}
if ( sErrorStringsMap.end() ==
sErrorStringsMap.find("no_ability") )
{
sErrorStringsMap["no_ability"] =
- getFormattedUIString("no_ability_error");
+ getString("no_ability_error");
}
if ( sErrorStringsMap.end() ==
sErrorStringsMap.find("muted") )
{
sErrorStringsMap["muted"] =
- getFormattedUIString("muted_error");
+ getString("muted_error");
}
if ( sErrorStringsMap.end() ==
sErrorStringsMap.find("not_a_moderator") )
{
sErrorStringsMap["not_a_moderator"] =
- getFormattedUIString("not_a_mod_error");
+ getString("not_a_mod_error");
}
if ( sErrorStringsMap.end() ==
sErrorStringsMap.find("does not exist") )
{
sErrorStringsMap["does not exist"] =
- getFormattedUIString("session_does_not_exist_error");
+ getString("session_does_not_exist_error");
}
if ( sEventStringsMap.end() == sEventStringsMap.find("add") )
{
sEventStringsMap["add"] =
- getFormattedUIString("add_session_event");
+ getString("add_session_event");
}
if ( sEventStringsMap.end() == sEventStringsMap.find("message") )
{
sEventStringsMap["message"] =
- getFormattedUIString("message_session_event");
+ getString("message_session_event");
}
if ( sEventStringsMap.end() == sEventStringsMap.find("mute") )
{
- sEventStringsMap["mute"] = getFormattedUIString(
- "mute_agent_event");
+ sEventStringsMap["mute"] =
+ getString("mute_agent_event");
}
if ( sForceCloseSessionMap.end() ==
sForceCloseSessionMap.find("removed") )
{
sForceCloseSessionMap["removed"] =
- getFormattedUIString("removed_from_group");
+ getString("removed_from_group");
}
if ( sForceCloseSessionMap.end() ==
sForceCloseSessionMap.find("no ability") )
{
sForceCloseSessionMap["no ability"] =
- getFormattedUIString("close_on_no_ability");
+ getString("close_on_no_ability");
}
return TRUE;
@@ -1015,12 +1015,12 @@ BOOL LLIMMgr::getFloaterOpen()
void LLIMMgr::disconnectAllSessions()
{
LLFloaterIMPanel* floater = NULL;
- std::set<LLViewHandle>::iterator handle_it;
+ std::set<LLHandle<LLFloater> >::iterator handle_it;
for(handle_it = mFloaters.begin();
handle_it != mFloaters.end();
)
{
- floater = (LLFloaterIMPanel*)LLFloater::getFloaterByHandle(*handle_it);
+ floater = (LLFloaterIMPanel*)handle_it->get();
// MUST do this BEFORE calling floater->onClose() because that may remove the item from the set, causing the subsequent increment to crash.
++handle_it;
@@ -1040,12 +1040,12 @@ void LLIMMgr::disconnectAllSessions()
LLFloaterIMPanel* LLIMMgr::findFloaterBySession(const LLUUID& session_id)
{
LLFloaterIMPanel* rv = NULL;
- std::set<LLViewHandle>::iterator handle_it;
+ std::set<LLHandle<LLFloater> >::iterator handle_it;
for(handle_it = mFloaters.begin();
handle_it != mFloaters.end();
++handle_it)
{
- rv = (LLFloaterIMPanel*)LLFloater::getFloaterByHandle(*handle_it);
+ rv = (LLFloaterIMPanel*)handle_it->get();
if(rv && session_id == rv->getSessionID())
{
break;
@@ -1171,7 +1171,7 @@ LLFloaterIMPanel* LLIMMgr::createFloater(
session_id,
other_participant_id,
dialog);
- LLTabContainerCommon::eInsertionPoint i_pt = user_initiated ? LLTabContainerCommon::RIGHT_OF_CURRENT : LLTabContainerCommon::END;
+ LLTabContainer::eInsertionPoint i_pt = user_initiated ? LLTabContainer::RIGHT_OF_CURRENT : LLTabContainer::END;
LLFloaterChatterBox::getInstance(LLSD())->addFloater(floater, FALSE, i_pt);
mFloaters.insert(floater->getHandle());
return floater;
@@ -1197,7 +1197,7 @@ LLFloaterIMPanel* LLIMMgr::createFloater(
other_participant_id,
ids,
dialog);
- LLTabContainerCommon::eInsertionPoint i_pt = user_initiated ? LLTabContainerCommon::RIGHT_OF_CURRENT : LLTabContainerCommon::END;
+ LLTabContainer::eInsertionPoint i_pt = user_initiated ? LLTabContainer::RIGHT_OF_CURRENT : LLTabContainer::END;
LLFloaterChatterBox::getInstance(LLSD())->addFloater(floater, FALSE, i_pt);
mFloaters.insert(floater->getHandle());
return floater;
@@ -1219,8 +1219,7 @@ void LLIMMgr::noteOfflineUsers(
for(S32 i = 0; i < count; ++i)
{
info = at.getBuddyInfo(ids.get(i));
- char first[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char last[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
+ std::string first, last;
if(info && !info->isOnline()
&& gCacheName->getName(ids.get(i), first, last))
{
@@ -1628,3 +1627,4 @@ LLHTTPRegistration<LLViewerChatterBoxSessionUpdate>
LLHTTPRegistration<LLViewerChatterBoxInvitation>
gHTTPRegistrationMessageChatterBoxInvitation(
"/message/ChatterBoxInvitation");
+
diff --git a/indra/newview/llimview.h b/indra/newview/llimview.h
index 11a6905a63..e787368324 100644
--- a/indra/newview/llimview.h
+++ b/indra/newview/llimview.h
@@ -165,7 +165,7 @@ public:
void clearPendingAgentListUpdates(const LLUUID& session_id);
//HACK: need a better way of enumerating existing session, or listening to session create/destroy events
- const std::set<LLViewHandle>& getIMFloaterHandles() { return mFloaters; }
+ const std::set<LLHandle<LLFloater> >& getIMFloaterHandles() { return mFloaters; }
private:
class LLIMSessionInvite;
@@ -199,7 +199,7 @@ private:
static void onInviteNameLookup(const LLUUID& id, const char* first, const char* last, BOOL is_group, void* userdata);
private:
- std::set<LLViewHandle> mFloaters;
+ std::set<LLHandle<LLFloater> > mFloaters;
LLFriendObserver* mFriendObserver;
// An IM has been received that you haven't seen yet.
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 2a260f6546..0e17d8503d 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -488,11 +488,11 @@ void LLInvFVBridge::buildContextMenu(LLMenuGL& menu, U32 flags)
}
// *TODO: remove this
-BOOL LLInvFVBridge::startDrag(EDragAndDropType* type, LLUUID* id)
+BOOL LLInvFVBridge::startDrag(EDragAndDropType* type, LLUUID* id) const
{
BOOL rv = FALSE;
- LLInventoryObject* obj = getInventoryObject();
+ const LLInventoryObject* obj = getInventoryObject();
if(obj)
{
diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h
index c61fa7f2b6..9ef666b357 100644
--- a/indra/newview/llinventorybridge.h
+++ b/indra/newview/llinventorybridge.h
@@ -188,7 +188,7 @@ public:
void getClipboardEntries(bool show_asset_id, std::vector<LLString> &items,
std::vector<LLString> &disabled_items, U32 flags);
virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
- virtual BOOL startDrag(EDragAndDropType* type, LLUUID* id);
+ virtual BOOL startDrag(EDragAndDropType* type, LLUUID* id) const;
virtual BOOL dragOrDrop(MASK mask, BOOL drop,
EDragAndDropType cargo_type,
void* cargo_data) { return FALSE; }
diff --git a/indra/newview/lljoystickbutton.cpp b/indra/newview/lljoystickbutton.cpp
index 30106443c0..9e0fa26f25 100644
--- a/indra/newview/lljoystickbutton.cpp
+++ b/indra/newview/lljoystickbutton.cpp
@@ -72,18 +72,18 @@ LLJoystick::LLJoystick(
mHeldDown(FALSE),
mHeldDownTimer()
{
- mHeldDownCallback = &LLJoystick::onHeldDown;
- mCallbackUserData = this;
+ setHeldDownCallback(&LLJoystick::onHeldDown);
+ setCallbackUserData(this);
}
void LLJoystick::updateSlop()
{
- mVertSlopNear = mRect.getHeight();
- mVertSlopFar = mRect.getHeight() * 2;
+ mVertSlopNear = getRect().getHeight();
+ mVertSlopFar = getRect().getHeight() * 2;
- mHorizSlopNear = mRect.getWidth();
- mHorizSlopFar = mRect.getWidth() * 2;
+ mHorizSlopNear = getRect().getWidth();
+ mHorizSlopFar = getRect().getWidth() * 2;
// Compute initial mouse offset based on initial quadrant.
// Place the mouse evenly between the near and far zones.
@@ -163,7 +163,7 @@ F32 LLJoystick::getElapsedHeldDownTime()
{
if( mHeldDown )
{
- return mMouseDownTimer.getElapsedTimeF32();
+ return getHeldDownTime();
}
else
{
@@ -244,13 +244,13 @@ LLXMLNodePtr LLJoystick::getXML(bool save_children) const
{
LLXMLNodePtr node = LLUICtrl::getXML();
- node->createChild("halign", TRUE)->setStringValue(LLFontGL::nameFromHAlign(mHAlign));
+ node->createChild("halign", TRUE)->setStringValue(LLFontGL::nameFromHAlign(getHAlign()));
node->createChild("quadrant", TRUE)->setStringValue(nameFromQuadrant(mInitialQuadrant));
- addImageAttributeToXML(node,mImageUnselectedName,mImageUnselectedID,"image_unselected");
- addImageAttributeToXML(node,mImageSelectedName,mImageSelectedID,"image_selected");
+ addImageAttributeToXML(node,getImageUnselectedName(),getImageUnselectedID(),"image_unselected");
+ addImageAttributeToXML(node,getImageSelectedName(),getImageSelectedID(),"image_selected");
- node->createChild("scale_image", TRUE)->setBoolValue(mScaleImage);
+ node->createChild("scale_image", TRUE)->setBoolValue(getScaleImage());
return node;
}
@@ -504,8 +504,8 @@ BOOL LLJoystickCameraRotate::handleMouseDown(S32 x, S32 y, MASK mask)
updateSlop();
// Set initial offset based on initial click location
- S32 horiz_center = mRect.getWidth() / 2;
- S32 vert_center = mRect.getHeight() / 2;
+ S32 horiz_center = getRect().getWidth() / 2;
+ S32 vert_center = getRect().getHeight() / 2;
S32 dx = x - horiz_center;
S32 dy = y - vert_center;
@@ -607,26 +607,26 @@ void LLJoystickCameraRotate::draw()
{
LLGLSUIDefault gls_ui;
- mImageUnselected->draw( 0, 0 );
+ getImageUnselected()->draw( 0, 0 );
if( mInTop )
{
- drawRotatedImage( mImageSelected->getImage(), 0 );
+ drawRotatedImage( getImageSelected()->getImage(), 0 );
}
if( mInRight )
{
- drawRotatedImage( mImageSelected->getImage(), 1 );
+ drawRotatedImage( getImageSelected()->getImage(), 1 );
}
if( mInBottom )
{
- drawRotatedImage( mImageSelected->getImage(), 2 );
+ drawRotatedImage( getImageSelected()->getImage(), 2 );
}
if( mInLeft )
{
- drawRotatedImage( mImageSelected->getImage(), 3 );
+ drawRotatedImage( getImageSelected()->getImage(), 3 );
}
if (sDebugRects)
@@ -637,7 +637,7 @@ void LLJoystickCameraRotate::draw()
}
// Draws image rotated by multiples of 90 degrees
-void LLJoystickCameraRotate::drawRotatedImage( LLImageGL* image, S32 rotations )
+void LLJoystickCameraRotate::drawRotatedImage( const LLImageGL* image, S32 rotations )
{
S32 width = image->getWidth();
S32 height = image->getHeight();
@@ -732,7 +732,7 @@ BOOL LLJoystickCameraZoom::handleMouseDown(S32 x, S32 y, MASK mask)
if( handled )
{
- if (mFirstMouse.mY > mRect.getHeight() / 2)
+ if (mFirstMouse.mY > getRect().getHeight() / 2)
{
mInitialQuadrant = JQ_UP;
}
@@ -801,7 +801,7 @@ void LLJoystickCameraZoom::draw()
}
else
{
- mImageUnselected->draw( 0, 0 );
+ getImageUnselected()->draw( 0, 0 );
}
if (sDebugRects)
@@ -813,11 +813,11 @@ void LLJoystickCameraZoom::draw()
void LLJoystickCameraZoom::updateSlop()
{
- mVertSlopNear = mRect.getHeight() / 4;
- mVertSlopFar = mRect.getHeight() / 2;
+ mVertSlopNear = getRect().getHeight() / 4;
+ mVertSlopFar = getRect().getHeight() / 2;
- mHorizSlopNear = mRect.getWidth() / 4;
- mHorizSlopFar = mRect.getWidth() / 2;
+ mHorizSlopNear = getRect().getWidth() / 4;
+ mHorizSlopFar = getRect().getWidth() / 2;
// Compute initial mouse offset based on initial quadrant.
// Place the mouse evenly between the near and far zones.
diff --git a/indra/newview/lljoystickbutton.h b/indra/newview/lljoystickbutton.h
index 1524b4f232..2cd53b4146 100644
--- a/indra/newview/lljoystickbutton.h
+++ b/indra/newview/lljoystickbutton.h
@@ -140,7 +140,7 @@ public:
protected:
F32 getOrbitRate();
virtual void updateSlop();
- void drawRotatedImage( LLImageGL* image, S32 rotations );
+ void drawRotatedImage( const LLImageGL* image, S32 rotations );
protected:
BOOL mInLeft;
diff --git a/indra/newview/llmanip.h b/indra/newview/llmanip.h
index 8c51746d1c..2dd0eab8b0 100644
--- a/indra/newview/llmanip.h
+++ b/indra/newview/llmanip.h
@@ -135,7 +135,7 @@ public:
EManipPart getHighlightedPart() { return mHighlightedPart; }
- LLHandle<LLObjectSelection> getSelection();
+ LLSafeHandle<LLObjectSelection> getSelection();
protected:
LLVector3 getSavedPivotPoint() const;
@@ -153,7 +153,7 @@ protected:
protected:
LLFrameTimer mHelpTextTimer;
BOOL mInSnapRegime;
- LLHandle<LLObjectSelection> mObjectSelection;
+ LLSafeHandle<LLObjectSelection> mObjectSelection;
EManipPart mHighlightedPart;
static F32 sHelpTextVisibleTime;
diff --git a/indra/newview/llmemoryview.cpp b/indra/newview/llmemoryview.cpp
index a698c53f7f..616fabebf7 100644
--- a/indra/newview/llmemoryview.cpp
+++ b/indra/newview/llmemoryview.cpp
@@ -147,8 +147,8 @@ static const int MTV_DISPLAY_NUM = (sizeof(mtv_display_table)/sizeof(mtv_displa
void LLMemoryView::draw()
{
std::string tdesc;
- S32 width = mRect.getWidth();
- S32 height = mRect.getHeight();
+ S32 width = getRect().getWidth();
+ S32 height = getRect().getHeight();
LLGLSUIDefault gls_ui;
LLGLSNoTexture gls_no_tex;
diff --git a/indra/newview/llnamebox.cpp b/indra/newview/llnamebox.cpp
index b5021eff9c..17185299a8 100644
--- a/indra/newview/llnamebox.cpp
+++ b/indra/newview/llnamebox.cpp
@@ -70,24 +70,15 @@ void LLNameBox::setNameID(const LLUUID& name_id, BOOL is_group)
{
mNameID = name_id;
- char first[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char last[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char group_name[DB_GROUP_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- LLString name;
+ std::string name;
if (!is_group)
{
- gCacheName->getName(name_id, first, last);
-
- name.assign(first);
- name.append(1, ' ');
- name.append(last);
+ gCacheName->getFullName(name_id, name);
}
else
{
- gCacheName->getGroupName(name_id, group_name);
-
- name.assign(group_name);
+ gCacheName->getGroupName(name_id, name);
}
setText(name);
diff --git a/indra/newview/llnameeditor.cpp b/indra/newview/llnameeditor.cpp
index 1ca702b0a7..a36c67a879 100644
--- a/indra/newview/llnameeditor.cpp
+++ b/indra/newview/llnameeditor.cpp
@@ -90,23 +90,15 @@ void LLNameEditor::setNameID(const LLUUID& name_id, BOOL is_group)
{
mNameID = name_id;
- char first[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char last[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char group_name[DB_GROUP_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- LLString name;
+ std::string name;
if (!is_group)
{
- gCacheName->getName(name_id, first, last);
-
- name.assign(first);
- name.append(1, ' ');
- name.append(last);
+ gCacheName->getFullName(name_id, name);
}
else
{
- gCacheName->getGroupName(name_id, group_name);
- name.assign(group_name);
+ gCacheName->getGroupName(name_id, name);
}
setText(name);
diff --git a/indra/newview/llnamelistctrl.cpp b/indra/newview/llnamelistctrl.cpp
index 9dd37cf47d..a3faa55a06 100644
--- a/indra/newview/llnamelistctrl.cpp
+++ b/indra/newview/llnamelistctrl.cpp
@@ -73,15 +73,9 @@ BOOL LLNameListCtrl::addNameItem(const LLUUID& agent_id, EAddPosition pos,
{
//llinfos << "LLNameListCtrl::addNameItem " << agent_id << llendl;
- char first[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char last[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
+ std::string fullname;
+ BOOL result = gCacheName->getFullName(agent_id, fullname);
- BOOL result = gCacheName->getName(agent_id, first, last);
-
- LLString fullname;
- fullname.assign(first);
- fullname.append(1, ' ');
- fullname.append(last);
fullname.append(suffix);
addStringUUIDItem(fullname, agent_id, pos, enabled);
@@ -142,7 +136,7 @@ void LLNameListCtrl::addGroupNameItem(const LLUUID& group_id, EAddPosition pos,
BOOL enabled)
{
//llinfos << "LLNameListCtrl::addGroupNameItem " << group_id << llendl;
- char group_name[DB_GROUP_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
+ std::string group_name;
gCacheName->getGroupName(group_id, group_name);
addStringUUIDItem(group_name, group_id, pos, enabled);
}
@@ -153,7 +147,7 @@ void LLNameListCtrl::addGroupNameItem(LLScrollListItem* item, EAddPosition pos)
{
//llinfos << "LLNameListCtrl::addGroupNameItem " << item->getUUID() << llendl;
- char group_name[DB_GROUP_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
+ std::string group_name;
gCacheName->getGroupName(item->getUUID(), group_name);
LLScrollListCell* cell = (LLScrollListCell*)item->getColumn(mNameColumnIndex);
@@ -166,15 +160,8 @@ BOOL LLNameListCtrl::addNameItem(LLScrollListItem* item, EAddPosition pos)
{
//llinfos << "LLNameListCtrl::addNameItem " << item->getUUID() << llendl;
- char first[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char last[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
-
- BOOL result = gCacheName->getName(item->getUUID(), first, last);
-
- LLString fullname;
- fullname.assign(first);
- fullname.append(1, ' ');
- fullname.append(last);
+ std::string fullname;
+ BOOL result = gCacheName->getFullName(item->getUUID(), fullname);
LLScrollListCell* cell = (LLScrollListCell*)item->getColumn(mNameColumnIndex);
((LLScrollListText*)cell)->setText( fullname );
@@ -195,17 +182,12 @@ LLScrollListItem* LLNameListCtrl::addElement(const LLSD& value, EAddPosition pos
{
LLScrollListItem* item = LLScrollListCtrl::addElement(value, pos, userdata);
- char first[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char last[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
-
// use supplied name by default
- LLString fullname = value["name"].asString();
+ std::string fullname = value["name"].asString();
if (value["target"].asString() == "GROUP")
{
- char group_name[DB_GROUP_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- gCacheName->getGroupName(item->getUUID(), group_name);
+ gCacheName->getGroupName(item->getUUID(), fullname);
// fullname will be "nobody" if group not found
- fullname = group_name;
}
else if (value["target"].asString() == "SPECIAL")
{
@@ -213,11 +195,10 @@ LLScrollListItem* LLNameListCtrl::addElement(const LLSD& value, EAddPosition pos
}
else // normal resident
{
- if (gCacheName->getName(item->getUUID(), first, last))
+ std::string name;
+ if (gCacheName->getFullName(item->getUUID(), name))
{
- fullname.assign(first);
- fullname.append(1, ' ');
- fullname.append(last);
+ fullname = name;
}
}
@@ -268,7 +249,7 @@ void LLNameListCtrl::refresh(const LLUUID& id, const char* first,
// TODO: scan items for that ID, fix if necessary
item_list::iterator iter;
- for (iter = mItemList.begin(); iter != mItemList.end(); iter++)
+ for (iter = getItemList().begin(); iter != getItemList().end(); iter++)
{
LLScrollListItem* item = *iter;
if (item->getUUID() == id)
diff --git a/indra/newview/llnetmap.cpp b/indra/newview/llnetmap.cpp
index c3128652fe..257e87171a 100644
--- a/indra/newview/llnetmap.cpp
+++ b/indra/newview/llnetmap.cpp
@@ -158,7 +158,7 @@ LLNetMap::LLNetMap(
&LLTracker::isTracking, NULL) );
menu->setVisible(FALSE);
addChild(menu);
- mPopupMenuHandle = menu->mViewHandle;
+ mPopupMenuHandle = menu->getHandle();
sInstance = this;
@@ -191,8 +191,8 @@ void LLNetMap::setScale( F32 scale )
if (mObjectImagep.notNull())
{
- F32 half_width = (F32)(mRect.getWidth() / 2);
- F32 half_height = (F32)(mRect.getHeight() / 2);
+ F32 half_width = (F32)(getRect().getWidth() / 2);
+ F32 half_height = (F32)(getRect().getHeight() / 2);
F32 radius = sqrt( half_width * half_width + half_height * half_height );
F32 region_widths = (2.f*radius)/gMiniMapScale;
@@ -257,12 +257,12 @@ void LLNetMap::draw()
// Draw background rectangle
glColor4fv( mBackgroundColor.mV );
- gl_rect_2d(0, mRect.getHeight(), mRect.getWidth(), 0);
+ gl_rect_2d(0, getRect().getHeight(), getRect().getWidth(), 0);
}
// region 0,0 is in the middle
- S32 center_sw_left = mRect.getWidth() / 2 + llfloor(mCurPanX);
- S32 center_sw_bottom = mRect.getHeight() / 2 + llfloor(mCurPanY);
+ S32 center_sw_left = getRect().getWidth() / 2 + llfloor(mCurPanX);
+ S32 center_sw_bottom = getRect().getHeight() / 2 + llfloor(mCurPanY);
glPushMatrix();
@@ -542,8 +542,8 @@ LLVector3 LLNetMap::globalPosToView( const LLVector3d& global_pos )
pos_local.rotVec( rot );
}
- pos_local.mV[VX] += mRect.getWidth() / 2 + mCurPanX;
- pos_local.mV[VY] += mRect.getHeight() / 2 + mCurPanY;
+ pos_local.mV[VX] += getRect().getWidth() / 2 + mCurPanX;
+ pos_local.mV[VY] += getRect().getHeight() / 2 + mCurPanY;
return pos_local;
}
@@ -554,15 +554,15 @@ void LLNetMap::drawTracking(const LLVector3d& pos_global, const LLColor4& color,
LLVector3 pos_local = globalPosToView( pos_global );
if( (pos_local.mV[VX] < 0) ||
(pos_local.mV[VY] < 0) ||
- (pos_local.mV[VX] >= mRect.getWidth()) ||
- (pos_local.mV[VY] >= mRect.getHeight()) )
+ (pos_local.mV[VX] >= getRect().getWidth()) ||
+ (pos_local.mV[VY] >= getRect().getHeight()) )
{
if (draw_arrow)
{
S32 x = llround( pos_local.mV[VX] );
S32 y = llround( pos_local.mV[VY] );
- LLWorldMapView::drawTrackingCircle( mRect, x, y, color, 1, 10 );
- LLWorldMapView::drawTrackingArrow( mRect, x, y, color );
+ LLWorldMapView::drawTrackingCircle( getRect(), x, y, color, 1, 10 );
+ LLWorldMapView::drawTrackingArrow( getRect(), x, y, color );
}
}
else
@@ -576,8 +576,8 @@ void LLNetMap::drawTracking(const LLVector3d& pos_global, const LLColor4& color,
LLVector3d LLNetMap::viewPosToGlobal( S32 x, S32 y )
{
- x -= llround(mRect.getWidth() / 2 + mCurPanX);
- y -= llround(mRect.getHeight() / 2 + mCurPanY);
+ x -= llround(getRect().getWidth() / 2 + mCurPanX);
+ y -= llround(getRect().getHeight() / 2 + mCurPanY);
LLVector3 pos_local( (F32)x, (F32)y, 0 );
@@ -612,35 +612,32 @@ BOOL LLNetMap::handleToolTip( S32 x, S32 y, LLString& msg, LLRect* sticky_rect_s
{
return FALSE;
}
- if( getVisible() && pointInView( x, y ) )
+ LLViewerRegion* region = gWorldPointer->getRegionFromPosGlobal( viewPosToGlobal( x, y ) );
+ if( region )
{
- LLViewerRegion* region = gWorldPointer->getRegionFromPosGlobal( viewPosToGlobal( x, y ) );
- if( region )
- {
- msg.assign( region->getName() );
+ msg.assign( region->getName() );
#ifndef LL_RELEASE_FOR_DOWNLOAD
- char buffer[MAX_STRING]; /*Flawfinder: ignore*/
- msg.append("\n");
- region->getHost().getHostName(buffer, MAX_STRING);
- msg.append(buffer);
- msg.append("\n");
- region->getHost().getString(buffer, MAX_STRING);
- msg.append(buffer);
+ char buffer[MAX_STRING]; /*Flawfinder: ignore*/
+ msg.append("\n");
+ region->getHost().getHostName(buffer, MAX_STRING);
+ msg.append(buffer);
+ msg.append("\n");
+ region->getHost().getString(buffer, MAX_STRING);
+ msg.append(buffer);
#endif
- // *TODO: put this under the control of XUI so it can be
- // translated.
- msg.append("\n(Double-click to open Map)");
-
- S32 SLOP = 4;
- localPointToScreen(
- x - SLOP, y - SLOP,
- &(sticky_rect_screen->mLeft), &(sticky_rect_screen->mBottom) );
- sticky_rect_screen->mRight = sticky_rect_screen->mLeft + 2 * SLOP;
- sticky_rect_screen->mTop = sticky_rect_screen->mBottom + 2 * SLOP;
- }
- handled = TRUE;
+ // *TODO: put this under the control of XUI so it can be
+ // translated.
+ msg.append("\n(Double-click to open Map)");
+
+ S32 SLOP = 4;
+ localPointToScreen(
+ x - SLOP, y - SLOP,
+ &(sticky_rect_screen->mLeft), &(sticky_rect_screen->mBottom) );
+ sticky_rect_screen->mRight = sticky_rect_screen->mLeft + 2 * SLOP;
+ sticky_rect_screen->mTop = sticky_rect_screen->mBottom + 2 * SLOP;
}
+ handled = TRUE;
return handled;
}
@@ -651,8 +648,8 @@ void LLNetMap::setDirectionPos( LLTextBox* text_box, F32 rotation )
// Rotation of 0 means x = 1, y = 0 on the unit circle.
- F32 map_half_height = (F32)(mRect.getHeight() / 2);
- F32 map_half_width = (F32)(mRect.getWidth() / 2);
+ F32 map_half_height = (F32)(getRect().getHeight() / 2);
+ F32 map_half_width = (F32)(getRect().getWidth() / 2);
F32 text_half_height = (F32)(text_box->getRect().getHeight() / 2);
F32 text_half_width = (F32)(text_box->getRect().getWidth() / 2);
F32 radius = llmin( map_half_height - text_half_height, map_half_width - text_half_width );
@@ -762,9 +759,9 @@ void LLNetMap::renderPoint(const LLVector3 &pos_local, const LLColor4U &color,
void LLNetMap::createObjectImage()
{
- // Find the size of the side of a square that surrounds the circle that surrounds mRect.
- F32 half_width = (F32)(mRect.getWidth() / 2);
- F32 half_height = (F32)(mRect.getHeight() / 2);
+ // Find the size of the side of a square that surrounds the circle that surrounds getRect().
+ F32 half_width = (F32)(getRect().getWidth() / 2);
+ F32 half_height = (F32)(getRect().getHeight() / 2);
F32 radius = sqrt( half_width * half_width + half_height * half_height );
S32 square_size = S32( 2 * radius );
@@ -798,7 +795,7 @@ BOOL LLNetMap::handleDoubleClick( S32 x, S32 y, MASK mask )
BOOL LLNetMap::handleRightMouseDown(S32 x, S32 y, MASK mask)
{
- LLMenuGL* menu = (LLMenuGL*)LLView::getViewByHandle(mPopupMenuHandle);
+ LLMenuGL* menu = (LLMenuGL*)mPopupMenuHandle.get();
if (menu)
{
menu->buildDrawLabels();
diff --git a/indra/newview/llnetmap.h b/indra/newview/llnetmap.h
index 40d80646cf..d375413d1d 100644
--- a/indra/newview/llnetmap.h
+++ b/indra/newview/llnetmap.h
@@ -92,7 +92,7 @@ protected:
static void fly( const LLVector3d& destination );
public:
- LLViewHandle mPopupMenuHandle;
+ LLHandle<LLView> mPopupMenuHandle;
LLColor4 mBackgroundColor;
F32 mScale; // Size of a region in pixels
diff --git a/indra/newview/lloverlaybar.cpp b/indra/newview/lloverlaybar.cpp
index 2c33cccf71..8af83af272 100644
--- a/indra/newview/lloverlaybar.cpp
+++ b/indra/newview/lloverlaybar.cpp
@@ -123,7 +123,7 @@ BOOL LLOverlayBar::postBuild()
childSetAction("Stand Up",onClickStandUp,this);
childSetVisible("chat_bar", gSavedSettings.getBOOL("ChatVisible"));
- mIsFocusRoot = TRUE;
+ setFocusRoot(TRUE);
mBuilt = true;
layoutButtons();
diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp
index d9416bbf37..7c8acd3947 100644
--- a/indra/newview/llpanelavatar.cpp
+++ b/indra/newview/llpanelavatar.cpp
@@ -159,7 +159,7 @@ BOOL LLDropTarget::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
{
// check if inside
//LLRect parent_rect = mParentView->getRect();
- //mRect.set(0, parent_rect.getHeight(), parent_rect.getWidth(), 0);
+ //getRect().set(0, parent_rect.getHeight(), parent_rect.getWidth(), 0);
handled = TRUE;
// check the type
@@ -282,13 +282,12 @@ void LLPanelAvatarSecondLife::updatePartnerName()
{
if (mPartnerID.notNull())
{
- char first[128]; /*Flawfinder: ignore*/
- char last[128]; /*Flawfinder: ignore*/
+ std::string first, last;
BOOL found = gCacheName->getName(mPartnerID, first, last);
if (found)
{
- childSetTextArg("partner_edit", "[FIRST]", LLString(first));
- childSetTextArg("partner_edit", "[LAST]", LLString(last));
+ childSetTextArg("partner_edit", "[FIRST]", first);
+ childSetTextArg("partner_edit", "[LAST]", last);
}
childSetEnabled("partner_info", TRUE);
}
@@ -301,7 +300,7 @@ void LLPanelAvatarSecondLife::updatePartnerName()
//-----------------------------------------------------------------------------
void LLPanelAvatarSecondLife::clearControls()
{
- LLTextureCtrl* image_ctrl = LLUICtrlFactory::getTexturePickerByName(this,"img");
+ LLTextureCtrl* image_ctrl = getChild<LLTextureCtrl>("img");
if(image_ctrl)
{
image_ctrl->setImageAssetID(LLUUID::null);
@@ -495,7 +494,7 @@ BOOL LLPanelAvatarWeb::postBuild(void)
childSetControlName("auto_load","AutoLoadWebProfiles");
- mWebBrowser = (LLWebBrowserCtrl*)getChildByName("profile_html");
+ mWebBrowser = getChild<LLWebBrowserCtrl>("profile_html");
// links open in internally
mWebBrowser->setOpenInExternalBrowser( false );
@@ -722,7 +721,7 @@ void LLPanelAvatarAdvanced::enableControls(BOOL self)
// setEnable is called, for some reason
if (mWantToEdit) mWantToEdit->setReadOnlyBgColor(LLColor4::transparent);
if (mSkillsEdit) mSkillsEdit->setReadOnlyBgColor(LLColor4::transparent);
- LLLineEditor* languages_edit = (LLLineEditor*)getChildByName("languages_edit");
+ LLLineEditor* languages_edit = getChild<LLLineEditor>("languages_edit");
languages_edit->setReadOnlyBgColor(LLColor4::transparent);
}
}
@@ -798,7 +797,7 @@ void LLPanelAvatarNotes::refresh()
void LLPanelAvatarNotes::clearControls()
{
- childSetText("notes edit", childGetText("Loading"));
+ childSetText("notes edit", getString("Loading"));
childSetEnabled("notes edit", false);
}
@@ -825,7 +824,7 @@ void LLPanelAvatarClassified::refresh()
{
BOOL self = (gAgent.getID() == getPanelAvatar()->getAvatarID());
- LLTabContainerCommon* tabs = LLUICtrlFactory::getTabContainerByName(this,"classified tab");
+ LLTabContainer* tabs = LLUICtrlFactory::getTabContainerByName(this,"classified tab");
S32 tab_count = tabs ? tabs->getTabCount() : 0;
@@ -859,7 +858,7 @@ void LLPanelAvatarClassified::refresh()
BOOL LLPanelAvatarClassified::canClose()
{
- LLTabContainerCommon* tabs = LLViewerUICtrlFactory::getTabContainerByName(this, "classified tab");
+ LLTabContainer* tabs = LLViewerUICtrlFactory::getTabContainerByName(this, "classified tab");
for (S32 i = 0; i < tabs->getTabCount(); i++)
{
LLPanelClassified* panel = (LLPanelClassified*)tabs->getPanelByIndex(i);
@@ -873,7 +872,7 @@ BOOL LLPanelAvatarClassified::canClose()
BOOL LLPanelAvatarClassified::titleIsValid()
{
- LLTabContainerCommon* tabs = LLViewerUICtrlFactory::getTabContainerByName(this, "classified tab");
+ LLTabContainer* tabs = LLViewerUICtrlFactory::getTabContainerByName(this, "classified tab");
if ( tabs )
{
LLPanelClassified* panel = (LLPanelClassified*)tabs->getCurrentPanel();
@@ -891,7 +890,7 @@ BOOL LLPanelAvatarClassified::titleIsValid()
void LLPanelAvatarClassified::apply()
{
- LLTabContainerCommon* tabs = LLViewerUICtrlFactory::getTabContainerByName(this, "classified tab");
+ LLTabContainer* tabs = LLViewerUICtrlFactory::getTabContainerByName(this, "classified tab");
for (S32 i = 0; i < tabs->getTabCount(); i++)
{
LLPanelClassified* panel = (LLPanelClassified*)tabs->getPanelByIndex(i);
@@ -902,7 +901,7 @@ void LLPanelAvatarClassified::apply()
void LLPanelAvatarClassified::deleteClassifiedPanels()
{
- LLTabContainerCommon* tabs = LLViewerUICtrlFactory::getTabContainerByName(this,"classified tab");
+ LLTabContainer* tabs = LLViewerUICtrlFactory::getTabContainerByName(this,"classified tab");
if (tabs)
{
tabs->deleteAllTabs();
@@ -922,7 +921,7 @@ void LLPanelAvatarClassified::processAvatarClassifiedReply(LLMessageSystem* msg,
char classified_name[DB_PICK_NAME_SIZE]; /*Flawfinder: ignore*/
LLPanelClassified* panel_classified = NULL;
- LLTabContainerCommon* tabs = LLViewerUICtrlFactory::getTabContainerByName(this,"classified tab");
+ LLTabContainer* tabs = LLViewerUICtrlFactory::getTabContainerByName(this,"classified tab");
// Don't remove old panels. We need to be able to process multiple
// packets for people who have lots of classifieds. JC
@@ -933,7 +932,7 @@ void LLPanelAvatarClassified::processAvatarClassifiedReply(LLMessageSystem* msg,
msg->getUUIDFast(_PREHASH_Data, _PREHASH_ClassifiedID, classified_id, block);
msg->getStringFast(_PREHASH_Data, _PREHASH_Name, DB_PICK_NAME_SIZE, classified_name, block);
- panel_classified = new LLPanelClassified(FALSE);
+ panel_classified = new LLPanelClassified(false, false);
panel_classified->setClassifiedID(classified_id);
@@ -978,9 +977,9 @@ void LLPanelAvatarClassified::callbackNew(S32 option, void* data)
if (0 == option)
{
- LLPanelClassified* panel_classified = new LLPanelClassified(FALSE);
+ LLPanelClassified* panel_classified = new LLPanelClassified(false, false);
panel_classified->initNewClassified();
- LLTabContainerCommon* tabs = LLViewerUICtrlFactory::getTabContainerByName(self,"classified tab");
+ LLTabContainer* tabs = LLViewerUICtrlFactory::getTabContainerByName(self,"classified tab");
if(tabs)
{
tabs->addTabPanel(panel_classified, panel_classified->getClassifiedName());
@@ -995,7 +994,7 @@ void LLPanelAvatarClassified::onClickDelete(void* data)
{
LLPanelAvatarClassified* self = (LLPanelAvatarClassified*)data;
- LLTabContainerCommon* tabs = LLViewerUICtrlFactory::getTabContainerByName(self,"classified tab");
+ LLTabContainer* tabs = LLViewerUICtrlFactory::getTabContainerByName(self,"classified tab");
LLPanelClassified* panel_classified = NULL;
if(tabs)
{
@@ -1014,7 +1013,7 @@ void LLPanelAvatarClassified::onClickDelete(void* data)
void LLPanelAvatarClassified::callbackDelete(S32 option, void* data)
{
LLPanelAvatarClassified* self = (LLPanelAvatarClassified*)data;
- LLTabContainerCommon* tabs = LLViewerUICtrlFactory::getTabContainerByName(self,"classified tab");
+ LLTabContainer* tabs = LLViewerUICtrlFactory::getTabContainerByName(self,"classified tab");
LLPanelClassified* panel_classified=NULL;
if(tabs)
{
@@ -1059,14 +1058,12 @@ LLPanelAvatarPicks::LLPanelAvatarPicks(const std::string& name,
void LLPanelAvatarPicks::refresh()
{
BOOL self = (gAgent.getID() == getPanelAvatar()->getAvatarID());
-
- LLTabContainerCommon* tabs = LLViewerUICtrlFactory::getTabContainerByName(this,"picks tab");
+ LLTabContainer* tabs = LLViewerUICtrlFactory::getTabContainerByName(this,"picks tab");
S32 tab_count = tabs ? tabs->getTabCount() : 0;
- BOOL allow_new = (tab_count < MAX_AVATAR_PICKS);
- BOOL allow_delete = (tab_count > 0);
-
- childSetEnabled("New...",self && allow_new);
- childSetEnabled("Delete...",self && allow_delete);
+ childSetEnabled("New...", self && tab_count < MAX_AVATAR_PICKS);
+ childSetEnabled("Delete...", self && tab_count > 0);
+ childSetVisible("New...", self && getPanelAvatar()->isEditable());
+ childSetVisible("Delete...", self && getPanelAvatar()->isEditable());
sendAvatarProfileRequestIfNeeded("avatarpicksrequest");
}
@@ -1074,7 +1071,7 @@ void LLPanelAvatarPicks::refresh()
void LLPanelAvatarPicks::deletePickPanels()
{
- LLTabContainerCommon* tabs = LLUICtrlFactory::getTabContainerByName(this,"picks tab");
+ LLTabContainer* tabs = LLUICtrlFactory::getTabContainerByName(this,"picks tab");
if(tabs)
{
tabs->deleteAllTabs();
@@ -1093,7 +1090,7 @@ void LLPanelAvatarPicks::processAvatarPicksReply(LLMessageSystem* msg, void**)
char pick_name[DB_PICK_NAME_SIZE]; /*Flawfinder: ignore*/
LLPanelPick* panel_pick = NULL;
- LLTabContainerCommon* tabs = LLUICtrlFactory::getTabContainerByName(this,"picks tab");
+ LLTabContainer* tabs = LLUICtrlFactory::getTabContainerByName(this,"picks tab");
// Clear out all the old panels. We'll replace them with the correct
// number of new panels.
@@ -1143,7 +1140,7 @@ void LLPanelAvatarPicks::onClickNew(void* data)
{
LLPanelAvatarPicks* self = (LLPanelAvatarPicks*)data;
LLPanelPick* panel_pick = new LLPanelPick(FALSE);
- LLTabContainerCommon* tabs = LLUICtrlFactory::getTabContainerByName(self,"picks tab");
+ LLTabContainer* tabs = LLUICtrlFactory::getTabContainerByName(self,"picks tab");
panel_pick->initNewPick();
if(tabs)
@@ -1158,7 +1155,7 @@ void LLPanelAvatarPicks::onClickNew(void* data)
void LLPanelAvatarPicks::onClickDelete(void* data)
{
LLPanelAvatarPicks* self = (LLPanelAvatarPicks*)data;
- LLTabContainerCommon* tabs = LLUICtrlFactory::getTabContainerByName(self,"picks tab");
+ LLTabContainer* tabs = LLUICtrlFactory::getTabContainerByName(self,"picks tab");
LLPanelPick* panel_pick = tabs?(LLPanelPick*)tabs->getCurrentPanel():NULL;
if (!panel_pick) return;
@@ -1176,7 +1173,7 @@ void LLPanelAvatarPicks::onClickDelete(void* data)
void LLPanelAvatarPicks::callbackDelete(S32 option, void* data)
{
LLPanelAvatarPicks* self = (LLPanelAvatarPicks*)data;
- LLTabContainerCommon* tabs = LLUICtrlFactory::getTabContainerByName(self,"picks tab");
+ LLTabContainer* tabs = LLUICtrlFactory::getTabContainerByName(self,"picks tab");
LLPanelPick* panel_pick = tabs?(LLPanelPick*)tabs->getCurrentPanel():NULL;
LLMessageSystem* msg = gMessageSystem;
@@ -1393,7 +1390,7 @@ void LLPanelAvatar::setAvatarID(const LLUUID &avatar_id, const LLString &name,
// Teens don't have this.
if (mPanelFirstLife) mPanelFirstLife->enableControls(own_avatar && mAllowEdit);
- LLView *target_view = getChildByName("drop_target_rect", TRUE);
+ LLView *target_view = getChild<LLView>("drop_target_rect");
if(target_view)
{
if (mDropTarget)
@@ -1453,6 +1450,8 @@ void LLPanelAvatar::setAvatarID(const LLUUID &avatar_id, const LLString &name,
{
childSetVisible("OK",FALSE);
childSetEnabled("OK",FALSE);
+ childSetVisible("Cancel",FALSE);
+ childSetEnabled("Cancel",FALSE);
}
childSetVisible("Instant Message...",FALSE);
childSetEnabled("Instant Message...",FALSE);
@@ -1676,7 +1675,7 @@ void LLPanelAvatar::onClickOK(void *userdata)
{
self->sendAvatarPropertiesUpdate();
- LLTabContainerCommon* tabs = LLUICtrlFactory::getTabContainerByName(self,"tab");
+ LLTabContainer* tabs = LLUICtrlFactory::getTabContainerByName(self,"tab");
if ( tabs->getCurrentPanel() != self->mPanelClassified )
{
self->mPanelClassified->apply();
@@ -1743,7 +1742,7 @@ void LLPanelAvatar::sendAvatarNotesUpdate()
std::string notes = mPanelNotes->childGetValue("notes edit").asString();
if (!mHaveNotes
- && (notes.empty() || notes == childGetText("Loading")))
+ && (notes.empty() || notes == getString("Loading")))
{
// no notes from server and no user updates
return;
@@ -1844,7 +1843,7 @@ void LLPanelAvatar::processAvatarPropertiesReply(LLMessageSystem *msg, void**)
if(caption_text.empty())
{
LLString::format_map_t args;
- caption_text = self->mPanelSecondLife->childGetValue("CaptionTextAcctInfo").asString();
+ caption_text = self->mPanelSecondLife->getString("CaptionTextAcctInfo");
const char* ACCT_TYPE[] = {
"AcctTypeResident",
@@ -1853,7 +1852,7 @@ void LLPanelAvatar::processAvatarPropertiesReply(LLMessageSystem *msg, void**)
"AcctTypeEmployee"
};
caption_index = llclamp(caption_index, (U8)0, (U8)(sizeof(ACCT_TYPE)/sizeof(ACCT_TYPE[0])-1));
- args["[ACCTTYPE]"] = self->mPanelSecondLife->childGetValue(ACCT_TYPE[caption_index]).asString();
+ args["[ACCTTYPE]"] = self->mPanelSecondLife->getString(ACCT_TYPE[caption_index]);
LLString payment_text = " ";
const S32 DEFAULT_CAPTION_LINDEN_INDEX = 3;
@@ -1871,10 +1870,10 @@ void LLPanelAvatar::processAvatarPropertiesReply(LLMessageSystem *msg, void**)
{
payment_text = "NoPaymentInfoOnFile";
}
- args["[PAYMENTINFO]"] = self->mPanelSecondLife->childGetValue(payment_text).asString();
+ args["[PAYMENTINFO]"] = self->mPanelSecondLife->getString(payment_text);
LLString age_text = age_verified ? "AgeVerified" : "NotAgeVerified";
// Do not display age verification status at this time
- //args["[AGEVERIFICATION]"] = self->mPanelSecondLife->childGetValue(age_text).asString();
+ //args["[AGEVERIFICATION]"] = self->mPanelSecondLife->getString(age_text);
args["[AGEVERIFICATION]"] = " ";
}
else
@@ -1894,7 +1893,7 @@ void LLPanelAvatar::processAvatarPropertiesReply(LLMessageSystem *msg, void**)
self->mPanelWeb->setWebURL(std::string(profile_url));
- LLTextureCtrl* image_ctrl = LLUICtrlFactory::getTexturePickerByName(self->mPanelSecondLife,"img");
+ LLTextureCtrl* image_ctrl = self->mPanelSecondLife->getChild<LLTextureCtrl>("img");
if(image_ctrl)
{
image_ctrl->setImageAssetID(image_id);
@@ -1908,7 +1907,7 @@ void LLPanelAvatar::processAvatarPropertiesReply(LLMessageSystem *msg, void**)
{
// Teens don't get these
self->mPanelFirstLife->childSetValue("about", fl_about_text);
- LLTextureCtrl* image_ctrl = LLUICtrlFactory::getTexturePickerByName(self->mPanelFirstLife,"img");
+ LLTextureCtrl* image_ctrl = self->mPanelFirstLife->getChild<LLTextureCtrl>("img");
if(image_ctrl)
{
image_ctrl->setImageAssetID(fl_image_id);
@@ -2074,7 +2073,7 @@ void LLPanelAvatar::sendAvatarPropertiesUpdate()
if (mPanelFirstLife)
{
first_life_about_text = mPanelFirstLife->childGetValue("about").asString();
- LLTextureCtrl* image_ctrl = LLUICtrlFactory::getTexturePickerByName(mPanelFirstLife,"img");
+ LLTextureCtrl* image_ctrl = mPanelFirstLife->getChild<LLTextureCtrl>("img");
if(image_ctrl)
{
first_life_image_id = image_ctrl->getImageAssetID();
@@ -2091,7 +2090,7 @@ void LLPanelAvatar::sendAvatarPropertiesUpdate()
msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID() );
msg->nextBlockFast(_PREHASH_PropertiesData);
- LLTextureCtrl* image_ctrl = LLUICtrlFactory::getTexturePickerByName(mPanelSecondLife,"img");
+ LLTextureCtrl* image_ctrl = mPanelSecondLife->getChild<LLTextureCtrl>("img");
if(image_ctrl)
{
msg->addUUIDFast( _PREHASH_ImageID, image_ctrl->getImageAssetID());
diff --git a/indra/newview/llpanelavatar.h b/indra/newview/llpanelavatar.h
index d992c29304..6e5b7bfb41 100644
--- a/indra/newview/llpanelavatar.h
+++ b/indra/newview/llpanelavatar.h
@@ -46,7 +46,7 @@ class LLLineEditor;
class LLNameEditor;
class LLPanelAvatar;
class LLScrollListCtrl;
-class LLTabContainerCommon;
+class LLTabContainer;
class LLTextBox;
class LLTextEditor;
class LLTextureCtrl;
@@ -302,6 +302,7 @@ public:
void selectTabByName(std::string tab_name);
BOOL haveData() { return mHaveProperties && mHaveStatistics; }
+ BOOL isEditable() const { return mAllowEdit; }
static void processAvatarPropertiesReply(LLMessageSystem *msg, void **);
static void processAvatarInterestsReply(LLMessageSystem *msg, void **);
@@ -366,7 +367,7 @@ private:
// note is changed from database version
bool mHaveNotes;
std::string mLastNotes;
- LLTabContainerCommon* mTab;
+ LLTabContainer* mTab;
BOOL mAllowEdit;
typedef std::list<LLPanelAvatar*> panel_list_t;
diff --git a/indra/newview/llpanelclassified.cpp b/indra/newview/llpanelclassified.cpp
index f84ae06416..e24d258a22 100644
--- a/indra/newview/llpanelclassified.cpp
+++ b/indra/newview/llpanelclassified.cpp
@@ -144,7 +144,7 @@ public:
LLClassifiedTeleportHandler gClassifiedTeleportHandler;
*/
-LLPanelClassified::LLPanelClassified(BOOL in_finder, bool from_search)
+LLPanelClassified::LLPanelClassified(bool in_finder, bool from_search)
: LLPanel("Classified Panel"),
mInFinder(in_finder),
mFromSearch(from_search),
@@ -241,7 +241,7 @@ BOOL LLPanelClassified::postBuild()
mDescEditor->setFocusReceivedCallback(onFocusReceived, this);
mDescEditor->setCommitCallback(onCommitAny);
mDescEditor->setCallbackUserData(this);
- mDescEditor->setTabToNextField(TRUE);
+ mDescEditor->setTabsToNextField(TRUE);
mLocationEditor = LLViewerUICtrlFactory::getLineEditorByName(this, "location_editor");
@@ -403,13 +403,7 @@ void LLPanelClassified::initNewClassified()
mCategoryCombo->setCurrentByIndex(0);
}
- // default new classifieds to publish
- //mEnabledCheck->set(TRUE);
-
- // delay commit until user hits save
- // sendClassifiedInfoUpdate();
-
- mUpdateBtn->setLabel(childGetText("publish_txt"));
+ mUpdateBtn->setLabel(getString("publish_txt"));
}
@@ -502,7 +496,7 @@ void LLPanelClassified::sendClassifiedInfoRequest()
if (!url.empty())
{
llinfos << "Classified stat request via capability" << llendl;
- LLHTTPClient::post(url, body, new LLClassifiedStatsResponder(this->getHandle(), mClassifiedID));
+ LLHTTPClient::post(url, body, new LLClassifiedStatsResponder(((LLView*)this)->getHandle(), mClassifiedID));
}
}
}
@@ -539,8 +533,6 @@ void LLPanelClassified::sendClassifiedInfoUpdate()
msg->addUUIDFast(_PREHASH_SnapshotID, mSnapshotCtrl->getImageAssetID());
msg->addVector3dFast(_PREHASH_PosGlobal, mPosGlobal);
BOOL mature = mMatureCheck->get();
- // Classifieds are always enabled/published 11/2005 JC
- //BOOL enabled = mEnabledCheck->get();
BOOL auto_renew = FALSE;
if (mAutoRenewCheck)
{
@@ -671,14 +663,15 @@ void LLPanelClassified::processClassifiedInfoReply(LLMessageSystem *msg, void **
}
LLString datestr = llformat("%02d/%02d/%d", now->tm_mon+1, now->tm_mday, now->tm_year+1900);
- self->childSetTextArg("ad_placed_paid", "[DATE]", datestr);
- self->childSetTextArg("ad_placed_paid", "[AMT]", llformat("%d", price_for_listing));
- self->childSetText("classified_info_text", self->childGetValue("ad_placed_paid").asString());
+ LLString::format_map_t string_args;
+ string_args["[DATE]"] = datestr;
+ string_args["[AMT]"] = llformat("%d", price_for_listing);
+ self->childSetText("classified_info_text", self->getString("ad_placed_paid", string_args));
// If we got data from the database, we know the listing is paid for.
self->mPaidFor = TRUE;
- self->mUpdateBtn->setLabel(self->childGetText("update_txt"));
+ self->mUpdateBtn->setLabel(self->getString("update_txt"));
}
}
@@ -727,9 +720,6 @@ void LLPanelClassified::refresh()
mCategoryCombo->setEnabled(godlike);
mCategoryCombo->setVisible(godlike);
- //mEnabledCheck->setVisible(godlike);
- //mEnabledCheck->setEnabled(godlike);
-
mMatureCheck->setEnabled(godlike);
mMatureCheck->setVisible(godlike);
@@ -750,8 +740,6 @@ void LLPanelClassified::refresh()
//mPriceEditor->setEnabled(is_self);
mCategoryCombo->setEnabled(is_self);
- //mEnabledCheck->setVisible(FALSE);
- //mEnabledCheck->setEnabled(is_self);
mMatureCheck->setEnabled(is_self);
if (mAutoRenewCheck)
@@ -845,7 +833,7 @@ void LLPanelClassified::confirmPublish(S32 option)
}
else
{
- LLTabContainerVertical* tab = (LLTabContainerVertical*)getParent();
+ LLTabContainer* tab = (LLTabContainer*)getParent();
tab->setCurrentTabName(mNameEditor->getText());
}
diff --git a/indra/newview/llpanelclassified.h b/indra/newview/llpanelclassified.h
index cc82d33d33..f28795a4f2 100644
--- a/indra/newview/llpanelclassified.h
+++ b/indra/newview/llpanelclassified.h
@@ -57,7 +57,7 @@ class LLMessageSystem;
class LLPanelClassified : public LLPanel
{
public:
- LLPanelClassified(BOOL in_finder, bool from_search = false);
+ LLPanelClassified(bool in_finder, bool from_search);
/*virtual*/ ~LLPanelClassified();
void reset();
@@ -118,7 +118,7 @@ protected:
BOOL checkDirty(); // Update and return mDirty
protected:
- BOOL mInFinder;
+ bool mInFinder;
bool mFromSearch; // from web-based "All" search sidebar
BOOL mDirty;
bool mForceClose;
diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp
index 83fc991ae0..24b055b0a6 100644
--- a/indra/newview/llpanelface.cpp
+++ b/indra/newview/llpanelface.cpp
@@ -81,7 +81,7 @@ BOOL LLPanelFace::postBuild()
LLSpinCtrl* mCtrlColorTransp; // transparency = 1 - alpha
setMouseOpaque(FALSE);
- mTextureCtrl = LLUICtrlFactory::getTexturePickerByName(this,"texture control");
+ mTextureCtrl = getChild<LLTextureCtrl>("texture control");
if(mTextureCtrl)
{
mTextureCtrl->setDefaultImageAssetID(LLUUID( gSavedSettings.getString( "DefaultObjectTexture" )));
@@ -113,7 +113,7 @@ BOOL LLPanelFace::postBuild()
}
}
- mColorSwatch = LLUICtrlFactory::getColorSwatchByName(this,"colorswatch");
+ mColorSwatch = getChild<LLColorSwatchCtrl>("colorswatch");
if(mColorSwatch)
{
mColorSwatch->setCommitCallback(LLPanelFace::onCommitColor);
@@ -187,7 +187,7 @@ LLPanelFace::~LLPanelFace()
void LLPanelFace::sendTexture()
{
- LLTextureCtrl* mTextureCtrl = gUICtrlFactory->getTexturePickerByName(this,"texture control");
+ LLTextureCtrl* mTextureCtrl = getChild<LLTextureCtrl>("texture control");
if(!mTextureCtrl) return;
if( !mTextureCtrl->getTentative() )
{
@@ -656,13 +656,13 @@ void LLPanelFace::getState()
if (selected_texgen == 1)
{
- childSetText("tex scale",childGetText("string repeats per meter"));
+ childSetText("tex scale",getString("string repeats per meter"));
childSetValue("TexScaleU", 2.0f * childGetValue("TexScaleU").asReal() );
childSetValue("TexScaleV", 2.0f * childGetValue("TexScaleV").asReal() );
}
else
{
- childSetText("tex scale",childGetText("string repeats per face"));
+ childSetText("tex scale",getString("string repeats per face"));
}
}
@@ -722,14 +722,14 @@ void LLPanelFace::getState()
clearCtrls();
// Disable non-UICtrls
- LLTextureCtrl* texture_ctrl = LLUICtrlFactory::getTexturePickerByName(this,"texture control");
+ LLTextureCtrl* texture_ctrl = getChild<LLTextureCtrl>("texture control");
if(texture_ctrl)
{
texture_ctrl->setImageAssetID( LLUUID::null );
texture_ctrl->setEnabled( FALSE ); // this is a LLUICtrl, but we don't want it to have keyboard focus so we add it as a child, not a ctrl.
// texture_ctrl->setValid(FALSE);
}
- LLColorSwatchCtrl* mColorSwatch = LLUICtrlFactory::getColorSwatchByName(this,"colorswatch");
+ LLColorSwatchCtrl* mColorSwatch = getChild<LLColorSwatchCtrl>("colorswatch");
if(mColorSwatch)
{
mColorSwatch->setEnabled( FALSE );
diff --git a/indra/newview/llpanelgroup.cpp b/indra/newview/llpanelgroup.cpp
index 76fbada562..d8faecf83d 100644
--- a/indra/newview/llpanelgroup.cpp
+++ b/indra/newview/llpanelgroup.cpp
@@ -67,22 +67,14 @@ BOOL LLPanelGroupTab::isVisibleByAgent(LLAgent* agentp)
BOOL LLPanelGroupTab::postBuild()
{
// Hook up the help button callback.
- LLButton* button = (LLButton*) getChildByName("help_button");
+ LLButton* button = getChild<LLButton>("help_button");
if (button)
{
button->setClickedCallback(onClickHelp);
button->setCallbackUserData(this);
}
- // Read help text from the xml file.
- LLTextBox* txt;
- // Don't recurse for this, since we don't currently have a recursive removeChild()
- txt = (LLTextBox*) getChildByName("help_text");
- if (txt)
- {
- mHelpText = txt->getText();
- removeChild(txt, TRUE);
- }
+ mHelpText = getString("help_text");
return TRUE;
}
@@ -219,14 +211,14 @@ void LLPanelGroup::updateTabVisibility()
BOOL LLPanelGroup::postBuild()
{
- mTabContainer = (LLTabContainerCommon*) getChildByName("group_tab_container");
+ mTabContainer = getChild<LLTabContainer>("group_tab_container");
if (mTabContainer)
{
// Select the initial tab specified via constructor
const BOOL recurse = TRUE;
LLPanelGroupTab* tabp =
- (LLPanelGroupTab*) getChildByName(mInitialTab, recurse);
+ getChild<LLPanelGroupTab>(mInitialTab, recurse);
if (!tabp)
{
@@ -272,23 +264,10 @@ BOOL LLPanelGroup::postBuild()
mCurrentTab->activate();
}
- // Read apply text from the xml file.
- LLTextBox* txt;
- // Don't recurse for this, since we don't currently have a recursive removeChild()
- txt = (LLTextBox*)getChildByName("default_needs_apply_text");
- if (txt)
- {
- mDefaultNeedsApplyMesg = txt->getText();
- removeChild(txt, TRUE);
- }
- txt = (LLTextBox*)getChildByName("want_apply_text");
- if (txt)
- {
- mWantApplyMesg = txt->getText();
- removeChild(txt, TRUE);
- }
+ mDefaultNeedsApplyMesg = getString("default_needs_apply_text");
+ mWantApplyMesg = getString("want_apply_text");
- LLButton* button = (LLButton*) getChildByName("btn_ok");
+ LLButton* button = getChild<LLButton>("btn_ok");
if (button)
{
button->setClickedCallback(onBtnOK);
@@ -296,7 +275,7 @@ BOOL LLPanelGroup::postBuild()
button->setVisible(mAllowEdit);
}
- button = (LLButton*) getChildByName("btn_cancel");
+ button = getChild<LLButton>("btn_cancel");
if (button)
{
button->setClickedCallback(onBtnCancel);
@@ -304,7 +283,7 @@ BOOL LLPanelGroup::postBuild()
button->setVisible(mAllowEdit);
}
- button = (LLButton*) getChildByName("btn_apply");
+ button = getChild<LLButton>("btn_apply");
if (button)
{
button->setClickedCallback(onBtnApply);
@@ -314,7 +293,7 @@ BOOL LLPanelGroup::postBuild()
mApplyBtn = button;
}
- button = (LLButton*) getChildByName("btn_refresh");
+ button = getChild<LLButton>("btn_refresh");
if (button)
{
button->setClickedCallback(onBtnRefresh);
@@ -400,7 +379,7 @@ void LLPanelGroup::selectTab(std::string tab_name)
const BOOL recurse = TRUE;
LLPanelGroupTab* tabp =
- (LLPanelGroupTab*) getChildByName(tab_name, recurse);
+ getChild<LLPanelGroupTab>(tab_name, recurse);
if ( tabp && mTabContainer )
{
diff --git a/indra/newview/llpanelgroup.h b/indra/newview/llpanelgroup.h
index 19f43ecb88..3928d1d2f5 100644
--- a/indra/newview/llpanelgroup.h
+++ b/indra/newview/llpanelgroup.h
@@ -41,7 +41,7 @@ const S32 UPDATE_MEMBERS_PER_FRAME = 500;
// Forward declares
class LLPanelGroupTab;
-class LLTabContainerCommon;
+class LLTabContainer;
class LLAgent;
class LLPanelGroupTabObserver
@@ -111,7 +111,7 @@ public:
protected:
LLPanelGroupTab* mCurrentTab;
LLPanelGroupTab* mRequestedTab;
- LLTabContainerCommon* mTabContainer;
+ LLTabContainer* mTabContainer;
BOOL mIgnoreTransition;
LLButton* mApplyBtn;
@@ -183,7 +183,7 @@ public:
protected:
LLUUID mGroupID;
- LLTabContainerCommon* mTabContainer;
+ LLTabContainer* mTabContainer;
LLString mHelpText;
BOOL mAllowEdit;
diff --git a/indra/newview/llpanelgroupgeneral.cpp b/indra/newview/llpanelgroupgeneral.cpp
index 31688256f5..2e55cfb30a 100644
--- a/indra/newview/llpanelgroupgeneral.cpp
+++ b/indra/newview/llpanelgroupgeneral.cpp
@@ -99,10 +99,10 @@ BOOL LLPanelGroupGeneral::postBuild()
bool recurse = true;
// General info
- mGroupNameEditor = (LLLineEditor*) getChildByName("group_name_editor", recurse);
- mGroupName = (LLTextBox*) getChildByName("group_name", recurse);
+ mGroupNameEditor = getChild<LLLineEditor>("group_name_editor", recurse);
+ mGroupName = getChild<LLTextBox>("group_name", recurse);
- mInsignia = (LLTextureCtrl*) getChildByName("insignia", recurse);
+ mInsignia = getChild<LLTextureCtrl>("insignia", recurse);
if (mInsignia)
{
mInsignia->setCommitCallback(onCommitAny);
@@ -110,7 +110,7 @@ BOOL LLPanelGroupGeneral::postBuild()
mDefaultIconID = mInsignia->getImageAssetID();
}
- mEditCharter = (LLTextEditor*) getChildByName("charter", recurse);
+ mEditCharter = getChild<LLTextEditor>("charter", recurse);
if(mEditCharter)
{
mEditCharter->setCommitCallback(onCommitAny);
@@ -119,21 +119,21 @@ BOOL LLPanelGroupGeneral::postBuild()
mEditCharter->setCallbackUserData(this);
}
- mBtnJoinGroup = (LLButton*) getChildByName("join_button", recurse);
+ mBtnJoinGroup = getChild<LLButton>("join_button", recurse);
if ( mBtnJoinGroup )
{
mBtnJoinGroup->setClickedCallback(onClickJoin);
mBtnJoinGroup->setCallbackUserData(this);
}
- mBtnInfo = (LLButton*) getChildByName("info_button", recurse);
+ mBtnInfo = getChild<LLButton>("info_button", recurse);
if ( mBtnInfo )
{
mBtnInfo->setClickedCallback(onClickInfo);
mBtnInfo->setCallbackUserData(this);
}
- LLTextBox* founder = (LLTextBox*) getChildByName("founder_name");
+ LLTextBox* founder = getChild<LLTextBox>("founder_name");
if (founder)
{
mFounderName = new LLNameBox(founder->getName(),founder->getRect(),LLUUID::null,FALSE,founder->getFont(),founder->getMouseOpaque());
@@ -141,7 +141,7 @@ BOOL LLPanelGroupGeneral::postBuild()
addChild(mFounderName);
}
- mListVisibleMembers = (LLNameListCtrl*) getChildByName("visible_members", recurse);
+ mListVisibleMembers = getChild<LLNameListCtrl>("visible_members", recurse);
if (mListVisibleMembers)
{
mListVisibleMembers->setDoubleClickCallback(openProfile);
@@ -149,14 +149,14 @@ BOOL LLPanelGroupGeneral::postBuild()
}
// Options
- mCtrlShowInGroupList = (LLCheckBoxCtrl*) getChildByName("show_in_group_list", recurse);
+ mCtrlShowInGroupList = getChild<LLCheckBoxCtrl>("show_in_group_list", recurse);
if (mCtrlShowInGroupList)
{
mCtrlShowInGroupList->setCommitCallback(onCommitAny);
mCtrlShowInGroupList->setCallbackUserData(this);
}
- mCtrlMature = (LLCheckBoxCtrl*) getChildByName("mature", recurse);
+ mCtrlMature = getChild<LLCheckBoxCtrl>("mature", recurse);
if (mCtrlMature)
{
mCtrlMature->setCommitCallback(onCommitAny);
@@ -164,21 +164,21 @@ BOOL LLPanelGroupGeneral::postBuild()
mCtrlMature->setVisible( !gAgent.isTeen() );
}
- mCtrlOpenEnrollment = (LLCheckBoxCtrl*) getChildByName("open_enrollement", recurse);
+ mCtrlOpenEnrollment = getChild<LLCheckBoxCtrl>("open_enrollement", recurse);
if (mCtrlOpenEnrollment)
{
mCtrlOpenEnrollment->setCommitCallback(onCommitAny);
mCtrlOpenEnrollment->setCallbackUserData(this);
}
- mCtrlEnrollmentFee = (LLCheckBoxCtrl*) getChildByName("check_enrollment_fee", recurse);
+ mCtrlEnrollmentFee = getChild<LLCheckBoxCtrl>("check_enrollment_fee", recurse);
if (mCtrlEnrollmentFee)
{
mCtrlEnrollmentFee->setCommitCallback(onCommitEnrollment);
mCtrlEnrollmentFee->setCallbackUserData(this);
}
- mSpinEnrollmentFee = (LLSpinCtrl*) getChildByName("spin_enrollment_fee", recurse);
+ mSpinEnrollmentFee = getChild<LLSpinCtrl>("spin_enrollment_fee", recurse);
if (mSpinEnrollmentFee)
{
mSpinEnrollmentFee->setCommitCallback(onCommitAny);
@@ -194,7 +194,7 @@ BOOL LLPanelGroupGeneral::postBuild()
accept_notices = data.mAcceptNotices;
list_in_profile = data.mListInProfile;
}
- mCtrlReceiveNotices = (LLCheckBoxCtrl*) getChildByName("receive_notices", recurse);
+ mCtrlReceiveNotices = getChild<LLCheckBoxCtrl>("receive_notices", recurse);
if (mCtrlReceiveNotices)
{
mCtrlReceiveNotices->setCommitCallback(onCommitUserOnly);
@@ -203,7 +203,7 @@ BOOL LLPanelGroupGeneral::postBuild()
mCtrlReceiveNotices->setEnabled(data.mID.notNull());
}
- mCtrlListGroup = (LLCheckBoxCtrl*) getChildByName("list_groups_in_profile", recurse);
+ mCtrlListGroup = getChild<LLCheckBoxCtrl>("list_groups_in_profile", recurse);
if (mCtrlListGroup)
{
mCtrlListGroup->setCommitCallback(onCommitUserOnly);
@@ -212,31 +212,17 @@ BOOL LLPanelGroupGeneral::postBuild()
mCtrlListGroup->setEnabled(data.mID.notNull());
}
- mActiveTitleLabel = (LLTextBox*) getChildByName("active_title_label", recurse);
+ mActiveTitleLabel = getChild<LLTextBox>("active_title_label", recurse);
- mComboActiveTitle = (LLComboBox*) getChildByName("active_title", recurse);
+ mComboActiveTitle = getChild<LLComboBox>("active_title", recurse);
if (mComboActiveTitle)
{
mComboActiveTitle->setCommitCallback(onCommitTitle);
mComboActiveTitle->setCallbackUserData(this);
}
- // Extra data
- LLTextBox* txt;
- // Don't recurse for this, since we don't currently have a recursive removeChild()
- txt = (LLTextBox*)getChildByName("incomplete_member_data_str");
- if (txt)
- {
- mIncompleteMemberDataStr = txt->getText();
- removeChild(txt, TRUE);
- }
-
- txt = (LLTextBox*)getChildByName("confirm_group_create_str");
- if (txt)
- {
- mConfirmGroupCreateStr = txt->getText();
- removeChild(txt, TRUE);
- }
+ mIncompleteMemberDataStr = getString("incomplete_member_data_str");
+ mConfirmGroupCreateStr = getString("confirm_group_create_str");
// If the group_id is null, then we are creating a new group
if (mGroupID.isNull())
diff --git a/indra/newview/llpanelgroupinvite.cpp b/indra/newview/llpanelgroupinvite.cpp
index 9bab774a46..229daf44ff 100644
--- a/indra/newview/llpanelgroupinvite.cpp
+++ b/indra/newview/llpanelgroupinvite.cpp
@@ -474,12 +474,12 @@ BOOL LLPanelGroupInvite::postBuild()
{
BOOL recurse = TRUE;
- mImplementation->mLoadingText = childGetText("loading");
- mImplementation->mRoleNames = (LLComboBox*) getChildByName("role_name",
+ mImplementation->mLoadingText = getString("loading");
+ mImplementation->mRoleNames = getChild<LLComboBox>("role_name",
recurse);
- mImplementation->mGroupName = (LLTextBox*) getChildByName("group_name_text", recurse);
+ mImplementation->mGroupName = getChild<LLTextBox>("group_name_text", recurse);
mImplementation->mInvitees =
- (LLNameListCtrl*) getChildByName("invitee_list", recurse);
+ getChild<LLNameListCtrl>("invitee_list", recurse);
if ( mImplementation->mInvitees )
{
mImplementation->mInvitees->setCallbackUserData(mImplementation);
@@ -487,7 +487,7 @@ BOOL LLPanelGroupInvite::postBuild()
mImplementation->mInvitees->setCommitCallback(impl::callbackSelect);
}
- LLButton* button = (LLButton*) getChildByName("add_button", recurse);
+ LLButton* button = getChild<LLButton>("add_button", recurse);
if ( button )
{
// default to opening avatarpicker automatically
@@ -497,7 +497,7 @@ BOOL LLPanelGroupInvite::postBuild()
}
mImplementation->mRemoveButton =
- (LLButton*) getChildByName("remove_button", recurse);
+ getChild<LLButton>("remove_button", recurse);
if ( mImplementation->mRemoveButton )
{
mImplementation->mRemoveButton->
@@ -507,7 +507,7 @@ BOOL LLPanelGroupInvite::postBuild()
}
mImplementation->mOKButton =
- (LLButton*) getChildByName("ok_button", recurse);
+ getChild<LLButton>("ok_button", recurse);
if ( mImplementation->mOKButton )
{
mImplementation->mOKButton->
@@ -516,7 +516,7 @@ BOOL LLPanelGroupInvite::postBuild()
mImplementation->mOKButton->setEnabled(FALSE);
}
- button = (LLButton*) getChildByName("cancel_button", recurse);
+ button = getChild<LLButton>("cancel_button", recurse);
if ( button )
{
button->setClickedCallback(impl::callbackClickCancel);
diff --git a/indra/newview/llpanelgrouplandmoney.cpp b/indra/newview/llpanelgrouplandmoney.cpp
index 7f12555fe2..c6aae2dd88 100644
--- a/indra/newview/llpanelgrouplandmoney.cpp
+++ b/indra/newview/llpanelgrouplandmoney.cpp
@@ -60,7 +60,7 @@ public:
LLGroupMoneyTabEventHandler(LLButton* earlier_button,
LLButton* later_button,
LLTextEditor* text_editor,
- LLTabContainerCommon* tab_containerp,
+ LLTabContainer* tab_containerp,
LLPanel* panelp,
const LLString& loading_text,
const LLUUID& group_id,
@@ -92,7 +92,7 @@ public:
LLGroupMoneyDetailsTabEventHandler(LLButton* earlier_buttonp,
LLButton* later_buttonp,
LLTextEditor* text_editorp,
- LLTabContainerCommon* tab_containerp,
+ LLTabContainer* tab_containerp,
LLPanel* panelp,
const LLString& loading_text,
const LLUUID& group_id);
@@ -109,7 +109,7 @@ public:
LLGroupMoneySalesTabEventHandler(LLButton* earlier_buttonp,
LLButton* later_buttonp,
LLTextEditor* text_editorp,
- LLTabContainerCommon* tab_containerp,
+ LLTabContainer* tab_containerp,
LLPanel* panelp,
const LLString& loading_text,
const LLUUID& group_id);
@@ -123,7 +123,7 @@ class LLGroupMoneyPlanningTabEventHandler : public LLGroupMoneyTabEventHandler
{
public:
LLGroupMoneyPlanningTabEventHandler(LLTextEditor* text_editor,
- LLTabContainerCommon* tab_containerp,
+ LLTabContainer* tab_containerp,
LLPanel* panelp,
const LLString& loading_text,
const LLUUID& group_id);
@@ -501,7 +501,7 @@ void LLPanelGroupLandMoney::activate()
if ( !mImplementationp->mBeenActivated )
{
//select the first tab
- LLTabContainerCommon* tabp = (LLTabContainerCommon*) getChildByName("group_money_tab_container");
+ LLTabContainer* tabp = getChild<LLTabContainer>("group_money_tab_container");
if ( tabp )
{
@@ -541,7 +541,7 @@ void LLPanelGroupLandMoney::update(LLGroupChange gc)
{
if (gc != GC_ALL) return; //Don't update if it's the wrong panel!
- LLTabContainerCommon* tabp = (LLTabContainerCommon*) getChildByName("group_money_tab_container");
+ LLTabContainer* tabp = getChild<LLTabContainer>("group_money_tab_container");
if ( tabp )
{
@@ -605,12 +605,12 @@ BOOL LLPanelGroupLandMoney::postBuild()
bool can_view = gAgent.isInGroup(mGroupID);
mImplementationp->mGroupOverLimitIconp =
- (LLIconCtrl*) getChildByName("group_over_limit_icon");
+ getChild<LLIconCtrl>("group_over_limit_icon");
mImplementationp->mGroupOverLimitTextp =
- (LLTextBox*) getChildByName("group_over_limit_text");
+ getChild<LLTextBox>("group_over_limit_text");
mImplementationp->mYourContributionEditorp
- = (LLLineEditor*) getChildByName("your_contribution_line_editor");
+ = getChild<LLLineEditor>("your_contribution_line_editor");
if ( mImplementationp->mYourContributionEditorp )
{
LLLineEditor* editor = mImplementationp->mYourContributionEditorp;
@@ -620,26 +620,13 @@ BOOL LLPanelGroupLandMoney::postBuild()
editor->setCallbackUserData(this);
}
- mImplementationp->mMapButtonp = (LLButton*) getChildByName("map_button");
+ mImplementationp->mMapButtonp = getChild<LLButton>("map_button");
mImplementationp->mGroupParcelsp =
- (LLScrollListCtrl*) getChildByName("group_parcel_list");
-
- LLTextBox *no_permsp =
- (LLTextBox*) getChildByName("cant_view_group_land_text");
- if ( no_permsp )
- {
- mImplementationp->mCantViewParcelsText = no_permsp->getText();
- removeChild(no_permsp, TRUE);
- }
-
- no_permsp = (LLTextBox*) getChildByName("cant_view_group_accounting_text");
- if ( no_permsp )
- {
- mImplementationp->mCantViewAccountsText = no_permsp->getText();
- removeChild(no_permsp, TRUE);
- }
+ getChild<LLScrollListCtrl>("group_parcel_list");
+ mImplementationp->mCantViewParcelsText = getString("cant_view_group_land_text");
+ mImplementationp->mCantViewAccountsText = getString("cant_view_group_accounting_text");
if ( mImplementationp->mMapButtonp )
{
@@ -677,8 +664,7 @@ BOOL LLPanelGroupLandMoney::postBuild()
LLTextEditor* textp;
LLPanel* panelp;
- LLTabContainerCommon* tabcp = (LLTabContainerCommon*)
- getChildByName("group_money_tab_container", true);
+ LLTabContainer* tabcp = getChild<LLTabContainer>("group_money_tab_container");
if ( !can_view )
{
@@ -694,13 +680,13 @@ BOOL LLPanelGroupLandMoney::postBuild()
}
}
- LLString loading_text = childGetText("loading_txt");
+ LLString loading_text = getString("loading_txt");
//pull out the widgets for the L$ details tab
- earlierp = (LLButton*) getChildByName("earlier_details_button", true);
- laterp = (LLButton*) getChildByName("later_details_button", true);
- textp = (LLTextEditor*) getChildByName("group_money_details_text", true);
- panelp = (LLPanel*) getChildByName("group_money_details_tab", true);
+ earlierp = getChild<LLButton>("earlier_details_button", true);
+ laterp = getChild<LLButton>("later_details_button", true);
+ textp = getChild<LLTextEditor>("group_money_details_text", true);
+ panelp = getChild<LLPanel>("group_money_details_tab", true);
if ( !can_view )
{
@@ -718,8 +704,8 @@ BOOL LLPanelGroupLandMoney::postBuild()
mGroupID);
}
- textp = (LLTextEditor*) getChildByName("group_money_planning_text", true);
- panelp = (LLPanel*) getChildByName("group_money_planning_tab", true);
+ textp = getChild<LLTextEditor>("group_money_planning_text", true);
+ panelp = getChild<LLPanel>("group_money_planning_tab", true);
if ( !can_view )
{
@@ -736,10 +722,10 @@ BOOL LLPanelGroupLandMoney::postBuild()
}
//pull out the widgets for the L$ sales tab
- earlierp = (LLButton*) getChildByName("earlier_sales_button", true);
- laterp = (LLButton*) getChildByName("later_sales_button", true);
- textp = (LLTextEditor*) getChildByName("group_money_sales_text", true);
- panelp = (LLPanel*) getChildByName("group_money_sales_tab", true);
+ earlierp = getChild<LLButton>("earlier_sales_button", true);
+ laterp = getChild<LLButton>("later_sales_button", true);
+ textp = getChild<LLTextEditor>("group_money_sales_text", true);
+ panelp = getChild<LLPanel>("group_money_sales_tab", true);
if ( !can_view )
{
@@ -881,7 +867,7 @@ std::map<LLPanel*, LLGroupMoneyTabEventHandler*> LLGroupMoneyTabEventHandler::sT
LLGroupMoneyTabEventHandler::LLGroupMoneyTabEventHandler(LLButton* earlier_buttonp,
LLButton* later_buttonp,
LLTextEditor* text_editorp,
- LLTabContainerCommon* tab_containerp,
+ LLTabContainer* tab_containerp,
LLPanel* panelp,
const LLString& loading_text,
const LLUUID& group_id,
@@ -998,7 +984,7 @@ void LLGroupMoneyTabEventHandler::clickTabCallback(void* data, bool from_click)
LLGroupMoneyDetailsTabEventHandler::LLGroupMoneyDetailsTabEventHandler(LLButton* earlier_buttonp,
LLButton* later_buttonp,
LLTextEditor* text_editorp,
- LLTabContainerCommon* tab_containerp,
+ LLTabContainer* tab_containerp,
LLPanel* panelp,
const LLString& loading_text,
const LLUUID& group_id)
@@ -1138,7 +1124,7 @@ void LLPanelGroupLandMoney::processGroupAccountDetailsReply(LLMessageSystem* msg
LLGroupMoneySalesTabEventHandler::LLGroupMoneySalesTabEventHandler(LLButton* earlier_buttonp,
LLButton* later_buttonp,
LLTextEditor* text_editorp,
- LLTabContainerCommon* tab_containerp,
+ LLTabContainer* tab_containerp,
LLPanel* panelp,
const LLString& loading_text,
const LLUUID& group_id)
@@ -1315,7 +1301,7 @@ void LLPanelGroupLandMoney::processGroupAccountTransactionsReply(LLMessageSystem
//***************************************************
LLGroupMoneyPlanningTabEventHandler::LLGroupMoneyPlanningTabEventHandler(LLTextEditor* text_editorp,
- LLTabContainerCommon* tab_containerp,
+ LLTabContainer* tab_containerp,
LLPanel* panelp,
const LLString& loading_text,
const LLUUID& group_id)
diff --git a/indra/newview/llpanelgroupnotices.cpp b/indra/newview/llpanelgroupnotices.cpp
index 9ac88a3cc2..4c16936b68 100644
--- a/indra/newview/llpanelgroupnotices.cpp
+++ b/indra/newview/llpanelgroupnotices.cpp
@@ -129,7 +129,7 @@ BOOL LLGroupDropTarget::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
{
// check if inside
//LLRect parent_rect = mParentView->getRect();
- //mRect.set(0, parent_rect.getHeight(), parent_rect.getWidth(), 0);
+ //getRect().set(0, parent_rect.getHeight(), parent_rect.getWidth(), 0);
handled = TRUE;
// check the type
@@ -229,67 +229,62 @@ BOOL LLPanelGroupNotices::postBuild()
{
bool recurse = true;
- mNoticesList = (LLScrollListCtrl*)getChildByName("notice_list",recurse);
+ mNoticesList = getChild<LLScrollListCtrl>("notice_list",recurse);
mNoticesList->setCommitOnSelectionChange(TRUE);
mNoticesList->setCommitCallback(onSelectNotice);
mNoticesList->setCallbackUserData(this);
- mBtnNewMessage = (LLButton*)getChildByName("create_new_notice",recurse);
+ mBtnNewMessage = getChild<LLButton>("create_new_notice",recurse);
mBtnNewMessage->setClickedCallback(onClickNewMessage);
mBtnNewMessage->setCallbackUserData(this);
mBtnNewMessage->setEnabled(gAgent.hasPowerInGroup(mGroupID, GP_NOTICES_SEND));
- mBtnGetPastNotices = (LLButton*)getChildByName("refresh_notices",recurse);
+ mBtnGetPastNotices = getChild<LLButton>("refresh_notices",recurse);
mBtnGetPastNotices->setClickedCallback(onClickRefreshNotices);
mBtnGetPastNotices->setCallbackUserData(this);
// Create
- mCreateSubject = (LLLineEditor*)getChildByName("create_subject",recurse);
- mCreateMessage = (LLTextEditor*)getChildByName("create_message",recurse);
+ mCreateSubject = getChild<LLLineEditor>("create_subject",recurse);
+ mCreateMessage = getChild<LLTextEditor>("create_message",recurse);
- mCreateInventoryName = (LLLineEditor*)getChildByName("create_inventory_name",recurse);
+ mCreateInventoryName = getChild<LLLineEditor>("create_inventory_name",recurse);
mCreateInventoryName->setTabStop(FALSE);
mCreateInventoryName->setEnabled(FALSE);
- mCreateInventoryIcon = (LLIconCtrl*)getChildByName("create_inv_icon",recurse);
+ mCreateInventoryIcon = getChild<LLIconCtrl>("create_inv_icon",recurse);
mCreateInventoryIcon->setVisible(FALSE);
- mBtnSendMessage = (LLButton*)getChildByName("send_notice",recurse);
+ mBtnSendMessage = getChild<LLButton>("send_notice",recurse);
mBtnSendMessage->setClickedCallback(onClickSendMessage);
mBtnSendMessage->setCallbackUserData(this);
- mBtnRemoveAttachment = (LLButton*)getChildByName("remove_attachment",recurse);
+ mBtnRemoveAttachment = getChild<LLButton>("remove_attachment",recurse);
mBtnRemoveAttachment->setClickedCallback(onClickRemoveAttachment);
mBtnRemoveAttachment->setCallbackUserData(this);
mBtnRemoveAttachment->setEnabled(FALSE);
// View
- mViewSubject = (LLLineEditor*)getChildByName("view_subject",recurse);
- mViewMessage = (LLTextEditor*)getChildByName("view_message",recurse);
+ mViewSubject = getChild<LLLineEditor>("view_subject",recurse);
+ mViewMessage = getChild<LLTextEditor>("view_message",recurse);
- mViewInventoryName = (LLLineEditor*)getChildByName("view_inventory_name",recurse);
+ mViewInventoryName = getChild<LLLineEditor>("view_inventory_name",recurse);
mViewInventoryName->setTabStop(FALSE);
mViewInventoryName->setEnabled(FALSE);
- mViewInventoryIcon = (LLIconCtrl*)getChildByName("view_inv_icon",recurse);
+ mViewInventoryIcon = getChild<LLIconCtrl>("view_inv_icon",recurse);
mViewInventoryIcon->setVisible(FALSE);
- mBtnOpenAttachment = (LLButton*)getChildByName("open_attachment",recurse);
+ mBtnOpenAttachment = getChild<LLButton>("open_attachment",recurse);
mBtnOpenAttachment->setClickedCallback(onClickOpenAttachment);
mBtnOpenAttachment->setCallbackUserData(this);
- LLTextBox *txt = (LLTextBox*) getChildByName("no_notices_text",false);
- if (txt)
- {
- mNoNoticesStr = txt->getText();
- removeChild(txt, TRUE);
- }
+ mNoNoticesStr = getString("no_notices_text");
- mPanelCreateNotice = (LLPanel*) getChildByName("panel_create_new_notice",recurse);
- mPanelViewNotice = (LLPanel*) getChildByName("panel_view_past_notice",recurse);
+ mPanelCreateNotice = getChild<LLPanel>("panel_create_new_notice",recurse);
+ mPanelViewNotice = getChild<LLPanel>("panel_view_past_notice",recurse);
// Must be in front of all other UI elements.
- LLPanel* dtv = (LLPanel*)getChildByName("drop_target",recurse);
+ LLPanel* dtv = getChild<LLPanel>("drop_target",recurse);
LLGroupDropTarget* target = new LLGroupDropTarget("drop_target",
dtv->getRect(),
this, mGroupID);
diff --git a/indra/newview/llpanelgrouproles.cpp b/indra/newview/llpanelgrouproles.cpp
index 1556f24afa..6ca3e1e085 100644
--- a/indra/newview/llpanelgrouproles.cpp
+++ b/indra/newview/llpanelgrouproles.cpp
@@ -133,7 +133,7 @@ BOOL LLPanelGroupRoles::postBuild()
{
lldebugs << "LLPanelGroupRoles::postBuild()" << llendl;
- mSubTabContainer = (LLTabContainerCommon*) getChildByName("roles_tab_container");
+ mSubTabContainer = getChild<LLTabContainer>("roles_tab_container");
if (!mSubTabContainer) return FALSE;
@@ -169,20 +169,8 @@ BOOL LLPanelGroupRoles::postBuild()
mCurrentTab->activate();
// Read apply text from the xml file.
- LLTextBox* txt;
- // Don't recurse for this, since we don't currently have a recursive removeChild()
- txt = (LLTextBox*)getChildByName("default_needs_apply_text");
- if (txt)
- {
- mDefaultNeedsApplyMesg = txt->getText();
- removeChild(txt, TRUE);
- }
- txt = (LLTextBox*)getChildByName("want_apply_text");
- if (txt)
- {
- mWantApplyMesg = txt->getText();
- removeChild(txt, TRUE);
- }
+ mDefaultNeedsApplyMesg = getString("default_needs_apply_text");
+ mWantApplyMesg = getString("want_apply_text");
return LLPanelGroupTab::postBuild();
}
@@ -515,20 +503,20 @@ BOOL LLPanelGroupSubTab::postBuild()
{
// Hook up the search widgets.
bool recurse = true;
- mSearchLineEditor = (LLLineEditor*) getChildByName("search_text", recurse);
+ mSearchLineEditor = getChild<LLLineEditor>("search_text", recurse);
if (!mSearchLineEditor) return FALSE;
mSearchLineEditor->setKeystrokeCallback(onSearchKeystroke);
mSearchLineEditor->setCallbackUserData(this);
- mSearchButton = (LLButton*) getChildByName("search_button", recurse);
+ mSearchButton = getChild<LLButton>("search_button", recurse);
if (!mSearchButton) return FALSE;
mSearchButton->setClickedCallback(onClickSearch);
mSearchButton->setCallbackUserData(this);
mSearchButton->setEnabled(FALSE);
- mShowAllButton = (LLButton*) getChildByName("show_all_button", recurse);
+ mShowAllButton = getChild<LLButton>("show_all_button", recurse);
if (!mShowAllButton) return FALSE;
mShowAllButton->setClickedCallback(onClickShowAll);
@@ -540,21 +528,21 @@ BOOL LLPanelGroupSubTab::postBuild()
bool no_recurse = false;
- LLIconCtrl* icon = (LLIconCtrl*) getChildByName("power_folder_icon",no_recurse);
+ LLIconCtrl* icon = getChild<LLIconCtrl>("power_folder_icon",no_recurse);
if (icon && icon->getImage().notNull())
{
mActionIcons["folder"] = icon->getImage();
removeChild(icon, TRUE);
}
- icon = (LLIconCtrl*) getChildByName("power_all_have_icon",no_recurse);
+ icon = getChild<LLIconCtrl>("power_all_have_icon",no_recurse);
if (icon && icon->getImage().notNull())
{
mActionIcons["full"] = icon->getImage();
removeChild(icon, TRUE);
}
- icon = (LLIconCtrl*) getChildByName("power_partial_icon",no_recurse);
+ icon = getChild<LLIconCtrl>("power_partial_icon",no_recurse);
if (icon && icon->getImage().notNull())
{
mActionIcons["partial"] = icon->getImage();
@@ -913,12 +901,12 @@ BOOL LLPanelGroupMembersSubTab::postBuildSubTab(LLView* root)
// Look recursively from the parent to find all our widgets.
bool recurse = true;
- mHeader = (LLPanel*) parent->getChildByName("members_header", recurse);
- mFooter = (LLPanel*) parent->getChildByName("members_footer", recurse);
+ mHeader = parent->getChild<LLPanel>("members_header", recurse);
+ mFooter = parent->getChild<LLPanel>("members_footer", recurse);
- mMembersList = (LLNameListCtrl*) parent->getChildByName("member_list", recurse);
- mAssignedRolesList = (LLScrollListCtrl*) parent->getChildByName("member_assigned_roles", recurse);
- mAllowedActionsList = (LLScrollListCtrl*) parent->getChildByName("member_allowed_actions", recurse);
+ mMembersList = parent->getChild<LLNameListCtrl>("member_list", recurse);
+ mAssignedRolesList = parent->getChild<LLScrollListCtrl>("member_assigned_roles", recurse);
+ mAllowedActionsList = parent->getChild<LLScrollListCtrl>("member_allowed_actions", recurse);
if (!mMembersList || !mAssignedRolesList || !mAllowedActionsList) return FALSE;
@@ -929,7 +917,7 @@ BOOL LLPanelGroupMembersSubTab::postBuildSubTab(LLView* root)
// Show the member's profile on double click.
mMembersList->setDoubleClickCallback(onMemberDoubleClick);
- LLButton* button = (LLButton*) parent->getChildByName("member_invite", recurse);
+ LLButton* button = parent->getChild<LLButton>("member_invite", recurse);
if ( button )
{
button->setClickedCallback(onInviteMember);
@@ -937,7 +925,7 @@ BOOL LLPanelGroupMembersSubTab::postBuildSubTab(LLView* root)
button->setEnabled(gAgent.hasPowerInGroup(mGroupID, GP_MEMBER_INVITE));
}
- mEjectBtn = (LLButton*) parent->getChildByName("member_eject", recurse);
+ mEjectBtn = parent->getChild<LLButton>("member_eject", recurse);
if ( mEjectBtn )
{
mEjectBtn->setClickedCallback(onEjectMembers);
@@ -1483,19 +1471,16 @@ void LLPanelGroupMembersSubTab::applyMemberChanges()
notifyObservers();
}
-bool LLPanelGroupMembersSubTab::matchesSearchFilter(char* first, char* last)
+bool LLPanelGroupMembersSubTab::matchesSearchFilter(const std::string& fullname)
{
// If the search filter is empty, everything passes.
if (mSearchFilter.empty()) return true;
// Create a full name, and compare it to the search filter.
- LLString fullname;
- fullname.assign(first);
- fullname.append(1, ' ');
- fullname.append(last);
- LLString::toLower(fullname);
+ std::string fullname_lc(fullname);
+ LLString::toLower(fullname_lc);
- std::string::size_type match = fullname.find(mSearchFilter);
+ std::string::size_type match = fullname_lc.find(mSearchFilter);
if (std::string::npos == match)
{
@@ -1709,8 +1694,6 @@ void LLPanelGroupMembersSubTab::updateMembers()
LLGroupMgrGroupData::member_iter end = gdatap->mMembers.end();
- char first[DB_FIRST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
- char last[DB_LAST_NAME_BUF_SIZE]; /*Flawfinder: ignore*/
S32 i = 0;
for( ; mMemberProgress != end && i<UPDATE_MEMBERS_PER_FRAME;
++mMemberProgress, ++i)
@@ -1720,9 +1703,10 @@ void LLPanelGroupMembersSubTab::updateMembers()
// Do filtering on name if it is already in the cache.
bool add_member = true;
- if (gCacheName->getName(mMemberProgress->first, first, last))
+ std::string fullname;
+ if (gCacheName->getFullName(mMemberProgress->first, fullname))
{
- if ( !matchesSearchFilter(first, last) )
+ if ( !matchesSearchFilter(fullname) )
{
add_member = false;
}
@@ -1802,19 +1786,19 @@ BOOL LLPanelGroupRolesSubTab::postBuildSubTab(LLView* root)
// Look recursively from the parent to find all our widgets.
bool recurse = true;
- mHeader = (LLPanel*) parent->getChildByName("roles_header", recurse);
- mFooter = (LLPanel*) parent->getChildByName("roles_footer", recurse);
+ mHeader = parent->getChild<LLPanel>("roles_header", recurse);
+ mFooter = parent->getChild<LLPanel>("roles_footer", recurse);
- mRolesList = (LLScrollListCtrl*) parent->getChildByName("role_list", recurse);
- mAssignedMembersList = (LLNameListCtrl*) parent->getChildByName("role_assigned_members", recurse);
- mAllowedActionsList = (LLScrollListCtrl*) parent->getChildByName("role_allowed_actions", recurse);
+ mRolesList = parent->getChild<LLScrollListCtrl>("role_list", recurse);
+ mAssignedMembersList = parent->getChild<LLNameListCtrl>("role_assigned_members", recurse);
+ mAllowedActionsList = parent->getChild<LLScrollListCtrl>("role_allowed_actions", recurse);
- mRoleName = (LLLineEditor*) parent->getChildByName("role_name", recurse);
- mRoleTitle = (LLLineEditor*) parent->getChildByName("role_title", recurse);
- mRoleDescription = (LLTextEditor*) parent->getChildByName("role_description", recurse);
+ mRoleName = parent->getChild<LLLineEditor>("role_name", recurse);
+ mRoleTitle = parent->getChild<LLLineEditor>("role_title", recurse);
+ mRoleDescription = parent->getChild<LLTextEditor>("role_description", recurse);
- mMemberVisibleCheck = (LLCheckBoxCtrl*) parent->getChildByName("role_visible_in_list", recurse);
+ mMemberVisibleCheck = parent->getChild<LLCheckBoxCtrl>("role_visible_in_list", recurse);
if (!mRolesList || !mAssignedMembersList || !mAllowedActionsList
|| !mRoleName || !mRoleTitle || !mRoleDescription || !mMemberVisibleCheck)
@@ -1823,15 +1807,10 @@ BOOL LLPanelGroupRolesSubTab::postBuildSubTab(LLView* root)
return FALSE;
}
- LLTextBox* txt = (LLTextBox*) parent->getChildByName("cant_delete_role", FALSE);
- if (txt)
- {
- mRemoveEveryoneTxt = txt->getText();
- parent->removeChild(txt, TRUE);
- }
+ mRemoveEveryoneTxt = getString("cant_delete_role");
mCreateRoleButton =
- (LLButton*) parent->getChildByName("role_create", recurse);
+ parent->getChild<LLButton>("role_create", recurse);
if ( mCreateRoleButton )
{
mCreateRoleButton->setCallbackUserData(this);
@@ -1840,7 +1819,7 @@ BOOL LLPanelGroupRolesSubTab::postBuildSubTab(LLView* root)
}
mDeleteRoleButton =
- (LLButton*) parent->getChildByName("role_delete", recurse);
+ parent->getChild<LLButton>("role_delete", recurse);
if ( mDeleteRoleButton )
{
mDeleteRoleButton->setCallbackUserData(this);
@@ -2515,14 +2494,14 @@ BOOL LLPanelGroupActionsSubTab::postBuildSubTab(LLView* root)
// Look recursively from the parent to find all our widgets.
bool recurse = true;
- mHeader = (LLPanel*) parent->getChildByName("actions_header", recurse);
- mFooter = (LLPanel*) parent->getChildByName("actions_footer", recurse);
+ mHeader = parent->getChild<LLPanel>("actions_header", recurse);
+ mFooter = parent->getChild<LLPanel>("actions_footer", recurse);
- mActionDescription = (LLTextEditor*) parent->getChildByName("action_description", recurse);
+ mActionDescription = parent->getChild<LLTextEditor>("action_description", recurse);
- mActionList = (LLScrollListCtrl*) parent->getChildByName("action_list",recurse);
- mActionRoles = (LLScrollListCtrl*) parent->getChildByName("action_roles",recurse);
- mActionMembers = (LLNameListCtrl*) parent->getChildByName("action_members",recurse);
+ mActionList = parent->getChild<LLScrollListCtrl>("action_list",recurse);
+ mActionRoles = parent->getChild<LLScrollListCtrl>("action_roles",recurse);
+ mActionMembers = parent->getChild<LLNameListCtrl>("action_members",recurse);
if (!mActionList || !mActionDescription || !mActionRoles || !mActionMembers) return FALSE;
diff --git a/indra/newview/llpanelgrouproles.h b/indra/newview/llpanelgrouproles.h
index 13d64d4edb..6d2c6ab4cf 100644
--- a/indra/newview/llpanelgrouproles.h
+++ b/indra/newview/llpanelgrouproles.h
@@ -93,7 +93,7 @@ public:
protected:
LLPanelGroupTab* mCurrentTab;
LLPanelGroupTab* mRequestedTab;
- LLTabContainerCommon* mSubTabContainer;
+ LLTabContainer* mSubTabContainer;
BOOL mFirstUse;
BOOL mIgnoreTransition;
@@ -205,7 +205,7 @@ protected:
typedef std::map<LLUUID, role_change_data_map_t*>::iterator member_role_change_iter;
typedef std::map<LLUUID, role_change_data_map_t*> member_role_changes_map_t;
- bool matchesSearchFilter(char* first, char* last);
+ bool matchesSearchFilter(const std::string& fullname);
U64 getAgentPowersBasedOnRoleChanges(const LLUUID& agent_id);
bool getRoleChangeType(const LLUUID& member_id,
diff --git a/indra/newview/llpanellandmedia.cpp b/indra/newview/llpanellandmedia.cpp
index 1ac95c9a82..eb40eefcb7 100644
--- a/indra/newview/llpanellandmedia.cpp
+++ b/indra/newview/llpanellandmedia.cpp
@@ -66,7 +66,7 @@ BOOL LLPanelLandMedia::postBuild()
mMusicURLEdit = LLUICtrlFactory::getLineEditorByName(this, "music_url");
childSetCommitCallback("music_url", onCommitAny, this);
- mMediaTextureCtrl = LLUICtrlFactory::getTexturePickerByName(this, "media texture");
+ mMediaTextureCtrl = LLViewerUICtrlFactory::getTexturePickerByName(this, "media texture");
if (mMediaTextureCtrl)
{
mMediaTextureCtrl->setCommitCallback( onCommitAny );
@@ -77,7 +77,7 @@ BOOL LLPanelLandMedia::postBuild()
}
else
{
- llwarns << "LLUICtrlFactory::getTexturePickerByName() returned NULL for 'media texure'" << llendl;
+ llwarns << "LLViewerUICtrlFactory::getTexturePickerByName() returned NULL for 'media texure'" << llendl;
}
mMediaAutoScaleCheck = LLUICtrlFactory::getCheckBoxByName(this, "media_auto_scale");
@@ -242,7 +242,7 @@ void LLPanelLandMedia::refresh()
};
#endif
- LLFloaterURLEntry* floater_url_entry = (LLFloaterURLEntry*)LLFloater::getFloaterByHandle(mURLEntryFloater);
+ LLFloaterURLEntry* floater_url_entry = (LLFloaterURLEntry*)mURLEntryFloater.get();
if (floater_url_entry)
{
floater_url_entry->updateFromLandMediaPanel();
@@ -373,6 +373,6 @@ void LLPanelLandMedia::onSetBtn(void *userdata)
LLFloater* parent_floater = gFloaterView->getParentFloater(self);
if (parent_floater)
{
- parent_floater->addDependentFloater(LLFloater::getFloaterByHandle(self->mURLEntryFloater));
+ parent_floater->addDependentFloater(self->mURLEntryFloater.get());
}
}
diff --git a/indra/newview/llpanellandmedia.h b/indra/newview/llpanellandmedia.h
index aa84b245e2..769bc27532 100644
--- a/indra/newview/llpanellandmedia.h
+++ b/indra/newview/llpanellandmedia.h
@@ -11,7 +11,6 @@
#define LLPANELLANDMEDIA_H
#include "lllineeditor.h"
-#include "llmemory.h" // LLHandle<>
#include "llpanel.h"
#include "llparcelselection.h"
#include "lluifwd.h" // widget pointer types
@@ -20,7 +19,7 @@ class LLPanelLandMedia
: public LLPanel
{
public:
- LLPanelLandMedia(LLHandle<LLParcelSelection>& parcelp);
+ LLPanelLandMedia(LLSafeHandle<LLParcelSelection>& parcelp);
/*virtual*/ ~LLPanelLandMedia();
/*virtual*/ BOOL postBuild();
void refresh();
@@ -50,9 +49,9 @@ private:
LLCheckBoxCtrl* mMediaLoopCheck;
LLCheckBoxCtrl* mMediaUrlCheck;
LLCheckBoxCtrl* mMusicUrlCheck;
- LLViewHandle mURLEntryFloater;
+ LLHandle<LLFloater> mURLEntryFloater;
- LLHandle<LLParcelSelection>& mParcel;
+ LLSafeHandle<LLParcelSelection>& mParcel;
};
#endif
diff --git a/indra/newview/llpanellogin.cpp b/indra/newview/llpanellogin.cpp
index a80765c805..b65835fed3 100644
--- a/indra/newview/llpanellogin.cpp
+++ b/indra/newview/llpanellogin.cpp
@@ -328,7 +328,7 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
mCallbackData(cb_data),
mHtmlAvailable( TRUE )
{
- mIsFocusRoot = TRUE;
+ setFocusRoot(TRUE);
setBackgroundVisible(FALSE);
setBackgroundOpaque(TRUE);
@@ -437,7 +437,7 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
#endif
// get the web browser control
- LLWebBrowserCtrl* web_browser = LLUICtrlFactory::getWebBrowserCtrlByName(this, "login_html");
+ LLWebBrowserCtrl* web_browser = getChild<LLWebBrowserCtrl>("login_html");
if ( web_browser )
{
// Need to handle login secondlife:///app/ URLs
@@ -454,22 +454,22 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
web_browser->setOpenInExternalBrowser( true );
// force the size to be correct (XML doesn't seem to be sufficient to do this) (with some padding so the other login screen doesn't show through)
- LLRect htmlRect = mRect;
+ LLRect htmlRect = getRect();
#if USE_VIEWER_AUTH
- htmlRect.setCenterAndSize( mRect.getCenterX() - 2, mRect.getCenterY(), mRect.getWidth() + 6, mRect.getHeight());
+ htmlRect.setCenterAndSize( getRect().getCenterX() - 2, getRect().getCenterY(), getRect().getWidth() + 6, getRect().getHeight());
#else
- htmlRect.setCenterAndSize( mRect.getCenterX() - 2, mRect.getCenterY() + 40, mRect.getWidth() + 6, mRect.getHeight() - 78 );
+ htmlRect.setCenterAndSize( getRect().getCenterX() - 2, getRect().getCenterY() + 40, getRect().getWidth() + 6, getRect().getHeight() - 78 );
#endif
web_browser->setRect( htmlRect );
web_browser->reshape( htmlRect.getWidth(), htmlRect.getHeight(), TRUE );
- reshape( mRect.getWidth(), mRect.getHeight(), 1 );
+ reshape( getRect().getWidth(), getRect().getHeight(), 1 );
// kick off a request to grab the url manually
gResponsePtr = LLIamHereLogin::build( this );
std::string login_page = LLAppViewer::instance()->getLoginPage();
if (login_page.empty())
{
- login_page = childGetValue( "real_url" ).asString();
+ login_page = getString( "real_url" );
}
LLHTTPClient::head( login_page, gResponsePtr );
};
@@ -482,7 +482,7 @@ LLPanelLogin::LLPanelLogin(const LLRect &rect,
void LLPanelLogin::setSiteIsAlive( bool alive )
{
- LLWebBrowserCtrl* web_browser = LLUICtrlFactory::getWebBrowserCtrlByName(this, "login_html");
+ LLWebBrowserCtrl* web_browser = getChild<LLWebBrowserCtrl>("login_html");
// if the contents of the site was retrieved
if ( alive )
{
@@ -555,16 +555,16 @@ void LLPanelLogin::draw()
glPushMatrix();
{
F32 image_aspect = 1.333333f;
- F32 view_aspect = (F32)mRect.getWidth() / (F32)mRect.getHeight();
+ F32 view_aspect = (F32)getRect().getWidth() / (F32)getRect().getHeight();
// stretch image to maintain aspect ratio
if (image_aspect > view_aspect)
{
- glTranslatef(-0.5f * (image_aspect / view_aspect - 1.f) * mRect.getWidth(), 0.f, 0.f);
+ glTranslatef(-0.5f * (image_aspect / view_aspect - 1.f) * getRect().getWidth(), 0.f, 0.f);
glScalef(image_aspect / view_aspect, 1.f, 1.f);
}
- S32 width = mRect.getWidth();
- S32 height = mRect.getHeight();
+ S32 width = getRect().getWidth();
+ S32 height = getRect().getHeight();
if ( mHtmlAvailable )
{
@@ -905,7 +905,7 @@ void LLPanelLogin::setAlwaysRefresh(bool refresh)
{
if (LLStartUp::getStartupState() >= STATE_LOGIN_CLEANUP) return;
- LLWebBrowserCtrl* web_browser = LLUICtrlFactory::getWebBrowserCtrlByName(sInstance, "login_html");
+ LLWebBrowserCtrl* web_browser = sInstance->getChild<LLWebBrowserCtrl>("login_html");
if (web_browser)
{
@@ -924,7 +924,7 @@ void LLPanelLogin::loadLoginPage()
std::string login_page = LLAppViewer::instance()->getLoginPage();
if (login_page.empty())
{
- login_page = sInstance->childGetValue( "real_url" ).asString();
+ login_page = sInstance->getString( "real_url" );
}
oStr << login_page;
@@ -1036,7 +1036,7 @@ void LLPanelLogin::loadLoginPage()
#endif
#endif
- LLWebBrowserCtrl* web_browser = LLUICtrlFactory::getWebBrowserCtrlByName(sInstance, "login_html");
+ LLWebBrowserCtrl* web_browser = sInstance->getChild<LLWebBrowserCtrl>("login_html");
// navigate to the "real" page
web_browser->navigateTo( oStr.str() );
@@ -1044,7 +1044,7 @@ void LLPanelLogin::loadLoginPage()
void LLPanelLogin::onNavigateComplete( const EventType& eventIn )
{
- LLWebBrowserCtrl* web_browser = LLUICtrlFactory::getWebBrowserCtrlByName(sInstance, "login_html");
+ LLWebBrowserCtrl* web_browser = sInstance->getChild<LLWebBrowserCtrl>("login_html");
if (web_browser)
{
// *HACK HACK HACK HACK!
@@ -1157,7 +1157,7 @@ void LLPanelLogin::onClickForgotPassword(void*)
{
if (sInstance )
{
- LLWeb::loadURL(sInstance->childGetValue( "forgot_password_url" ).asString());
+ LLWeb::loadURL(sInstance->getString( "forgot_password_url" ));
}
}
diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp
index a57993820f..f717088de6 100644
--- a/indra/newview/llpanelobject.cpp
+++ b/indra/newview/llpanelobject.cpp
@@ -259,7 +259,7 @@ BOOL LLPanelObject::postBuild()
mSpinRevolutions->setValidateBeforeCommit( &precommitValidate );
// Sculpt
- mCtrlSculptTexture = LLUICtrlFactory::getTexturePickerByName(this,"sculpt texture control");
+ mCtrlSculptTexture = getChild<LLTextureCtrl>("sculpt texture control");
if (mCtrlSculptTexture)
{
mCtrlSculptTexture->setDefaultImageAssetID(LLUUID(SCULPT_DEFAULT_TEXTURE));
@@ -1903,7 +1903,7 @@ void LLPanelObject::onSelectSculpt(LLUICtrl* ctrl, void* userdata)
{
LLPanelObject* self = (LLPanelObject*) userdata;
- LLTextureCtrl* mTextureCtrl = gUICtrlFactory->getTexturePickerByName(self, "sculpt texture control");
+ LLTextureCtrl* mTextureCtrl = self->getChild<LLTextureCtrl>("sculpt texture control");
if (mTextureCtrl)
{
@@ -1926,7 +1926,7 @@ BOOL LLPanelObject::onDropSculpt(LLUICtrl*, LLInventoryItem* item, void* userdat
{
LLPanelObject* self = (LLPanelObject*) userdata;
- LLTextureCtrl* mTextureCtrl = gUICtrlFactory->getTexturePickerByName(self, "sculpt texture control");
+ LLTextureCtrl* mTextureCtrl = self->getChild<LLTextureCtrl>("sculpt texture control");
if (mTextureCtrl)
{
@@ -1945,7 +1945,7 @@ void LLPanelObject::onCancelSculpt(LLUICtrl* ctrl, void* userdata)
{
LLPanelObject* self = (LLPanelObject*) userdata;
- LLTextureCtrl* mTextureCtrl = gUICtrlFactory->getTexturePickerByName(self,"sculpt texture control");
+ LLTextureCtrl* mTextureCtrl = self->getChild<LLTextureCtrl>("sculpt texture control");
if(!mTextureCtrl)
return;
diff --git a/indra/newview/llpanelpermissions.cpp b/indra/newview/llpanelpermissions.cpp
index 7beba92ebb..8ab31acb49 100644
--- a/indra/newview/llpanelpermissions.cpp
+++ b/indra/newview/llpanelpermissions.cpp
@@ -138,11 +138,11 @@ void LLPanelPermissions::refresh()
LLString deedText;
if (gSavedSettings.getWarning("DeedObject"))
{
- deedText = this->childGetText("text deed continued");
+ deedText = getString("text deed continued");
}
else
{
- deedText = this->childGetText("text deed");
+ deedText = getString("text deed");
}
BtnDeedToGroup->setLabelSelected(deedText);
BtnDeedToGroup->setLabelUnselected(deedText);
@@ -261,10 +261,10 @@ void LLPanelPermissions::refresh()
S32 string_index = 0;
LLString MODIFY_INFO_STRINGS[] =
{
- childGetText("text modify info 1"),
- childGetText("text modify info 2"),
- childGetText("text modify info 3"),
- childGetText("text modify info 4")
+ getString("text modify info 1"),
+ getString("text modify info 2"),
+ getString("text modify info 3"),
+ getString("text modify info 4")
};
if(!is_perm_modify)
{
@@ -572,7 +572,7 @@ void LLPanelPermissions::refresh()
if (!has_change_perm_ability && !has_change_sale_ability && !root_selected)
{
// ...must select root to choose permissions
- childSetValue("perm_modify", childGetText("text modify warning"));
+ childSetValue("perm_modify", getString("text modify warning"));
}
if (has_change_perm_ability)
diff --git a/indra/newview/llpanelpick.cpp b/indra/newview/llpanelpick.cpp
index cd251314d3..2a85d52689 100644
--- a/indra/newview/llpanelpick.cpp
+++ b/indra/newview/llpanelpick.cpp
@@ -134,7 +134,7 @@ BOOL LLPanelPick::postBuild()
mDescEditor->setCommitOnFocusLost(TRUE);
mDescEditor->setCommitCallback(onCommitAny);
mDescEditor->setCallbackUserData(this);
- mDescEditor->setTabToNextField(TRUE);
+ mDescEditor->setTabsToNextField(TRUE);
mLocationEditor = LLViewerUICtrlFactory::getLineEditorByName(this, "location_editor");
@@ -507,7 +507,7 @@ void LLPanelPick::onCommitAny(LLUICtrl* ctrl, void* data)
}
else
{*/
- LLTabContainerVertical* tab = (LLTabContainerVertical*)self->getParent();
+ LLTabContainer* tab = (LLTabContainer*)self->getParent();
if (tab)
{
if(tab) tab->setCurrentTabName(self->mNameEditor->getText());
diff --git a/indra/newview/llpanelplace.cpp b/indra/newview/llpanelplace.cpp
index a05f7129ae..aa10dda62c 100644
--- a/indra/newview/llpanelplace.cpp
+++ b/indra/newview/llpanelplace.cpp
@@ -190,11 +190,11 @@ void LLPanelPlace::setErrorStatus(U32 status, const std::string& reason)
LLString error_text;
if(status == 404)
{
- error_text = childGetText("server_error_text");
+ error_text = getString("server_error_text");
}
else if(status == 499)
{
- error_text = childGetText("server_forbidden_text");
+ error_text = getString("server_forbidden_text");
}
mDescEditor->setText(error_text);
}
@@ -260,13 +260,13 @@ void LLPanelPlace::processParcelInfoReply(LLMessageSystem *msg, void **)
std::string desc_str(desc);
if( !name_str.empty()
- && self->mNameEditor->getText().empty())
+ && self->mNameEditor && self->mNameEditor->getText().empty())
{
self->mNameEditor->setText(name_str);
}
if( !desc_str.empty()
- && self->mDescEditor->getText().empty())
+ && self->mDescEditor && self->mDescEditor->getText().empty())
{
self->mDescEditor->setText(desc_str);
}
@@ -290,8 +290,10 @@ void LLPanelPlace::processParcelInfoReply(LLMessageSystem *msg, void **)
auction.setArg("[ID]", llformat("%010d ", auction_id));
info_text += auction;
}
- self->mInfoEditor->setText(info_text);
-
+ if (self->mInfoEditor)
+ {
+ self->mInfoEditor->setText(info_text);
+ }
// HACK: Flag 0x1 == mature region, otherwise assume PG
const char* rating = LLViewerRegion::accessToString(SIM_ACCESS_PG);
@@ -320,7 +322,10 @@ void LLPanelPlace::processParcelInfoReply(LLMessageSystem *msg, void **)
LLString location = llformat("%s %d, %d, %d (%s)",
sim_name, region_x, region_y, region_z, rating);
- self->mLocationEditor->setText(location);
+ if (self->mLocationEditor)
+ {
+ self->mLocationEditor->setText(location);
+ }
BOOL show_auction = (auction_id > 0);
self->mAuctionBtn->setVisible(show_auction);
@@ -354,7 +359,7 @@ void LLPanelPlace::displayParcelInfo(const LLVector3& pos_region,
}
else
{
- mDescEditor->setText(childGetText("server_update_text"));
+ mDescEditor->setText(getString("server_update_text"));
}
mSnapshotCtrl->setImageAssetID(LLUUID::null);
}
diff --git a/indra/newview/llpanelvolume.cpp b/indra/newview/llpanelvolume.cpp
index e7b5e79377..83a2a5e0bd 100644
--- a/indra/newview/llpanelvolume.cpp
+++ b/indra/newview/llpanelvolume.cpp
@@ -104,7 +104,7 @@ BOOL LLPanelVolume::postBuild()
// LIGHT Parameters
{
childSetCommitCallback("Light Checkbox Ctrl",onCommitIsLight,this);
- LLColorSwatchCtrl* LightColorSwatch = gUICtrlFactory->getColorSwatchByName(this,"colorswatch");
+ LLColorSwatchCtrl* LightColorSwatch = getChild<LLColorSwatchCtrl>("colorswatch");
if(LightColorSwatch){
LightColorSwatch->setOnCancelCallback(onLightCancelColor);
LightColorSwatch->setOnSelectCallback(onLightSelectColor);
@@ -213,7 +213,7 @@ void LLPanelVolume::getState( )
{
childSetEnabled("label color",true);
//mLabelColor ->setEnabled( TRUE );
- LLColorSwatchCtrl* LightColorSwatch = gUICtrlFactory->getColorSwatchByName(this,"colorswatch");
+ LLColorSwatchCtrl* LightColorSwatch = getChild<LLColorSwatchCtrl>("colorswatch");
if(LightColorSwatch)
{
LightColorSwatch->setEnabled( TRUE );
@@ -233,7 +233,7 @@ void LLPanelVolume::getState( )
else
{
childSetEnabled("label color",false);
- LLColorSwatchCtrl* LightColorSwatch = gUICtrlFactory->getColorSwatchByName(this,"colorswatch");
+ LLColorSwatchCtrl* LightColorSwatch = getChild<LLColorSwatchCtrl>("colorswatch");
if(LightColorSwatch)
{
LightColorSwatch->setEnabled( FALSE );
@@ -342,7 +342,7 @@ void LLPanelVolume::clearCtrls()
childSetEnabled("Light Checkbox Ctrl",false);
childSetEnabled("label color",false);
childSetEnabled("label color",false);
- LLColorSwatchCtrl* LightColorSwatch = gUICtrlFactory->getColorSwatchByName(this,"colorswatch");
+ LLColorSwatchCtrl* LightColorSwatch = getChild<LLColorSwatchCtrl>("colorswatch");
if(LightColorSwatch)
{
LightColorSwatch->setEnabled( FALSE );
@@ -416,7 +416,7 @@ void LLPanelVolume::sendIsFlexible()
void LLPanelVolume::onLightCancelColor(LLUICtrl* ctrl, void* userdata)
{
LLPanelVolume* self = (LLPanelVolume*) userdata;
- LLColorSwatchCtrl* LightColorSwatch = gUICtrlFactory->getColorSwatchByName(self,"colorswatch");
+ LLColorSwatchCtrl* LightColorSwatch = self->getChild<LLColorSwatchCtrl>("colorswatch");
if(LightColorSwatch)
{
LightColorSwatch->setColor(self->mLightSavedColor);
@@ -435,7 +435,7 @@ void LLPanelVolume::onLightSelectColor(LLUICtrl* ctrl, void* userdata)
LLVOVolume *volobjp = (LLVOVolume *)objectp;
- LLColorSwatchCtrl* LightColorSwatch = gUICtrlFactory->getColorSwatchByName(self,"colorswatch");
+ LLColorSwatchCtrl* LightColorSwatch = self->getChild<LLColorSwatchCtrl>("colorswatch");
if(LightColorSwatch)
{
LLColor4 clr = LightColorSwatch->get();
@@ -460,7 +460,7 @@ void LLPanelVolume::onCommitLight( LLUICtrl* ctrl, void* userdata )
volobjp->setLightIntensity((F32)self->childGetValue("Light Intensity").asReal());
volobjp->setLightRadius((F32)self->childGetValue("Light Radius").asReal());
volobjp->setLightFalloff((F32)self->childGetValue("Light Falloff").asReal());
- LLColorSwatchCtrl* LightColorSwatch = gUICtrlFactory->getColorSwatchByName(self,"colorswatch");
+ LLColorSwatchCtrl* LightColorSwatch = self->getChild<LLColorSwatchCtrl>("colorswatch");
if(LightColorSwatch)
{
LLColor4 clr = LightColorSwatch->get();
diff --git a/indra/newview/llparcelselection.cpp b/indra/newview/llparcelselection.cpp
index 5478a96b97..e49ae57bcf 100644
--- a/indra/newview/llparcelselection.cpp
+++ b/indra/newview/llparcelselection.cpp
@@ -17,9 +17,8 @@
LLPointer<LLParcelSelection> LLParcelSelection::sNullSelection;
template<>
- const LLHandle<LLParcelSelection>::NullFunc
- LLHandle<LLParcelSelection>::sNullFunc =
- LLParcelSelection::getNullParcelSelection;
+ const LLSafeHandle<LLParcelSelection>::NullFunc
+ LLSafeHandle<LLParcelSelection>::sNullFunc = LLParcelSelection::getNullParcelSelection;
//
// LLParcelSelection
diff --git a/indra/newview/llparcelselection.h b/indra/newview/llparcelselection.h
index 579a0f2549..e6729646c7 100644
--- a/indra/newview/llparcelselection.h
+++ b/indra/newview/llparcelselection.h
@@ -58,6 +58,6 @@ private:
static LLPointer<LLParcelSelection> sNullSelection;
};
-typedef LLHandle<LLParcelSelection> LLParcelSelectionHandle;
+typedef LLSafeHandle<LLParcelSelection> LLParcelSelectionHandle;
#endif
diff --git a/indra/newview/llpreview.cpp b/indra/newview/llpreview.cpp
index b0d7aa6d1b..cad38e36ff 100644
--- a/indra/newview/llpreview.cpp
+++ b/indra/newview/llpreview.cpp
@@ -56,7 +56,7 @@
// Globals and statics
LLPreview::preview_multimap_t LLPreview::sPreviewsBySource;
LLPreview::preview_map_t LLPreview::sInstances;
-std::map<LLUUID, LLViewHandle> LLMultiPreview::sAutoOpenPreviewHandles;
+std::map<LLUUID, LLHandle<LLFloater> > LLMultiPreview::sAutoOpenPreviewHandles;
// Functions
LLPreview::LLPreview(const std::string& name) :
@@ -72,7 +72,7 @@ LLPreview::LLPreview(const std::string& name) :
// don't add to instance list, since ItemID is null
mAuxItem = new LLInventoryItem; // (LLPointer is auto-deleted)
// don't necessarily steal focus on creation -- sometimes these guys pop up without user action
- mAutoFocus = FALSE;
+ setAutoFocus(FALSE);
gInventory.addObserver(this);
}
@@ -91,7 +91,7 @@ LLPreview::LLPreview(const std::string& name, const LLRect& rect, const std::str
{
mAuxItem = new LLInventoryItem;
// don't necessarily steal focus on creation -- sometimes these guys pop up without user action
- mAutoFocus = FALSE;
+ setAutoFocus(FALSE);
if (mItemUUID.notNull())
{
@@ -114,7 +114,7 @@ LLPreview::~LLPreview()
preview_multimap_t::iterator found_it = sPreviewsBySource.find(mSourceID);
for (; found_it != sPreviewsBySource.end(); ++found_it)
{
- if (found_it->second == mViewHandle)
+ if (found_it->second == getHandle())
{
sPreviewsBySource.erase(found_it);
break;
@@ -152,7 +152,7 @@ void LLPreview::setSourceID(const LLUUID& source_id)
preview_multimap_t::iterator found_it = sPreviewsBySource.find(mSourceID);
for (; found_it != sPreviewsBySource.end(); ++found_it)
{
- if (found_it->second == mViewHandle)
+ if (found_it->second == getHandle())
{
sPreviewsBySource.erase(found_it);
break;
@@ -160,7 +160,7 @@ void LLPreview::setSourceID(const LLUUID& source_id)
}
}
mSourceID = source_id;
- sPreviewsBySource.insert(preview_multimap_t::value_type(mSourceID, mViewHandle));
+ sPreviewsBySource.insert(preview_multimap_t::value_type(mSourceID, getHandle()));
}
const LLViewerInventoryItem *LLPreview::getItem() const
@@ -427,8 +427,7 @@ BOOL LLPreview::handleHover(S32 x, S32 y, MASK mask)
void LLPreview::open() /*Flawfinder: ignore*/
{
- LLMultiFloater* hostp = getHost();
- if (!sHostp && !hostp && getAssetStatus() == PREVIEW_ASSET_UNLOADED)
+ if (!getFloaterHost() && !getHost() && getAssetStatus() == PREVIEW_ASSET_UNLOADED)
{
loadAsset();
}
@@ -524,14 +523,14 @@ LLPreview* LLPreview::getFirstPreviewForSource(const LLUUID& source_id)
if (found_it != sPreviewsBySource.end())
{
// just return first one
- return (LLPreview*)LLFloater::getFloaterByHandle(found_it->second);
+ return (LLPreview*)found_it->second.get();
}
return NULL;
}
void LLPreview::userSetShape(const LLRect& new_rect)
{
- if(new_rect.getWidth() != mRect.getWidth() || new_rect.getHeight() != mRect.getHeight())
+ if(new_rect.getWidth() != getRect().getWidth() || new_rect.getHeight() != getRect().getHeight())
{
userResized();
}
@@ -560,7 +559,7 @@ void LLMultiPreview::open() /*Flawfinder: ignore*/
void LLMultiPreview::userSetShape(const LLRect& new_rect)
{
- if(new_rect.getWidth() != mRect.getWidth() || new_rect.getHeight() != mRect.getHeight())
+ if(new_rect.getWidth() != getRect().getWidth() || new_rect.getHeight() != getRect().getHeight())
{
LLPreview* frontmost_preview = (LLPreview*)mTabContainer->getCurrentPanel();
if (frontmost_preview) frontmost_preview->userResized();
@@ -584,7 +583,7 @@ LLMultiPreview* LLMultiPreview::getAutoOpenInstance(const LLUUID& id)
handle_map_t::iterator found_it = sAutoOpenPreviewHandles.find(id);
if (found_it != sAutoOpenPreviewHandles.end())
{
- return (LLMultiPreview*)gFloaterView->getFloaterByHandle(found_it->second);
+ return (LLMultiPreview*)found_it->second.get();
}
return NULL;
}
diff --git a/indra/newview/llpreview.h b/indra/newview/llpreview.h
index 97cd2d5b07..5f129b99d4 100644
--- a/indra/newview/llpreview.h
+++ b/indra/newview/llpreview.h
@@ -58,10 +58,12 @@ public:
static void setAutoOpenInstance(LLMultiPreview* previewp, const LLUUID& id);
protected:
- typedef std::map<LLUUID, LLViewHandle> handle_map_t;
- static std::map<LLUUID, LLViewHandle> sAutoOpenPreviewHandles;
+ typedef std::map<LLUUID, LLHandle<LLFloater> > handle_map_t;
+ static handle_map_t sAutoOpenPreviewHandles;
};
+// https://wiki.lindenlab.com/mediawiki/index.php?title=LLPreview&oldid=81373
+
class LLPreview : public LLFloater, LLInventoryObserver
{
public:
@@ -160,7 +162,7 @@ protected:
EAssetStatus mAssetStatus;
typedef std::map<LLUUID, LLPreview*> preview_map_t;
- typedef std::multimap<LLUUID, LLViewHandle> preview_multimap_t;
+ typedef std::multimap<LLUUID, LLHandle<LLFloater> > preview_multimap_t;
static preview_multimap_t sPreviewsBySource;
static preview_map_t sInstances;
diff --git a/indra/newview/llpreviewanim.cpp b/indra/newview/llpreviewanim.cpp
index f6d5d9d9b7..ba96ba088b 100644
--- a/indra/newview/llpreviewanim.cpp
+++ b/indra/newview/llpreviewanim.cpp
@@ -96,8 +96,8 @@ LLPreviewAnim::LLPreviewAnim(const std::string& name, const LLRect& rect, const
// static
void LLPreviewAnim::endAnimCallback( void *userdata )
{
- LLViewHandle* handlep = ((LLViewHandle*)userdata);
- LLFloater* self = getFloaterByHandle(*handlep);
+ LLHandle<LLFloater>* handlep = ((LLHandle<LLFloater>*)userdata);
+ LLFloater* self = handlep->get();
delete handlep; // done with the handle
if (self)
{
@@ -132,7 +132,7 @@ void LLPreviewAnim::playAnim( void *userdata )
if (motion)
{
- motion->setDeactivateCallback(&endAnimCallback, (void *)(new LLViewHandle(self->getHandle())));
+ motion->setDeactivateCallback(&endAnimCallback, (void *)(new LLHandle<LLFloater>(self->getHandle())));
}
}
else
@@ -169,7 +169,7 @@ void LLPreviewAnim::auditionAnim( void *userdata )
if (motion)
{
- motion->setDeactivateCallback(&endAnimCallback, (void *)(new LLViewHandle(self->getHandle())));
+ motion->setDeactivateCallback(&endAnimCallback, (void *)(new LLHandle<LLFloater>(self->getHandle())));
}
}
else
diff --git a/indra/newview/llpreviewgesture.cpp b/indra/newview/llpreviewgesture.cpp
index 61bda9dfc0..ba2925d45a 100644
--- a/indra/newview/llpreviewgesture.cpp
+++ b/indra/newview/llpreviewgesture.cpp
@@ -585,7 +585,7 @@ void LLPreviewGesture::addAnimations()
combo->removeall();
- LLString none_text = childGetText("none_text");
+ LLString none_text = getString("none_text");
combo->add(none_text, LLUUID::null);
@@ -640,7 +640,7 @@ void LLPreviewGesture::addSounds()
LLComboBox* combo = mSoundCombo;
combo->removeall();
- LLString none_text = childGetText("none_text");
+ LLString none_text = getString("none_text");
combo->add(none_text, LLUUID::null);
@@ -789,7 +789,7 @@ void LLPreviewGesture::refresh()
case STEP_ANIMATION:
{
LLGestureStepAnimation* anim_step = (LLGestureStepAnimation*)step;
- optionstext = childGetText("step_anim");
+ optionstext = getString("step_anim");
mAnimationCombo->setVisible(TRUE);
mAnimationRadio->setVisible(TRUE);
mAnimationRadio->setSelectedIndex((anim_step->mFlags & ANIM_FLAG_STOP) ? 1 : 0);
@@ -799,7 +799,7 @@ void LLPreviewGesture::refresh()
case STEP_SOUND:
{
LLGestureStepSound* sound_step = (LLGestureStepSound*)step;
- optionstext = childGetText("step_sound");
+ optionstext = getString("step_sound");
mSoundCombo->setVisible(TRUE);
mSoundCombo->setCurrentByID(sound_step->mSoundAssetID);
break;
@@ -807,7 +807,7 @@ void LLPreviewGesture::refresh()
case STEP_CHAT:
{
LLGestureStepChat* chat_step = (LLGestureStepChat*)step;
- optionstext = childGetText("step_chat");
+ optionstext = getString("step_chat");
mChatEditor->setVisible(TRUE);
mChatEditor->setText(chat_step->mChatText);
break;
@@ -815,7 +815,7 @@ void LLPreviewGesture::refresh()
case STEP_WAIT:
{
LLGestureStepWait* wait_step = (LLGestureStepWait*)step;
- optionstext = childGetText("step_wait");
+ optionstext = getString("step_wait");
mWaitAnimCheck->setVisible(TRUE);
mWaitAnimCheck->set(wait_step->mFlags & WAIT_FLAG_ALL_ANIM);
mWaitTimeCheck->setVisible(TRUE);
@@ -1753,7 +1753,7 @@ void LLPreviewGesture::onClickPreview(void* data)
self->mPreviewGesture->mCallbackData = self;
// set the button title
- self->mPreviewBtn->setLabel(self->childGetText("stop_txt"));
+ self->mPreviewBtn->setLabel(self->getString("stop_txt"));
// play it, and delete when done
gGestureManager.playGesture(self->mPreviewGesture);
@@ -1775,7 +1775,7 @@ void LLPreviewGesture::onDonePreview(LLMultiGesture* gesture, void* data)
{
LLPreviewGesture* self = (LLPreviewGesture*)data;
- self->mPreviewBtn->setLabel(self->childGetText("preview_txt"));
+ self->mPreviewBtn->setLabel(self->getString("preview_txt"));
delete self->mPreviewGesture;
self->mPreviewGesture = NULL;
diff --git a/indra/newview/llpreviewnotecard.cpp b/indra/newview/llpreviewnotecard.cpp
index eef8c0d636..37d0ba8303 100644
--- a/indra/newview/llpreviewnotecard.cpp
+++ b/indra/newview/llpreviewnotecard.cpp
@@ -307,7 +307,7 @@ void LLPreviewNotecard::loadAsset()
// The object that we're trying to look at disappeared, bail.
llwarns << "Can't find object " << mObjectUUID << " associated with notecard." << llendl;
mAssetID.setNull();
- editor->setText(childGetText("no_object"));
+ editor->setText(getString("no_object"));
editor->makePristine();
editor->setEnabled(FALSE);
mAssetStatus = PREVIEW_ASSET_LOADED;
@@ -332,7 +332,7 @@ void LLPreviewNotecard::loadAsset()
else
{
mAssetID.setNull();
- editor->setText(childGetText("not_allowed"));
+ editor->setText(getString("not_allowed"));
editor->makePristine();
editor->setEnabled(FALSE);
mAssetStatus = PREVIEW_ASSET_LOADED;
@@ -654,7 +654,7 @@ void LLPreviewNotecard::reshape(S32 width, S32 height, BOOL called_from_parent)
{
// So that next time you open a script it will have the same height and width
// (although not the same position).
- gSavedSettings.setRect("NotecardEditorRect", mRect);
+ gSavedSettings.setRect("NotecardEditorRect", getRect());
}
}
diff --git a/indra/newview/llpreviewscript.cpp b/indra/newview/llpreviewscript.cpp
index d3afd65cbe..dd49262cb2 100644
--- a/indra/newview/llpreviewscript.cpp
+++ b/indra/newview/llpreviewscript.cpp
@@ -288,7 +288,7 @@ LLScriptEdCore::LLScriptEdCore(
const LLRect& rect,
const std::string& sample,
const std::string& help,
- const LLViewHandle& floater_handle,
+ const LLHandle<LLFloater>& floater_handle,
void (*load_callback)(void*),
void (*save_callback)(void*, BOOL),
void (*search_replace_callback) (void* userdata),
@@ -343,19 +343,19 @@ LLScriptEdCore::LLScriptEdCore(
LLKeywordToken *token;
- LLKeywords::word_token_map_t::iterator token_it;
- for (token_it = mEditor->mKeywords.mWordTokenMap.begin(); token_it != mEditor->mKeywords.mWordTokenMap.end(); ++token_it)
+ LLKeywords::keyword_iterator_t token_it;
+ for (token_it = mEditor->keywordsBegin(); token_it != mEditor->keywordsEnd(); ++token_it)
{
token = token_it->second;
- if (token->mColor == color)
- mFunctions->add(wstring_to_utf8str(token->mToken));
+ if (token->getColor() == color)
+ mFunctions->add(wstring_to_utf8str(token->getToken()));
}
- for (token_it = mEditor->mKeywords.mWordTokenMap.begin(); token_it != mEditor->mKeywords.mWordTokenMap.end(); ++token_it)
+ for (token_it = mEditor->keywordsBegin(); token_it != mEditor->keywordsEnd(); ++token_it)
{
token = token_it->second;
- if (token->mColor != color)
- mFunctions->add(wstring_to_utf8str(token->mToken));
+ if (token->getColor() != color)
+ mFunctions->add(wstring_to_utf8str(token->getToken()));
}
@@ -365,7 +365,7 @@ LLScriptEdCore::LLScriptEdCore(
initMenu();
// Do the work that addTabPanel() normally does.
- //LLRect tab_panel_rect( 0, mRect.getHeight(), mRect.getWidth(), 0 );
+ //LLRect tab_panel_rect( 0, getRect().getHeight(), getRect().getWidth(), 0 );
//tab_panel_rect.stretch( -LLPANEL_BORDER_WIDTH );
//mCodePanel->setFollowsAll();
//mCodePanel->translate( tab_panel_rect.mLeft - mCodePanel->getRect().mLeft, tab_panel_rect.mBottom - mCodePanel->getRect().mBottom);
@@ -468,13 +468,13 @@ void LLScriptEdCore::draw()
void LLScriptEdCore::updateDynamicHelp(BOOL immediate)
{
- LLFloater* help_floater = LLFloater::getFloaterByHandle(mLiveHelpHandle);
+ LLFloater* help_floater = mLiveHelpHandle.get();
if (!help_floater) return;
// update back and forward buttons
LLButton* fwd_button = LLUICtrlFactory::getButtonByName(help_floater, "fwd_btn");
LLButton* back_button = LLUICtrlFactory::getButtonByName(help_floater, "back_btn");
- LLWebBrowserCtrl* browser = LLUICtrlFactory::getWebBrowserCtrlByName(help_floater, "lsl_guide_html");
+ LLWebBrowserCtrl* browser = help_floater->getChild<LLWebBrowserCtrl>("lsl_guide_html");
back_button->setEnabled(browser->canNavigateBack());
fwd_button->setEnabled(browser->canNavigateForward());
@@ -483,12 +483,12 @@ void LLScriptEdCore::updateDynamicHelp(BOOL immediate)
return;
}
- LLTextSegment* segment = NULL;
- std::vector<LLTextSegment*> selected_segments;
+ const LLTextSegment* segment = NULL;
+ std::vector<const LLTextSegment*> selected_segments;
mEditor->getSelectedSegments(selected_segments);
// try segments in selection range first
- std::vector<LLTextSegment*>::iterator segment_iter;
+ std::vector<const LLTextSegment*>::iterator segment_iter;
for (segment_iter = selected_segments.begin(); segment_iter != selected_segments.end(); ++segment_iter)
{
if((*segment_iter)->getToken() && (*segment_iter)->getToken()->getType() == LLKeywordToken::WORD)
@@ -501,7 +501,7 @@ void LLScriptEdCore::updateDynamicHelp(BOOL immediate)
// then try previous segment in case we just typed it
if (!segment)
{
- LLTextSegment* test_segment = mEditor->getPreviousSegment();
+ const LLTextSegment* test_segment = mEditor->getPreviousSegment();
if(test_segment->getToken() && test_segment->getToken()->getType() == LLKeywordToken::WORD)
{
segment = test_segment;
@@ -530,10 +530,10 @@ void LLScriptEdCore::updateDynamicHelp(BOOL immediate)
void LLScriptEdCore::setHelpPage(const LLString& help_string)
{
- LLFloater* help_floater = LLFloater::getFloaterByHandle(mLiveHelpHandle);
+ LLFloater* help_floater = mLiveHelpHandle.get();
if (!help_floater) return;
- LLWebBrowserCtrl* web_browser = gUICtrlFactory->getWebBrowserCtrlByName(help_floater, "lsl_guide_html");
+ LLWebBrowserCtrl* web_browser = help_floater->getChild<LLWebBrowserCtrl>("lsl_guide_html");
if (!web_browser) return;
LLComboBox* history_combo = gUICtrlFactory->getComboBoxByName(help_floater, "history_combo");
@@ -553,7 +553,7 @@ void LLScriptEdCore::addHelpItemToHistory(const LLString& help_string)
{
if (help_string.empty()) return;
- LLFloater* help_floater = LLFloater::getFloaterByHandle(mLiveHelpHandle);
+ LLFloater* help_floater = mLiveHelpHandle.get();
if (!help_floater) return;
LLComboBox* history_combo = gUICtrlFactory->getComboBoxByName(help_floater, "history_combo");
@@ -660,7 +660,7 @@ void LLScriptEdCore::onBtnDynamicHelp(void* userdata)
{
LLScriptEdCore* corep = (LLScriptEdCore*)userdata;
- LLFloater* live_help_floater = LLFloater::getFloaterByHandle(corep->mLiveHelpHandle);
+ LLFloater* live_help_floater = corep->mLiveHelpHandle.get();
if (live_help_floater)
{
live_help_floater->setFocus(TRUE);
@@ -678,18 +678,18 @@ void LLScriptEdCore::onBtnDynamicHelp(void* userdata)
live_help_floater->childSetAction("back_btn", onClickBack, userdata);
live_help_floater->childSetAction("fwd_btn", onClickForward, userdata);
- LLWebBrowserCtrl* browser = LLUICtrlFactory::getWebBrowserCtrlByName(live_help_floater, "lsl_guide_html");
+ LLWebBrowserCtrl* browser = live_help_floater->getChild<LLWebBrowserCtrl>("lsl_guide_html");
browser->setAlwaysRefresh(TRUE);
LLComboBox* help_combo = LLUICtrlFactory::getComboBoxByName(live_help_floater, "history_combo");
LLKeywordToken *token;
- LLKeywords::word_token_map_t::iterator token_it;
- for (token_it = corep->mEditor->mKeywords.mWordTokenMap.begin();
- token_it != corep->mEditor->mKeywords.mWordTokenMap.end();
+ LLKeywords::keyword_iterator_t token_it;
+ for (token_it = corep->mEditor->keywordsBegin();
+ token_it != corep->mEditor->keywordsEnd();
++token_it)
{
token = token_it->second;
- help_combo->add(wstring_to_utf8str(token->mToken));
+ help_combo->add(wstring_to_utf8str(token->getToken()));
}
help_combo->sortByName();
@@ -704,10 +704,10 @@ void LLScriptEdCore::onBtnDynamicHelp(void* userdata)
void LLScriptEdCore::onClickBack(void* userdata)
{
LLScriptEdCore* corep = (LLScriptEdCore*)userdata;
- LLFloater* live_help_floater = LLFloater::getFloaterByHandle(corep->mLiveHelpHandle);
+ LLFloater* live_help_floater = corep->mLiveHelpHandle.get();
if (live_help_floater)
{
- LLWebBrowserCtrl* browserp = LLUICtrlFactory::getWebBrowserCtrlByName(live_help_floater, "lsl_guide_html");
+ LLWebBrowserCtrl* browserp = live_help_floater->getChild<LLWebBrowserCtrl>("lsl_guide_html");
if (browserp)
{
browserp->navigateBack();
@@ -719,10 +719,10 @@ void LLScriptEdCore::onClickBack(void* userdata)
void LLScriptEdCore::onClickForward(void* userdata)
{
LLScriptEdCore* corep = (LLScriptEdCore*)userdata;
- LLFloater* live_help_floater = LLFloater::getFloaterByHandle(corep->mLiveHelpHandle);
+ LLFloater* live_help_floater = corep->mLiveHelpHandle.get();
if (live_help_floater)
{
- LLWebBrowserCtrl* browserp = LLUICtrlFactory::getWebBrowserCtrlByName(live_help_floater, "lsl_guide_html");
+ LLWebBrowserCtrl* browserp = live_help_floater->getChild<LLWebBrowserCtrl>("lsl_guide_html");
if (browserp)
{
browserp->navigateForward();
@@ -757,14 +757,14 @@ void LLScriptEdCore::onHelpComboCommit(LLUICtrl* ctrl, void* userdata)
{
LLScriptEdCore* corep = (LLScriptEdCore*)userdata;
- LLFloater* live_help_floater = LLFloater::getFloaterByHandle(corep->mLiveHelpHandle);
+ LLFloater* live_help_floater = corep->mLiveHelpHandle.get();
if (live_help_floater)
{
LLString help_string = ctrl->getValue().asString();
corep->addHelpItemToHistory(help_string);
- LLWebBrowserCtrl* web_browser = gUICtrlFactory->getWebBrowserCtrlByName(live_help_floater, "lsl_guide_html");
+ LLWebBrowserCtrl* web_browser = live_help_floater->getChild<LLWebBrowserCtrl>("lsl_guide_html");
LLUIString url_string = gSavedSettings.getString("LSLHelpURL");
url_string.setArg("[APP_DIRECTORY]", gDirUtilp->getWorkingDir());
url_string.setArg("[LSL_STRING]", help_string);
@@ -971,7 +971,7 @@ void LLScriptEdCore::handleReloadFromServerDialog( S32 option, void* userdata )
case 0: // "Yes"
if( self->mLoadCallback )
{
- self->mEditor->setText( self->childGetText("loading") );
+ self->mEditor->setText( self->getString("loading") );
self->mLoadCallback( self->mUserdata );
}
break;
@@ -1071,7 +1071,7 @@ void* LLPreviewLSL::createScriptEdPanel(void* userdata)
LLRect(),
HELLO_LSL,
HELP_LSL,
- self->mViewHandle,
+ self->getHandle(),
LLPreviewLSL::onLoad,
LLPreviewLSL::onSave,
LLPreviewLSL::onSearchReplace,
@@ -1104,9 +1104,7 @@ LLPreviewLSL::LLPreviewLSL(const std::string& name, const LLRect& rect,
childSetText("desc", item->getDescription());
childSetPrevalidate("desc", &LLLineEditor::prevalidatePrintableNotPipe);
- LLMultiFloater* hostp = getHost();
-
- if (!sHostp && !hostp && getAssetStatus() == PREVIEW_ASSET_UNLOADED)
+ if (!getFloaterHost() && !getHost() && getAssetStatus() == PREVIEW_ASSET_UNLOADED)
{
loadAsset();
}
@@ -1185,7 +1183,7 @@ void LLPreviewLSL::loadAsset()
}
else
{
- mScriptEd->mEditor->setText(mScriptEd->childGetText("can_not_view"));
+ mScriptEd->mEditor->setText(mScriptEd->getString("can_not_view"));
mScriptEd->mEditor->makePristine();
mScriptEd->mEditor->setEnabled(FALSE);
mScriptEd->mFunctions->setEnabled(FALSE);
@@ -1565,7 +1563,7 @@ void LLPreviewLSL::reshape(S32 width, S32 height, BOOL called_from_parent)
{
// So that next time you open a script it will have the same height and width
// (although not the same position).
- gSavedSettings.setRect("PreviewScriptRect", mRect);
+ gSavedSettings.setRect("PreviewScriptRect", getRect());
}
}
@@ -1587,7 +1585,7 @@ void* LLLiveLSLEditor::createScriptEdPanel(void* userdata)
LLRect(),
HELLO_LSL,
HELP_LSL,
- self->mViewHandle,
+ self->getHandle(),
&LLLiveLSLEditor::onLoad,
&LLLiveLSLEditor::onSave,
&LLLiveLSLEditor::onSearchReplace,
@@ -1717,7 +1715,7 @@ void LLLiveLSLEditor::loadAsset(BOOL is_new)
|| !gAgent.allowOperation(PERM_MODIFY, item->getPermissions(), GP_OBJECT_MANIPULATE))))
{
mItem = new LLViewerInventoryItem(item);
- mScriptEd->mEditor->setText(childGetText("not_allowed"));
+ mScriptEd->mEditor->setText(getString("not_allowed"));
mScriptEd->mEditor->makePristine();
mScriptEd->mEditor->setEnabled(FALSE);
mAssetStatus = PREVIEW_ASSET_LOADED;
@@ -1971,12 +1969,12 @@ void LLLiveLSLEditor::draw()
{
if(object->permAnyOwner())
{
- runningCheckbox->setLabel(childGetText("script_running"));
+ runningCheckbox->setLabel(getString("script_running"));
runningCheckbox->setEnabled(TRUE);
}
else
{
- runningCheckbox->setLabel(childGetText("public_objects_can_not_run"));
+ runningCheckbox->setLabel(getString("public_objects_can_not_run"));
runningCheckbox->setEnabled(FALSE);
// *FIX: Set it to false so that the ui is correct for
// a box that is released to public. It could be
@@ -2224,7 +2222,7 @@ void LLLiveLSLEditor::uploadAssetLegacy(const std::string& filename,
// If we successfully saved it, then we should be able to check/uncheck the running box!
LLCheckBoxCtrl* runningCheckbox = LLUICtrlFactory::getCheckBoxByName(this, "running");
- runningCheckbox->setLabel(childGetText("script_running"));
+ runningCheckbox->setLabel(getString("script_running"));
runningCheckbox->setEnabled(TRUE);
}
@@ -2404,6 +2402,6 @@ void LLLiveLSLEditor::reshape(S32 width, S32 height, BOOL called_from_parent)
{
// So that next time you open a script it will have the same height and width
// (although not the same position).
- gSavedSettings.setRect("PreviewScriptRect", mRect);
+ gSavedSettings.setRect("PreviewScriptRect", getRect());
}
}
diff --git a/indra/newview/llpreviewscript.h b/indra/newview/llpreviewscript.h
index a9b36f3978..55b006908f 100644
--- a/indra/newview/llpreviewscript.h
+++ b/indra/newview/llpreviewscript.h
@@ -67,7 +67,7 @@ public:
const LLRect& rect,
const std::string& sample,
const std::string& help,
- const LLViewHandle& floater_handle,
+ const LLHandle<LLFloater>& floater_handle,
void (*load_callback)(void* userdata),
void (*save_callback)(void* userdata, BOOL close_after_save),
void (*search_replace_callback)(void* userdata),
@@ -144,7 +144,7 @@ private:
LLPanel* mCodePanel;
LLScrollListCtrl* mErrorList;
LLDynamicArray<LLEntryAndEdCore*> mBridges;
- LLViewHandle mLiveHelpHandle;
+ LLHandle<LLFloater> mLiveHelpHandle;
LLKeywordToken* mLastHelpToken;
LLFrameTimer mLiveHelpTimer;
S32 mLiveHelpHistorySize;
diff --git a/indra/newview/llpreviewtexture.cpp b/indra/newview/llpreviewtexture.cpp
index 78d066f85f..20737eb7f1 100644
--- a/indra/newview/llpreviewtexture.cpp
+++ b/indra/newview/llpreviewtexture.cpp
@@ -199,7 +199,7 @@ void LLPreviewTexture::draw()
LLPreview::draw();
- if (!mMinimized)
+ if (!isMinimized())
{
LLGLSUIDefault gls_ui;
LLGLSNoTexture gls_notex;
@@ -255,7 +255,7 @@ void LLPreviewTexture::draw()
const S32 BAR_HEIGHT = 12;
const S32 BAR_LEFT_PAD = 80;
S32 left = interior.mLeft + 4 + BAR_LEFT_PAD;
- S32 bar_width = mRect.getWidth() - left - RESIZE_HANDLE_WIDTH - 2;
+ S32 bar_width = getRect().getWidth() - left - RESIZE_HANDLE_WIDTH - 2;
S32 top = interior.mBottom + 4 + BAR_HEIGHT;
S32 right = left + bar_width;
S32 bottom = top - BAR_HEIGHT;
@@ -434,8 +434,8 @@ void LLPreviewTexture::updateAspectRatio()
mLastWidth = client_width;
mLastHeight = client_height;
- S32 old_top = mRect.mTop;
- S32 old_left = mRect.mLeft;
+ S32 old_top = getRect().mTop;
+ S32 old_left = getRect().mLeft;
if (getHost())
{
getHost()->growToFit(view_width, view_height);
@@ -443,7 +443,7 @@ void LLPreviewTexture::updateAspectRatio()
else
{
reshape( view_width, view_height );
- S32 new_bottom = old_top - mRect.getHeight();
+ S32 new_bottom = old_top - getRect().getHeight();
setOrigin( old_left, new_bottom );
// Try to keep whole view onscreen, don't allow partial offscreen.
gFloaterView->adjustToFitScreen(this, FALSE);
@@ -454,20 +454,20 @@ void LLPreviewTexture::updateAspectRatio()
if (!mUserResized)
{
// clamp texture size to fit within actual size of floater after attempting resize
- client_width = llmin(client_width, mRect.getWidth() - horiz_pad);
- client_height = llmin(client_height, mRect.getHeight() - PREVIEW_HEADER_SIZE
+ client_width = llmin(client_width, getRect().getWidth() - horiz_pad);
+ client_height = llmin(client_height, getRect().getHeight() - PREVIEW_HEADER_SIZE
- (2 * CLIENT_RECT_VPAD) - LLPANEL_BORDER_WIDTH - info_height);
}
else
{
- client_width = mRect.getWidth() - horiz_pad;
+ client_width = getRect().getWidth() - horiz_pad;
client_height = llround(client_width * inv_aspect_ratio);
}
- S32 max_height = mRect.getHeight() - PREVIEW_BORDER - button_height
+ S32 max_height = getRect().getHeight() - PREVIEW_BORDER - button_height
- CLIENT_RECT_VPAD - info_height - CLIENT_RECT_VPAD - PREVIEW_HEADER_SIZE;
max_height = llmax(max_height, 1);
@@ -478,7 +478,7 @@ void LLPreviewTexture::updateAspectRatio()
client_width = llround(client_height * aspect_ratio);
}
- LLRect window_rect(0, mRect.getHeight(), mRect.getWidth(), 0);
+ LLRect window_rect(0, getRect().getHeight(), getRect().getWidth(), 0);
window_rect.mTop -= (PREVIEW_HEADER_SIZE + CLIENT_RECT_VPAD);
window_rect.mBottom += PREVIEW_BORDER + button_height + CLIENT_RECT_VPAD + info_height + CLIENT_RECT_VPAD;
diff --git a/indra/newview/llprogressview.cpp b/indra/newview/llprogressview.cpp
index cc9c3fa503..9e437df2d1 100644
--- a/indra/newview/llprogressview.cpp
+++ b/indra/newview/llprogressview.cpp
@@ -74,7 +74,7 @@ LLProgressView::LLProgressView(const std::string& name, const LLRect &rect)
const S32 CANCEL_BTN_OFFSET = 16;
LLRect r;
r.setOriginAndSize(
- mRect.getWidth() - CANCEL_BTN_OFFSET - CANCEL_BTN_WIDTH, CANCEL_BTN_OFFSET,
+ getRect().getWidth() - CANCEL_BTN_OFFSET - CANCEL_BTN_WIDTH, CANCEL_BTN_OFFSET,
CANCEL_BTN_WIDTH, BTN_HEIGHT );
mCancelBtn = new LLButton(
@@ -162,7 +162,7 @@ void LLProgressView::draw()
// Make sure the progress view always fills the entire window.
S32 width = gViewerWindow->getWindowWidth();
S32 height = gViewerWindow->getWindowHeight();
- if( (width != mRect.getWidth()) || (height != mRect.getHeight()) )
+ if( (width != getRect().getWidth()) || (height != getRect().getHeight()) )
{
reshape( width, height );
}
@@ -189,14 +189,14 @@ void LLProgressView::draw()
glTranslatef(0.f, -0.5f * (view_aspect / image_aspect - 1.f) * height, 0.f);
glScalef(1.f, view_aspect / image_aspect, 1.f);
}
- gl_rect_2d_simple_tex( mRect.getWidth(), mRect.getHeight() );
+ gl_rect_2d_simple_tex( getRect().getWidth(), getRect().getHeight() );
gStartImageGL->unbindTexture(0, GL_TEXTURE_2D);
}
else
{
LLGLSNoTexture gls_no_texture;
glColor4f(0.f, 0.f, 0.f, 1.f);
- gl_rect_2d(mRect);
+ gl_rect_2d(getRect());
}
glPopMatrix();
}
@@ -213,8 +213,8 @@ void LLProgressView::draw()
return;
}
- S32 line_x = mRect.getWidth() / 2;
- S32 line_one_y = mRect.getHeight() / 2 + 64;
+ S32 line_x = getRect().getWidth() / 2;
+ S32 line_one_y = getRect().getHeight() / 2 + 64;
const S32 LINE_SPACING = 25;
S32 line_two_y = line_one_y - LINE_SPACING;
const LLFontGL* font = LLFontGL::sSansSerif;
@@ -243,8 +243,8 @@ void LLProgressView::draw()
S32 bar_bottom = line_two_y - 30;
S32 bar_height = 18;
- S32 bar_width = mRect.getWidth() * 2 / 3;
- S32 bar_left = (mRect.getWidth() / 2) - (bar_width / 2);
+ S32 bar_width = getRect().getWidth() * 2 / 3;
+ S32 bar_left = (getRect().getWidth() / 2) - (bar_width / 2);
gl_draw_scaled_image_with_border(
bar_left + 2,
diff --git a/indra/newview/llremoteparcelrequest.cpp b/indra/newview/llremoteparcelrequest.cpp
index c28623723f..d8bb7c1a61 100644
--- a/indra/newview/llremoteparcelrequest.cpp
+++ b/indra/newview/llremoteparcelrequest.cpp
@@ -44,7 +44,7 @@
#include "llview.h"
#include "message.h"
-LLRemoteParcelRequestResponder::LLRemoteParcelRequestResponder(LLViewHandle place_panel_handle)
+LLRemoteParcelRequestResponder::LLRemoteParcelRequestResponder(LLHandle<LLPanel> place_panel_handle)
{
mPlacePanelHandle = place_panel_handle;
}
@@ -53,7 +53,7 @@ void LLRemoteParcelRequestResponder::result(const LLSD& content)
{
LLUUID parcel_id = content["parcel_id"];
- LLPanelPlace* place_panelp = (LLPanelPlace*)LLPanel::getPanelByHandle(mPlacePanelHandle);
+ LLPanelPlace* place_panelp = (LLPanelPlace*)mPlacePanelHandle.get();
if(place_panelp)
{
@@ -67,7 +67,7 @@ void LLRemoteParcelRequestResponder::error(U32 status, const std::string& reason
{
llinfos << "LLRemoteParcelRequest::error("
<< status << ": " << reason << ")" << llendl;
- LLPanelPlace* place_panelp = (LLPanelPlace*)LLPanel::getPanelByHandle(mPlacePanelHandle);
+ LLPanelPlace* place_panelp = (LLPanelPlace*)mPlacePanelHandle.get();
if(place_panelp)
{
diff --git a/indra/newview/llremoteparcelrequest.h b/indra/newview/llremoteparcelrequest.h
index 628994a744..8cbe3f74bf 100644
--- a/indra/newview/llremoteparcelrequest.h
+++ b/indra/newview/llremoteparcelrequest.h
@@ -35,19 +35,19 @@
#define LL_LLREMOTEPARCELREQUEST_H
#include "llhttpclient.h"
-#include "llview.h"
+#include "llpanel.h"
class LLRemoteParcelRequestResponder : public LLHTTPClient::Responder
{
public:
- LLRemoteParcelRequestResponder(LLViewHandle place_panel_handle);
+ LLRemoteParcelRequestResponder(LLHandle<LLPanel> place_panel_handle);
//If we get back a normal response, handle it here
virtual void result(const LLSD& content);
//If we get back an error (not found, etc...), handle it here
virtual void error(U32 status, const std::string& reason);
protected:
- LLViewHandle mPlacePanelHandle;
+ LLHandle<LLPanel> mPlacePanelHandle;
};
#endif // LL_LLREMOTEPARCELREQUEST_H
diff --git a/indra/newview/llselectmgr.cpp b/indra/newview/llselectmgr.cpp
index 511fd73ef7..d80a9ee053 100644
--- a/indra/newview/llselectmgr.cpp
+++ b/indra/newview/llselectmgr.cpp
@@ -126,8 +126,8 @@ LLColor4 LLSelectMgr::sContextSilhouetteColor;
static LLObjectSelection *get_null_object_selection();
template<>
- const LLHandle<LLObjectSelection>::NullFunc
- LLHandle<LLObjectSelection>::sNullFunc = get_null_object_selection;
+ const LLSafeHandle<LLObjectSelection>::NullFunc
+ LLSafeHandle<LLObjectSelection>::sNullFunc = get_null_object_selection;
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// struct LLDeRezInfo
@@ -2272,12 +2272,7 @@ BOOL LLSelectMgr::selectGetCreator(LLUUID& result_id, LLString& name)
if (identical)
{
- char firstname[DB_FIRST_NAME_BUF_SIZE]; /* Flawfinder: ignore */
- char lastname[DB_LAST_NAME_BUF_SIZE]; /* Flawfinder: ignore */
- gCacheName->getName(first_id, firstname, lastname);
- name.assign( firstname );
- name.append( " " );
- name.append( lastname );
+ gCacheName->getFullName(first_id, name);
}
else
{
@@ -2340,12 +2335,7 @@ BOOL LLSelectMgr::selectGetOwner(LLUUID& result_id, LLString& name)
}
else if(!public_owner)
{
- char firstname[DB_FIRST_NAME_BUF_SIZE]; /* Flawfinder: ignore */
- char lastname[DB_LAST_NAME_BUF_SIZE]; /* Flawfinder: ignore */
- gCacheName->getName(first_id, firstname, lastname);
- name.assign( firstname );
- name.append( " " );
- name.append( lastname );
+ gCacheName->getFullName(first_id, name);
}
else
{
@@ -2405,12 +2395,7 @@ BOOL LLSelectMgr::selectGetLastOwner(LLUUID& result_id, LLString& name)
BOOL public_owner = (first_id.isNull());
if(!public_owner)
{
- char firstname[DB_FIRST_NAME_BUF_SIZE]; /* Flawfinder: ignore */
- char lastname[DB_LAST_NAME_BUF_SIZE]; /* Flawfinder: ignore */
- gCacheName->getName(first_id, firstname, lastname);
- name.assign( firstname );
- name.append( " " );
- name.append( lastname );
+ gCacheName->getFullName(first_id, name);
}
else
{
@@ -4348,12 +4333,8 @@ void LLSelectMgr::processObjectPropertiesFamily(LLMessageSystem* msg, void** use
LLFloaterReporter *reporterp = LLFloaterReporter::getReporter(report_type);
if (reporterp)
{
- char first_name[DB_FIRST_NAME_BUF_SIZE]; /* Flawfinder: ignore */
- char last_name[DB_LAST_NAME_BUF_SIZE]; /* Flawfinder: ignore */
- gCacheName->getName(owner_id, first_name, last_name);
- LLString fullname(first_name);
- fullname.append(" ");
- fullname.append(last_name);
+ std::string fullname;
+ gCacheName->getFullName(owner_id, fullname);
reporterp->setPickedObjectProperties(name, fullname, owner_id);
}
}
@@ -5476,9 +5457,9 @@ LLBBox LLSelectMgr::getBBoxOfSelection() const
//-----------------------------------------------------------------------------
// canUndo()
//-----------------------------------------------------------------------------
-BOOL LLSelectMgr::canUndo()
+BOOL LLSelectMgr::canUndo() const
{
- return mSelectedObjects->getFirstEditableObject() != NULL;
+ return const_cast<LLSelectMgr*>(this)->mSelectedObjects->getFirstEditableObject() != NULL; // HACK: casting away constness - MG
}
//-----------------------------------------------------------------------------
@@ -5494,9 +5475,9 @@ void LLSelectMgr::undo()
//-----------------------------------------------------------------------------
// canRedo()
//-----------------------------------------------------------------------------
-BOOL LLSelectMgr::canRedo()
+BOOL LLSelectMgr::canRedo() const
{
- return mSelectedObjects->getFirstEditableObject() != NULL;
+ return const_cast<LLSelectMgr*>(this)->mSelectedObjects->getFirstEditableObject() != NULL; // HACK: casting away constness - MG
}
//-----------------------------------------------------------------------------
@@ -5512,10 +5493,10 @@ void LLSelectMgr::redo()
//-----------------------------------------------------------------------------
// canDoDelete()
//-----------------------------------------------------------------------------
-BOOL LLSelectMgr::canDoDelete()
+BOOL LLSelectMgr::canDoDelete() const
{
// Note: Can only delete root objects (see getFirstDeleteableObject() for more info)
- return mSelectedObjects->getFirstDeleteableObject() != NULL;
+ return const_cast<LLSelectMgr*>(this)->mSelectedObjects->getFirstDeleteableObject() != NULL; // HACK: casting away constness - MG
}
//-----------------------------------------------------------------------------
@@ -5529,7 +5510,7 @@ void LLSelectMgr::doDelete()
//-----------------------------------------------------------------------------
// canDeselect()
//-----------------------------------------------------------------------------
-BOOL LLSelectMgr::canDeselect()
+BOOL LLSelectMgr::canDeselect() const
{
return !mSelectedObjects->isEmpty();
}
@@ -5544,9 +5525,9 @@ void LLSelectMgr::deselect()
//-----------------------------------------------------------------------------
// canDuplicate()
//-----------------------------------------------------------------------------
-BOOL LLSelectMgr::canDuplicate()
+BOOL LLSelectMgr::canDuplicate() const
{
- return mSelectedObjects->getFirstCopyableObject() != NULL;
+ return const_cast<LLSelectMgr*>(this)->mSelectedObjects->getFirstCopyableObject() != NULL; // HACK: casting away constness - MG
}
//-----------------------------------------------------------------------------
// duplicate()
@@ -5744,7 +5725,7 @@ LLSelectNode* LLObjectSelection::findNode(LLViewerObject* objectp)
//-----------------------------------------------------------------------------
// isEmpty()
//-----------------------------------------------------------------------------
-BOOL LLObjectSelection::isEmpty()
+BOOL LLObjectSelection::isEmpty() const
{
return (mList.size() == 0);
}
@@ -6135,3 +6116,4 @@ LLViewerObject* LLObjectSelection::getFirstMoveableObject(BOOL get_parent)
return getFirstSelectedObject(&func, get_parent);
}
+
diff --git a/indra/newview/llselectmgr.h b/indra/newview/llselectmgr.h
index 071aa15236..32c7f7617e 100644
--- a/indra/newview/llselectmgr.h
+++ b/indra/newview/llselectmgr.h
@@ -272,7 +272,7 @@ public:
void updateEffects();
void cleanupNodes();
- BOOL isEmpty();
+ BOOL isEmpty() const;
S32 getOwnershipCost(S32 &cost);
@@ -331,7 +331,7 @@ private:
ESelectType mSelectType;
};
-typedef LLHandle<LLObjectSelection> LLObjectSelectionHandle;
+typedef LLSafeHandle<LLObjectSelection> LLObjectSelectionHandle;
class LLSelectMgr : public LLEditMenuHandler
{
@@ -360,20 +360,20 @@ public:
static void cleanupGlobals();
// LLEditMenuHandler interface
- virtual BOOL canUndo();
+ virtual BOOL canUndo() const;
virtual void undo();
- virtual BOOL canRedo();
+ virtual BOOL canRedo() const;
virtual void redo();
- virtual BOOL canDoDelete();
+ virtual BOOL canDoDelete() const;
virtual void doDelete();
virtual void deselect();
- virtual BOOL canDeselect();
+ virtual BOOL canDeselect() const;
virtual void duplicate();
- virtual BOOL canDuplicate();
+ virtual BOOL canDuplicate() const;
void clearSelections();
void update();
diff --git a/indra/newview/llstatusbar.cpp b/indra/newview/llstatusbar.cpp
index 58039bf878..d64b3864b3 100644
--- a/indra/newview/llstatusbar.cpp
+++ b/indra/newview/llstatusbar.cpp
@@ -127,7 +127,7 @@ LLStatusBar::LLStatusBar(const std::string& name, const LLRect& rect)
mSquareMetersCommitted(0)
{
// status bar can possible overlay menus?
- mMouseOpaque = FALSE;
+ setMouseOpaque(FALSE);
setIsChrome(TRUE);
// size of day of the weeks and year
@@ -171,7 +171,7 @@ LLStatusBar::LLStatusBar(const std::string& name, const LLRect& rect)
childSetActionTextbox("BalanceText", onClickBalance );
// Adding Net Stat Graph
- S32 x = mRect.getWidth() - 2;
+ S32 x = getRect().getWidth() - 2;
S32 y = 0;
LLRect r;
r.set( x-SIM_STAT_WIDTH, y+MENU_BAR_HEIGHT-1, x, y+1);
@@ -241,9 +241,9 @@ void LLStatusBar::draw()
{
refresh();
- if (mBgVisible)
+ if (isBackgroundVisible())
{
- gl_drop_shadow(0, mRect.getHeight(), mRect.getWidth(), 0,
+ gl_drop_shadow(0, getRect().getHeight(), getRect().getWidth(), 0,
LLUI::sColorsGroup->getColor("ColorDropShadow"),
LLUI::sConfigGroup->getS32("DropShadowFloater") );
}
@@ -504,7 +504,7 @@ void LLStatusBar::refresh()
mRegionDetails.mTime = mTextTime->getText();
mRegionDetails.mBalance = mBalance;
- mRegionDetails.mAccesString = (char *)region->getSimAccessString();
+ mRegionDetails.mAccesString = region->getSimAccessString();
mRegionDetails.mPing = region->getNetDetailsForLCD();
if (parcel && !parcel->getName().empty())
{
@@ -516,7 +516,7 @@ void LLStatusBar::refresh()
// keep these around for the LCD to use
mRegionDetails.mRegionName = region->getName();
- mRegionDetails.mParcelName = (char *)parcel->getName().c_str();
+ mRegionDetails.mParcelName = parcel->getName();
mRegionDetails.mX = pos_x;
mRegionDetails.mY = pos_y;
mRegionDetails.mZ = pos_z;
@@ -526,7 +526,7 @@ void LLStatusBar::refresh()
if (parcel->isPublic())
{
- snprintf(mRegionDetails.mOwner, MAX_STRING, "Public");
+ mRegionDetails.mOwner = "Public";
}
else
{
@@ -538,16 +538,13 @@ void LLStatusBar::refresh()
}
else
{
- snprintf(mRegionDetails.mOwner, MAX_STRING, "Group Owned");
+ mRegionDetails.mOwner = "Group Owned";
}
}
else
{
// Figure out the owner's name
- char owner_first[MAX_STRING]; /*Flawfinder: ignore*/
- char owner_last[MAX_STRING]; /*Flawfinder: ignore*/
- gCacheName->getName(parcel->getOwnerID(), owner_first, owner_last);
- snprintf(mRegionDetails.mOwner, MAX_STRING, "%s %s", owner_first, owner_last); /* Flawfinder: ignore */
+ gCacheName->getFullName(parcel->getOwnerID(), mRegionDetails.mOwner);
}
}
}
@@ -566,7 +563,7 @@ void LLStatusBar::refresh()
mRegionDetails.mZ = pos_z;
mRegionDetails.mArea = 0;
mRegionDetails.mForSale = FALSE;
- snprintf(mRegionDetails.mOwner, MAX_STRING, "Unknown");
+ mRegionDetails.mOwner = "Unknown";
mRegionDetails.mTraffic = 0.0f;
}
}
@@ -575,7 +572,7 @@ void LLStatusBar::refresh()
// no region
location_name = "(Unknown)";
// keep these around for the LCD to use
- mRegionDetails.mRegionName = LLString("Unknown");
+ mRegionDetails.mRegionName = "Unknown";
mRegionDetails.mParcelName = "Unknown";
mRegionDetails.mAccesString = "Unknown";
mRegionDetails.mX = 0;
@@ -583,7 +580,7 @@ void LLStatusBar::refresh()
mRegionDetails.mZ = 0;
mRegionDetails.mArea = 0;
mRegionDetails.mForSale = FALSE;
- snprintf(mRegionDetails.mOwner, MAX_STRING, "Unknown");
+ mRegionDetails.mOwner = "Unknown";
mRegionDetails.mTraffic = 0.0f;
}
@@ -640,7 +637,7 @@ void LLStatusBar::refresh()
x += 8;
const S32 PARCEL_RIGHT = llmin(mTextTime->getRect().mLeft, mTextParcelName->getTextPixelWidth() + x + 5);
- r.set(x+4, mRect.getHeight() - 2, PARCEL_RIGHT, 0);
+ r.set(x+4, getRect().getHeight() - 2, PARCEL_RIGHT, 0);
mTextParcelName->setRect(r);
// Set search bar visibility
@@ -841,7 +838,7 @@ static void onClickBuyLand(void*)
void LLStatusBar::setupDate()
{
// fill the day array with what's in the xui
- LLString day_list = getFormattedUIString("StatBarDaysOfWeek");
+ LLString day_list = getString("StatBarDaysOfWeek");
size_t length = day_list.size();
// quick input check
@@ -865,7 +862,7 @@ void LLStatusBar::setupDate()
}
// fill the day array with what's in the xui
- LLString month_list = getFormattedUIString( "StatBarMonthsOfYear" );
+ LLString month_list = getString( "StatBarMonthsOfYear" );
length = month_list.size();
// quick input check
diff --git a/indra/newview/llstatusbar.h b/indra/newview/llstatusbar.h
index 78f744c4b5..0605246f16 100644
--- a/indra/newview/llstatusbar.h
+++ b/indra/newview/llstatusbar.h
@@ -51,30 +51,33 @@ class LLStatGraph;
class LLRegionDetails
{
public:
- LLRegionDetails()
+ LLRegionDetails() :
+ mRegionName("Unknown"),
+ mParcelName("Unknown"),
+ mAccesString("Unknown"),
+ mX(0),
+ mY(0),
+ mZ(0),
+ mArea (0),
+ mForSale(FALSE),
+ mOwner("Unknown"),
+ mTraffic(0),
+ mBalance(0),
+ mPing(0)
{
- mRegionName = LLString("Unknown");
- mParcelName = "Unknown";
- mAccesString = "Unknown";
- mX = 0;
- mY = 0;
- mZ = 0;
- mArea = 0;
- mForSale = FALSE;
- snprintf(mOwner, MAX_STRING, "Unknown");
}
- LLString mRegionName;
- char *mParcelName;
- char *mAccesString;
+ std::string mRegionName;
+ std::string mParcelName;
+ std::string mAccesString;
S32 mX;
S32 mY;
S32 mZ;
S32 mArea;
BOOL mForSale;
- char mOwner[MAX_STRING];
+ std::string mOwner;
F32 mTraffic;
S32 mBalance;
- LLString mTime;
+ std::string mTime;
U32 mPing;
};
diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp
index c17f0007c2..7368ac9fdb 100644
--- a/indra/newview/lltexturectrl.cpp
+++ b/indra/newview/lltexturectrl.cpp
@@ -462,7 +462,7 @@ BOOL LLFloaterTexturePicker::postBuild()
if (!mLabel.empty())
{
- std::string pick = childGetText("pick title");
+ std::string pick = getString("pick title");
setTitle(pick + mLabel);
}
@@ -518,7 +518,7 @@ void LLFloaterTexturePicker::draw()
}
}
- if (gFocusMgr.childHasMouseCapture(mDragHandle))
+ if (gFocusMgr.childHasMouseCapture(getDragHandle()))
{
mContextConeOpacity = lerp(mContextConeOpacity, gSavedSettings.getF32("PickerContextOpacity"), LLCriticalDamp::getInterpolant(CONTEXT_FADE_TIME));
}
@@ -566,9 +566,9 @@ void LLFloaterTexturePicker::draw()
// Border
LLRect border( BORDER_PAD,
- mRect.getHeight() - LLFLOATER_HEADER_SIZE - BORDER_PAD,
+ getRect().getHeight() - LLFLOATER_HEADER_SIZE - BORDER_PAD,
((TEX_PICKER_MIN_WIDTH / 2) - TEXTURE_INVENTORY_PADDING - HPAD) - BORDER_PAD,
- BORDER_PAD + FOOTER_HEIGHT + (mRect.getHeight() - TEX_PICKER_MIN_HEIGHT));
+ BORDER_PAD + FOOTER_HEIGHT + (getRect().getHeight() - TEX_PICKER_MIN_HEIGHT));
gl_rect_2d( border, LLColor4::black, FALSE );
@@ -908,13 +908,13 @@ LLTextureCtrl::LLTextureCtrl(
mDirty( FALSE )
{
mCaption = new LLTextBox( label,
- LLRect( 0, BTN_HEIGHT_SMALL, mRect.getWidth(), 0 ),
- NULL,
+ LLRect( 0, BTN_HEIGHT_SMALL, getRect().getWidth(), 0 ),
+ label,
LLFontGL::sSansSerifSmall );
mCaption->setFollows( FOLLOWS_LEFT | FOLLOWS_RIGHT | FOLLOWS_BOTTOM );
addChild( mCaption );
- S32 image_top = mRect.getHeight();
+ S32 image_top = getRect().getHeight();
S32 image_bottom = BTN_HEIGHT_SMALL;
S32 image_middle = (image_top + image_bottom) / 2;
S32 line_height = llround(LLFontGL::sSansSerifSmall->getLineHeight());
@@ -922,14 +922,14 @@ LLTextureCtrl::LLTextureCtrl(
mTentativeLabel = new LLTextBox( "Multiple",
LLRect(
0, image_middle + line_height / 2,
- mRect.getWidth(), image_middle - line_height / 2 ),
- NULL,
+ getRect().getWidth(), image_middle - line_height / 2 ),
+ "Multiple",
LLFontGL::sSansSerifSmall );
mTentativeLabel->setHAlign( LLFontGL::HCENTER );
mTentativeLabel->setFollowsAll();
addChild( mTentativeLabel );
- LLRect border_rect(0, mRect.getHeight(), mRect.getWidth(), 0);
+ LLRect border_rect(0, getRect().getHeight(), getRect().getWidth(), 0);
border_rect.mBottom += BTN_HEIGHT_SMALL;
mBorder = new LLViewBorder("border", border_rect, LLViewBorder::BEVEL_IN);
addChild(mBorder);
@@ -1013,7 +1013,7 @@ void LLTextureCtrl::setCaption(const LLString& caption)
void LLTextureCtrl::setCanApplyImmediately(BOOL b)
{
mCanApplyImmediately = b;
- LLFloaterTexturePicker* floaterp = (LLFloaterTexturePicker*)LLFloater::getFloaterByHandle(mFloaterHandle);
+ LLFloaterTexturePicker* floaterp = (LLFloaterTexturePicker*)mFloaterHandle.get();
if( floaterp )
{
floaterp->setCanApplyImmediately(b);
@@ -1031,7 +1031,7 @@ void LLTextureCtrl::setVisible( BOOL visible )
void LLTextureCtrl::setEnabled( BOOL enabled )
{
- LLFloaterTexturePicker* floaterp = (LLFloaterTexturePicker*)LLFloater::getFloaterByHandle(mFloaterHandle);
+ LLFloaterTexturePicker* floaterp = (LLFloaterTexturePicker*)mFloaterHandle.get();
if( enabled )
{
LLString tooltip;
@@ -1061,7 +1061,7 @@ void LLTextureCtrl::setValid(BOOL valid )
mValid = valid;
if (!valid)
{
- LLFloaterTexturePicker* pickerp = (LLFloaterTexturePicker*)LLFloater::getFloaterByHandle(mFloaterHandle);
+ LLFloaterTexturePicker* pickerp = (LLFloaterTexturePicker*)mFloaterHandle.get();
if (pickerp)
{
pickerp->setActive(FALSE);
@@ -1096,7 +1096,7 @@ void LLTextureCtrl::setLabel(const LLString& label)
void LLTextureCtrl::showPicker(BOOL take_focus)
{
- LLFloater* floaterp = LLFloater::getFloaterByHandle(mFloaterHandle);
+ LLFloater* floaterp = mFloaterHandle.get();
// Show the dialog
if( floaterp )
@@ -1134,7 +1134,7 @@ void LLTextureCtrl::showPicker(BOOL take_focus)
void LLTextureCtrl::closeFloater()
{
- LLFloaterTexturePicker* floaterp = (LLFloaterTexturePicker*)LLFloater::getFloaterByHandle(mFloaterHandle);
+ LLFloaterTexturePicker* floaterp = (LLFloaterTexturePicker*)mFloaterHandle.get();
if( floaterp )
{
floaterp->setOwner(NULL);
@@ -1180,7 +1180,7 @@ BOOL LLTextureCtrl::handleMouseDown(S32 x, S32 y, MASK mask)
void LLTextureCtrl::onFloaterClose()
{
- LLFloaterTexturePicker* floaterp = (LLFloaterTexturePicker*)LLFloater::getFloaterByHandle(mFloaterHandle);
+ LLFloaterTexturePicker* floaterp = (LLFloaterTexturePicker*)mFloaterHandle.get();
if (floaterp)
{
@@ -1193,9 +1193,9 @@ void LLTextureCtrl::onFloaterClose()
void LLTextureCtrl::onFloaterCommit(ETexturePickOp op)
{
- LLFloaterTexturePicker* floaterp = (LLFloaterTexturePicker*)LLFloater::getFloaterByHandle(mFloaterHandle);
+ LLFloaterTexturePicker* floaterp = (LLFloaterTexturePicker*)mFloaterHandle.get();
- if( floaterp && mEnabled)
+ if( floaterp && getEnabled())
{
mDirty = (op != TEXTURE_CANCEL);
if( floaterp->isDirty() )
@@ -1227,7 +1227,7 @@ void LLTextureCtrl::setImageAssetID( const LLUUID& asset_id )
{
mImageItemID.setNull();
mImageAssetID = asset_id;
- LLFloaterTexturePicker* floaterp = (LLFloaterTexturePicker*)LLFloater::getFloaterByHandle(mFloaterHandle);
+ LLFloaterTexturePicker* floaterp = (LLFloaterTexturePicker*)mFloaterHandle.get();
if( floaterp && getEnabled() )
{
floaterp->setImageID( asset_id );
@@ -1247,7 +1247,7 @@ BOOL LLTextureCtrl::handleDragAndDrop(S32 x, S32 y, MASK mask,
// returns true, then the cast was valid, and we can perform
// the third test without problems.
LLInventoryItem* item = (LLInventoryItem*)cargo_data;
- if (mEnabled && (cargo_type == DAD_TEXTURE) && allowDrop(item))
+ if (getEnabled() && (cargo_type == DAD_TEXTURE) && allowDrop(item))
{
if (drop)
{
@@ -1290,7 +1290,7 @@ void LLTextureCtrl::draw()
}
// Border
- LLRect border( 0, mRect.getHeight(), mRect.getWidth(), BTN_HEIGHT_SMALL );
+ LLRect border( 0, getRect().getHeight(), getRect().getWidth(), BTN_HEIGHT_SMALL );
gl_rect_2d( border, mBorderColor, FALSE );
// Interior
@@ -1315,7 +1315,7 @@ void LLTextureCtrl::draw()
gl_draw_x( interior, LLColor4::black );
}
- mTentativeLabel->setVisible( !mTexturep.isNull() && mTentative );
+ mTentativeLabel->setVisible( !mTexturep.isNull() && getTentative() );
LLUICtrl::draw();
}
@@ -1371,7 +1371,7 @@ BOOL LLTextureCtrl::doDrop(LLInventoryItem* item)
BOOL LLTextureCtrl::handleUnicodeCharHere(llwchar uni_char, BOOL called_from_parent)
{
- if( getVisible() && mEnabled && !called_from_parent && ' ' == uni_char )
+ if( getVisible() && getEnabled() && !called_from_parent && ' ' == uni_char )
{
showPicker(TRUE);
return TRUE;
@@ -1450,3 +1450,4 @@ BOOL LLToolTexEyedropper::handleHover(S32 x, S32 y, MASK mask)
}
+
diff --git a/indra/newview/lltexturectrl.h b/indra/newview/lltexturectrl.h
index cad3980394..4a279d4084 100644
--- a/indra/newview/lltexturectrl.h
+++ b/indra/newview/lltexturectrl.h
@@ -44,6 +44,7 @@ class LLFloaterTexturePicker;
class LLInventoryItem;
class LLTextBox;
class LLViewBorder;
+class LLViewerImage;
// used for setting drag & drop callbacks.
typedef BOOL (*drag_n_drop_callback)(LLUICtrl*, LLInventoryItem*, void*);
@@ -163,7 +164,7 @@ private:
LLUUID mImageAssetID;
LLUUID mDefaultImageAssetID;
LLString mDefaultImageName;
- LLViewHandle mFloaterHandle;
+ LLHandle<LLFloater> mFloaterHandle;
LLTextBox* mTentativeLabel;
LLTextBox* mCaption;
LLString mLabel;
diff --git a/indra/newview/lltextureview.cpp b/indra/newview/lltextureview.cpp
index 465a40c1ef..031492e0e9 100644
--- a/indra/newview/lltextureview.cpp
+++ b/indra/newview/lltextureview.cpp
@@ -210,7 +210,7 @@ void LLTextureBar::draw()
mImagep->mFetchPriority);
}
- LLFontGL::sMonospace->renderUTF8(tex_str, 0, title_x1, mRect.getHeight(),
+ LLFontGL::sMonospace->renderUTF8(tex_str, 0, title_x1, getRect().getHeight(),
color, LLFontGL::LEFT, LLFontGL::TOP);
// State
@@ -246,7 +246,7 @@ void LLTextureBar::draw()
mImagep->mFetchState;
state = llclamp(state,0,fetch_state_desc_size-1);
- LLFontGL::sMonospace->renderUTF8(fetch_state_desc[state].desc, 0, title_x2, mRect.getHeight(),
+ LLFontGL::sMonospace->renderUTF8(fetch_state_desc[state].desc, 0, title_x2, getRect().getHeight(),
fetch_state_desc[state].color,
LLFontGL::LEFT, LLFontGL::TOP);
LLGLSNoTexture gls_no_texture;
@@ -328,7 +328,7 @@ void LLTextureBar::draw()
// draw the packet data
// {
// LLString num_str = llformat("%3d/%3d", mImagep->mLastPacket+1, mImagep->mPackets);
-// LLFontGL::sMonospace->renderUTF8(num_str, 0, bar_left + 100, mRect.getHeight(), color,
+// LLFontGL::sMonospace->renderUTF8(num_str, 0, bar_left + 100, getRect().getHeight(), color,
// LLFontGL::LEFT, LLFontGL::TOP);
// }
@@ -336,7 +336,7 @@ void LLTextureBar::draw()
{
LLString num_str = llformat("%3dx%3d (%d) %7d", mImagep->getWidth(), mImagep->getHeight(),
mImagep->getDiscardLevel(), mImagep->mTextureMemory);
- LLFontGL::sMonospace->renderUTF8(num_str, 0, title_x4, mRect.getHeight(), color,
+ LLFontGL::sMonospace->renderUTF8(num_str, 0, title_x4, getRect().getHeight(), color,
LLFontGL::LEFT, LLFontGL::TOP);
}
}
@@ -727,7 +727,7 @@ void LLTextureView::draw()
mGLTexMemBar = new LLGLTexMemBar("gl texmem bar", this);
addChild(mGLTexMemBar);
- reshape(mRect.getWidth(), mRect.getHeight(), TRUE);
+ reshape(getRect().getWidth(), getRect().getHeight(), TRUE);
/*
count = gImageList.getNumImages();
@@ -806,3 +806,4 @@ BOOL LLTextureView::handleKey(KEY key, MASK mask, BOOL called_from_parent)
return FALSE;
}
+
diff --git a/indra/newview/lltool.cpp b/indra/newview/lltool.cpp
index cfc3f78fd9..48743aeb39 100644
--- a/indra/newview/lltool.cpp
+++ b/indra/newview/lltool.cpp
@@ -42,7 +42,6 @@
#include "lltoolfocus.h"
#include "llfocusmgr.h"
#include "llagent.h"
-#include "llviewborder.h"
extern BOOL gDebugClicks;
diff --git a/indra/newview/lltool.h b/indra/newview/lltool.h
index 33dc4785c6..7d565f1574 100644
--- a/indra/newview/lltool.h
+++ b/indra/newview/lltool.h
@@ -51,7 +51,7 @@ public:
virtual ~LLTool();
// Hack to support LLFocusMgr
- virtual BOOL isView() { return FALSE; }
+ virtual BOOL isView() const { return FALSE; }
// Virtual functions inherited from LLMouseHandler
virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask);
diff --git a/indra/newview/lltoolbar.cpp b/indra/newview/lltoolbar.cpp
index c80edd0eab..444a2d1524 100644
--- a/indra/newview/lltoolbar.cpp
+++ b/indra/newview/lltoolbar.cpp
@@ -389,7 +389,7 @@ void LLToolBar::updateCommunicateList()
communicate_button->addSeparator(ADD_TOP);
communicate_button->add(LLFloaterMute::getInstance()->getShortTitle(), LLSD("mute list"), ADD_TOP);
- std::set<LLViewHandle>::const_iterator floater_handle_it;
+ std::set<LLHandle<LLFloater> >::const_iterator floater_handle_it;
if (gIMMgr->getIMFloaterHandles().size() > 0)
{
@@ -398,7 +398,7 @@ void LLToolBar::updateCommunicateList()
for(floater_handle_it = gIMMgr->getIMFloaterHandles().begin(); floater_handle_it != gIMMgr->getIMFloaterHandles().end(); ++floater_handle_it)
{
- LLFloaterIMPanel* im_floaterp = (LLFloaterIMPanel*)LLFloater::getFloaterByHandle(*floater_handle_it);
+ LLFloaterIMPanel* im_floaterp = (LLFloaterIMPanel*)floater_handle_it->get();
if (im_floaterp)
{
LLString floater_title = im_floaterp->getNumUnreadMessages() > 0 ? "*" : "";
@@ -443,10 +443,10 @@ void LLToolBar::onClickCommunicate(LLUICtrl* ctrl, void* user_data)
LLFloaterChatterBox::getInstance()->addFloater(LLFloaterChat::getInstance(), FALSE);
LLUUID session_to_show;
- std::set<LLViewHandle>::const_iterator floater_handle_it;
+ std::set<LLHandle<LLFloater> >::const_iterator floater_handle_it;
for(floater_handle_it = gIMMgr->getIMFloaterHandles().begin(); floater_handle_it != gIMMgr->getIMFloaterHandles().end(); ++floater_handle_it)
{
- LLFloater* im_floaterp = LLFloater::getFloaterByHandle(*floater_handle_it);
+ LLFloater* im_floaterp = floater_handle_it->get();
if (im_floaterp)
{
if (im_floaterp->isFrontmost())
diff --git a/indra/newview/lltoolbrush.h b/indra/newview/lltoolbrush.h
index 76a361e560..738934ebb1 100644
--- a/indra/newview/lltoolbrush.h
+++ b/indra/newview/lltoolbrush.h
@@ -74,11 +74,7 @@ public:
void modifyLandInSelectionGlobal();
virtual void undo();
- virtual BOOL canUndo() { return TRUE; }
-
- //virtual void redo();
- virtual BOOL canRedo() { return FALSE; }
-
+ virtual BOOL canUndo() const { return TRUE; }
protected:
void brush( void );
diff --git a/indra/newview/lltoolcomp.cpp b/indra/newview/lltoolcomp.cpp
index 182ea5602e..d8f4e55b0e 100644
--- a/indra/newview/lltoolcomp.cpp
+++ b/indra/newview/lltoolcomp.cpp
@@ -173,7 +173,7 @@ void LLToolCompInspect::pickCallback(S32 x, S32 y, MASK mask)
{
if (gSelectMgr->getSelection()->getObjectCount())
{
- gEditMenuHandler = gSelectMgr;
+ LLEditMenuHandler::gEditMenuHandler = gSelectMgr;
}
gToolInspect->setCurrentTool( gToolInspect->mSelectRect );
gToolInspect->mSelectRect->handleMouseDown( x, y, mask );
@@ -247,7 +247,7 @@ void LLToolCompTranslate::pickCallback(S32 x, S32 y, MASK mask)
{
if (gToolTranslate->mManip->getSelection()->getObjectCount())
{
- gEditMenuHandler = gSelectMgr;
+ LLEditMenuHandler::gEditMenuHandler = gSelectMgr;
}
BOOL can_move = gToolTranslate->mManip->canAffectSelection();
@@ -372,7 +372,7 @@ void LLToolCompScale::pickCallback(S32 x, S32 y, MASK mask)
{
if (gToolStretch->mManip->getSelection()->getObjectCount())
{
- gEditMenuHandler = gSelectMgr;
+ LLEditMenuHandler::gEditMenuHandler = gSelectMgr;
}
if( LLManip::LL_NO_PART != gToolStretch->mManip->getHighlightedPart() )
{
@@ -572,7 +572,7 @@ void LLToolCompRotate::pickCallback(S32 x, S32 y, MASK mask)
{
if (gToolRotate->mManip->getSelection()->getObjectCount())
{
- gEditMenuHandler = gSelectMgr;
+ LLEditMenuHandler::gEditMenuHandler = gSelectMgr;
}
if( LLManip::LL_NO_PART != gToolRotate->mManip->getHighlightedPart() )
{
diff --git a/indra/newview/lltoolfocus.cpp b/indra/newview/lltoolfocus.cpp
index 43c8e1a8d1..6d33a9c2bc 100644
--- a/indra/newview/lltoolfocus.cpp
+++ b/indra/newview/lltoolfocus.cpp
@@ -51,7 +51,6 @@
#include "llstatusbar.h"
#include "lltoolmgr.h"
#include "lltoolselect.h"
-#include "llviewborder.h"
#include "llviewercamera.h"
#include "llviewerobject.h"
#include "llviewerwindow.h"
diff --git a/indra/newview/lltoolpie.cpp b/indra/newview/lltoolpie.cpp
index 0c88442fd2..1bf08d9e22 100644
--- a/indra/newview/lltoolpie.cpp
+++ b/indra/newview/lltoolpie.cpp
@@ -70,7 +70,7 @@
LLToolPie *gToolPie = NULL;
LLPointer<LLViewerObject> LLToolPie::sClickActionObject;
-LLHandle<LLObjectSelection> LLToolPie::sLeftClickSelection = NULL;
+LLSafeHandle<LLObjectSelection> LLToolPie::sLeftClickSelection = NULL;
U8 LLToolPie::sClickAction = 0;
extern void handle_buy(void*);
diff --git a/indra/newview/lltoolpie.h b/indra/newview/lltoolpie.h
index ffc2fb9122..1af4b26a94 100644
--- a/indra/newview/lltoolpie.h
+++ b/indra/newview/lltoolpie.h
@@ -78,7 +78,7 @@ protected:
BOOL mMouseOutsideSlop; // for this drag, has mouse moved outside slop region
static LLPointer<LLViewerObject> sClickActionObject;
static U8 sClickAction;
- static LLHandle<LLObjectSelection> sLeftClickSelection;
+ static LLSafeHandle<LLObjectSelection> sLeftClickSelection;
};
extern LLToolPie *gToolPie;
diff --git a/indra/newview/lltoolselect.cpp b/indra/newview/lltoolselect.cpp
index 37c8b00ed2..3f4c823d40 100644
--- a/indra/newview/lltoolselect.cpp
+++ b/indra/newview/lltoolselect.cpp
@@ -96,7 +96,7 @@ BOOL LLToolSelect::handleDoubleClick(S32 x, S32 y, MASK mask)
}
// static
-LLHandle<LLObjectSelection> LLToolSelect::handleObjectSelection(LLViewerObject *object, MASK mask, BOOL ignore_group, BOOL temp_select)
+LLSafeHandle<LLObjectSelection> LLToolSelect::handleObjectSelection(LLViewerObject *object, MASK mask, BOOL ignore_group, BOOL temp_select)
{
BOOL select_owned = gSavedSettings.getBOOL("SelectOwnedOnly");
BOOL select_movable = gSavedSettings.getBOOL("SelectMovableOnly");
@@ -275,3 +275,4 @@ void LLToolSelect::onMouseCaptureLost()
}
+
diff --git a/indra/newview/lltoolselect.h b/indra/newview/lltoolselect.h
index bbf3529017..cc9168f7cc 100644
--- a/indra/newview/lltoolselect.h
+++ b/indra/newview/lltoolselect.h
@@ -49,7 +49,7 @@ public:
virtual void stopEditing();
- static LLHandle<LLObjectSelection> handleObjectSelection(LLViewerObject *object, MASK mask, BOOL ignore_group, BOOL temp_select);
+ static LLSafeHandle<LLObjectSelection> handleObjectSelection(LLViewerObject *object, MASK mask, BOOL ignore_group, BOOL temp_select);
virtual void onMouseCaptureLost();
virtual void handleDeselect();
diff --git a/indra/newview/lltoolselectland.h b/indra/newview/lltoolselectland.h
index 8abcdc33b9..f847967ac8 100644
--- a/indra/newview/lltoolselectland.h
+++ b/indra/newview/lltoolselectland.h
@@ -75,7 +75,7 @@ protected:
LLVector3d mEastNorthTop; // global coords, from drag
BOOL mLastShowParcelOwners; // store last Show Parcel Owners setting
- LLHandle<LLParcelSelection> mSelection; // hold on to a parcel selection
+ LLSafeHandle<LLParcelSelection> mSelection; // hold on to a parcel selection
};
extern LLToolSelectLand *gToolParcel;
diff --git a/indra/newview/lltoolview.cpp b/indra/newview/lltoolview.cpp
index b3f0dc4883..93729a5b91 100644
--- a/indra/newview/lltoolview.cpp
+++ b/indra/newview/lltoolview.cpp
@@ -130,7 +130,7 @@ LLRect LLToolView::getButtonRect(S32 button_index)
const S32 HORIZ_SPACING = TOOL_SIZE + 5;
const S32 VERT_SPACING = TOOL_SIZE + 14;
- S32 tools_per_row = mRect.getWidth() / HORIZ_SPACING;
+ S32 tools_per_row = getRect().getWidth() / HORIZ_SPACING;
S32 row = button_index / tools_per_row;
S32 column = button_index % tools_per_row;
@@ -196,3 +196,4 @@ void LLToolView::onClickToolButton(void* userdata)
}
+
diff --git a/indra/newview/lluploaddialog.cpp b/indra/newview/lluploaddialog.cpp
index a63f546761..b9f2ef2ddf 100644
--- a/indra/newview/lluploaddialog.cpp
+++ b/indra/newview/lluploaddialog.cpp
@@ -78,7 +78,7 @@ LLUploadDialog::LLUploadDialog( const std::string& msg)
LLRect msg_rect;
for (int line_num=0; line_num<16; ++line_num)
{
- mLabelBox[line_num] = new LLTextBox( "Filename", msg_rect, "", font );
+ mLabelBox[line_num] = new LLTextBox( "Filename", msg_rect, "Filename", font );
addChild(mLabelBox[line_num]);
}
@@ -131,8 +131,8 @@ void LLUploadDialog::setMessage( const std::string& msg)
reshape( dialog_width, dialog_height, FALSE );
// Message
- S32 msg_x = (mRect.getWidth() - max_msg_width) / 2;
- S32 msg_y = mRect.getHeight() - VPAD - line_height;
+ S32 msg_x = (getRect().getWidth() - max_msg_width) / 2;
+ S32 msg_y = getRect().getHeight() - VPAD - line_height;
int line_num;
for (line_num=0; line_num<16; ++line_num)
{
@@ -152,7 +152,7 @@ void LLUploadDialog::setMessage( const std::string& msg)
}
msg_lines.deleteAllData();
- centerDialog();
+ centerWithin(gViewerWindow->getRootView()->getRect());
}
LLUploadDialog::~LLUploadDialog()
@@ -165,13 +165,5 @@ LLUploadDialog::~LLUploadDialog()
LLUploadDialog::sDialog = NULL;
}
-void LLUploadDialog::centerDialog()
-{
- LLRect window_rect = gViewerWindow->getRootView()->getRect();
-
- S32 dialog_left = window_rect.mLeft + (window_rect.getWidth() - mRect.getWidth()) / 2;
- S32 dialog_bottom = window_rect.mBottom + (window_rect.getHeight() - mRect.getHeight()) / 2;
- translate( dialog_left - mRect.mLeft, dialog_bottom - mRect.mBottom );
-}
diff --git a/indra/newview/lluploaddialog.h b/indra/newview/lluploaddialog.h
index b975fd595c..06bc0f45e2 100644
--- a/indra/newview/lluploaddialog.h
+++ b/indra/newview/lluploaddialog.h
@@ -50,8 +50,6 @@ private:
LLUploadDialog( const std::string& msg);
virtual ~LLUploadDialog(); // No you can't kill it. It can only kill itself.
- void centerDialog();
-
LLTextBox* mLabelBox[16];
private:
diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp
index 7180683a86..9c81f89e99 100644
--- a/indra/newview/llviewercontrol.cpp
+++ b/indra/newview/llviewercontrol.cpp
@@ -114,13 +114,13 @@ BOOL LLFloaterSettingsDebug::postBuild()
childSetCommitCallback("color_swatch", onCommitSettings);
childSetUserData("color_swatch", this);
childSetAction("default_btn", onClickDefault, this);
- mComment = (LLTextEditor*)getChildByName("comment_text");
+ mComment = getChild<LLTextEditor>("comment_text");
return TRUE;
}
void LLFloaterSettingsDebug::draw()
{
- LLComboBox* settings_combo = (LLComboBox*)getChildByName("settings_combo");
+ LLComboBox* settings_combo = getChild<LLComboBox>("settings_combo");
LLControlBase* controlp = (LLControlBase*)settings_combo->getCurrentUserdata();
updateControl(controlp);
@@ -155,7 +155,7 @@ void LLFloaterSettingsDebug::onCommitSettings(LLUICtrl* ctrl, void* user_data)
{
LLFloaterSettingsDebug* floaterp = (LLFloaterSettingsDebug*)user_data;
- LLComboBox* settings_combo = (LLComboBox*)floaterp->getChildByName("settings_combo");
+ LLComboBox* settings_combo = floaterp->getChild<LLComboBox>("settings_combo");
LLControlBase* controlp = (LLControlBase*)settings_combo->getCurrentUserdata();
LLVector3 vector;
@@ -229,7 +229,7 @@ void LLFloaterSettingsDebug::onCommitSettings(LLUICtrl* ctrl, void* user_data)
void LLFloaterSettingsDebug::onClickDefault(void* user_data)
{
LLFloaterSettingsDebug* floaterp = (LLFloaterSettingsDebug*)user_data;
- LLComboBox* settings_combo = (LLComboBox*)floaterp->getChildByName("settings_combo");
+ LLComboBox* settings_combo = floaterp->getChild<LLComboBox>("settings_combo");
LLControlBase* controlp = (LLControlBase*)settings_combo->getCurrentUserdata();
if (controlp)
@@ -246,7 +246,7 @@ void LLFloaterSettingsDebug::updateControl(LLControlBase* controlp)
LLSpinCtrl* spinner2 = LLUICtrlFactory::getSpinnerByName(this, "val_spinner_2");
LLSpinCtrl* spinner3 = LLUICtrlFactory::getSpinnerByName(this, "val_spinner_3");
LLSpinCtrl* spinner4 = LLUICtrlFactory::getSpinnerByName(this, "val_spinner_4");
- LLColorSwatchCtrl* color_swatch = LLUICtrlFactory::getColorSwatchByName(this, "color_swatch");
+ LLColorSwatchCtrl* color_swatch = getChild<LLColorSwatchCtrl>("color_swatch");
if (!spinner1 || !spinner2 || !spinner3 || !spinner4 || !color_swatch)
{
diff --git a/indra/newview/llviewerkeyboard.cpp b/indra/newview/llviewerkeyboard.cpp
index b5d30df2f4..a8f88ec036 100644
--- a/indra/newview/llviewerkeyboard.cpp
+++ b/indra/newview/llviewerkeyboard.cpp
@@ -473,11 +473,8 @@ void stop_moving( EKeystate s )
void start_chat( EKeystate s )
{
- if (!gChatBar->inputEditorHasFocus())
- {
- // start chat
- gChatBar->startChat(NULL);
- }
+ // start chat
+ gChatBar->startChat(NULL);
}
void bind_keyboard_functions()
diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index 7a86b1d67c..b8ff934f8d 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -115,9 +115,12 @@ void LLViewerMediaImpl::play(const std::string& media_url,
mMediaSource = mgr->createSourceFromMimeType(scheme, mMimeType );
if ( !mMediaSource )
{
- llwarns << "media source create failed " << media_url
- << " type " << mMimeType
- << llendl;
+ if (mMimeType != "none/none")
+ {
+ llwarns << "media source create failed " << media_url
+ << " type " << mMimeType
+ << llendl;
+ }
return;
}
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 9c94306fb7..fc9b765525 100644
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -245,8 +245,8 @@ LLPieMenu *gPieLand = NULL;
// local constants
const LLString LANDMARK_MENU_NAME("Landmarks");
-const LLString CLIENT_MENU_NAME("Client");
-const LLString SERVER_MENU_NAME("Server");
+const LLString CLIENT_MENU_NAME("Advanced");
+const LLString SERVER_MENU_NAME("Admin");
const LLString SAVE_INTO_INVENTORY("Save Object Back to My Inventory");
const LLString SAVE_INTO_TASK_INVENTORY("Save Object Back to Object Contents");
@@ -424,7 +424,6 @@ BOOL enable_dehinge(void*);
void handle_force_delete(void*);
void print_object_info(void*);
void print_agent_nvpairs(void*);
-void show_debug_menus();
void toggle_debug_menus(void*);
void toggle_map( void* user_data );
void export_info_callback(LLAssetInfo *info, void **user_data, S32 result);
@@ -613,13 +612,13 @@ void set_underclothes_menu_options()
{
if (gMenuHolder && gAgent.isTeen())
{
- gMenuHolder->getChildByName("Self Underpants", TRUE)->setVisible(FALSE);
- gMenuHolder->getChildByName("Self Undershirt", TRUE)->setVisible(FALSE);
+ gMenuHolder->getChild<LLView>("Self Underpants", TRUE)->setVisible(FALSE);
+ gMenuHolder->getChild<LLView>("Self Undershirt", TRUE)->setVisible(FALSE);
}
if (gMenuBarView && gAgent.isTeen())
{
- gMenuBarView->getChildByName("Menu Underpants", TRUE)->setVisible(FALSE);
- gMenuBarView->getChildByName("Menu Undershirt", TRUE)->setVisible(FALSE);
+ gMenuBarView->getChild<LLView>("Menu Underpants", TRUE)->setVisible(FALSE);
+ gMenuBarView->getChild<LLView>("Menu Undershirt", TRUE)->setVisible(FALSE);
}
}
@@ -656,16 +655,16 @@ void init_menus()
gPieSelf = gUICtrlFactory->buildPieMenu("menu_pie_self.xml", gMenuHolder);
// TomY TODO: what shall we do about these?
- gDetachScreenPieMenu = (LLPieMenu*)gMenuHolder->getChildByName("Object Detach HUD", true);
- gDetachPieMenu = (LLPieMenu*)gMenuHolder->getChildByName("Object Detach", true);
+ gDetachScreenPieMenu = gMenuHolder->getChild<LLPieMenu>("Object Detach HUD", true);
+ gDetachPieMenu = gMenuHolder->getChild<LLPieMenu>("Object Detach", true);
gPieAvatar = gUICtrlFactory->buildPieMenu("menu_pie_avatar.xml", gMenuHolder);
gPieObject = gUICtrlFactory->buildPieMenu("menu_pie_object.xml", gMenuHolder);
- gAttachScreenPieMenu = (LLPieMenu*)gMenuHolder->getChildByName("Object Attach HUD", true);
- gAttachPieMenu = (LLPieMenu*)gMenuHolder->getChildByName("Object Attach", true);
- gPieRate = (LLPieMenu*)gMenuHolder->getChildByName("Rate Menu", true);
+ gAttachScreenPieMenu = gMenuHolder->getChild<LLPieMenu>("Object Attach HUD");
+ gAttachPieMenu = gMenuHolder->getChild<LLPieMenu>("Object Attach");
+ gPieRate = gMenuHolder->getChild<LLPieMenu>("Rate Menu");
gPieAttachment = gUICtrlFactory->buildPieMenu("menu_pie_attachment.xml", gMenuHolder);
@@ -715,8 +714,8 @@ void init_menus()
gMenuHolder->childSetLabelArg("Upload Animation", "[COST]", upload_cost);
gMenuHolder->childSetLabelArg("Bulk Upload", "[COST]", upload_cost);
- gAFKMenu = (LLMenuItemCallGL*)gMenuBarView->getChildByName("Set Away", TRUE);
- gBusyMenu = (LLMenuItemCallGL*)gMenuBarView->getChildByName("Set Busy", TRUE);
+ gAFKMenu = gMenuBarView->getChild<LLMenuItemCallGL>("Set Away", TRUE);
+ gBusyMenu = gMenuBarView->getChild<LLMenuItemCallGL>("Set Busy", TRUE);
gAttachSubMenu = gMenuBarView->getChildMenuByName("Attach Object", TRUE);
gDetachSubMenu = gMenuBarView->getChildMenuByName("Detach Object", TRUE);
@@ -1101,6 +1100,13 @@ void init_client_menu(LLMenuGL* menu)
menu->append(new LLMenuItemCallGL("Debug Settings", LLFloaterSettingsDebug::show, NULL, NULL));
menu->append(new LLMenuItemCheckGL("View Admin Options", &handle_admin_override_toggle, NULL, &check_admin_override, NULL, 'V', MASK_CONTROL | MASK_ALT));
+
+ menu->append(new LLMenuItemCallGL("Request Admin Status",
+ &handle_god_mode, NULL, NULL, 'G', MASK_ALT | MASK_CONTROL));
+
+ menu->append(new LLMenuItemCallGL("Leave Admin Status",
+ &handle_leave_god_mode, NULL, NULL, 'G', MASK_ALT | MASK_SHIFT | MASK_CONTROL));
+
menu->createJumpKeys();
}
@@ -1586,19 +1592,11 @@ void init_server_menu(LLMenuGL* menu)
&LLPanelRegionTools::onSaveState, &enable_god_customer_service, NULL));
// menu->append(new LLMenuItemCallGL("Force Join Group", handle_force_join_group));
-
-
-
- menu->appendSeparator();
+//
+// menu->appendSeparator();
//
// menu->append(new LLMenuItemCallGL( "OverlayTitle",
// &handle_show_overlay_title, &enable_god_customer_service, NULL));
-
- menu->append(new LLMenuItemCallGL("Request Admin Status",
- &handle_god_mode, NULL, NULL, 'G', MASK_ALT | MASK_CONTROL));
-
- menu->append(new LLMenuItemCallGL("Leave Admin Status",
- &handle_leave_god_mode, NULL, NULL, 'G', MASK_ALT | MASK_SHIFT | MASK_CONTROL));
menu->createJumpKeys();
}
@@ -2627,12 +2625,10 @@ BOOL check_admin_override(void*)
void handle_admin_override_toggle(void*)
{
- if(!gAgent.getAdminOverride())
- {
- gAgent.setAdminOverride(TRUE);
- show_debug_menus();
- }
- else gAgent.setAdminOverride(FALSE);
+ gAgent.setAdminOverride(!gAgent.getAdminOverride());
+
+ // The above may have affected which debug menus are visible
+ show_debug_menus();
}
void handle_god_mode(void*)
@@ -2649,7 +2645,6 @@ void set_god_level(U8 god_level)
{
U8 old_god_level = gAgent.getGodLevel();
gAgent.setGodLevel( god_level );
- show_debug_menus();
gIMMgr->refresh();
gParcelMgr->notifyObservers();
@@ -2681,6 +2676,9 @@ void set_god_level(U8 god_level)
LLNotifyBox::showXml("LeavingGodMode", args);
}
+
+ // changing god-level can affect which menus we see
+ show_debug_menus();
}
#ifdef TOGGLE_HACKED_GODLIKE_VIEWER
@@ -3351,9 +3349,9 @@ class LLEditDuplicate : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
- if(gEditMenuHandler)
+ if(LLEditMenuHandler::gEditMenuHandler)
{
- gEditMenuHandler->duplicate();
+ LLEditMenuHandler::gEditMenuHandler->duplicate();
}
return true;
}
@@ -3363,7 +3361,7 @@ class LLEditEnableDuplicate : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
- bool new_value = gEditMenuHandler && gEditMenuHandler->canDuplicate();
+ bool new_value = LLEditMenuHandler::gEditMenuHandler && LLEditMenuHandler::gEditMenuHandler->canDuplicate();
gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
return true;
}
@@ -4445,7 +4443,7 @@ class LLEditEnableCut : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
- bool new_value = gEditMenuHandler && gEditMenuHandler->canCut();
+ bool new_value = LLEditMenuHandler::gEditMenuHandler && LLEditMenuHandler::gEditMenuHandler->canCut();
gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
return true;
}
@@ -4455,9 +4453,9 @@ class LLEditCut : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
- if( gEditMenuHandler )
+ if( LLEditMenuHandler::gEditMenuHandler )
{
- gEditMenuHandler->cut();
+ LLEditMenuHandler::gEditMenuHandler->cut();
}
return true;
}
@@ -4467,7 +4465,7 @@ class LLEditEnableCopy : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
- bool new_value = gEditMenuHandler && gEditMenuHandler->canCopy();
+ bool new_value = LLEditMenuHandler::gEditMenuHandler && LLEditMenuHandler::gEditMenuHandler->canCopy();
gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
return true;
}
@@ -4477,9 +4475,9 @@ class LLEditCopy : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
- if( gEditMenuHandler )
+ if( LLEditMenuHandler::gEditMenuHandler )
{
- gEditMenuHandler->copy();
+ LLEditMenuHandler::gEditMenuHandler->copy();
}
return true;
}
@@ -4489,7 +4487,7 @@ class LLEditEnablePaste : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
- bool new_value = gEditMenuHandler && gEditMenuHandler->canPaste();
+ bool new_value = LLEditMenuHandler::gEditMenuHandler && LLEditMenuHandler::gEditMenuHandler->canPaste();
gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
return true;
}
@@ -4499,9 +4497,9 @@ class LLEditPaste : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
- if( gEditMenuHandler )
+ if( LLEditMenuHandler::gEditMenuHandler )
{
- gEditMenuHandler->paste();
+ LLEditMenuHandler::gEditMenuHandler->paste();
}
return true;
}
@@ -4511,7 +4509,7 @@ class LLEditEnableDelete : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
- bool new_value = gEditMenuHandler && gEditMenuHandler->canDoDelete();
+ bool new_value = LLEditMenuHandler::gEditMenuHandler && LLEditMenuHandler::gEditMenuHandler->canDoDelete();
gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
return true;
}
@@ -4523,9 +4521,9 @@ class LLEditDelete : public view_listener_t
{
// If a text field can do a deletion, it gets precedence over deleting
// an object in the world.
- if( gEditMenuHandler && gEditMenuHandler->canDoDelete())
+ if( LLEditMenuHandler::gEditMenuHandler && LLEditMenuHandler::gEditMenuHandler->canDoDelete())
{
- gEditMenuHandler->doDelete();
+ LLEditMenuHandler::gEditMenuHandler->doDelete();
}
// and close any pie/context menus when done
@@ -4605,7 +4603,7 @@ class LLEditEnableDeselect : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
- bool new_value = gEditMenuHandler && gEditMenuHandler->canDeselect();
+ bool new_value = LLEditMenuHandler::gEditMenuHandler && LLEditMenuHandler::gEditMenuHandler->canDeselect();
gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
return true;
}
@@ -4615,9 +4613,9 @@ class LLEditDeselect : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
- if( gEditMenuHandler )
+ if( LLEditMenuHandler::gEditMenuHandler )
{
- gEditMenuHandler->deselect();
+ LLEditMenuHandler::gEditMenuHandler->deselect();
}
return true;
}
@@ -4627,7 +4625,7 @@ class LLEditEnableSelectAll : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
- bool new_value = gEditMenuHandler && gEditMenuHandler->canSelectAll();
+ bool new_value = LLEditMenuHandler::gEditMenuHandler && LLEditMenuHandler::gEditMenuHandler->canSelectAll();
gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
return true;
}
@@ -4638,9 +4636,9 @@ class LLEditSelectAll : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
- if( gEditMenuHandler )
+ if( LLEditMenuHandler::gEditMenuHandler )
{
- gEditMenuHandler->selectAll();
+ LLEditMenuHandler::gEditMenuHandler->selectAll();
}
return true;
}
@@ -4651,7 +4649,7 @@ class LLEditEnableUndo : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
- bool new_value = gEditMenuHandler && gEditMenuHandler->canUndo();
+ bool new_value = LLEditMenuHandler::gEditMenuHandler && LLEditMenuHandler::gEditMenuHandler->canUndo();
gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
return true;
}
@@ -4661,9 +4659,9 @@ class LLEditUndo : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
- if( gEditMenuHandler && gEditMenuHandler->canUndo() )
+ if( LLEditMenuHandler::gEditMenuHandler && LLEditMenuHandler::gEditMenuHandler->canUndo() )
{
- gEditMenuHandler->undo();
+ LLEditMenuHandler::gEditMenuHandler->undo();
}
return true;
}
@@ -4673,7 +4671,7 @@ class LLEditEnableRedo : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
- bool new_value = gEditMenuHandler && gEditMenuHandler->canRedo();
+ bool new_value = LLEditMenuHandler::gEditMenuHandler && LLEditMenuHandler::gEditMenuHandler->canRedo();
gMenuHolder->findControl(userdata["control"].asString())->setValue(new_value);
return true;
}
@@ -4683,9 +4681,9 @@ class LLEditRedo : public view_listener_t
{
bool handleEvent(LLPointer<LLEvent> event, const LLSD& userdata)
{
- if( gEditMenuHandler && gEditMenuHandler->canRedo() )
+ if( LLEditMenuHandler::gEditMenuHandler && LLEditMenuHandler::gEditMenuHandler->canRedo() )
{
- gEditMenuHandler->redo();
+ LLEditMenuHandler::gEditMenuHandler->redo();
}
return true;
}
@@ -4731,8 +4729,12 @@ void show_debug_menus()
gMenuBarView->setItemVisible(CLIENT_MENU_NAME, debug);
gMenuBarView->setItemEnabled(CLIENT_MENU_NAME, debug);
- gMenuBarView->setItemVisible(SERVER_MENU_NAME, debug);
- gMenuBarView->setItemEnabled(SERVER_MENU_NAME, debug);
+
+ // Server ('Admin') menu hidden when not in godmode.
+ const bool show_server_menu = debug && (gAgent.getGodLevel() > GOD_NOT);
+ gMenuBarView->setItemVisible(SERVER_MENU_NAME, show_server_menu);
+ gMenuBarView->setItemEnabled(SERVER_MENU_NAME, show_server_menu);
+
//gMenuBarView->setItemVisible(LLString("DebugOptions"), visible);
//gMenuBarView->setItemVisible(LLString(AVI_TOOLS), visible);
};
@@ -5366,19 +5368,7 @@ class LLShowFloater : public view_listener_t
}
else if (floater_name == "help f1")
{
- gViewerHtmlHelp.show( gSavedSettings.getString("HelpHomeURL") );
- }
- else if (floater_name == "help in-world")
- {
- const bool open_app_slurls = true;
- LLFloaterHtml::getInstance()->show(
- "in-world_help", open_app_slurls );
- }
- else if (floater_name == "help additional")
- {
- const bool open_app_slurls = true;
- LLFloaterHtml::getInstance()->show(
- "additional_help", open_app_slurls );
+ gViewerHtmlHelp.show();
}
else if (floater_name == "complaint reporter")
{
@@ -5436,7 +5426,7 @@ class LLFloaterVisible : public view_listener_t
}
else if (floater_name == "chat history")
{
- new_value = LLFloaterChat::visible(NULL);
+ new_value = LLFloaterChat::instanceVisible();
}
else if (floater_name == "im")
{
@@ -7112,12 +7102,12 @@ BOOL LLViewerMenuHolderGL::hideMenus()
return handled;
}
-void LLViewerMenuHolderGL::setParcelSelection(LLHandle<LLParcelSelection> selection)
+void LLViewerMenuHolderGL::setParcelSelection(LLSafeHandle<LLParcelSelection> selection)
{
mParcelSelection = selection;
}
-void LLViewerMenuHolderGL::setObjectSelection(LLHandle<LLObjectSelection> selection)
+void LLViewerMenuHolderGL::setObjectSelection(LLSafeHandle<LLObjectSelection> selection)
{
mObjectSelection = selection;
}
@@ -7125,7 +7115,7 @@ void LLViewerMenuHolderGL::setObjectSelection(LLHandle<LLObjectSelection> select
const LLRect LLViewerMenuHolderGL::getMenuRect() const
{
- return LLRect(0, mRect.getHeight() - MENU_BAR_HEIGHT, mRect.getWidth(), STATUS_BAR_HEIGHT);
+ return LLRect(0, getRect().getHeight() - MENU_BAR_HEIGHT, getRect().getWidth(), STATUS_BAR_HEIGHT);
}
void handle_save_to_xml(void*)
@@ -7168,8 +7158,9 @@ void handle_load_from_xml(void*)
void handle_slurl_test(void*)
{
- LLFloaterHtml::getInstance()->show(
- "http://secondlife.com/app/search/slurls.html", "SLURL Test", true);
+ bool open_app_slurls = true;
+ bool open_links_externally = false;
+ LLFloaterHtml::getInstance()->show("http://secondlife.com/app/search/slurls.html", "SLURL Test", open_app_slurls, open_links_externally);
}
void handle_rebake_textures(void*)
diff --git a/indra/newview/llviewermenu.h b/indra/newview/llviewermenu.h
index 003e3efe42..21b2554ceb 100644
--- a/indra/newview/llviewermenu.h
+++ b/indra/newview/llviewermenu.h
@@ -126,14 +126,14 @@ public:
virtual BOOL hideMenus();
- void setParcelSelection(LLHandle<LLParcelSelection> selection);
- void setObjectSelection(LLHandle<LLObjectSelection> selection);
+ void setParcelSelection(LLSafeHandle<LLParcelSelection> selection);
+ void setObjectSelection(LLSafeHandle<LLObjectSelection> selection);
virtual const LLRect getMenuRect() const;
protected:
- LLHandle<LLParcelSelection> mParcelSelection;
- LLHandle<LLObjectSelection> mObjectSelection;
+ LLSafeHandle<LLParcelSelection> mParcelSelection;
+ LLSafeHandle<LLObjectSelection> mObjectSelection;
};
extern const LLString SAVE_INTO_INVENTORY;
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index 5e3ffb5e04..e9839d64dc 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -919,37 +919,25 @@ void inventory_offer_mute_callback(const LLUUID& blocked_id,
gFloaterMute->selectMute(blocked_id);
}
- // purge the offer queue of any previously queued inventory offers from the same source.
- LLView::child_list_t notification_queue(*(gNotifyBoxView->getChildList()));
- for(LLView::child_list_iter_t iter = notification_queue.begin();
- iter != notification_queue.end();
- iter++)
- {
- LLNotifyBox* notification = (LLNotifyBox*)*iter;
- // scan for other inventory offers (i.e. ignore other types of notifications).
- // we can tell by looking for the associated callback they were created with.
- if(notification->getNotifyCallback() == inventory_offer_callback)
- {
- // found one.
- // safe to downcast user data because we know it's associated with offer callback.
- LLOfferInfo* offer_data = (LLOfferInfo*)notification->getUserData();
- if(offer_data == user_data)
- {
- continue; // don't remove the msg triggering us. it will be dequeued normally.
- }
- if(offer_data->mFromID == blocked_id)
- {
- gNotifyBoxView->removeChild(notification);
- }
+ // purge the message queue of any previously queued inventory offers from the same source.
+ class OfferMatcher : public LLNotifyBoxView::Matcher
+ {
+ public:
+ OfferMatcher(const LLUUID& to_block) : blocked_id(to_block) {}
+ BOOL matches(LLNotifyBox::notify_callback_t callback, void* cb_data) const
+ {
+ return callback == inventory_offer_callback && ((LLOfferInfo*)cb_data)->mFromID == blocked_id;
}
- }
+ private:
+ const LLUUID& blocked_id;
+ };
+ gNotifyBoxView->purgeMessagesMatching(OfferMatcher(blocked_id));
}
void inventory_offer_callback(S32 button, void* user_data)
{
LLChat chat;
LLString log_message;
-
LLOfferInfo* info = (LLOfferInfo*)user_data;
if(!info) return;
@@ -997,7 +985,7 @@ void inventory_offer_callback(S32 button, void* user_data)
{
if (info->mFromGroup)
{
- char group_name[MAX_STRING]; /* Flawfinder: ignore */
+ std::string group_name;
if (gCacheName->getGroupName(info->mFromID, group_name))
{
from_string = LLString("An object named '") + info->mFromName + "' owned by the group '" + group_name + "'";
@@ -1011,8 +999,7 @@ void inventory_offer_callback(S32 button, void* user_data)
}
else
{
- char first_name[MAX_STRING]; /* Flawfinder: ignore */
- char last_name[MAX_STRING]; /* Flawfinder: ignore */
+ std::string first_name, last_name;
if (gCacheName->getName(info->mFromID, first_name, last_name))
{
from_string = LLString("An object named '") + info->mFromName + "' owned by " + first_name + " " + last_name;
@@ -1213,19 +1200,19 @@ void inventory_offer_handler(LLOfferInfo* info, BOOL from_task)
// Name cache callbacks don't store userdata, so can't save
// off the LLOfferInfo. Argh. JC
BOOL name_found = FALSE;
- char first_name[MAX_STRING]; /* Flawfinder: ignore */
- char last_name[MAX_STRING]; /* Flawfinder: ignore */
if (info->mFromGroup)
{
- if (gCacheName->getGroupName(info->mFromID, first_name))
+ std::string group_name;
+ if (gCacheName->getGroupName(info->mFromID, group_name))
{
- args["[FIRST]"] = first_name;
+ args["[FIRST]"] = group_name;
args["[LAST]"] = "";
name_found = TRUE;
}
}
else
{
+ std::string first_name, last_name;
if (gCacheName->getName(info->mFromID, first_name, last_name))
{
args["[FIRST]"] = first_name;
@@ -4413,9 +4400,23 @@ void script_question_cb(S32 option, void* user_data)
notify_cautioned_script_question(cbdata, orig, allowed);
}
- if ( option == 2 )
+ if ( option == 2 ) // mute
{
gMuteListp->add(LLMute(cbdata->mItemID, cbdata->mObjectName, LLMute::OBJECT));
+
+ // purge the message queue of any previously queued requests from the same source. DEV-4879
+ class OfferMatcher : public LLNotifyBoxView::Matcher
+ {
+ public:
+ OfferMatcher(const LLUUID& to_block) : blocked_id(to_block) {}
+ BOOL matches(LLNotifyBox::notify_callback_t callback, void* cb_data) const
+ {
+ return callback == script_question_cb && ((LLScriptQuestionCBData*)cb_data)->mItemID == blocked_id;
+ }
+ private:
+ const LLUUID& blocked_id;
+ };
+ gNotifyBoxView->purgeMessagesMatching(OfferMatcher(cbdata->mItemID));
}
delete cbdata;
}
diff --git a/indra/newview/llviewerparcelmedia.cpp b/indra/newview/llviewerparcelmedia.cpp
index 33c8ed919c..4c9a0aab95 100644
--- a/indra/newview/llviewerparcelmedia.cpp
+++ b/indra/newview/llviewerparcelmedia.cpp
@@ -160,7 +160,7 @@ void LLViewerParcelMedia::update(LLParcel* parcel)
// static
void LLViewerParcelMedia::play(LLParcel* parcel)
{
- llinfos << "play" << llendl;
+ lldebugs << "LLViewerParcelMedia::play" << llendl;
if (!parcel) return;
diff --git a/indra/newview/llviewerparcelmgr.cpp b/indra/newview/llviewerparcelmgr.cpp
index b5c2e81ab7..290650e251 100644
--- a/indra/newview/llviewerparcelmgr.cpp
+++ b/indra/newview/llviewerparcelmgr.cpp
@@ -590,13 +590,13 @@ void LLViewerParcelMgr::deselectLand()
mSelectedDwell = 0.f;
- notifyObservers();
-
// invalidate parcel selection so that existing users of this selection can clean up
mCurrentParcelSelection->setParcel(NULL);
mFloatingParcelSelection->setParcel(NULL);
// create new parcel selection
mCurrentParcelSelection = new LLParcelSelection(mCurrentParcel);
+
+ notifyObservers(); // Notify observers *after* changing the parcel selection
}
}
@@ -1968,17 +1968,14 @@ void LLViewerParcelMgr::sendParcelAccessListUpdate(U32 which)
void LLViewerParcelMgr::deedLandToGroup()
{
- char group_name[MAX_STRING]; /* Flawfinder: ignore */
+ std::string group_name;
gCacheName->getGroupName(mCurrentParcel->getGroupID(), group_name);
LLString::format_map_t args;
args["[AREA]"] = llformat("%d", mCurrentParcel->getArea());
args["[GROUP_NAME]"] = group_name;
if(mCurrentParcel->getContributeWithDeed())
{
- char first_name[DB_FIRST_NAME_BUF_SIZE]; /* Flawfinder: ignore */
- first_name[0] = '\0';
- char last_name[DB_FIRST_NAME_BUF_SIZE]; /* Flawfinder: ignore */
- last_name[0] = '\0';
+ std::string first_name, last_name;
gCacheName->getName(mCurrentParcel->getOwnerID(), first_name, last_name);
args["[FIRST_NAME]"] = first_name;
args["[LAST_NAME]"] = last_name;
diff --git a/indra/newview/llviewerparcelmgr.h b/indra/newview/llviewerparcelmgr.h
index efea18158c..f86ffe309f 100644
--- a/indra/newview/llviewerparcelmgr.h
+++ b/indra/newview/llviewerparcelmgr.h
@@ -110,7 +110,7 @@ public:
void selectCollisionParcel();
// Select the parcel at a specific point
- LLHandle<LLParcelSelection> selectParcelAt(const LLVector3d& pos_global);
+ LLSafeHandle<LLParcelSelection> selectParcelAt(const LLVector3d& pos_global);
// Take the current rectangle select, and select the parcel contained
// within it.
diff --git a/indra/newview/llviewertexteditor.cpp b/indra/newview/llviewertexteditor.cpp
index 871fc9702e..2721a626c7 100644
--- a/indra/newview/llviewertexteditor.cpp
+++ b/indra/newview/llviewertexteditor.cpp
@@ -1,6 +1,6 @@
/**
* @file llviewertexteditor.cpp
- * @brief Text editor widget to let users enter a a multi-line ASCII document.
+ * @brief Text editor widget to let users enter a multi-line document.
*
* $LicenseInfo:firstyear=2001&license=viewergpl$
*
@@ -145,8 +145,8 @@ public:
// return true if there are no embedded items.
bool empty();
- void bindEmbeddedChars(const LLFontGL* font);
- void unbindEmbeddedChars(const LLFontGL* font);
+ void bindEmbeddedChars(LLFontGL* font) const;
+ void unbindEmbeddedChars(LLFontGL* font) const;
BOOL insertEmbeddedItem(LLInventoryItem* item, llwchar* value, bool is_new);
BOOL removeEmbeddedItem( llwchar ext_char );
@@ -167,12 +167,13 @@ public:
static LLInventoryItem* getEmbeddedItem(llwchar ext_char); // returns item from static list
static BOOL getEmbeddedItemSaved(llwchar ext_char); // returns whether item from static list is saved
+private:
+
struct embedded_info_t
{
LLPointer<LLInventoryItem> mItem;
BOOL mSaved;
};
-private:
typedef std::map<llwchar, embedded_info_t > item_map_t;
static item_map_t sEntries;
static std::stack<llwchar> sFreeEntries;
@@ -227,14 +228,14 @@ BOOL LLEmbeddedItems::insertEmbeddedItem( LLInventoryItem* item, llwchar* ext_ch
}
else if (sEntries.empty())
{
- wc_emb = FIRST_EMBEDDED_CHAR;
+ wc_emb = LLTextEditor::FIRST_EMBEDDED_CHAR;
}
else
{
item_map_t::iterator last = sEntries.end();
--last;
wc_emb = last->first;
- if (wc_emb >= LAST_EMBEDDED_CHAR)
+ if (wc_emb >= LLTextEditor::LAST_EMBEDDED_CHAR)
{
return FALSE;
}
@@ -265,7 +266,7 @@ BOOL LLEmbeddedItems::removeEmbeddedItem( llwchar ext_char )
// static
LLInventoryItem* LLEmbeddedItems::getEmbeddedItem(llwchar ext_char)
{
- if( ext_char >= FIRST_EMBEDDED_CHAR && ext_char <= LAST_EMBEDDED_CHAR )
+ if( ext_char >= LLTextEditor::FIRST_EMBEDDED_CHAR && ext_char <= LLTextEditor::LAST_EMBEDDED_CHAR )
{
item_map_t::iterator iter = sEntries.find(ext_char);
if (iter != sEntries.end())
@@ -279,7 +280,7 @@ LLInventoryItem* LLEmbeddedItems::getEmbeddedItem(llwchar ext_char)
// static
BOOL LLEmbeddedItems::getEmbeddedItemSaved(llwchar ext_char)
{
- if( ext_char >= FIRST_EMBEDDED_CHAR && ext_char <= LAST_EMBEDDED_CHAR )
+ if( ext_char >= LLTextEditor::FIRST_EMBEDDED_CHAR && ext_char <= LLTextEditor::LAST_EMBEDDED_CHAR )
{
item_map_t::iterator iter = sEntries.find(ext_char);
if (iter != sEntries.end())
@@ -307,7 +308,7 @@ void LLEmbeddedItems::removeUnusedChars()
for (S32 i=0; i<(S32)wtext.size(); i++)
{
llwchar wc = wtext[i];
- if( wc >= FIRST_EMBEDDED_CHAR && wc <= LAST_EMBEDDED_CHAR )
+ if( wc >= LLTextEditor::FIRST_EMBEDDED_CHAR && wc <= LLTextEditor::LAST_EMBEDDED_CHAR )
{
used.erase(wc);
}
@@ -365,14 +366,14 @@ BOOL LLEmbeddedItems::hasEmbeddedItem(llwchar ext_char)
return FALSE;
}
-void LLEmbeddedItems::bindEmbeddedChars( const LLFontGL* font )
+void LLEmbeddedItems::bindEmbeddedChars( LLFontGL* font ) const
{
if( sEntries.empty() )
{
return;
}
- for (std::set<llwchar>::iterator iter1 = mEmbeddedUsedChars.begin(); iter1 != mEmbeddedUsedChars.end(); ++iter1)
+ for (std::set<llwchar>::const_iterator iter1 = mEmbeddedUsedChars.begin(); iter1 != mEmbeddedUsedChars.end(); ++iter1)
{
llwchar wch = *iter1;
item_map_t::iterator iter2 = sEntries.find(wch);
@@ -431,20 +432,20 @@ void LLEmbeddedItems::bindEmbeddedChars( const LLFontGL* font )
LLViewerImage* image = gImageList.getImage(LLUUID(gViewerArt.getString(img_name)), MIPMAP_FALSE, TRUE);
- ((LLFontGL*)font)->addEmbeddedChar( wch, image, item->getName() );
+ font->addEmbeddedChar( wch, image, item->getName() );
}
}
-void LLEmbeddedItems::unbindEmbeddedChars( const LLFontGL* font )
+void LLEmbeddedItems::unbindEmbeddedChars( LLFontGL* font ) const
{
if( sEntries.empty() )
{
return;
}
- for (std::set<llwchar>::iterator iter1 = mEmbeddedUsedChars.begin(); iter1 != mEmbeddedUsedChars.end(); ++iter1)
+ for (std::set<llwchar>::const_iterator iter1 = mEmbeddedUsedChars.begin(); iter1 != mEmbeddedUsedChars.end(); ++iter1)
{
- ((LLFontGL*)font)->removeEmbeddedChar(*iter1);
+ font->removeEmbeddedChar(*iter1);
}
}
@@ -490,7 +491,7 @@ void LLEmbeddedItems::markSaved()
///////////////////////////////////////////////////////////////////
-class LLTextCmdInsertEmbeddedItem : public LLTextCmd
+class LLViewerTextEditor::LLTextCmdInsertEmbeddedItem : public LLTextEditor::LLTextCmd
{
public:
LLTextCmdInsertEmbeddedItem( S32 pos, LLInventoryItem* item )
@@ -509,7 +510,7 @@ public:
{
LLWString ws;
ws.assign(1, mExtCharValue);
- *delta = insert(editor, mPos, ws );
+ *delta = insert(editor, getPosition(), ws );
return (*delta != 0);
}
return FALSE;
@@ -517,18 +518,18 @@ public:
virtual S32 undo( LLTextEditor* editor )
{
- remove(editor, mPos, 1);
- return mPos;
+ remove(editor, getPosition(), 1);
+ return getPosition();
}
virtual S32 redo( LLTextEditor* editor )
{
LLWString ws;
ws += mExtCharValue;
- insert(editor, mPos, ws );
- return mPos + 1;
+ insert(editor, getPosition(), ws );
+ return getPosition() + 1;
}
- virtual BOOL hasExtCharValue( llwchar value )
+ virtual BOOL hasExtCharValue( llwchar value ) const
{
return (value == mExtCharValue);
}
@@ -571,17 +572,17 @@ LLViewerTextEditor::LLViewerTextEditor(const LLString& name,
mEmbeddedItemList = new LLEmbeddedItems(this);
mInventoryCallback->setEditor(this);
+ // *TODO: Add right click menus for SLURLs
// Build the right click menu
// make the popup menu available
-
- LLMenuGL* menu = gUICtrlFactory->buildMenu("menu_slurl.xml", this);
- if (!menu)
- {
- menu = new LLMenuGL("");
- }
- menu->setBackgroundColor(gColors.getColor("MenuPopupBgColor"));
- // menu->setVisible(FALSE);
- mPopupMenuHandle = menu->mViewHandle;
+ //LLMenuGL* menu = gUICtrlFactory->buildMenu("menu_slurl.xml", this);
+ //if (!menu)
+ //{
+ // menu = new LLMenuGL("");
+ //}
+ //menu->setBackgroundColor(gColors.getColor("MenuPopupBgColor"));
+ //// menu->setVisible(FALSE);
+ //mPopupMenuHandle = menu->getHandle();
}
LLViewerTextEditor::~LLViewerTextEditor()
@@ -623,7 +624,7 @@ BOOL LLViewerTextEditor::handleToolTip(S32 x, S32 y, LLString& msg, LLRect* stic
return TRUE;
}
- LLTextSegment* cur_segment = getSegmentAtLocalPos( x, y );
+ const LLTextSegment* cur_segment = getSegmentAtLocalPos( x, y );
if( cur_segment )
{
BOOL has_tool_tip = FALSE;
@@ -674,13 +675,13 @@ BOOL LLViewerTextEditor::handleMouseDown(S32 x, S32 y, MASK mask)
}
BOOL start_select = TRUE;
- if( mAllowEmbeddedItems )
+ if( allowsEmbeddedItems() )
{
setCursorAtLocalPos( x, y, FALSE );
llwchar wc = 0;
if (mCursorPos < getLength())
{
- wc = mWText[mCursorPos];
+ wc = getWChar(mCursorPos);
}
LLInventoryItem* item_at_pos = LLEmbeddedItems::getEmbeddedItem(wc);
if (item_at_pos)
@@ -763,7 +764,7 @@ BOOL LLViewerTextEditor::handleMouseDown(S32 x, S32 y, MASK mask)
}
// Delay cursor flashing
- mKeystrokeTimer.reset();
+ resetKeystrokeTimer();
return handled;
}
@@ -790,12 +791,12 @@ BOOL LLViewerTextEditor::handleHover(S32 x, S32 y, MASK mask)
mLastSelectionY = y;
}
- if( y > mTextRect.mTop )
+ if( y > getTextRect().mTop )
{
mScrollbar->setDocPos( mScrollbar->getDocPos() - 1 );
}
else
- if( y < mTextRect.mBottom )
+ if( y < getTextRect().mBottom )
{
mScrollbar->setDocPos( mScrollbar->getDocPos() + 1 );
}
@@ -817,7 +818,7 @@ BOOL LLViewerTextEditor::handleHover(S32 x, S32 y, MASK mask)
LLAssetType::lookupDragAndDropType( mDragItem->getType() ),
mDragItem->getUUID(),
LLToolDragAndDrop::SOURCE_NOTECARD,
- mSourceID, mObjectID);
+ getSourceID(), mObjectID);
return gToolDragAndDrop->handleHover( x, y, mask );
}
@@ -837,7 +838,7 @@ BOOL LLViewerTextEditor::handleHover(S32 x, S32 y, MASK mask)
if( handled )
{
// Delay cursor flashing
- mKeystrokeTimer.reset();
+ resetKeystrokeTimer();
}
// Opaque
@@ -846,7 +847,7 @@ BOOL LLViewerTextEditor::handleHover(S32 x, S32 y, MASK mask)
// Check to see if we're over an HTML-style link
if( !mSegments.empty() )
{
- LLTextSegment* cur_segment = getSegmentAtLocalPos( x, y );
+ const LLTextSegment* cur_segment = getSegmentAtLocalPos( x, y );
if( cur_segment )
{
if(cur_segment->getStyle().isLink())
@@ -870,7 +871,7 @@ BOOL LLViewerTextEditor::handleHover(S32 x, S32 y, MASK mask)
if( !handled )
{
lldebugst(LLERR_USER_INPUT) << "hover handled by " << getName() << " (inactive)" << llendl;
- if (!mScrollbar->getVisible() || x < mRect.getWidth() - SCROLLBAR_SIZE)
+ if (!mScrollbar->getVisible() || x < getRect().getWidth() - SCROLLBAR_SIZE)
{
getWindow()->setCursor(UI_CURSOR_IBEAM);
}
@@ -894,7 +895,7 @@ BOOL LLViewerTextEditor::handleMouseUp(S32 x, S32 y, MASK mask)
// let scrollbar have first dibs
handled = LLView::childrenHandleMouseUp(x, y, mask) != NULL;
- // enable I Agree checkbox if the user scrolled through entire text
+ // Used to enable I Agree checkbox if the user scrolled through entire text
BOOL was_scrolled_to_bottom = (mScrollbar->getDocPos() == mScrollbar->getDocPosMax());
if (mOnScrollEndCallback && was_scrolled_to_bottom)
{
@@ -906,12 +907,12 @@ BOOL LLViewerTextEditor::handleMouseUp(S32 x, S32 y, MASK mask)
if( mIsSelecting )
{
// Finish selection
- if( y > mTextRect.mTop )
+ if( y > getTextRect().mTop )
{
mScrollbar->setDocPos( mScrollbar->getDocPos() - 1 );
}
else
- if( y < mTextRect.mBottom )
+ if( y < getTextRect().mBottom )
{
mScrollbar->setDocPos( mScrollbar->getDocPos() + 1 );
}
@@ -931,7 +932,7 @@ BOOL LLViewerTextEditor::handleMouseUp(S32 x, S32 y, MASK mask)
}
// Delay cursor flashing
- mKeystrokeTimer.reset();
+ resetKeystrokeTimer();
if( hasMouseCapture() )
{
@@ -965,34 +966,35 @@ BOOL LLViewerTextEditor::handleRightMouseDown(S32 x, S32 y, MASK mask)
BOOL handled = childrenHandleRightMouseDown(x, y, mask) != NULL;
- if(! handled)
- {
- LLTextSegment* cur_segment = getSegmentAtLocalPos( x, y );
- if( cur_segment )
- {
- if(cur_segment->getStyle().isLink())
- {
- handled = TRUE;
- mHTML = cur_segment->getStyle().getLinkHREF();
- }
- }
- }
- LLMenuGL* menu = (LLMenuGL*)LLView::getViewByHandle(mPopupMenuHandle);
- if(handled && menu && mParseHTML && mHTML.length() > 0)
- {
- menu->setVisible(TRUE);
- menu->arrange();
- menu->updateParent(LLMenuGL::sMenuContainer);
- LLMenuGL::showPopup(this, menu, x, y);
- mHTML = "";
- }
- else
- {
- if(menu && menu->getVisible())
- {
- menu->setVisible(FALSE);
- }
- }
+ // *TODO: Add right click menus for SLURLs
+// if(! handled)
+// {
+// const LLTextSegment* cur_segment = getSegmentAtLocalPos( x, y );
+// if( cur_segment )
+// {
+// if(cur_segment->getStyle().isLink())
+// {
+// handled = TRUE;
+// mHTML = cur_segment->getStyle().getLinkHREF();
+// }
+// }
+// }
+// LLMenuGL* menu = (LLMenuGL*)mPopupMenuHandle.get();
+// if(handled && menu && mParseHTML && mHTML.length() > 0)
+// {
+// menu->setVisible(TRUE);
+// menu->arrange();
+// menu->updateParent(LLMenuGL::sMenuContainer);
+// LLMenuGL::showPopup(this, menu, x, y);
+// mHTML = "";
+// }
+// else
+// {
+// if(menu && menu->getVisible())
+// {
+// menu->setVisible(FALSE);
+// }
+// }
return handled;
}
@@ -1005,9 +1007,9 @@ BOOL LLViewerTextEditor::handleDoubleClick(S32 x, S32 y, MASK mask)
if( !handled && mTakesNonScrollClicks)
{
- if( mAllowEmbeddedItems )
+ if( allowsEmbeddedItems() )
{
- LLTextSegment* cur_segment = getSegmentAtLocalPos( x, y );
+ const LLTextSegment* cur_segment = getSegmentAtLocalPos( x, y );
if( cur_segment && cur_segment->getStyle().getIsEmbeddedItem() )
{
if( openEmbeddedItemAtPos( cur_segment->getStart() ) )
@@ -1054,7 +1056,7 @@ BOOL LLViewerTextEditor::handleDoubleClick(S32 x, S32 y, MASK mask)
mIsSelecting = FALSE;
// delay cursor flashing
- mKeystrokeTimer.reset();
+ resetKeystrokeTimer();
handled = TRUE;
}
@@ -1074,12 +1076,12 @@ BOOL LLViewerTextEditor::handleDragAndDrop(S32 x, S32 y, MASK mask,
if (mTakesNonScrollClicks)
{
- if (getEnabled() && !mReadOnly)
+ if (getEnabled() && acceptsTextInput())
{
switch( cargo_type )
{
case DAD_CALLINGCARD:
- if(mAcceptCallingCardNames)
+ if(acceptsCallingCardNames())
{
if (drop)
{
@@ -1107,7 +1109,7 @@ BOOL LLViewerTextEditor::handleDragAndDrop(S32 x, S32 y, MASK mask,
case DAD_GESTURE:
{
LLInventoryItem *item = (LLInventoryItem *)cargo_data;
- if( mAllowEmbeddedItems )
+ if( allowsEmbeddedItems() )
{
U32 mask_next = item->getPermissions().getMaskNextOwner();
if((mask_next & PERM_ITEM_UNRESTRICTED) == PERM_ITEM_UNRESTRICTED)
@@ -1208,9 +1210,9 @@ LLString LLViewerTextEditor::getEmbeddedText()
// New version (Version 2)
mEmbeddedItemList->copyUsedCharsToIndexed();
LLWString outtextw;
- for (S32 i=0; i<(S32)mWText.size(); i++)
+ for (S32 i=0; i<(S32)getWText().size(); i++)
{
- llwchar wch = mWText[i];
+ llwchar wch = getWChar(i);
if( wch >= FIRST_EMBEDDED_CHAR && wch <= LAST_EMBEDDED_CHAR )
{
S32 index = mEmbeddedItemList->getIndexFromEmbeddedChar(wch);
@@ -1282,21 +1284,21 @@ llwchar LLViewerTextEditor::pasteEmbeddedItem(llwchar ext_char)
return LL_UNKNOWN_CHAR; // item not found or list full
}
-void LLViewerTextEditor::bindEmbeddedChars(const LLFontGL* font)
+void LLViewerTextEditor::bindEmbeddedChars(LLFontGL* font) const
{
mEmbeddedItemList->bindEmbeddedChars( font );
}
-void LLViewerTextEditor::unbindEmbeddedChars(const LLFontGL* font)
+void LLViewerTextEditor::unbindEmbeddedChars(LLFontGL* font) const
{
mEmbeddedItemList->unbindEmbeddedChars( font );
}
-BOOL LLViewerTextEditor::getEmbeddedItemToolTipAtPos(S32 pos, LLWString &msg)
+BOOL LLViewerTextEditor::getEmbeddedItemToolTipAtPos(S32 pos, LLWString &msg) const
{
if (pos < getLength())
{
- LLInventoryItem* item = LLEmbeddedItems::getEmbeddedItem(mWText[pos]);
+ LLInventoryItem* item = LLEmbeddedItems::getEmbeddedItem(getWChar(pos));
if( item )
{
msg = utf8str_to_wstring(item->getName());
@@ -1313,10 +1315,10 @@ BOOL LLViewerTextEditor::openEmbeddedItemAtPos(S32 pos)
{
if( pos < getLength())
{
- LLInventoryItem* item = LLEmbeddedItems::getEmbeddedItem( mWText[pos] );
+ LLInventoryItem* item = LLEmbeddedItems::getEmbeddedItem( getWChar(pos) );
if( item )
{
- BOOL saved = LLEmbeddedItems::getEmbeddedItemSaved( mWText[pos] );
+ BOOL saved = LLEmbeddedItems::getEmbeddedItemSaved( getWChar(pos) );
if (saved)
{
return openEmbeddedItem(item);
@@ -1490,7 +1492,7 @@ bool LLViewerTextEditor::importStream(std::istream& str)
const std::vector<LLPointer<LLInventoryItem> >& items = nc.getItems();
mEmbeddedItemList->addItems(items);
// Actually set the text
- if (mAllowEmbeddedItems)
+ if (allowsEmbeddedItems())
{
if (nc.getVersion() == 1)
setASCIIEmbeddedText( nc.getText() );
@@ -1514,7 +1516,7 @@ void LLViewerTextEditor::copyInventory(const LLInventoryItem* item, U32 callback
bool LLViewerTextEditor::hasEmbeddedInventory()
{
- return (!(mEmbeddedItemList->empty()));
+ return ! mEmbeddedItemList->empty();
}
////////////////////////////////////////////////////////////////////////////
@@ -1577,11 +1579,9 @@ LLView* LLViewerTextEditor::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlF
font,
allow_embedded_items);
- BOOL ignore_tabs = text_editor->mTabToNextField;
+ BOOL ignore_tabs = text_editor->tabsToNextField();
node->getAttributeBOOL("ignore_tab", ignore_tabs);
-
- text_editor->setTabToNextField(ignore_tabs);
-
+ text_editor->setTabsToNextField(ignore_tabs);
text_editor->setTextEditorParameters(node);
@@ -1589,7 +1589,7 @@ LLView* LLViewerTextEditor::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlF
node->getAttributeBOOL("hide_scrollbar",hide_scrollbar);
text_editor->setHideScrollbarForShortDocs(hide_scrollbar);
- BOOL hide_border = !text_editor->mBorder->getVisible();
+ BOOL hide_border = !text_editor->isBorderVisible();
node->getAttributeBOOL("hide_border", hide_border);
text_editor->setBorderVisible(!hide_border);
diff --git a/indra/newview/llviewertexteditor.h b/indra/newview/llviewertexteditor.h
index 02d934fc3c..237c85ad53 100644
--- a/indra/newview/llviewertexteditor.h
+++ b/indra/newview/llviewertexteditor.h
@@ -1,6 +1,6 @@
/**
* @file llviewertexteditor.h
- * @brief Text editor widget to let users enter a a multi-line document//
+ * @brief Text editor widget to let users enter a multi-line document//
*
* $LicenseInfo:firstyear=2001&license=viewergpl$
*
@@ -34,17 +34,12 @@
#include "lltexteditor.h"
-class LLInventoryItem;
-class LLEmbeddedItems;
-class LLEmbeddedNotecardOpener;
//
// Classes
//
class LLViewerTextEditor : public LLTextEditor
{
- friend class LLEmbeddedItems;
- friend class LLTextCmdInsertEmbeddedItem;
public:
LLViewerTextEditor(const LLString& name,
@@ -72,7 +67,7 @@ public:
BOOL drop, EDragAndDropType cargo_type,
void *cargo_data, EAcceptance *accept, LLString& tooltip_msg);
- const LLInventoryItem* getDragItem() { return mDragItem; }
+ const class LLInventoryItem* getDragItem() const { return mDragItem; }
virtual BOOL importBuffer(const LLString& buffer);
virtual bool importStream(std::istream& str);
virtual BOOL exportBuffer(LLString& buffer);
@@ -86,9 +81,9 @@ public:
void setEmbeddedText(const LLString& instr);
LLString getEmbeddedText();
+ // Appends Second Life time, small font, grey.
+ // If this starts a line, you need to prepend a newline.
LLString appendTime(bool prepend_newline);
- // Appends Second Life time, small font, grey
- // If this starts a line, you need to prepend a newline.
void copyInventory(const LLInventoryItem* item, U32 callback_id = 0);
@@ -99,13 +94,13 @@ public:
// rather than checking if a re-load is necessary. Phoenix 2007-02-27
bool hasEmbeddedInventory();
-protected:
+private:
// Embedded object operations
virtual llwchar pasteEmbeddedItem(llwchar ext_char);
- virtual void bindEmbeddedChars(const LLFontGL* font);
- virtual void unbindEmbeddedChars(const LLFontGL* font);
+ virtual void bindEmbeddedChars(LLFontGL* font) const;
+ virtual void unbindEmbeddedChars(LLFontGL* font) const;
- BOOL getEmbeddedItemToolTipAtPos(S32 pos, LLWString &wmsg);
+ BOOL getEmbeddedItemToolTipAtPos(S32 pos, LLWString &wmsg) const;
BOOL openEmbeddedItemAtPos( S32 pos );
BOOL openEmbeddedItem(LLInventoryItem* item);
@@ -121,17 +116,24 @@ protected:
static void onCopyToInvDialog( S32 option, void* userdata );
static void onNotecardDialog( S32 option, void* userdata );
-protected:
LLPointer<LLInventoryItem> mDragItem;
BOOL mDragItemSaved;
- LLEmbeddedItems* mEmbeddedItemList;
+ class LLEmbeddedItems* mEmbeddedItemList;
LLUUID mObjectID;
LLUUID mNotecardInventoryID;
- LLPointer<LLEmbeddedNotecardOpener> mInventoryCallback;
+ LLPointer<class LLEmbeddedNotecardOpener> mInventoryCallback;
+
+ // *TODO: Add right click menus for SLURLs
+ //LLHandle<LLView> mPopupMenuHandle;
+
+ //
+ // Inner classes
+ //
+
+ class LLTextCmdInsertEmbeddedItem;
- LLViewHandle mPopupMenuHandle;
};
#endif // LL_VIEWERTEXTEDITOR_H
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index 95adf32ed5..5dcf4fdb5d 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -607,6 +607,8 @@ BOOL LLViewerWindow::handleMouseDown(LLWindow *window, LLCoordGL pos, MASK mask
x = llround((F32)x / mDisplayScale.mV[VX]);
y = llround((F32)y / mDisplayScale.mV[VY]);
+ LLView::sMouseHandlerMessage = "";
+
if (gDebugClicks)
{
llinfos << "ViewerWindow left mouse down at " << x << "," << y << llendl;
@@ -684,7 +686,6 @@ BOOL LLViewerWindow::handleMouseDown(LLWindow *window, LLCoordGL pos, MASK mask
if (LLView::sDebugMouseHandling)
{
llinfos << "Left Mouse Down" << LLView::sMouseHandlerMessage << llendl;
- LLView::sMouseHandlerMessage = "";
}
return TRUE;
}
@@ -720,6 +721,8 @@ BOOL LLViewerWindow::handleDoubleClick(LLWindow *window, LLCoordGL pos, MASK ma
x = llround((F32)x / mDisplayScale.mV[VX]);
y = llround((F32)y / mDisplayScale.mV[VY]);
+ LLView::sMouseHandlerMessage = "";
+
if (gDebugClicks)
{
llinfos << "ViewerWindow left mouse double-click at " << x << "," << y << llendl;
@@ -768,7 +771,6 @@ BOOL LLViewerWindow::handleDoubleClick(LLWindow *window, LLCoordGL pos, MASK ma
if (LLView::sDebugMouseHandling)
{
llinfos << "Left Mouse Down" << LLView::sMouseHandlerMessage << llendl;
- LLView::sMouseHandlerMessage = "";
}
return TRUE;
}
@@ -802,6 +804,8 @@ BOOL LLViewerWindow::handleMouseUp(LLWindow *window, LLCoordGL pos, MASK mask)
x = llround((F32)x / mDisplayScale.mV[VX]);
y = llround((F32)y / mDisplayScale.mV[VY]);
+ LLView::sMouseHandlerMessage = "";
+
if (gDebugClicks)
{
llinfos << "ViewerWindow left mouse up" << llendl;
@@ -868,7 +872,6 @@ BOOL LLViewerWindow::handleMouseUp(LLWindow *window, LLCoordGL pos, MASK mask)
if (handled)
{
llinfos << "Left Mouse Up" << LLView::sMouseHandlerMessage << llendl;
- LLView::sMouseHandlerMessage = "";
}
else
{
@@ -896,6 +899,8 @@ BOOL LLViewerWindow::handleRightMouseDown(LLWindow *window, LLCoordGL pos, MASK
x = llround((F32)x / mDisplayScale.mV[VX]);
y = llround((F32)y / mDisplayScale.mV[VY]);
+ LLView::sMouseHandlerMessage = "";
+
if (gDebugClicks)
{
llinfos << "ViewerWindow right mouse down at " << x << "," << y << llendl;
@@ -966,7 +971,6 @@ BOOL LLViewerWindow::handleRightMouseDown(LLWindow *window, LLCoordGL pos, MASK
if (LLView::sDebugMouseHandling)
{
llinfos << "Right Mouse Down" << LLView::sMouseHandlerMessage << llendl;
- LLView::sMouseHandlerMessage = "";
}
return TRUE;
}
@@ -1008,6 +1012,8 @@ BOOL LLViewerWindow::handleRightMouseUp(LLWindow *window, LLCoordGL pos, MASK m
x = llround((F32)x / mDisplayScale.mV[VX]);
y = llround((F32)y / mDisplayScale.mV[VY]);
+ LLView::sMouseHandlerMessage = "";
+
// Don't care about caps lock for mouse events.
if (gDebugClicks)
{
@@ -1074,7 +1080,6 @@ BOOL LLViewerWindow::handleRightMouseUp(LLWindow *window, LLCoordGL pos, MASK m
if (handled)
{
llinfos << "Right Mouse Up" << LLView::sMouseHandlerMessage << llendl;
- LLView::sMouseHandlerMessage = "";
}
else
{
@@ -2641,6 +2646,8 @@ BOOL LLViewerWindow::handleUnicodeChar(llwchar uni_char, MASK mask)
void LLViewerWindow::handleScrollWheel(S32 clicks)
{
+ LLView::sMouseHandlerMessage = "";
+
gMouseIdleTimer.reset();
// Hide tooltips
@@ -2677,7 +2684,6 @@ void LLViewerWindow::handleScrollWheel(S32 clicks)
if (LLView::sDebugMouseHandling)
{
llinfos << "Scroll Wheel" << LLView::sMouseHandlerMessage << llendl;
- LLView::sMouseHandlerMessage = "";
}
return;
}
@@ -2719,6 +2725,8 @@ BOOL LLViewerWindow::handlePerFrameHover()
{
static std::string last_handle_msg;
+ LLView::sMouseHandlerMessage = "";
+
//RN: fix for asynchronous notification of mouse leaving window not working
LLCoordWindow mouse_pos;
mWindow->getCursorPosition(&mouse_pos);
@@ -2776,23 +2784,23 @@ BOOL LLViewerWindow::handlePerFrameHover()
{
gFocusMgr.releaseFocusIfNeeded(cur_focus);
- LLView* parent = cur_focus->getParent();
- LLView* focus_root = cur_focus->findRootMostFocusRoot();
+ LLUICtrl* parent = cur_focus->getParentUICtrl();
+ const LLUICtrl* focus_root = cur_focus->findRootMostFocusRoot();
while(parent)
{
if (parent->isCtrl() &&
- (((LLUICtrl*)parent)->hasTabStop() || parent == focus_root) &&
- !((LLUICtrl*)parent)->getIsChrome() &&
+ (parent->hasTabStop() || parent == focus_root) &&
+ !parent->getIsChrome() &&
parent->isInVisibleChain() &&
parent->isInEnabledChain())
{
if (!parent->focusFirstItem())
{
- ((LLUICtrl*)parent)->setFocus(TRUE);
+ parent->setFocus(TRUE);
}
break;
}
- parent = parent->getParent();
+ parent = parent->getParentUICtrl();
}
}
else if (cur_focus->isFocusRoot())
@@ -2854,7 +2862,6 @@ BOOL LLViewerWindow::handlePerFrameHover()
last_handle_msg = LLView::sMouseHandlerMessage;
llinfos << "Hover" << LLView::sMouseHandlerMessage << llendl;
}
- LLView::sMouseHandlerMessage = "";
handled = TRUE;
}
else if (LLView::sDebugMouseHandling)
@@ -3020,7 +3027,7 @@ BOOL LLViewerWindow::handlePerFrameHover()
}
// snap floaters to top of chat bar/button strip
- LLView* chatbar_and_buttons = gOverlayBar->getChildByName("chatbar_and_buttons", TRUE);
+ LLView* chatbar_and_buttons = gOverlayBar->getChild<LLView>("chatbar_and_buttons", TRUE);
if (chatbar_and_buttons)
{
// convert top/left corner of chatbar/buttons container to gFloaterView-relative coordinates
@@ -3048,9 +3055,9 @@ BOOL LLViewerWindow::handlePerFrameHover()
mLastMousePoint = mCurrentMousePoint;
// last ditch force of edit menu to selection manager
- if (gEditMenuHandler == NULL && gSelectMgr && gSelectMgr->getSelection()->getObjectCount())
+ if (LLEditMenuHandler::gEditMenuHandler == NULL && gSelectMgr && gSelectMgr->getSelection()->getObjectCount())
{
- gEditMenuHandler = gSelectMgr;
+ LLEditMenuHandler::gEditMenuHandler = gSelectMgr;
}
if (gFloaterView->getCycleMode())
diff --git a/indra/newview/llworldmapview.cpp b/indra/newview/llworldmapview.cpp
index b188c70b70..1abc1b165c 100644
--- a/indra/newview/llworldmapview.cpp
+++ b/indra/newview/llworldmapview.cpp
@@ -325,8 +325,8 @@ void LLWorldMapView::draw()
sPanX = lerp(sPanX, sTargetPanX, LLCriticalDamp::getInterpolant(0.1f));
sPanY = lerp(sPanY, sTargetPanY, LLCriticalDamp::getInterpolant(0.1f));
- const S32 width = mRect.getWidth();
- const S32 height = mRect.getHeight();
+ const S32 width = getRect().getWidth();
+ const S32 height = getRect().getHeight();
const S32 half_width = width / 2;
const S32 half_height = height / 2;
LLVector3d camera_global = gAgent.getCameraPositionGlobal();
@@ -990,8 +990,8 @@ void LLWorldMapView::drawFrustum()
F32 half_width_meters = far_clip_meters * tan( horiz_fov / 2 );
F32 half_width_pixels = half_width_meters * meters_to_pixels;
- F32 ctr_x = mRect.getWidth() * 0.5f + sPanX;
- F32 ctr_y = mRect.getHeight() * 0.5f + sPanY;
+ F32 ctr_x = getRect().getWidth() * 0.5f + sPanX;
+ F32 ctr_y = getRect().getHeight() * 0.5f + sPanY;
LLGLSNoTexture gls_no_texture;
@@ -1027,8 +1027,8 @@ LLVector3 LLWorldMapView::globalPosToView( const LLVector3d& global_pos )
// leave Z component in meters
- pos_local.mV[VX] += mRect.getWidth() / 2 + sPanX;
- pos_local.mV[VY] += mRect.getHeight() / 2 + sPanY;
+ pos_local.mV[VX] += getRect().getWidth() / 2 + sPanX;
+ pos_local.mV[VY] += getRect().getHeight() / 2 + sPanY;
return pos_local;
}
@@ -1048,13 +1048,13 @@ void LLWorldMapView::drawTracking(const LLVector3d& pos_global, const LLColor4&
if( x < 0
|| y < 0
- || x >= mRect.getWidth()
- || y >= mRect.getHeight() )
+ || x >= getRect().getWidth()
+ || y >= getRect().getHeight() )
{
if (draw_arrow)
{
- drawTrackingCircle( mRect, x, y, color, 3, 15 );
- drawTrackingArrow( mRect, x, y, color );
+ drawTrackingCircle( getRect(), x, y, color, 3, 15 );
+ drawTrackingArrow( getRect(), x, y, color );
text_x = sTrackingArrowX;
text_y = sTrackingArrowY;
}
@@ -1063,7 +1063,7 @@ void LLWorldMapView::drawTracking(const LLVector3d& pos_global, const LLColor4&
else if (LLTracker::getTrackingStatus() == LLTracker::TRACKING_LOCATION &&
LLTracker::getTrackedLocationType() != LLTracker::LOCATION_NOTHING)
{
- drawTrackingCircle( mRect, x, y, color, 3, 15 );
+ drawTrackingCircle( getRect(), x, y, color, 3, 15 );
}
else
{
@@ -1073,8 +1073,8 @@ void LLWorldMapView::drawTracking(const LLVector3d& pos_global, const LLColor4&
// clamp text position to on-screen
const S32 TEXT_PADDING = DEFAULT_TRACKING_ARROW_SIZE + 2;
S32 half_text_width = llfloor(font->getWidthF32(label) * 0.5f);
- text_x = llclamp(text_x, half_text_width + TEXT_PADDING, mRect.getWidth() - half_text_width - TEXT_PADDING);
- text_y = llclamp(text_y + vert_offset, TEXT_PADDING + vert_offset, mRect.getHeight() - llround(font->getLineHeight()) - TEXT_PADDING - vert_offset);
+ text_x = llclamp(text_x, half_text_width + TEXT_PADDING, getRect().getWidth() - half_text_width - TEXT_PADDING);
+ text_y = llclamp(text_y + vert_offset, TEXT_PADDING + vert_offset, getRect().getHeight() - llround(font->getLineHeight()) - TEXT_PADDING - vert_offset);
if (label != "")
{
@@ -1102,8 +1102,8 @@ void LLWorldMapView::drawTracking(const LLVector3d& pos_global, const LLColor4&
// If you change this, then you need to change LLTracker::getTrackedPositionGlobal() as well
LLVector3d LLWorldMapView::viewPosToGlobal( S32 x, S32 y )
{
- x -= llfloor((mRect.getWidth() / 2 + sPanX));
- y -= llfloor((mRect.getHeight() / 2 + sPanY));
+ x -= llfloor((getRect().getWidth() / 2 + sPanX));
+ y -= llfloor((getRect().getHeight() / 2 + sPanY));
LLVector3 pos_local( (F32)x, (F32)y, 0.f );
@@ -1448,8 +1448,8 @@ void LLWorldMapView::setDirectionPos( LLTextBox* text_box, F32 rotation )
// Rotation of 0 means x = 1, y = 0 on the unit circle.
- F32 map_half_height = mRect.getHeight() * 0.5f;
- F32 map_half_width = mRect.getWidth() * 0.5f;
+ F32 map_half_height = getRect().getHeight() * 0.5f;
+ F32 map_half_width = getRect().getWidth() * 0.5f;
F32 text_half_height = text_box->getRect().getHeight() * 0.5f;
F32 text_half_width = text_box->getRect().getWidth() * 0.5f;
F32 radius = llmin( map_half_height - text_half_height, map_half_width - text_half_width );
@@ -1462,8 +1462,8 @@ void LLWorldMapView::setDirectionPos( LLTextBox* text_box, F32 rotation )
void LLWorldMapView::updateDirections()
{
- S32 width = mRect.getWidth();
- S32 height = mRect.getHeight();
+ S32 width = getRect().getWidth();
+ S32 height = getRect().getHeight();
S32 text_height = mTextBoxNorth->getRect().getHeight();
S32 text_width = mTextBoxNorth->getRect().getWidth();
@@ -1695,7 +1695,7 @@ BOOL LLWorldMapView::handleMouseUp( S32 x, S32 y, MASK mask )
S32 local_x, local_y;
local_x = mMouseDownX + llfloor(sPanX - mMouseDownPanX);
local_y = mMouseDownY + llfloor(sPanY - mMouseDownPanY);
- LLRect clip_rect = mRect;
+ LLRect clip_rect = getRect();
clip_rect.stretch(-8);
clip_rect.clipPointToRect(mMouseDownX, mMouseDownY, local_x, local_y);
LLUI::setCursorPositionLocal(this, local_x, local_y);