Merge remote-tracking branch 'Lirusaito/master'
This commit is contained in:
@@ -780,7 +780,7 @@ Found in Advanced->Rendering->Info Displays</string>
|
||||
<key>Type</key>
|
||||
<string>Boolean</string>
|
||||
<key>Value</key>
|
||||
<integer>0</integer>
|
||||
<integer>1</integer>
|
||||
</map>
|
||||
<key>MarketImporterUpdateFreq</key>
|
||||
<map>
|
||||
|
||||
@@ -385,7 +385,7 @@ void LLPanelAvatarFirstLife::onClickImage(void* data)
|
||||
S32 left, top;
|
||||
gFloaterView->getNewFloaterPosition(&left, &top);
|
||||
LLRect rect = gSavedSettings.getRect("PreviewTextureRect");
|
||||
rect.translate( left - rect.mLeft, top - rect.mTop );
|
||||
rect.translate( left - rect.mLeft, rect.mTop - top ); // Changed to avoid textures being sunken below the window border.
|
||||
LLPreviewTexture* preview = new LLPreviewTexture("preview task texture",
|
||||
rect,
|
||||
std::string("Profile First Life Picture"),
|
||||
@@ -433,7 +433,7 @@ void LLPanelAvatarSecondLife::onClickImage(void* data)
|
||||
S32 left, top;
|
||||
gFloaterView->getNewFloaterPosition(&left, &top);
|
||||
LLRect rect = gSavedSettings.getRect("PreviewTextureRect");
|
||||
rect.translate( left - rect.mLeft, top - rect.mTop );
|
||||
rect.translate( left - rect.mLeft, rect.mTop - top ); // Changed to avoid textures being sunken below the window border.
|
||||
LLPreviewTexture* preview = new LLPreviewTexture("preview task texture",
|
||||
rect,
|
||||
std::string("Profile Picture: ") + name_text,
|
||||
|
||||
@@ -217,6 +217,7 @@ protected:
|
||||
BOOL mNoCopyTextureSelected;
|
||||
F32 mContextConeOpacity;
|
||||
LLSaveFolderState mSavedFolderState;
|
||||
BOOL mSelectedItemPinned;
|
||||
LLScrollListCtrl* mLocalScrollCtrl; // tag: vaa emerald local_asset_browser
|
||||
};
|
||||
|
||||
@@ -249,7 +250,8 @@ LLFloaterTexturePicker::LLFloaterTexturePicker(
|
||||
mSearchEdit(NULL),
|
||||
mImmediateFilterPermMask(immediate_filter_perm_mask),
|
||||
mNonImmediateFilterPermMask(non_immediate_filter_perm_mask),
|
||||
mContextConeOpacity(0.f)
|
||||
mContextConeOpacity(0.f),
|
||||
mSelectedItemPinned(FALSE)
|
||||
{
|
||||
mCanApplyImmediately = can_apply_immediately;
|
||||
LLUICtrlFactory::getInstance()->buildFloater(this,"floater_texture_ctrl.xml");
|
||||
@@ -506,8 +508,13 @@ BOOL LLFloaterTexturePicker::postBuild()
|
||||
mInventoryPanel->setShowFolderState(LLInventoryFilter::SHOW_NON_EMPTY_FOLDERS);
|
||||
mInventoryPanel->setAllowMultiSelect(FALSE);
|
||||
|
||||
// store this filter as the default one
|
||||
mInventoryPanel->getRootFolder()->getFilter()->markDefault();
|
||||
// Disable auto selecting first filtered item because it takes away
|
||||
// selection from the item set by LLTextureCtrl owning this floater.
|
||||
mInventoryPanel->getRootFolder()->setAutoSelectOverride(TRUE);
|
||||
|
||||
// Commented out to scroll to currently selected texture. See EXT-5403.
|
||||
// // store this filter as the default one
|
||||
// mInventoryPanel->getRootFolder()->getFilter()->markDefault();
|
||||
|
||||
// Commented out to stop opening all folders with textures
|
||||
// mInventoryPanel->openDefaultFolderForType(LLAssetType::AT_TEXTURE);
|
||||
@@ -675,6 +682,31 @@ void LLFloaterTexturePicker::draw()
|
||||
// Draw X
|
||||
gl_draw_x(interior, LLColor4::black );
|
||||
}
|
||||
|
||||
if (mSelectedItemPinned) return;
|
||||
|
||||
LLFolderView* folder_view = mInventoryPanel->getRootFolder();
|
||||
if (!folder_view) return;
|
||||
|
||||
LLInventoryFilter* filter = folder_view->getFilter();
|
||||
if (!filter) return;
|
||||
|
||||
bool is_filter_active = folder_view->getCompletedFilterGeneration() < filter->getCurrentGeneration() &&
|
||||
filter->isNotDefault();
|
||||
|
||||
// After inventory panel filter is applied we have to update
|
||||
// constraint rect for the selected item because of folder view
|
||||
// AutoSelectOverride set to TRUE. We force PinningSelectedItem
|
||||
// flag to FALSE state and setting filter "dirty" to update
|
||||
// scroll container to show selected item (see LLFolderView::doIdle()).
|
||||
if (!is_filter_active && !mSelectedItemPinned)
|
||||
{
|
||||
folder_view->setPinningSelectedItem(mSelectedItemPinned);
|
||||
folder_view->dirtyFilter();
|
||||
folder_view->arrangeFromRoot();
|
||||
|
||||
mSelectedItemPinned = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user