summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorTofu Linden <tofu.linden@lindenlab.com>2010-03-03 11:41:35 +0000
committerTofu Linden <tofu.linden@lindenlab.com>2010-03-03 11:41:35 +0000
commit962362503633f9fba741b1a45eb05b75a18a9f7d (patch)
treec70e936c416d1183f6f6d99de5f7a5554c0996cb /indra/newview
parentf7ecfe6dc453bf06c24934b58f67637790fe3c44 (diff)
parent0e780c9b912913b3eddde251b62f6218df4c5587 (diff)
PE merge.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llavatarlist.cpp9
-rw-r--r--indra/newview/llavatarlist.h2
-rw-r--r--indra/newview/lldebugview.cpp2
-rw-r--r--indra/newview/llfasttimerview.cpp29
-rw-r--r--indra/newview/llfasttimerview.h4
-rw-r--r--indra/newview/llfolderview.cpp3
-rw-r--r--indra/newview/llfolderview.h2
-rw-r--r--indra/newview/llfriendcard.cpp26
-rw-r--r--indra/newview/llfriendcard.h2
-rw-r--r--indra/newview/llimfloatercontainer.cpp27
-rw-r--r--indra/newview/llinventorypanel.cpp15
-rw-r--r--indra/newview/llinventorypanel.h4
-rw-r--r--indra/newview/llnamelistctrl.cpp27
-rw-r--r--indra/newview/llnamelistctrl.h2
-rw-r--r--indra/newview/llpanelclassified.cpp17
-rw-r--r--indra/newview/llpanelpeople.cpp15
-rw-r--r--indra/newview/llviewermessage.cpp6
-rw-r--r--indra/newview/llviewerwindow.cpp15
-rw-r--r--indra/newview/skins/default/xui/en/floater_im_container.xml4
-rw-r--r--indra/newview/skins/default/xui/en/floater_snapshot.xml2
-rw-r--r--indra/newview/skins/default/xui/en/panel_classified_info.xml100
-rw-r--r--indra/newview/skins/default/xui/en/panel_edit_classified.xml39
-rw-r--r--indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml59
-rw-r--r--indra/newview/skins/default/xui/en/teleport_strings.xml3
-rw-r--r--indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml2
25 files changed, 308 insertions, 108 deletions
diff --git a/indra/newview/llavatarlist.cpp b/indra/newview/llavatarlist.cpp
index 50d8672083..45c540b3a3 100644
--- a/indra/newview/llavatarlist.cpp
+++ b/indra/newview/llavatarlist.cpp
@@ -183,6 +183,15 @@ void LLAvatarList::sortByName()
sort();
}
+void LLAvatarList::setDirty(bool val /*= true*/, bool force_refresh /*= false*/)
+{
+ mDirty = val;
+ if(mDirty && force_refresh)
+ {
+ refresh();
+ }
+}
+
//////////////////////////////////////////////////////////////////////////
// PROTECTED SECTION
//////////////////////////////////////////////////////////////////////////
diff --git a/indra/newview/llavatarlist.h b/indra/newview/llavatarlist.h
index 0e4215e91a..00c72f1f9d 100644
--- a/indra/newview/llavatarlist.h
+++ b/indra/newview/llavatarlist.h
@@ -73,7 +73,7 @@ public:
virtual void clear();
void setNameFilter(const std::string& filter);
- void setDirty(bool val = true) { mDirty = val; }
+ void setDirty(bool val = true, bool force_refresh = false);
uuid_vector_t& getIDs() { return mIDs; }
bool contains(const LLUUID& id);
diff --git a/indra/newview/lldebugview.cpp b/indra/newview/lldebugview.cpp
index 169a963d0d..f113cc49d4 100644
--- a/indra/newview/lldebugview.cpp
+++ b/indra/newview/lldebugview.cpp
@@ -81,11 +81,13 @@ void LLDebugView::init()
r.setLeftTopAndSize(25, rect.getHeight() - 50, (S32) (gViewerWindow->getWindowRectScaled().getWidth() * 0.75f),
(S32) (gViewerWindow->getWindowRectScaled().getHeight() * 0.75f));
+
mFastTimerView = new LLFastTimerView(r);
mFastTimerView->setFollowsTop();
mFastTimerView->setFollowsLeft();
mFastTimerView->setVisible(FALSE); // start invisible
addChild(mFastTimerView);
+ mFastTimerView->setRect(rect);
r.setLeftTopAndSize(25, rect.getHeight() - 50, (S32) (gViewerWindow->getWindowRectScaled().getWidth() * 0.75f),
(S32) (gViewerWindow->getWindowRectScaled().getHeight() * 0.75f));
diff --git a/indra/newview/llfasttimerview.cpp b/indra/newview/llfasttimerview.cpp
index 4fa97e789b..8bc3b5a75f 100644
--- a/indra/newview/llfasttimerview.cpp
+++ b/indra/newview/llfasttimerview.cpp
@@ -44,6 +44,7 @@
#include "llfontgl.h"
#include "llsdserialize.h"
#include "lltooltip.h"
+#include "llbutton.h"
#include "llappviewer.h"
#include "llviewertexturelist.h"
@@ -99,6 +100,8 @@ LLFastTimerView::LLFastTimerView(const LLRect& rect)
FTV_NUM_TIMERS = LLFastTimer::NamedTimer::instanceCount();
mPrintStats = -1;
mAverageCyclesPerTimer = 0;
+ setCanMinimize(false);
+ setCanClose(true);
}
@@ -139,6 +142,18 @@ LLFastTimer::NamedTimer* LLFastTimerView::getLegendID(S32 y)
BOOL LLFastTimerView::handleMouseDown(S32 x, S32 y, MASK mask)
{
+
+ {
+ S32 local_x = x - mButtons[BUTTON_CLOSE]->getRect().mLeft;
+ S32 local_y = y - mButtons[BUTTON_CLOSE]->getRect().mBottom;
+ if(mButtons[BUTTON_CLOSE]->getVisible()
+ && mButtons[BUTTON_CLOSE]->pointInView(local_x, local_y) )
+ {
+ return LLFloater::handleMouseDown(x, y, mask);;
+ }
+ }
+
+
if (x < mBarRect.mLeft)
{
LLFastTimer::NamedTimer* idp = getLegendID(y);
@@ -188,6 +203,15 @@ BOOL LLFastTimerView::handleMouseDown(S32 x, S32 y, MASK mask)
BOOL LLFastTimerView::handleMouseUp(S32 x, S32 y, MASK mask)
{
+ {
+ S32 local_x = x - mButtons[BUTTON_CLOSE]->getRect().mLeft;
+ S32 local_y = y - mButtons[BUTTON_CLOSE]->getRect().mBottom;
+ if(mButtons[BUTTON_CLOSE]->getVisible()
+ && mButtons[BUTTON_CLOSE]->pointInView(local_x, local_y) )
+ {
+ return LLFloater::handleMouseUp(x, y, mask);;
+ }
+ }
return FALSE;
}
@@ -1191,5 +1215,8 @@ void LLFastTimerView::doAnalysis(std::string baseline, std::string target, std::
return ;
}
}
-
+void LLFastTimerView::onClickCloseBtn()
+{
+ setVisible(false);
+}
diff --git a/indra/newview/llfasttimerview.h b/indra/newview/llfasttimerview.h
index f5c8f23818..ac06990913 100644
--- a/indra/newview/llfasttimerview.h
+++ b/indra/newview/llfasttimerview.h
@@ -63,7 +63,9 @@ public:
LLFastTimer::NamedTimer* getLegendID(S32 y);
F64 getTime(const std::string& name);
-
+
+protected:
+ virtual void onClickCloseBtn();
private:
typedef std::vector<std::vector<S32> > bar_positions_t;
bar_positions_t mBarStart;
diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp
index 23f19a38a6..f7fd7bb472 100644
--- a/indra/newview/llfolderview.cpp
+++ b/indra/newview/llfolderview.cpp
@@ -179,6 +179,7 @@ LLFolderView::LLFolderView(const Params& p)
mSourceID(p.task_id),
mRenameItem( NULL ),
mNeedsScroll( FALSE ),
+ mEnableScroll( true ),
mPinningSelectedItem(FALSE),
mNeedsAutoSelect( FALSE ),
mAutoSelectOverride(FALSE),
@@ -1913,7 +1914,7 @@ void LLFolderView::deleteAllChildren()
void LLFolderView::scrollToShowSelection()
{
- if (mSelectedItems.size())
+ if (mEnableScroll && mSelectedItems.size())
{
mNeedsScroll = TRUE;
}
diff --git a/indra/newview/llfolderview.h b/indra/newview/llfolderview.h
index faf6a9cf23..38255b3cea 100644
--- a/indra/newview/llfolderview.h
+++ b/indra/newview/llfolderview.h
@@ -269,6 +269,7 @@ public:
void dumpSelectionInformation();
virtual S32 notify(const LLSD& info) ;
+ void setEnableScroll(bool enable_scroll) { mEnableScroll = enable_scroll; }
private:
void updateRenamerPosition();
@@ -300,6 +301,7 @@ protected:
LLLineEditor* mRenamer;
BOOL mNeedsScroll;
+ bool mEnableScroll;
BOOL mPinningSelectedItem;
LLRect mScrollConstraintRect;
BOOL mNeedsAutoSelect;
diff --git a/indra/newview/llfriendcard.cpp b/indra/newview/llfriendcard.cpp
index ac060cef15..18f81fe506 100644
--- a/indra/newview/llfriendcard.cpp
+++ b/indra/newview/llfriendcard.cpp
@@ -44,24 +44,28 @@
// Constants;
-static const std::string INVENTORY_STRING_FRIENDS_SUBFOLDER = "InvFolder Friends";
-static const std::string INVENTORY_STRING_FRIENDS_ALL_SUBFOLDER = "InvFolder All";
+static const std::string INVENTORY_STRING_FRIENDS_SUBFOLDER = "Friends";
+static const std::string INVENTORY_STRING_FRIENDS_ALL_SUBFOLDER = "All";
// helper functions
-// NOTE: Usage of LLTrans::getString(); in next two functions to set localized
-// folders' names is caused by a hack in the LLFolderViewItem::refreshFromListener()
-// method for protected asset types.
-// So, localized names will be got from the strings with "InvFolder LABEL_NAME"
-// in the strings.xml
+// NOTE: For now Friends & All folders are created as protected folders of the LLFolderType::FT_CALLINGCARD type.
+// So, their names will be processed in the LLFolderViewItem::refreshFromListener() to be localized
+// using "InvFolder LABEL_NAME" as LLTrans::findString argument.
+
+// We must use in this file their hard-coded names to ensure found them on different locales. EXT-5829.
+// These hard-coded names will be stored in InventoryItems but shown localized in FolderViewItems
+
+// If hack in the LLFolderViewItem::refreshFromListener() to localize protected folder is removed
+// or these folders are not protected these names should be localized in another place/way.
inline const std::string get_friend_folder_name()
{
- return LLTrans::getString(INVENTORY_STRING_FRIENDS_SUBFOLDER);
+ return INVENTORY_STRING_FRIENDS_SUBFOLDER;
}
inline const std::string get_friend_all_subfolder_name()
{
- return LLTrans::getString(INVENTORY_STRING_FRIENDS_ALL_SUBFOLDER);
+ return INVENTORY_STRING_FRIENDS_ALL_SUBFOLDER;
}
void move_from_to_arrays(LLInventoryModel::cat_array_t& from, LLInventoryModel::cat_array_t& to)
@@ -350,9 +354,9 @@ const LLUUID& LLFriendCardsManager::findFriendAllSubfolderUUIDImpl() const
return findChildFolderUUID(friendFolderUUID, friendAllSubfolderName);
}
-const LLUUID& LLFriendCardsManager::findChildFolderUUID(const LLUUID& parentFolderUUID, const std::string& localizedName) const
+const LLUUID& LLFriendCardsManager::findChildFolderUUID(const LLUUID& parentFolderUUID, const std::string& nonLocalizedName) const
{
- LLNameCategoryCollector matchFolderFunctor(localizedName);
+ LLNameCategoryCollector matchFolderFunctor(nonLocalizedName);
return get_folder_uuid(parentFolderUUID, matchFolderFunctor);
}
diff --git a/indra/newview/llfriendcard.h b/indra/newview/llfriendcard.h
index b94d5ec2c0..1cda52c1d7 100644
--- a/indra/newview/llfriendcard.h
+++ b/indra/newview/llfriendcard.h
@@ -120,7 +120,7 @@ private:
return (mBuddyIDSet.end() != mBuddyIDSet.find(avatarID));
}
- const LLUUID& findChildFolderUUID(const LLUUID& parentFolderUUID, const std::string& localizedName) const;
+ const LLUUID& findChildFolderUUID(const LLUUID& parentFolderUUID, const std::string& nonLocalizedName) const;
const LLUUID& findFriendFolderUUIDImpl() const;
const LLUUID& findFriendAllSubfolderUUIDImpl() const;
const LLUUID& findFriendCardInventoryUUIDImpl(const LLUUID& avatarID);
diff --git a/indra/newview/llimfloatercontainer.cpp b/indra/newview/llimfloatercontainer.cpp
index d518318b0e..9eb11a6ac4 100644
--- a/indra/newview/llimfloatercontainer.cpp
+++ b/indra/newview/llimfloatercontainer.cpp
@@ -96,8 +96,29 @@ void LLIMFloaterContainer::addFloater(LLFloater* floaterp,
LLUUID session_id = floaterp->getKey();
- floaterp->mCloseSignal.connect(boost::bind(&LLIMFloaterContainer::onCloseFloater, this, session_id));
- mSessions[session_id] = floaterp;
+ LLIconCtrl* icon = 0;
+
+ if(gAgent.isInGroup(session_id, TRUE))
+ {
+ LLGroupIconCtrl::Params icon_params = LLUICtrlFactory::instance().getDefaultParams<LLGroupIconCtrl>();
+ icon_params.group_id = session_id;
+ icon = LLUICtrlFactory::instance().createWidget<LLGroupIconCtrl>(icon_params);
+
+ mSessions[session_id] = floaterp;
+ floaterp->mCloseSignal.connect(boost::bind(&LLIMFloaterContainer::onCloseFloater, this, session_id));
+ }
+ else
+ {
+ LLUUID avatar_id = LLIMModel::getInstance()->getOtherParticipantID(session_id);
+
+ LLAvatarIconCtrl::Params icon_params = LLUICtrlFactory::instance().getDefaultParams<LLAvatarIconCtrl>();
+ icon_params.avatar_id = avatar_id;
+ icon = LLUICtrlFactory::instance().createWidget<LLAvatarIconCtrl>(icon_params);
+
+ mSessions[session_id] = floaterp;
+ floaterp->mCloseSignal.connect(boost::bind(&LLIMFloaterContainer::onCloseFloater, this, session_id));
+ }
+ mTabContainer->setTabImage(floaterp, icon);
}
void LLIMFloaterContainer::onCloseFloater(LLUUID& id)
@@ -134,6 +155,8 @@ void LLIMFloaterContainer::setMinimized(BOOL b)
if (isMinimized() == b) return;
LLMultiFloater::setMinimized(b);
+ // Hide minimized floater (see EXT-5315)
+ setVisible(!b);
if (isMinimized()) return;
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp
index 048ed10886..8097985ade 100644
--- a/indra/newview/llinventorypanel.cpp
+++ b/indra/newview/llinventorypanel.cpp
@@ -681,6 +681,21 @@ BOOL LLInventoryPanel::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
return handled;
}
+// virtual
+void LLInventoryPanel::onMouseEnter(S32 x, S32 y, MASK mask)
+{
+ LLPanel::onMouseEnter(x, y, mask);
+ // don't auto-scroll a list when cursor is over Inventory. See EXT-3981.
+ mFolders->setEnableScroll(false);
+}
+
+// virtual
+void LLInventoryPanel::onMouseLeave(S32 x, S32 y, MASK mask)
+{
+ LLPanel::onMouseLeave(x, y, mask);
+ mFolders->setEnableScroll(true);
+}
+
void LLInventoryPanel::onFocusLost()
{
// inventory no longer handles cut/copy/paste/delete
diff --git a/indra/newview/llinventorypanel.h b/indra/newview/llinventorypanel.h
index f312b588b9..37b03dbd7d 100644
--- a/indra/newview/llinventorypanel.h
+++ b/indra/newview/llinventorypanel.h
@@ -122,6 +122,10 @@ public:
void* cargo_data,
EAcceptance* accept,
std::string& tooltip_msg);
+
+ void onMouseEnter(S32 x, S32 y, MASK mask);
+ void onMouseLeave(S32 x, S32 y, MASK mask);
+
// LLUICtrl methods
/*virtual*/ void onFocusLost();
/*virtual*/ void onFocusReceived();
diff --git a/indra/newview/llnamelistctrl.cpp b/indra/newview/llnamelistctrl.cpp
index 114fef8712..883d4cdf4b 100644
--- a/indra/newview/llnamelistctrl.cpp
+++ b/indra/newview/llnamelistctrl.cpp
@@ -47,6 +47,8 @@
static LLDefaultChildRegistry::Register<LLNameListCtrl> r("name_list");
+static const S32 info_icon_size = 16;
+
void LLNameListCtrl::NameTypeNames::declareValues()
{
declare("INDIVIDUAL", LLNameListCtrl::INDIVIDUAL);
@@ -138,6 +140,29 @@ void LLNameListCtrl::showInspector(const LLUUID& avatar_id, bool is_group)
LLFloaterReg::showInstance("inspect_avatar", LLSD().with("avatar_id", avatar_id));
}
+void LLNameListCtrl::mouseOverHighlightNthItem( S32 target_index )
+{
+ if (getHighlightedItemInx()!= target_index)
+ {
+ if(getHighlightedItemInx()!=-1)
+ {
+ LLScrollListItem* item = getItemList()[getHighlightedItemInx()];
+ LLScrollListText* cell = dynamic_cast<LLScrollListText*>(item->getColumn(mNameColumnIndex));
+ if(cell)
+ cell->setTextWidth(cell->getTextWidth() + info_icon_size);
+ }
+ if(target_index != -1)
+ {
+ LLScrollListItem* item = getItemList()[target_index];
+ LLScrollListText* cell = dynamic_cast<LLScrollListText*>(item->getColumn(mNameColumnIndex));
+ if(cell)
+ cell->setTextWidth(cell->getTextWidth() - info_icon_size);
+ }
+ }
+
+ LLScrollListCtrl::mouseOverHighlightNthItem(target_index);
+}
+
//virtual
BOOL LLNameListCtrl::handleToolTip(S32 x, S32 y, MASK mask)
{
@@ -164,7 +189,7 @@ BOOL LLNameListCtrl::handleToolTip(S32 x, S32 y, MASK mask)
// Spawn at right side of cell
LLPointer<LLUIImage> icon = LLUI::getUIImage("Info_Small");
- LLCoordGL pos( sticky_rect.mRight - 16, sticky_rect.mTop - (sticky_rect.getHeight() - icon->getHeight())/2 );
+ LLCoordGL pos( sticky_rect.mRight - info_icon_size, sticky_rect.mTop - (sticky_rect.getHeight() - icon->getHeight())/2 );
// Should we show a group or an avatar inspector?
bool is_group = hit_item->getValue()["is_group"].asBoolean();
diff --git a/indra/newview/llnamelistctrl.h b/indra/newview/llnamelistctrl.h
index 23b1cb6897..1c26ee5db4 100644
--- a/indra/newview/llnamelistctrl.h
+++ b/indra/newview/llnamelistctrl.h
@@ -120,6 +120,8 @@ public:
void setAllowCallingCardDrop(BOOL b) { mAllowCallingCardDrop = b; }
/*virtual*/ void updateColumns();
+
+ /*virtual*/ void mouseOverHighlightNthItem( S32 index );
private:
void showInspector(const LLUUID& avatar_id, bool is_group);
diff --git a/indra/newview/llpanelclassified.cpp b/indra/newview/llpanelclassified.cpp
index 836331b44b..7cf27d9141 100644
--- a/indra/newview/llpanelclassified.cpp
+++ b/indra/newview/llpanelclassified.cpp
@@ -1290,18 +1290,11 @@ void LLPanelClassifiedInfo::resetData()
void LLPanelClassifiedInfo::resetControls()
{
- if(getAvatarId() == gAgent.getID())
- {
- childSetEnabled("edit_btn", TRUE);
- childSetVisible("edit_btn", TRUE);
- childSetVisible("auto_renew", TRUE);
- }
- else
- {
- childSetEnabled("edit_btn", FALSE);
- childSetVisible("edit_btn", FALSE);
- childSetVisible("auto_renew", FALSE);
- }
+ bool is_self = getAvatarId() == gAgent.getID();
+
+ childSetEnabled("edit_btn", is_self);
+ childSetVisible("edit_btn", is_self);
+ childSetVisible("price_layout_panel", is_self);
}
void LLPanelClassifiedInfo::setClassifiedName(const std::string& name)
diff --git a/indra/newview/llpanelpeople.cpp b/indra/newview/llpanelpeople.cpp
index d2a518a06a..93a6a7803a 100644
--- a/indra/newview/llpanelpeople.cpp
+++ b/indra/newview/llpanelpeople.cpp
@@ -683,9 +683,15 @@ void LLPanelPeople::updateFriendList()
online_friendsp.push_back(buddy_id);
}
- mOnlineFriendList->setDirty();
- mAllFriendList->setDirty();
-
+ /*
+ * Avatarlists will be hidden by showFriendsAccordionsIfNeeded(), if they do not have items.
+ * But avatarlist can be updated only if it is visible @see LLAvatarList::draw();
+ * So we need to do force update of lists to avoid inconsistency of data and view of avatarlist.
+ */
+ mOnlineFriendList->setDirty(true, !mOnlineFriendList->filterHasMatches());// do force update if list do NOT have items
+ mAllFriendList->setDirty(true, !mAllFriendList->filterHasMatches());
+ //update trash and other buttons according to a selected item
+ updateButtons();
showFriendsAccordionsIfNeeded();
}
@@ -1434,9 +1440,8 @@ void LLPanelPeople::onFriendListRefreshComplete(LLUICtrl*ctrl, const LLSD& param
{
showAccordion("tab_all", param.asInteger());
}
+ updateButtons();
- LLAccordionCtrl* accordion = getChild<LLAccordionCtrl>("friends_accordion");
- accordion->arrange();
}
void LLPanelPeople::setAccordionCollapsedByUser(LLUICtrl* acc_tab, bool collapsed)
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp
index ae31c9732c..361f4e2326 100644
--- a/indra/newview/llviewermessage.cpp
+++ b/indra/newview/llviewermessage.cpp
@@ -3115,8 +3115,12 @@ void process_agent_movement_complete(LLMessageSystem* msg, void**)
{
// Chat the "back" SLURL. (DEV-4907)
+ LLSD substitution = LLSD().with("[T_SLURL]", gAgent.getTeleportSourceSLURL());
+ std::string completed_from = LLAgent::sTeleportProgressMessages["completed_from"];
+ LLStringUtil::format(completed_from, substitution);
+
LLSD args;
- args["MESSAGE"] = "Teleport completed from " + gAgent.getTeleportSourceSLURL();
+ args["MESSAGE"] = completed_from;
LLNotificationsUtil::add("SystemMessageTip", args);
// Set the new position
diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp
index f1ec489a20..30f2d2c41b 100644
--- a/indra/newview/llviewerwindow.cpp
+++ b/indra/newview/llviewerwindow.cpp
@@ -695,22 +695,15 @@ BOOL LLViewerWindow::handleAnyMouseClick(LLWindow *window, LLCoordGL pos, MASK
{
S32 local_x, local_y;
top_ctrl->screenPointToLocal( x, y, &local_x, &local_y );
- if (down)
+ if (top_ctrl->pointInView(local_x, local_y))
{
- if (top_ctrl->pointInView(local_x, local_y))
- {
- return top_ctrl->handleAnyMouseClick(local_x, local_y, mask, clicktype, down) ;
- }
- else
- {
- gFocusMgr.setTopCtrl(NULL);
- }
+ return top_ctrl->handleAnyMouseClick(local_x, local_y, mask, clicktype, down) ;
}
else
{
- if (top_ctrl->pointInView(local_x, local_y) && top_ctrl->handleMouseUp(local_x, local_y, mask))
+ if (down)
{
- return TRUE;
+ gFocusMgr.setTopCtrl(NULL);
}
}
}
diff --git a/indra/newview/skins/default/xui/en/floater_im_container.xml b/indra/newview/skins/default/xui/en/floater_im_container.xml
index 0f098bbb52..65a05f3ec5 100644
--- a/indra/newview/skins/default/xui/en/floater_im_container.xml
+++ b/indra/newview/skins/default/xui/en/floater_im_container.xml
@@ -22,7 +22,9 @@
tab_width="64"
tab_max_width = "134"
tab_height="16"
- halign="center"
+ use_custom_icon_ctrl="true"
+ tab_icon_ctrl_pad="2"
+ halign="left"
use_ellipses="true"
top="0"
width="390" />
diff --git a/indra/newview/skins/default/xui/en/floater_snapshot.xml b/indra/newview/skins/default/xui/en/floater_snapshot.xml
index 1ab3dda52c..01548dd820 100644
--- a/indra/newview/skins/default/xui/en/floater_snapshot.xml
+++ b/indra/newview/skins/default/xui/en/floater_snapshot.xml
@@ -105,9 +105,11 @@
width="100">
<flyout_button.item
label="Save"
+ name="save_item"
value="save" />
<flyout_button.item
label="Save As..."
+ name="saveas_item"
value="save as" />
</flyout_button>
<button
diff --git a/indra/newview/skins/default/xui/en/panel_classified_info.xml b/indra/newview/skins/default/xui/en/panel_classified_info.xml
index cb1df4249e..a8c72e03bd 100644
--- a/indra/newview/skins/default/xui/en/panel_classified_info.xml
+++ b/indra/newview/skins/default/xui/en/panel_classified_info.xml
@@ -93,6 +93,17 @@
v_pad="0"
value="[name]"
use_ellipses="true" />
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
+ layout="topleft"
+ left="10"
+ name="classified_location_label"
+ text_color="white"
+ top_pad="10"
+ value="Location:"
+ width="250" />
<text_editor
allow_scroll="false"
bg_visible="false"
@@ -103,10 +114,22 @@
left="10"
name="classified_location"
read_only="true"
+ top_pad="5"
width="290"
word_wrap="true"
v_pad="0"
value="[loading...]" />
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
+ layout="topleft"
+ left="10"
+ name="content_type_label"
+ text_color="white"
+ top_pad="10"
+ value="Content Type:"
+ width="250" />
<text_editor
allow_scroll="false"
bg_visible="false"
@@ -121,6 +144,17 @@
top_pad="15"
v_pad="0"
value="[content type]" />
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
+ layout="topleft"
+ left="10"
+ name="category_label"
+ text_color="white"
+ top_pad="10"
+ value="Category:"
+ width="250" />
<text_editor
allow_html="true"
allow_scroll="false"
@@ -136,6 +170,17 @@
top_pad="5"
v_pad="0"
value="[category]" />
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
+ layout="topleft"
+ left="10"
+ name="price_for_listing_label"
+ text_color="white"
+ top_pad="10"
+ value="Price for listing:"
+ width="250" />
<text_editor
allow_scroll="false"
bg_visible="false"
@@ -150,17 +195,61 @@
top_pad="5"
tool_tip="Price for listing."
v_pad="0"
+ value="[price]"
width="105" />
+ <layout_stack
+ animate="false"
+ name="descr_stack"
+ layout="topleft"
+ follows="top|left"
+ orientation="vertical"
+ left="10"
+ top_pad="5"
+ width="290"
+ height="250">
+ <layout_panel
+ auto_resize="false"
+ name="price_layout_panel"
+ layout="topleft"
+ follows="top|left"
+ left="0"
+ top="0"
+ width="290"
+ height="26"
+ user_resize="false">
<check_box
enabled="false"
height="16"
label="Auto renew each week"
layout="topleft"
- left="10"
+ follows="top|left"
+ left="0"
name="auto_renew"
- top_pad="5"
+ top="0"
v_pad="0"
width="290" />
+ </layout_panel>
+ <layout_panel
+ name="descr_layout_panel"
+ layout="topleft"
+ follows="top|left"
+ left="0"
+ top="0"
+ width="290"
+ height="215"
+ user_resize="false">
+ <text
+ auto_resize="false"
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
+ layout="topleft"
+ left="0"
+ name="classified_desc_label"
+ text_color="white"
+ top="0"
+ value="Description:"
+ width="250" />
<text_editor
allow_html="true"
allow_scroll="true"
@@ -168,15 +257,18 @@
follows="left|top|right"
h_pad="0"
height="200"
- width="272"
layout="topleft"
- left="10"
+ left="0"
max_length="1023"
name="classified_desc"
read_only="true"
+ top_pad="5"
+ width="290"
v_pad="0"
value="[description]"
word_wrap="true" />
+ </layout_panel>
+ </layout_stack>
</panel>
</scroll_container>
<panel
diff --git a/indra/newview/skins/default/xui/en/panel_edit_classified.xml b/indra/newview/skins/default/xui/en/panel_edit_classified.xml
index 90b0acef26..6cc6c51fe0 100644
--- a/indra/newview/skins/default/xui/en/panel_edit_classified.xml
+++ b/indra/newview/skins/default/xui/en/panel_edit_classified.xml
@@ -59,7 +59,7 @@
layout="topleft"
top="0"
background_visible="false"
- height="610"
+ height="690"
left="0"
width="285">
<texture_picker
@@ -153,7 +153,7 @@
type="string"
length="1"
follows="left|top"
- height="50"
+ height="30"
layout="topleft"
left="10"
name="classified_location"
@@ -172,6 +172,17 @@
top_pad="5"
name="set_to_curr_location_btn"
width="156" />
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
+ layout="topleft"
+ left="10"
+ name="category_label"
+ text_color="white"
+ top_pad="15"
+ value="Category:"
+ width="250" />
<combo_box
follows="left|top"
height="23"
@@ -180,6 +191,17 @@
name="category"
top_pad="5"
width="156" />
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
+ layout="topleft"
+ left="10"
+ name="content_type_label"
+ text_color="white"
+ top_pad="15"
+ value="Content type:"
+ width="250" />
<combo_box
allow_text_entry="false"
follows="left|top"
@@ -199,6 +221,17 @@
General Content
</combo_item>
</combo_box>
+ <text
+ follows="left|top"
+ font.style="BOLD"
+ height="10"
+ layout="topleft"
+ left="10"
+ name="price_for_listing_label"
+ text_color="white"
+ top_pad="15"
+ value="Price for listing:"
+ width="250" />
<spinner
decimal_digits="0"
follows="left|top"
@@ -223,7 +256,7 @@
layout="topleft"
left="10"
name="auto_renew"
- top_pad="5"
+ top_pad="15"
width="250" />
</panel>
</scroll_container>
diff --git a/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml b/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml
index 4e57b428bd..5147bb72d0 100644
--- a/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml
+++ b/indra/newview/skins/default/xui/en/panel_group_info_sidetray.xml
@@ -100,17 +100,8 @@ background_visible="true"
expanded="true"
layout="topleft"
name="group_general_tab"
- title="General">
- <scroll_container
- color="DkGray2"
- follows="all"
- layout="topleft"
- left="0"
- name="profile_scroll"
- opaque="true"
- height="604"
- width="304"
- top="0">
+ title="General"
+ fit_panel="false">
<panel
border="false"
class="panel_group_general"
@@ -121,24 +112,13 @@ background_visible="true"
help_topic="group_general_tab"
name="group_general_tab_panel"
top="0" />
- </scroll_container>
</accordion_tab>
<accordion_tab
expanded="false"
layout="topleft"
name="group_roles_tab"
- title="Roles">
- <scroll_container
- color="DkGray2"
- follows="all"
- layout="topleft"
- left="0"
- name="profile_scroll"
- opaque="true"
- height="680"
- width="304"
- top="0">
-
+ title="Roles"
+ fit_panel="false">
<panel
border="false"
class="panel_group_roles"
@@ -148,24 +128,13 @@ background_visible="true"
left="0"
name="group_roles_tab_panel"
top="0" />
- </scroll_container>
</accordion_tab>
<accordion_tab
expanded="false"
layout="topleft"
name="group_notices_tab"
- title="Notices">
- <scroll_container
- color="DkGray2"
- follows="all"
- layout="topleft"
- left="0"
- name="profile_scroll"
- opaque="true"
- height="530"
- width="304"
- top="0">
-
+ title="Notices"
+ fit_panel="false">
<panel
border="false"
class="panel_group_notices"
@@ -176,24 +145,13 @@ background_visible="true"
help_topic="group_notices_tab"
name="group_notices_tab_panel"
top="0" />
- </scroll_container>
</accordion_tab>
<accordion_tab
expanded="false"
layout="topleft"
name="group_land_tab"
- title="Land/Assets">
- <scroll_container
- color="DkGray2"
- follows="all"
- layout="topleft"
- left="0"
- name="profile_scroll"
- opaque="true"
- height="500"
- width="304"
- top="0">
-
+ title="Land/Assets"
+ fit_panel="false">
<panel
border="false"
class="panel_group_land_money"
@@ -203,7 +161,6 @@ background_visible="true"
left="0"
name="group_land_tab_panel"
top="0" />
- </scroll_container>
</accordion_tab>
</accordion>
</layout_panel>
diff --git a/indra/newview/skins/default/xui/en/teleport_strings.xml b/indra/newview/skins/default/xui/en/teleport_strings.xml
index e8f6b1319a..bae821d3b5 100644
--- a/indra/newview/skins/default/xui/en/teleport_strings.xml
+++ b/indra/newview/skins/default/xui/en/teleport_strings.xml
@@ -61,6 +61,9 @@ Try again in a moment.
<message name="completing">
Completing teleport.
</message>
+ <message name="completed_from">
+ Teleport completed from [T_SLURL]
+ </message>
<message name="resolving">
Resolving destination.
</message>
diff --git a/indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml b/indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml
index 63f08a4250..413ca1d1ef 100644
--- a/indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml
+++ b/indra/newview/skins/default/xui/en/widgets/chiclet_im_adhoc.xml
@@ -24,7 +24,7 @@
follows="left|top|bottom"
height="20"
left="2"
- mouse_opaque="true"
+ mouse_opaque="false"
name="adhoc_icon"
width="21" />
<chiclet_im_adhoc.unread_notifications