From 941c1ee7f8a0446937c37ba6ce31503a0c360d50 Mon Sep 17 00:00:00 2001 From: andreykproductengine Date: Thu, 9 Jan 2020 20:54:36 +0200 Subject: SL-11172 Scroll to focused object if object is not in visible area --- indra/llui/llaccordionctrl.cpp | 31 +++++++++++++++++++++++++++++++ indra/llui/llaccordionctrl.h | 1 + indra/llui/llaccordionctrltab.cpp | 29 +++++++++++++++++++++++++++++ indra/llui/llaccordionctrltab.h | 1 + indra/llui/lluictrl.cpp | 1 + indra/llui/llview.cpp | 10 ++++++++++ indra/llui/llview.h | 1 + 7 files changed, 74 insertions(+) (limited to 'indra/llui') diff --git a/indra/llui/llaccordionctrl.cpp b/indra/llui/llaccordionctrl.cpp index 623f570cef..779508df49 100644 --- a/indra/llui/llaccordionctrl.cpp +++ b/indra/llui/llaccordionctrl.cpp @@ -655,6 +655,37 @@ void LLAccordionCtrl::onScrollPosChangeCallback(S32, LLScrollbar*) { updateLayout(getRect().getWidth(),getRect().getHeight()); } + +// virtual +void LLAccordionCtrl::onChildGotFocus(const LLUICtrl *cntrl) +{ + if (mScrollbar && mScrollbar->getVisible()) + { + // same as scrollToShowRect + LLRect rect; + cntrl->localRectToOtherView(cntrl->getLocalRect(), &rect, this); + + // Translate to parent coordinatess to check if we are in visible rectangle + rect.translate(getRect().mLeft, getRect().mBottom); + + if (!getRect().contains(rect)) + { + // for accordition's scroll, height is in pixels + // Back to local coords and calculate position for scroller + S32 bottom = mScrollbar->getDocPos() - rect.mBottom + getRect().mBottom; + S32 top = mScrollbar->getDocPos() - rect.mTop + getRect().mTop; + + S32 scroll_pos = llclamp(mScrollbar->getDocPos(), + bottom, // min vertical scroll + top); // max vertical scroll + + mScrollbar->setDocPos(scroll_pos); + } + } + + LLUICtrl::onChildGotFocus(cntrl); +} + void LLAccordionCtrl::onOpen (const LLSD& key) { for(size_t i=0;igetVisible()) + { + LLRect rect; + cntrl->localRectToOtherView(cntrl->getLocalRect(), &rect, this); + + // Translate to parent coordinatess to check if we are in visible rectangle + rect.translate(getRect().mLeft, getRect().mBottom); + + if (!getRect().contains(rect)) + { + // for accordition's scroll, height is in pixels + // Back to local coords and calculate position for scroller + S32 bottom = mScrollbar->getDocPos() - rect.mBottom + getRect().mBottom; + S32 top = mScrollbar->getDocPos() - rect.mTop + getRect().mTop; + + S32 scroll_pos = llclamp(mScrollbar->getDocPos(), + bottom, // min vertical scroll + top); // max vertical scroll + + mScrollbar->setDocPos(scroll_pos); + } + } + + LLUICtrl::onChildGotFocus(cntrl); +} + BOOL LLAccordionCtrlTab::handleMouseDown(S32 x, S32 y, MASK mask) { if(mCollapsible && mHeaderVisible && mCanOpenClose) diff --git a/indra/llui/llaccordionctrltab.h b/indra/llui/llaccordionctrltab.h index 0263bce4be..53546ad5a1 100644 --- a/indra/llui/llaccordionctrltab.h +++ b/indra/llui/llaccordionctrltab.h @@ -159,6 +159,7 @@ public: * Raises notifyParent event with "child_visibility_change" = new_visibility */ void onVisibilityChange(BOOL new_visibility); + virtual void onChildGotFocus(const LLUICtrl * cntrl); // Changes expand/collapse state and triggers expand/collapse callbacks virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask); diff --git a/indra/llui/lluictrl.cpp b/indra/llui/lluictrl.cpp index c98da0d410..e1d275c351 100644 --- a/indra/llui/lluictrl.cpp +++ b/indra/llui/lluictrl.cpp @@ -679,6 +679,7 @@ void LLUICtrl::setFocus(BOOL b) if (!hasFocus()) { gFocusMgr.setKeyboardFocus( this ); + onChildGotFocus(this); } } else diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp index b0e346f513..aa64b2c16e 100644 --- a/indra/llui/llview.cpp +++ b/indra/llui/llview.cpp @@ -640,6 +640,16 @@ void LLView::onVisibilityChange ( BOOL new_visibility ) } } +// virtual +void LLView::onChildGotFocus(const LLUICtrl * cntrl) +{ + LLView* parent_view = getParent(); + if (parent_view) + { + parent_view->onChildGotFocus(cntrl); + } +} + // virtual void LLView::translate(S32 x, S32 y) { diff --git a/indra/llui/llview.h b/indra/llui/llview.h index b448cc8397..031405035e 100644 --- a/indra/llui/llview.h +++ b/indra/llui/llview.h @@ -301,6 +301,7 @@ public: virtual BOOL setLabelArg( const std::string& key, const LLStringExplicit& text ); virtual void onVisibilityChange ( BOOL new_visibility ); + virtual void onChildGotFocus(const LLUICtrl * cntrl); void pushVisible(BOOL visible) { mLastVisible = mVisible; setVisible(visible); } void popVisible() { setVisible(mLastVisible); } -- cgit v1.2.3 From 92499ce1b43fd60ce7aad71d12f9eef0cef04f7f Mon Sep 17 00:00:00 2001 From: maxim_productengine Date: Mon, 27 Jan 2020 17:54:02 +0200 Subject: SL-12475 add Inventory Favorites tab --- indra/llui/llfolderview.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'indra/llui') diff --git a/indra/llui/llfolderview.h b/indra/llui/llfolderview.h index 2926e160d0..f70e9aa488 100644 --- a/indra/llui/llfolderview.h +++ b/indra/llui/llfolderview.h @@ -238,6 +238,8 @@ public: void dumpSelectionInformation(); virtual S32 notify(const LLSD& info) ; + + void setShowEmptyMessage(bool show_msg) { mShowEmptyMessage = show_msg; } bool useLabelSuffix() { return mUseLabelSuffix; } virtual void updateMenu(); -- cgit v1.2.3 From b9f0eb54ce1a95adb0286302e977936ef8ed91d7 Mon Sep 17 00:00:00 2001 From: maxim_productengine Date: Wed, 12 Feb 2020 12:45:56 +0200 Subject: SL-12396 Triple clicking text in a textbox / textarea should only select the current line --- indra/llui/lltextbase.cpp | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) (limited to 'indra/llui') diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index e64078828b..75eb274603 100644 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -1015,7 +1015,37 @@ BOOL LLTextBase::handleMouseDown(S32 x, S32 y, MASK mask) // handle triple click if (!mTripleClickTimer.hasExpired()) { - selectAll(); + S32 real_line = getLineNumFromDocIndex(mCursorPos, false); + S32 line_start = -1; + S32 line_end = -1; + for (line_list_t::const_iterator it = mLineInfoList.begin(), end_it = mLineInfoList.end(); + it != end_it; + ++it) + { + if (it->mLineNum < real_line) + { + continue; + } + if (it->mLineNum > real_line) + { + break; + } + if (line_start == -1) + { + line_start = it->mDocIndexStart; + } + line_end = it->mDocIndexEnd; + } + + if (line_start == -1) + { + return TRUE; + } + + mSelectionEnd = line_start; + mSelectionStart = line_end; + setCursorPos(line_start); + return TRUE; } -- cgit v1.2.3 From c81aa53e7bd8570da82e1794a8b50eb74a3d1bee Mon Sep 17 00:00:00 2001 From: maxim_productengine Date: Wed, 12 Feb 2020 17:50:49 +0200 Subject: SL-12695 FIXED 'New' badges are not shown for some folders after resizing 'Received items' panel --- indra/llui/llbadgeowner.cpp | 8 ++++++++ indra/llui/llbadgeowner.h | 1 + 2 files changed, 9 insertions(+) (limited to 'indra/llui') diff --git a/indra/llui/llbadgeowner.cpp b/indra/llui/llbadgeowner.cpp index 0557cd4375..5f11c383ef 100644 --- a/indra/llui/llbadgeowner.cpp +++ b/indra/llui/llbadgeowner.cpp @@ -56,6 +56,14 @@ void LLBadgeOwner::initBadgeParams(const LLBadge::Params& p) } } +void LLBadgeOwner::reshapeBadge(const LLRect& new_rect) +{ + if (mBadge) + { + mBadge->setShape(new_rect); + } +} + void LLBadgeOwner::setBadgeVisibility(bool visible) { if (mBadge) diff --git a/indra/llui/llbadgeowner.h b/indra/llui/llbadgeowner.h index 01ed95f3a3..4ce208fa0d 100644 --- a/indra/llui/llbadgeowner.h +++ b/indra/llui/llbadgeowner.h @@ -46,6 +46,7 @@ public: bool hasBadgeHolderParent() const { return mHasBadgeHolderParent; }; void setBadgeVisibility(bool visible); void setDrawBadgeAtTop(bool draw_at_top); + void reshapeBadge(const LLRect& new_rect); private: -- cgit v1.2.3 From cfb2b95c8ca3dbd9761bbd2124cf0361a4832bce Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Tue, 18 Feb 2020 18:33:28 +0200 Subject: SL-12641 Remade 'Pick: Texture' floater to eliminate translation overlaps --- indra/llui/llcombobox.cpp | 8 ++++++++ indra/llui/llcombobox.h | 2 ++ 2 files changed, 10 insertions(+) (limited to 'indra/llui') diff --git a/indra/llui/llcombobox.cpp b/indra/llui/llcombobox.cpp index c7f0326ed4..52dc908655 100644 --- a/indra/llui/llcombobox.cpp +++ b/indra/llui/llcombobox.cpp @@ -514,6 +514,14 @@ S32 LLComboBox::getCurrentIndex() const return -1; } +void LLComboBox::setEnabledByValue(const LLSD& value, BOOL enabled) +{ + LLScrollListItem *found = mList->getItem(value); + if (found) + { + found->setEnabled(enabled); + } +} void LLComboBox::createLineEditor(const LLComboBox::Params& p) { diff --git a/indra/llui/llcombobox.h b/indra/llui/llcombobox.h index 7d38c051a5..4af3313162 100644 --- a/indra/llui/llcombobox.h +++ b/indra/llui/llcombobox.h @@ -158,6 +158,8 @@ public: BOOL setCurrentByIndex( S32 index ); S32 getCurrentIndex() const; + void setEnabledByValue(const LLSD& value, BOOL enabled); + void createLineEditor(const Params&); //======================================================================== -- cgit v1.2.3 From 80447f5e6bfd9843413c7a79074d11373e6c4061 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Mon, 13 Apr 2020 15:06:11 +0300 Subject: SL-11172 Re-fixed, now should affect 'tab' only --- indra/llui/llaccordionctrl.cpp | 4 ++-- indra/llui/llaccordionctrl.h | 2 +- indra/llui/llaccordionctrltab.cpp | 4 ++-- indra/llui/llaccordionctrltab.h | 2 +- indra/llui/lllineeditor.cpp | 1 + indra/llui/llmultisliderctrl.cpp | 1 + indra/llui/llsliderctrl.cpp | 1 + indra/llui/llspinctrl.cpp | 3 ++- indra/llui/lluictrl.cpp | 4 ++-- indra/llui/llview.cpp | 4 ++-- indra/llui/llview.h | 2 +- 11 files changed, 16 insertions(+), 12 deletions(-) (limited to 'indra/llui') diff --git a/indra/llui/llaccordionctrl.cpp b/indra/llui/llaccordionctrl.cpp index 779508df49..962b8e9bb5 100644 --- a/indra/llui/llaccordionctrl.cpp +++ b/indra/llui/llaccordionctrl.cpp @@ -657,7 +657,7 @@ void LLAccordionCtrl::onScrollPosChangeCallback(S32, LLScrollbar*) } // virtual -void LLAccordionCtrl::onChildGotFocus(const LLUICtrl *cntrl) +void LLAccordionCtrl::onUpdateScrollToChild(const LLUICtrl *cntrl) { if (mScrollbar && mScrollbar->getVisible()) { @@ -683,7 +683,7 @@ void LLAccordionCtrl::onChildGotFocus(const LLUICtrl *cntrl) } } - LLUICtrl::onChildGotFocus(cntrl); + LLUICtrl::onUpdateScrollToChild(cntrl); } void LLAccordionCtrl::onOpen (const LLSD& key) diff --git a/indra/llui/llaccordionctrl.h b/indra/llui/llaccordionctrl.h index 3e30677429..b38a76d27f 100644 --- a/indra/llui/llaccordionctrl.h +++ b/indra/llui/llaccordionctrl.h @@ -111,7 +111,7 @@ public: void draw(); void onScrollPosChangeCallback(S32, LLScrollbar*); - virtual void onChildGotFocus(const LLUICtrl * cntrl); + virtual void onUpdateScrollToChild(const LLUICtrl * cntrl); void onOpen (const LLSD& key); S32 notifyParent(const LLSD& info); diff --git a/indra/llui/llaccordionctrltab.cpp b/indra/llui/llaccordionctrltab.cpp index d5c4ad961c..098621b543 100644 --- a/indra/llui/llaccordionctrltab.cpp +++ b/indra/llui/llaccordionctrltab.cpp @@ -453,7 +453,7 @@ void LLAccordionCtrlTab::onVisibilityChange(BOOL new_visibility) } // virtual -void LLAccordionCtrlTab::onChildGotFocus(const LLUICtrl *cntrl) +void LLAccordionCtrlTab::onUpdateScrollToChild(const LLUICtrl *cntrl) { if (mScrollbar && mScrollbar->getVisible()) { @@ -478,7 +478,7 @@ void LLAccordionCtrlTab::onChildGotFocus(const LLUICtrl *cntrl) } } - LLUICtrl::onChildGotFocus(cntrl); + LLUICtrl::onUpdateScrollToChild(cntrl); } BOOL LLAccordionCtrlTab::handleMouseDown(S32 x, S32 y, MASK mask) diff --git a/indra/llui/llaccordionctrltab.h b/indra/llui/llaccordionctrltab.h index 53546ad5a1..2c72e8c036 100644 --- a/indra/llui/llaccordionctrltab.h +++ b/indra/llui/llaccordionctrltab.h @@ -159,7 +159,7 @@ public: * Raises notifyParent event with "child_visibility_change" = new_visibility */ void onVisibilityChange(BOOL new_visibility); - virtual void onChildGotFocus(const LLUICtrl * cntrl); + virtual void onUpdateScrollToChild(const LLUICtrl * cntrl); // Changes expand/collapse state and triggers expand/collapse callbacks virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask); diff --git a/indra/llui/lllineeditor.cpp b/indra/llui/lllineeditor.cpp index 3ad504d68d..83cbbe0207 100644 --- a/indra/llui/lllineeditor.cpp +++ b/indra/llui/lllineeditor.cpp @@ -2142,6 +2142,7 @@ void LLLineEditor::clear() void LLLineEditor::onTabInto() { selectAll(); + LLUICtrl::onTabInto(); } //virtual diff --git a/indra/llui/llmultisliderctrl.cpp b/indra/llui/llmultisliderctrl.cpp index c460a08afc..4026a9e38e 100644 --- a/indra/llui/llmultisliderctrl.cpp +++ b/indra/llui/llmultisliderctrl.cpp @@ -474,6 +474,7 @@ void LLMultiSliderCtrl::onTabInto() { mEditor->onTabInto(); } + LLF32UICtrl::onTabInto(); } void LLMultiSliderCtrl::reportInvalidData() diff --git a/indra/llui/llsliderctrl.cpp b/indra/llui/llsliderctrl.cpp index 0056cb6dc4..f5f160a3d6 100644 --- a/indra/llui/llsliderctrl.cpp +++ b/indra/llui/llsliderctrl.cpp @@ -438,6 +438,7 @@ void LLSliderCtrl::onTabInto() { mEditor->onTabInto(); } + LLF32UICtrl::onTabInto(); } void LLSliderCtrl::reportInvalidData() diff --git a/indra/llui/llspinctrl.cpp b/indra/llui/llspinctrl.cpp index ce3fc29d32..ee78b82429 100644 --- a/indra/llui/llspinctrl.cpp +++ b/indra/llui/llspinctrl.cpp @@ -442,7 +442,8 @@ void LLSpinCtrl::setAllowEdit(BOOL allow_edit) void LLSpinCtrl::onTabInto() { - mEditor->onTabInto(); + mEditor->onTabInto(); + LLF32UICtrl::onTabInto(); } diff --git a/indra/llui/lluictrl.cpp b/indra/llui/lluictrl.cpp index e1d275c351..544a76e8d5 100644 --- a/indra/llui/lluictrl.cpp +++ b/indra/llui/lluictrl.cpp @@ -679,7 +679,6 @@ void LLUICtrl::setFocus(BOOL b) if (!hasFocus()) { gFocusMgr.setKeyboardFocus( this ); - onChildGotFocus(this); } } else @@ -722,8 +721,9 @@ void LLUICtrl::resetDirty() } // virtual -void LLUICtrl::onTabInto() +void LLUICtrl::onTabInto() { + onUpdateScrollToChild(this); } // virtual diff --git a/indra/llui/llview.cpp b/indra/llui/llview.cpp index 9d5cc70580..d81e2cd494 100644 --- a/indra/llui/llview.cpp +++ b/indra/llui/llview.cpp @@ -641,12 +641,12 @@ void LLView::onVisibilityChange ( BOOL new_visibility ) } // virtual -void LLView::onChildGotFocus(const LLUICtrl * cntrl) +void LLView::onUpdateScrollToChild(const LLUICtrl * cntrl) { LLView* parent_view = getParent(); if (parent_view) { - parent_view->onChildGotFocus(cntrl); + parent_view->onUpdateScrollToChild(cntrl); } } diff --git a/indra/llui/llview.h b/indra/llui/llview.h index 643436eb8c..5c91c37d3c 100644 --- a/indra/llui/llview.h +++ b/indra/llui/llview.h @@ -301,7 +301,7 @@ public: virtual BOOL setLabelArg( const std::string& key, const LLStringExplicit& text ); virtual void onVisibilityChange ( BOOL new_visibility ); - virtual void onChildGotFocus(const LLUICtrl * cntrl); + virtual void onUpdateScrollToChild(const LLUICtrl * cntrl); void pushVisible(BOOL visible) { mLastVisible = mVisible; setVisible(visible); } void popVisible() { setVisible(mLastVisible); } -- cgit v1.2.3 From 0828d7375af44aa270635f374c993959ae3e2a28 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Fri, 8 May 2020 11:54:58 +0300 Subject: SL-12396 FIXED Last line can't be removed if it was selected via triple-clicking --- indra/llui/lltextbase.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/llui') diff --git a/indra/llui/lltextbase.cpp b/indra/llui/lltextbase.cpp index b48a32a622..30bf938591 100644 --- a/indra/llui/lltextbase.cpp +++ b/indra/llui/lltextbase.cpp @@ -1037,6 +1037,7 @@ BOOL LLTextBase::handleMouseDown(S32 x, S32 y, MASK mask) line_start = it->mDocIndexStart; } line_end = it->mDocIndexEnd; + line_end = llclamp(line_end, 0, getLength()); } if (line_start == -1) -- cgit v1.2.3 From 1cd65a244736d0c11f5740f8a19f8d5459d5d4b6 Mon Sep 17 00:00:00 2001 From: Andrey Kleshchev Date: Tue, 25 Aug 2020 22:21:46 +0300 Subject: SL-13498 Crash at ~LLPersistentNotificationChannel Callstack is clearly broken since it points to LLNotifications::instance().clear(); after 'Goodbye!', my suspicion is that something reinitialized singleton so I fixed cleanup and added some logging to see if there is a dupplicate init --- indra/llui/llnotifications.cpp | 32 +++++++++++++++++++------------- indra/llui/llnotifications.h | 2 ++ 2 files changed, 21 insertions(+), 13 deletions(-) (limited to 'indra/llui') diff --git a/indra/llui/llnotifications.cpp b/indra/llui/llnotifications.cpp index 6a7075301b..06ec648178 100644 --- a/indra/llui/llnotifications.cpp +++ b/indra/llui/llnotifications.cpp @@ -255,7 +255,7 @@ LLNotificationForm::LLNotificationForm(const LLSD& sd) } else { - LL_WARNS() << "Invalid form data " << sd << LL_ENDL; + LL_WARNS("Notifications") << "Invalid form data " << sd << LL_ENDL; mFormData = LLSD::emptyArray(); } } @@ -448,11 +448,11 @@ LLNotificationTemplate::LLNotificationTemplate(const LLNotificationTemplate::Par mUniqueContext.push_back(context.value); } - LL_DEBUGS() << "notification \"" << mName << "\": tag count is " << p.tags.size() << LL_ENDL; + LL_DEBUGS("Notifications") << "notification \"" << mName << "\": tag count is " << p.tags.size() << LL_ENDL; BOOST_FOREACH(const LLNotificationTemplate::Tag& tag, p.tags) { - LL_DEBUGS() << " tag \"" << std::string(tag.value) << "\"" << LL_ENDL; + LL_DEBUGS("Notifications") << " tag \"" << std::string(tag.value) << "\"" << LL_ENDL; mTags.push_back(tag.value); } @@ -1398,8 +1398,14 @@ void LLNotifications::initSingleton() createDefaultChannels(); } +void LLNotifications::cleanupSingleton() +{ + clear(); +} + void LLNotifications::createDefaultChannels() { + LL_INFOS("Notifications") << "Generating default notification channels" << LL_ENDL; // now construct the various channels AFTER loading the notifications, // because the history channel is going to rewrite the stored notifications file mDefaultChannels.push_back(new LLNotificationChannel("Enabled", "", @@ -1455,7 +1461,7 @@ void LLNotifications::forceResponse(const LLNotification::Params& params, S32 op if (selected_item.isUndefined()) { - LL_WARNS() << "Invalid option" << option << " for notification " << (std::string)params.name << LL_ENDL; + LL_WARNS("Notifications") << "Invalid option" << option << " for notification " << (std::string)params.name << LL_ENDL; return; } response[selected_item["name"].asString()] = true; @@ -1489,12 +1495,12 @@ void replaceSubstitutionStrings(LLXMLNodePtr node, StringMap& replacements) if (found != replacements.end()) { replacement = found->second; - LL_DEBUGS() << "replaceSubstitutionStrings: value: \"" << value << "\" repl: \"" << replacement << "\"." << LL_ENDL; + LL_DEBUGS("Notifications") << "replaceSubstitutionStrings: value: \"" << value << "\" repl: \"" << replacement << "\"." << LL_ENDL; it->second->setValue(replacement); } else { - LL_WARNS() << "replaceSubstitutionStrings FAILURE: could not find replacement \"" << value << "\"." << LL_ENDL; + LL_WARNS("Notifications") << "replaceSubstitutionStrings FAILURE: could not find replacement \"" << value << "\"." << LL_ENDL; } } } @@ -1533,7 +1539,7 @@ void addPathIfExists(const std::string& new_path, std::vector& path bool LLNotifications::loadTemplates() { - LL_INFOS() << "Reading notifications template" << LL_ENDL; + LL_INFOS("Notifications") << "Reading notifications template" << LL_ENDL; // Passing findSkinnedFilenames(constraint=LLDir::ALL_SKINS) makes it // output all relevant pathnames instead of just the ones from the most // specific skin. @@ -1604,7 +1610,7 @@ bool LLNotifications::loadTemplates() mTemplates[notification.name] = LLNotificationTemplatePtr(new LLNotificationTemplate(notification)); } - LL_INFOS() << "...done" << LL_ENDL; + LL_INFOS("Notifications") << "...done" << LL_ENDL; return true; } @@ -1832,7 +1838,7 @@ bool LLNotifications::isVisibleByRules(LLNotificationPtr n) for(it = mVisibilityRules.begin(); it != mVisibilityRules.end(); it++) { // An empty type/tag/name string will match any notification, so only do the comparison when the string is non-empty in the rule. - LL_DEBUGS() + LL_DEBUGS("Notifications") << "notification \"" << n->getName() << "\" " << "testing against " << ((*it)->mVisible?"show":"hide") << " rule, " << "name = \"" << (*it)->mName << "\" " @@ -1877,7 +1883,7 @@ bool LLNotifications::isVisibleByRules(LLNotificationPtr n) if((*it)->mResponse.empty()) { // Response property is empty. Cancel this notification. - LL_DEBUGS() << "cancelling notification " << n->getName() << LL_ENDL; + LL_DEBUGS("Notifications") << "cancelling notification " << n->getName() << LL_ENDL; cancel(n); } @@ -1888,7 +1894,7 @@ bool LLNotifications::isVisibleByRules(LLNotificationPtr n) // TODO: verify that the response template has an item with the correct name response[(*it)->mResponse] = true; - LL_DEBUGS() << "responding to notification " << n->getName() << " with response = " << response << LL_ENDL; + LL_DEBUGS("Notifications") << "responding to notification " << n->getName() << " with response = " << response << LL_ENDL; n->respond(response); } @@ -1900,7 +1906,7 @@ bool LLNotifications::isVisibleByRules(LLNotificationPtr n) break; } - LL_DEBUGS() << "allowing notification " << n->getName() << LL_ENDL; + LL_DEBUGS("Notifications") << "allowing notification " << n->getName() << LL_ENDL; return true; } @@ -1961,7 +1967,7 @@ void LLPostponedNotification::onAvatarNameCache(const LLUUID& agent_id, // from PE merge - we should figure out if this is the right thing to do if (name.empty()) { - LL_WARNS() << "Empty name received for Id: " << agent_id << LL_ENDL; + LL_WARNS("Notifications") << "Empty name received for Id: " << agent_id << LL_ENDL; name = SYSTEM_FROM; } diff --git a/indra/llui/llnotifications.h b/indra/llui/llnotifications.h index cac687f53d..2f4578da17 100644 --- a/indra/llui/llnotifications.h +++ b/indra/llui/llnotifications.h @@ -957,6 +957,7 @@ public: private: /*virtual*/ void initSingleton(); + /*virtual*/ void cleanupSingleton(); void loadPersistentNotifications(); @@ -1069,6 +1070,7 @@ public: LLPersistentNotificationChannel() : LLNotificationChannel("Persistent", "Visible", ¬ificationFilter) {} + virtual ~LLPersistentNotificationChannel() {} typedef std::vector history_list_t; history_list_t::iterator beginHistory() { sortHistory(); return mHistory.begin(); } -- cgit v1.2.3 From d50131c0ac43cb5cfc247bd388a10100bc3dfec0 Mon Sep 17 00:00:00 2001 From: Andrey Lihatskiy Date: Wed, 9 Sep 2020 00:49:09 +0300 Subject: Revert "SL-12475 add Inventory Favorites tab" This reverts commit 92499ce1b43fd60ce7aad71d12f9eef0cef04f7f. # Conflicts: # indra/newview/llinventorybridge.cpp # indra/newview/llinventorypanel.cpp # indra/newview/llinventorypanel.h --- indra/llui/llfolderview.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'indra/llui') diff --git a/indra/llui/llfolderview.h b/indra/llui/llfolderview.h index c175034d75..6bb5e6c02e 100644 --- a/indra/llui/llfolderview.h +++ b/indra/llui/llfolderview.h @@ -241,8 +241,6 @@ public: void dumpSelectionInformation(); virtual S32 notify(const LLSD& info) ; - - void setShowEmptyMessage(bool show_msg) { mShowEmptyMessage = show_msg; } bool useLabelSuffix() { return mUseLabelSuffix; } virtual void updateMenu(); -- cgit v1.2.3