SL-19823 Edit not always active #5
parent
5c6a2779c4
commit
417dbeb68e
|
|
@ -695,19 +695,14 @@ void LLFolderView::draw()
|
|||
}
|
||||
}
|
||||
|
||||
if (mRenameItem
|
||||
if (mRenameItem
|
||||
&& mRenamer
|
||||
&& mRenamer->getVisible()
|
||||
)
|
||||
{
|
||||
LLRect renamer_rect;
|
||||
localRectToOtherView(mRenamer->getRect(), &renamer_rect, mScrollContainer);
|
||||
if (!mScrollContainer->getRect().overlaps(renamer_rect))
|
||||
{
|
||||
// renamer is not connected to the item we are renaming in any form so manage it manually
|
||||
// TODO: consider stopping on any scroll action instead of when out of visible area
|
||||
finishRenamingItem();
|
||||
}
|
||||
&& !getVisibleRect().overlaps(mRenamer->getRect()))
|
||||
{
|
||||
// renamer is not connected to the item we are renaming in any form so manage it manually
|
||||
// TODO: consider stopping on any scroll action instead of when out of visible area
|
||||
finishRenamingItem();
|
||||
}
|
||||
|
||||
// skip over LLFolderViewFolder::draw since we don't want the folder icon, label,
|
||||
|
|
@ -1851,13 +1846,28 @@ void LLFolderView::update()
|
|||
}
|
||||
}
|
||||
|
||||
if (mSignalSelectCallback)
|
||||
{
|
||||
//RN: we use keyboard focus as a proxy for user-explicit actions
|
||||
BOOL take_keyboard_focus = (mSignalSelectCallback == SIGNAL_KEYBOARD_FOCUS);
|
||||
mSelectSignal(mSelectedItems, take_keyboard_focus);
|
||||
}
|
||||
mSignalSelectCallback = FALSE;
|
||||
if (mSelectedItems.size())
|
||||
{
|
||||
LLFolderViewItem* item = mSelectedItems.back();
|
||||
// If the goal is to show renamer, don't callback untill
|
||||
// item is visible or is no longer being scrolled to.
|
||||
// Otherwise renamer will be instantly closed
|
||||
// Todo: consider moving renamer out of selection callback
|
||||
if (!mNeedsAutoRename || !mNeedsScroll || item->getVisible())
|
||||
{
|
||||
if (mSignalSelectCallback)
|
||||
{
|
||||
//RN: we use keyboard focus as a proxy for user-explicit actions
|
||||
BOOL take_keyboard_focus = (mSignalSelectCallback == SIGNAL_KEYBOARD_FOCUS);
|
||||
mSelectSignal(mSelectedItems, take_keyboard_focus);
|
||||
}
|
||||
mSignalSelectCallback = FALSE;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
mSignalSelectCallback = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
void LLFolderView::dumpSelectionInformation()
|
||||
|
|
|
|||
|
|
@ -1133,7 +1133,7 @@ void LLInventoryGallery::changeItemSelection(const LLUUID& item_id, bool scroll_
|
|||
{
|
||||
return;
|
||||
}
|
||||
if (mNeedsArrange && item_id.notNull() && scroll_to_selection)
|
||||
if (mNeedsArrange && item_id.notNull())
|
||||
{
|
||||
mItemToSelect = item_id;
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -2425,7 +2425,7 @@ void LLPanelMainInventory::updateCombinationVisibility()
|
|||
}
|
||||
}
|
||||
|
||||
if (mCombInvUUIDNeedsRename.notNull())
|
||||
if (mCombInvUUIDNeedsRename.notNull() && mCombinationInventoryPanel->areViewsInitialized())
|
||||
{
|
||||
mCombinationInventoryPanel->setSelectionByID(mCombInvUUIDNeedsRename, TRUE);
|
||||
mCombinationInventoryPanel->getRootFolder()->scrollToShowSelection();
|
||||
|
|
|
|||
Loading…
Reference in New Issue