summaryrefslogtreecommitdiff
path: root/indra/newview/llinventorypanel.cpp
diff options
context:
space:
mode:
authorMaxim Nikolenko <maximnproductengine@lindenlab.com>2023-03-02 20:54:33 +0200
committerMaxim Nikolenko <maximnproductengine@lindenlab.com>2023-03-02 20:54:33 +0200
commitc74658b19b1ac28d5bf240e940a7ad97ff034e3c (patch)
tree8dce3617044b1af291a1ca62fffcb90baec17fe8 /indra/newview/llinventorypanel.cpp
parentcf901b5abbe5c24da92c6c0320e3831a3798a539 (diff)
SL-19310 Update navigation buttons in single-folder view
Diffstat (limited to 'indra/newview/llinventorypanel.cpp')
-rw-r--r--indra/newview/llinventorypanel.cpp20
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);
+ }
}
}