diff options
author | Maxim Nikolenko <maximnproductengine@lindenlab.com> | 2023-03-02 20:54:33 +0200 |
---|---|---|
committer | Maxim Nikolenko <maximnproductengine@lindenlab.com> | 2023-03-02 20:54:33 +0200 |
commit | c74658b19b1ac28d5bf240e940a7ad97ff034e3c (patch) | |
tree | 8dce3617044b1af291a1ca62fffcb90baec17fe8 /indra/newview/llinventorypanel.cpp | |
parent | cf901b5abbe5c24da92c6c0320e3831a3798a539 (diff) |
SL-19310 Update navigation buttons in single-folder view
Diffstat (limited to 'indra/newview/llinventorypanel.cpp')
-rw-r--r-- | indra/newview/llinventorypanel.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index 6cf1edd26b..076f002f47 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -2107,7 +2107,7 @@ void LLInventorySingleFolderPanel::changeFolderRoot(const LLUUID& new_id) void LLInventorySingleFolderPanel::onForwardFolder() { - if(!mForwardFolders.empty() && (mFolderID != mForwardFolders.back())) + if(isForwardAvailable()) { mBackwardFolders.push_back(mFolderID); mFolderID = mForwardFolders.back(); @@ -2118,7 +2118,7 @@ void LLInventorySingleFolderPanel::onForwardFolder() void LLInventorySingleFolderPanel::onBackwardFolder() { - if(!mBackwardFolders.empty() && (mFolderID != mBackwardFolders.back())) + if(isBackwardAvailable()) { mForwardFolders.push_back(mFolderID); mFolderID = mBackwardFolders.back(); @@ -2133,6 +2133,16 @@ void LLInventorySingleFolderPanel::clearNavigationHistory() mBackwardFolders.clear(); } +bool LLInventorySingleFolderPanel::isBackwardAvailable() +{ + return (!mBackwardFolders.empty() && (mFolderID != mBackwardFolders.back())); +} + +bool LLInventorySingleFolderPanel::isForwardAvailable() +{ + return (!mForwardFolders.empty() && (mFolderID != mForwardFolders.back())); +} + boost::signals2::connection LLInventorySingleFolderPanel::setRootChangedCallback(root_changed_callback_t cb) { return mRootChangedSignal.connect(cb); @@ -2186,6 +2196,12 @@ void LLInventorySingleFolderPanel::updateSingleFolderRoot() mFolderRoot.get()->setCallbackRegistrar(&mCommitCallbackRegistrar); buildNewViews(mFolderID); + + LLFloater* root_floater = gFloaterView->getParentFloater(this); + if(root_floater) + { + root_floater->setFocus(true); + } } } |