SL-19544 WIP hide inventory pane in Combination view, if there is no visible items
parent
c6d2bf93c0
commit
37530c9d73
|
|
@ -189,7 +189,8 @@ LLFolderView::LLFolderView(const Params& p)
|
|||
mStatusTextBox(NULL),
|
||||
mShowItemLinkOverlays(p.show_item_link_overlays),
|
||||
mViewModel(p.view_model),
|
||||
mGroupedItemModel(p.grouped_item_model)
|
||||
mGroupedItemModel(p.grouped_item_model),
|
||||
mForceArrange(false)
|
||||
{
|
||||
LLPanel* panel = p.parent_panel;
|
||||
mParentPanel = panel->getHandle();
|
||||
|
|
@ -1736,7 +1737,7 @@ void LLFolderView::update()
|
|||
mNeedsAutoSelect = FALSE;
|
||||
}
|
||||
|
||||
BOOL is_visible = isInVisibleChain();
|
||||
BOOL is_visible = isInVisibleChain() || mForceArrange;
|
||||
|
||||
//Puts folders/items in proper positions
|
||||
// arrange() takes the model filter flag into account and call sort() if necessary (CHUI-849)
|
||||
|
|
|
|||
|
|
@ -241,6 +241,8 @@ public:
|
|||
void setCallbackRegistrar(LLUICtrl::CommitCallbackRegistry::ScopedRegistrar* registrar) { mCallbackRegistrar = registrar; }
|
||||
void setEnableRegistrar(LLUICtrl::EnableCallbackRegistry::ScopedRegistrar* registrar) { mEnableRegistrar = registrar; }
|
||||
|
||||
void setForceArrange(bool force) { mForceArrange = force; }
|
||||
|
||||
LLPanel* getParentPanel() { return mParentPanel.get(); }
|
||||
// DEBUG only
|
||||
void dumpSelectionInformation();
|
||||
|
|
@ -337,6 +339,8 @@ protected:
|
|||
|
||||
LLUICtrl::CommitCallbackRegistry::ScopedRegistrar* mCallbackRegistrar;
|
||||
LLUICtrl::EnableCallbackRegistry::ScopedRegistrar* mEnableRegistrar;
|
||||
|
||||
bool mForceArrange;
|
||||
|
||||
public:
|
||||
static F32 sAutoOpenTime;
|
||||
|
|
|
|||
|
|
@ -2221,6 +2221,10 @@ void LLInventorySingleFolderPanel::updateSingleFolderRoot()
|
|||
}
|
||||
}
|
||||
|
||||
bool LLInventorySingleFolderPanel::hasVisibleItems()
|
||||
{
|
||||
return mFolderRoot.get()->hasVisibleChildren();
|
||||
}
|
||||
/************************************************************************/
|
||||
/* Asset Pre-Filtered Inventory Panel related class */
|
||||
/************************************************************************/
|
||||
|
|
|
|||
|
|
@ -405,6 +405,8 @@ public:
|
|||
bool isBackwardAvailable();
|
||||
bool isForwardAvailable();
|
||||
|
||||
bool hasVisibleItems();
|
||||
|
||||
void setNavBackwardList(std::list<LLUUID> backward_list) { mBackwardFolders = backward_list; }
|
||||
void setNavForwardList(std::list<LLUUID> forward_list) { mForwardFolders = forward_list; }
|
||||
std::list<LLUUID> getNavBackwardList() { return mBackwardFolders; }
|
||||
|
|
|
|||
|
|
@ -1480,6 +1480,11 @@ void LLPanelMainInventory::setActivePanel()
|
|||
|
||||
void LLPanelMainInventory::toggleViewMode()
|
||||
{
|
||||
if(mSingleFolderMode && isCombinationViewMode())
|
||||
{
|
||||
mCombinationInventoryPanel->getRootFolder()->setForceArrange(false);
|
||||
}
|
||||
|
||||
mSingleFolderMode = !mSingleFolderMode;
|
||||
|
||||
getChild<LLPanel>("default_inventory_panel")->setVisible(!mSingleFolderMode);
|
||||
|
|
@ -2193,11 +2198,17 @@ void LLPanelMainInventory::updateCombinationVisibility()
|
|||
if(mSingleFolderMode && isCombinationViewMode())
|
||||
{
|
||||
bool is_gallery_empty = !mCombinationGalleryPanel->hasVisibleItems();
|
||||
bool show_inv_pane = mCombinationInventoryPanel->hasVisibleItems() || is_gallery_empty;
|
||||
getChild<LLLayoutPanel>("comb_gallery_layout")->setVisible(!is_gallery_empty);
|
||||
getChild<LLLayoutPanel>("comb_inventory_layout")->setVisible(show_inv_pane);
|
||||
mCombinationInventoryPanel->getRootFolder()->setForceArrange(!show_inv_pane);
|
||||
|
||||
if(is_gallery_empty)
|
||||
{
|
||||
mCombinationGalleryPanel->handleModifiedFilter();
|
||||
}
|
||||
|
||||
getActivePanel()->getRootFolder();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -2253,6 +2264,7 @@ void LLPanelMainInventory::setViewMode(EViewModeType mode)
|
|||
case MODE_COMBINATION:
|
||||
forward_history = mCombinationInventoryPanel->getNavForwardList();
|
||||
backward_history = mCombinationInventoryPanel->getNavBackwardList();
|
||||
mCombinationInventoryPanel->getRootFolder()->setForceArrange(false);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -357,7 +357,7 @@
|
|||
bevel_style="in"
|
||||
user_resize="true"
|
||||
auto_resize="true"
|
||||
height="186"
|
||||
height="246"
|
||||
width="312"
|
||||
min_width="150"
|
||||
name="comb_gallery_layout">
|
||||
|
|
@ -366,7 +366,7 @@
|
|||
filename="panel_inventory_gallery.xml"
|
||||
left="0"
|
||||
top_pad="0"
|
||||
height="186"
|
||||
height="246"
|
||||
width="312"
|
||||
name="comb_gallery_view_inv"
|
||||
background_visible="true"
|
||||
|
|
@ -379,7 +379,7 @@
|
|||
bevel_style="in"
|
||||
user_resize="true"
|
||||
auto_resize="true"
|
||||
height="186"
|
||||
height="126"
|
||||
width="312"
|
||||
name="comb_inventory_layout">
|
||||
<single_folder_inventory_panel
|
||||
|
|
@ -387,7 +387,7 @@
|
|||
follows="all"
|
||||
left="0"
|
||||
top="1"
|
||||
height="181"
|
||||
height="126"
|
||||
width="312"
|
||||
layout="topleft"
|
||||
show_item_link_overlays="true"
|
||||
|
|
|
|||
Loading…
Reference in New Issue