From 0a6e0deb3245775a284fad78aa4007be8d09074b Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Thu, 10 Jun 2010 15:11:41 +0300 Subject: EXT-7564 FIXED Added "wrap" attribute for status message in an inventory folder view. EXT-7047 PARTIAL FIXED truncation of status message is fixed. Updated arranging in folder view to take into account required height for status message. --HG-- branch : product-engine --- indra/newview/llfolderview.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'indra/newview/llfolderview.cpp') diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index a87f7288fa..676c50014f 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -246,6 +246,7 @@ LLFolderView::LLFolderView(const Params& p) text_p.font(font); text_p.visible(false); text_p.allow_html(true); + text_p.wrap(true); // allow multiline text. See EXT-7564, EXT-7047 mStatusTextBox = LLUICtrlFactory::create (text_p); mStatusTextBox->setFollowsLeft(); mStatusTextBox->setFollowsTop(); @@ -953,6 +954,23 @@ void LLFolderView::draw() } mStatusTextBox->setValue(mStatusText); mStatusTextBox->setVisible( TRUE ); + + // firstly reshape message textbox with current size. This is necessary to + // LLTextBox::getTextPixelHeight works properly + const LLRect local_rect = getLocalRect(); + mStatusTextBox->setShape(local_rect); + + // get preferable text height... + S32 pixel_height = mStatusTextBox->getTextPixelHeight(); + bool height_changed = local_rect.getHeight() != pixel_height; + if (height_changed) + { + // ... if it does not match current height, lets rearrange current view. + // This will indirectly call ::arrange and reshape of the status textbox. + // We should call this method to also notify parent about required rect. + // See EXT-7564, EXT-7047. + arrangeFromRoot(); + } } -- cgit v1.2.3 From 591aa0d5be809a8ce0ba314493a9c3a8dfee8b9b Mon Sep 17 00:00:00 2001 From: Yuri Chebotarev Date: Thu, 10 Jun 2010 17:12:43 +0300 Subject: EXT-7741 FIX add iterator increment to prevent infinite loop revieded by Mike Antipov https://codereview.productengine.com/secondlife/r/552/ --HG-- branch : product-engine --- indra/newview/llfolderview.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview/llfolderview.cpp') diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index a87f7288fa..184ffdb274 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -2310,7 +2310,7 @@ void LLFolderView::updateRenamerPosition() bool LLFolderView::selectFirstItem() { for (folders_t::iterator iter = mFolders.begin(); - iter != mFolders.end();) + iter != mFolders.end();++iter) { LLFolderViewFolder* folder = (*iter ); if (folder->getVisible()) @@ -2347,7 +2347,7 @@ bool LLFolderView::selectLastItem() } } for (folders_t::reverse_iterator iter = mFolders.rbegin(); - iter != mFolders.rend();) + iter != mFolders.rend();++iter) { LLFolderViewFolder* folder = (*iter); if (folder->getVisible()) -- cgit v1.2.3 From 56d9e64b6da662ef8729ab203bab6142309a79f0 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Fri, 11 Jun 2010 10:26:53 +0300 Subject: EXT-7047 FIXED Overridden tab container's max tab width. Added paddings to status message text in inventory folder view. Also fixed crash in LLPanelPlaceProfile if login after places Panel is opened and hidden in UI Preview Tool: * added removing of an idle function when instance is destroyed. Message text has been wrapped into several lines in EXT-7564 (1869e99b5ce2) Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/558/ --HG-- branch : product-engine --- indra/newview/llfolderview.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'indra/newview/llfolderview.cpp') diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index 010033fcd3..74034cfbf7 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -88,6 +88,10 @@ const S32 MIN_ITEM_WIDTH_VISIBLE = LLFolderViewItem::ICON_WIDTH + /*first few characters*/ 40; const S32 MINIMUM_RENAMER_WIDTH = 80; +// *TODO: move in params in xml if necessary. Requires modification of LLFolderView & LLInventoryPanel Params. +const S32 STATUS_TEXT_HPAD = 6; +const S32 STATUS_TEXT_VPAD = 8; + enum { SIGNAL_NO_KEYBOARD_FOCUS = 1, SIGNAL_KEYBOARD_FOCUS = 2 @@ -247,6 +251,9 @@ LLFolderView::LLFolderView(const Params& p) text_p.visible(false); text_p.allow_html(true); text_p.wrap(true); // allow multiline text. See EXT-7564, EXT-7047 + // set text padding the same as in People panel. EXT-7047, EXT-4837 + text_p.h_pad(STATUS_TEXT_HPAD); + text_p.v_pad(STATUS_TEXT_VPAD); mStatusTextBox = LLUICtrlFactory::create (text_p); mStatusTextBox->setFollowsLeft(); mStatusTextBox->setFollowsTop(); -- cgit v1.2.3 From 7127fa493c98ae922f09c966a91e0d9d3679f60b Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Thu, 10 Jun 2010 17:07:45 -0700 Subject: EXT-7750 - Wearing list does not need to be bold or show link or worn --- indra/newview/llfolderview.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llfolderview.cpp') diff --git a/indra/newview/llfolderview.cpp b/indra/newview/llfolderview.cpp index a87f7288fa..5682e691cd 100644 --- a/indra/newview/llfolderview.cpp +++ b/indra/newview/llfolderview.cpp @@ -181,6 +181,7 @@ LLFolderView::LLFolderView(const Params& p) mRenameItem( NULL ), mNeedsScroll( FALSE ), mEnableScroll( true ), + mUseLabelSuffix(p.use_label_suffix), mPinningSelectedItem(FALSE), mNeedsAutoSelect( FALSE ), mAutoSelectOverride(FALSE), -- cgit v1.2.3