From c3e200cef41a602c13d3115cfec777eff63d5028 Mon Sep 17 00:00:00 2001 From: Mnikolenko Productengine Date: Wed, 31 May 2023 17:03:19 +0300 Subject: SL-19686 don't search views every time --- indra/newview/llpanelmaininventory.cpp | 38 +++++++++++++++++++++------------- indra/newview/llpanelmaininventory.h | 10 +++++++++ 2 files changed, 34 insertions(+), 14 deletions(-) diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index 381506c2a6..16f7abee23 100644 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -249,6 +249,16 @@ BOOL LLPanelMainInventory::postBuild() mVisibilityMenuButton = getChild("options_visibility_btn"); mViewMenuButton = getChild("view_btn"); + mBackBtn = getChild("back_btn"); + mForwardBtn = getChild("forward_btn"); + mUpBtn = getChild("up_btn"); + mViewModeBtn = getChild("view_mode_btn"); + mNavigationBtnsPanel = getChild("nav_buttons"); + + mDefaultViewPanel = getChild("default_inventory_panel"); + mListViewPanel = getChild("single_folder_inventory"); + mGalleryViewPanel = getChild("gallery_view_inventory"); + mSingleFolderPanelInventory = getChild("single_folder_inv"); mListViewRootUpdatedConnection = mSingleFolderPanelInventory->setRootChangedCallback(boost::bind(&LLPanelMainInventory::updateTitle, this)); mSingleFolderPanelInventory->setSelectCallback(boost::bind(&LLPanelMainInventory::onSelectionChange, this, mSingleFolderPanelInventory, _1, _2)); @@ -1543,11 +1553,11 @@ void LLPanelMainInventory::toggleViewMode() mCombinationGalleryPanel->updateRootFolder(); } - getChild("default_inventory_panel")->setVisible(!mSingleFolderMode); - getChild("single_folder_inventory")->setVisible(mSingleFolderMode && isListViewMode()); - getChild("gallery_view_inventory")->setVisible(mSingleFolderMode && isGalleryViewMode()); - getChild("nav_buttons")->setVisible(mSingleFolderMode); - getChild("view_mode_btn")->setImageOverlay(mSingleFolderMode ? getString("default_mode_btn") : getString("single_folder_mode_btn")); + mDefaultViewPanel->setVisible(!mSingleFolderMode); + mListViewPanel->setVisible(mSingleFolderMode && isListViewMode()); + mGalleryViewPanel->setVisible(mSingleFolderMode && isGalleryViewMode()); + mNavigationBtnsPanel->setVisible(mSingleFolderMode); + mViewModeBtn->setImageOverlay(mSingleFolderMode ? getString("default_mode_btn") : getString("single_folder_mode_btn")); mCombinationScrollPanel->setVisible(mSingleFolderMode && isCombinationViewMode()); setActivePanel(); @@ -2396,23 +2406,23 @@ void LLPanelMainInventory::updateNavButtons() { if(isListViewMode()) { - getChild("back_btn")->setEnabled(mSingleFolderPanelInventory->isBackwardAvailable()); - getChild("forward_btn")->setEnabled(mSingleFolderPanelInventory->isForwardAvailable()); + mBackBtn->setEnabled(mSingleFolderPanelInventory->isBackwardAvailable()); + mForwardBtn->setEnabled(mSingleFolderPanelInventory->isForwardAvailable()); } if(isGalleryViewMode()) { - getChild("back_btn")->setEnabled(mInventoryGalleryPanel->isBackwardAvailable()); - getChild("forward_btn")->setEnabled(mInventoryGalleryPanel->isForwardAvailable()); + mBackBtn->setEnabled(mInventoryGalleryPanel->isBackwardAvailable()); + mForwardBtn->setEnabled(mInventoryGalleryPanel->isForwardAvailable()); } if(isCombinationViewMode()) { - getChild("back_btn")->setEnabled(mCombinationInventoryPanel->isBackwardAvailable()); - getChild("forward_btn")->setEnabled(mCombinationInventoryPanel->isForwardAvailable()); + mBackBtn->setEnabled(mCombinationInventoryPanel->isBackwardAvailable()); + mForwardBtn->setEnabled(mCombinationInventoryPanel->isForwardAvailable()); } const LLViewerInventoryCategory* cat = gInventory.getCategory(getCurrentSFVRoot()); bool up_enabled = (cat && cat->getParentUUID().notNull()); - getChild("up_btn")->setEnabled(up_enabled); + mUpBtn->setEnabled(up_enabled); } LLSidepanelInventory* LLPanelMainInventory::getParentSidepanelInventory() @@ -2451,8 +2461,8 @@ void LLPanelMainInventory::setViewMode(EViewModeType mode) LLUUID cur_root = getCurrentSFVRoot(); mViewMode = mode; - getChild("single_folder_inventory")->setVisible(mSingleFolderMode && isListViewMode()); - getChild("gallery_view_inventory")->setVisible(mSingleFolderMode && isGalleryViewMode()); + mListViewPanel->setVisible(mSingleFolderMode && isListViewMode()); + mGalleryViewPanel->setVisible(mSingleFolderMode && isGalleryViewMode()); mCombinationScrollPanel->setVisible(mSingleFolderMode && isCombinationViewMode()); if(isListViewMode()) diff --git a/indra/newview/llpanelmaininventory.h b/indra/newview/llpanelmaininventory.h index 2c3379996f..056b26b6ec 100644 --- a/indra/newview/llpanelmaininventory.h +++ b/indra/newview/llpanelmaininventory.h @@ -192,6 +192,16 @@ private: std::string mCategoryCountString; LLComboBox* mSearchTypeCombo; + LLButton* mBackBtn; + LLButton* mForwardBtn; + LLButton* mUpBtn; + LLButton* mViewModeBtn; + LLLayoutPanel* mNavigationBtnsPanel; + + LLPanel* mListViewPanel; + LLPanel* mGalleryViewPanel; + LLPanel* mDefaultViewPanel; + bool mSingleFolderMode; EViewModeType mViewMode; LLInventorySingleFolderPanel* mSingleFolderPanelInventory; -- cgit v1.2.3