SL-11431 [Legacy Profiles] Clicking someone else's profile picture should open image modal.
parent
69a85e3ed0
commit
dbe5eb8a1d
|
|
@ -324,6 +324,8 @@ void LLPanelProfileSecondLife::onOpen(const LLSD& key)
|
|||
mGroupList->setShowNone(!own_profile);
|
||||
mGiveInvPanel->setVisible(!own_profile);
|
||||
|
||||
mSecondLifePic->setOpenTexPreview(!own_profile);
|
||||
|
||||
if (own_profile && !getEmbedded())
|
||||
{
|
||||
// Group list control cannot toggle ForAgent loading
|
||||
|
|
@ -716,7 +718,6 @@ void LLPanelProfileSecondLife::updateButtons()
|
|||
mShowInSearchCheckbox->setVisible(TRUE);
|
||||
mShowInSearchCheckbox->setEnabled(TRUE);
|
||||
mDescriptionEdit->setEnabled(TRUE);
|
||||
mSecondLifePic->setEnabled(TRUE);
|
||||
}
|
||||
|
||||
if (!getSelfProfile())
|
||||
|
|
|
|||
|
|
@ -328,7 +328,10 @@ void LLPreviewTexture::reshape(S32 width, S32 height, BOOL called_from_parent)
|
|||
|
||||
// add space for dimensions and aspect ratio
|
||||
S32 info_height = dim_rect.mTop + CLIENT_RECT_VPAD;
|
||||
|
||||
if (getChild<LLLayoutPanel>("buttons_panel")->getVisible())
|
||||
{
|
||||
info_height += getChild<LLLayoutPanel>("buttons_panel")->getRect().getHeight();
|
||||
}
|
||||
LLRect client_rect(horiz_pad, getRect().getHeight(), getRect().getWidth() - horiz_pad, 0);
|
||||
client_rect.mTop -= (PREVIEW_HEADER_SIZE + CLIENT_RECT_VPAD);
|
||||
client_rect.mBottom += PREVIEW_BORDER + CLIENT_RECT_VPAD + info_height ;
|
||||
|
|
@ -373,6 +376,16 @@ void LLPreviewTexture::openToSave()
|
|||
mPreviewToSave = TRUE;
|
||||
}
|
||||
|
||||
void LLPreviewTexture::hideCtrlButtons()
|
||||
{
|
||||
getChildView("desc txt")->setVisible(false);
|
||||
getChildView("desc")->setVisible(false);
|
||||
getChild<LLLayoutStack>("preview_stack")->collapsePanel(getChild<LLLayoutPanel>("buttons_panel"), true);
|
||||
getChild<LLLayoutPanel>("buttons_panel")->setVisible(false);
|
||||
getChild<LLComboBox>("combo_aspect_ratio")->setCurrentByIndex(0); //unconstrained
|
||||
reshape(getRect().getWidth(), getRect().getHeight());
|
||||
}
|
||||
|
||||
// static
|
||||
void LLPreviewTexture::onFileLoadedForSave(BOOL success,
|
||||
LLViewerFetchedTexture *src_vi,
|
||||
|
|
|
|||
|
|
@ -66,6 +66,8 @@ public:
|
|||
|
||||
static void onSaveAsBtn(void* data);
|
||||
|
||||
void hideCtrlButtons();
|
||||
|
||||
/*virtual*/ void setObjectID(const LLUUID& object_id);
|
||||
protected:
|
||||
void init();
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@
|
|||
#include "llui.h"
|
||||
#include "llviewerinventory.h"
|
||||
#include "llpermissions.h"
|
||||
#include "llpreviewtexture.h"
|
||||
#include "llsaleinfo.h"
|
||||
#include "llassetstorage.h"
|
||||
#include "lltextbox.h"
|
||||
|
|
@ -997,6 +998,7 @@ LLTextureCtrl::LLTextureCtrl(const LLTextureCtrl::Params& p)
|
|||
mNeedsRawImageData( FALSE ),
|
||||
mValid( TRUE ),
|
||||
mShowLoadingPlaceholder( TRUE ),
|
||||
mOpenTexPreview(false),
|
||||
mImageAssetID(p.image_id),
|
||||
mDefaultImageAssetID(p.default_image_id),
|
||||
mDefaultImageName(p.default_image_name),
|
||||
|
|
@ -1249,12 +1251,31 @@ BOOL LLTextureCtrl::handleMouseDown(S32 x, S32 y, MASK mask)
|
|||
|
||||
if (!handled && mBorder->parentPointInView(x, y))
|
||||
{
|
||||
showPicker(FALSE);
|
||||
//grab textures first...
|
||||
LLInventoryModelBackgroundFetch::instance().start(gInventory.findCategoryUUIDForType(LLFolderType::FT_TEXTURE));
|
||||
//...then start full inventory fetch.
|
||||
LLInventoryModelBackgroundFetch::instance().start();
|
||||
handled = TRUE;
|
||||
if (!mOpenTexPreview)
|
||||
{
|
||||
showPicker(FALSE);
|
||||
//grab textures first...
|
||||
LLInventoryModelBackgroundFetch::instance().start(gInventory.findCategoryUUIDForType(LLFolderType::FT_TEXTURE));
|
||||
//...then start full inventory fetch.
|
||||
LLInventoryModelBackgroundFetch::instance().start();
|
||||
handled = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (getImageAssetID().notNull())
|
||||
{
|
||||
LLPreviewTexture* preview_texture = LLFloaterReg::showTypedInstance<LLPreviewTexture>("preview_texture", getValue());
|
||||
if (preview_texture && !preview_texture->isDependent())
|
||||
{
|
||||
LLFloater* root_floater = gFloaterView->getParentFloater(this);
|
||||
if (root_floater)
|
||||
{
|
||||
root_floater->addDependentFloater(preview_texture);
|
||||
preview_texture->hideCtrlButtons();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return handled;
|
||||
|
|
|
|||
|
|
@ -160,6 +160,8 @@ public:
|
|||
void setBlankImageAssetID( const LLUUID& id ) { mBlankImageAssetID = id; }
|
||||
const LLUUID& getBlankImageAssetID() const { return mBlankImageAssetID; }
|
||||
|
||||
void setOpenTexPreview(bool open_preview) { mOpenTexPreview = open_preview; }
|
||||
|
||||
void setCaption(const std::string& caption);
|
||||
void setCanApplyImmediately(BOOL b);
|
||||
|
||||
|
|
@ -237,6 +239,7 @@ private:
|
|||
BOOL mShowLoadingPlaceholder;
|
||||
std::string mLoadingPlaceholderString;
|
||||
S32 mLabelWidth;
|
||||
bool mOpenTexPreview;
|
||||
};
|
||||
|
||||
//////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
|||
|
|
@ -17,94 +17,122 @@
|
|||
name="Copy">
|
||||
Copy To Inventory
|
||||
</floater.string>
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
follows="left|top"
|
||||
font="SansSerif"
|
||||
height="19"
|
||||
layout="topleft"
|
||||
left="10"
|
||||
name="desc txt"
|
||||
top="21"
|
||||
width="90">
|
||||
Description:
|
||||
</text>
|
||||
<line_editor
|
||||
border_style="line"
|
||||
border_thickness="1"
|
||||
follows="left|top|right"
|
||||
font="SansSerif"
|
||||
height="19"
|
||||
layout="topleft"
|
||||
left_pad="0"
|
||||
max_length_bytes="127"
|
||||
name="desc"
|
||||
width="190" />
|
||||
<text
|
||||
type="string"
|
||||
halign="right"
|
||||
length="1"
|
||||
follows="right|bottom"
|
||||
height="16"
|
||||
layout="topleft"
|
||||
left="110"
|
||||
name="dimensions"
|
||||
top="255"
|
||||
width="200">
|
||||
[WIDTH]px x [HEIGHT]px
|
||||
</text>
|
||||
<text
|
||||
type="string"
|
||||
halign="right"
|
||||
length="1"
|
||||
follows="right|bottom"
|
||||
height="16"
|
||||
layout="topleft"
|
||||
left_delta="-110"
|
||||
name="aspect_ratio"
|
||||
top_pad="5"
|
||||
width="200">
|
||||
Preview aspect ratio
|
||||
</text>
|
||||
<combo_box
|
||||
allow_text_entry="true"
|
||||
top_delta="-3"
|
||||
follows="right|bottom"
|
||||
height="23"
|
||||
left_pad="10"
|
||||
max_chars="20"
|
||||
mouse_opaque="true"
|
||||
enabled="true"
|
||||
width="108"
|
||||
name="combo_aspect_ratio"
|
||||
tool_tip="Preview at a fixed aspect ratio">
|
||||
</combo_box>
|
||||
<button
|
||||
follows="right|bottom"
|
||||
height="22"
|
||||
label="OK"
|
||||
layout="topleft"
|
||||
left="6"
|
||||
name="Keep"
|
||||
top_pad="5"
|
||||
width="110" />
|
||||
<button
|
||||
follows="right|bottom"
|
||||
height="22"
|
||||
label="Discard"
|
||||
layout="topleft"
|
||||
left_pad="5"
|
||||
name="Discard"
|
||||
top_delta="0"
|
||||
width="110" />
|
||||
<button
|
||||
follows="right|bottom"
|
||||
height="22"
|
||||
label="Save As"
|
||||
layout="topleft"
|
||||
left_pad="5"
|
||||
name="save_tex_btn"
|
||||
top_delta="0"
|
||||
width="110" />
|
||||
<layout_stack
|
||||
animate="false"
|
||||
name="preview_stack"
|
||||
top_pad="15"
|
||||
left="0"
|
||||
follows="all"
|
||||
orientation="vertical"
|
||||
height="350"
|
||||
width="370"
|
||||
layout="topleft">
|
||||
<layout_panel
|
||||
name="texture_panel"
|
||||
height="305"
|
||||
top_pad="0"
|
||||
left="0"
|
||||
follows="left|top"
|
||||
layout="topleft">
|
||||
<text
|
||||
type="string"
|
||||
length="1"
|
||||
follows="left|top"
|
||||
font="SansSerif"
|
||||
height="19"
|
||||
layout="topleft"
|
||||
left="10"
|
||||
name="desc txt"
|
||||
top="6"
|
||||
width="90">
|
||||
Description:
|
||||
</text>
|
||||
<line_editor
|
||||
border_style="line"
|
||||
border_thickness="1"
|
||||
follows="left|top|right"
|
||||
font="SansSerif"
|
||||
height="19"
|
||||
layout="topleft"
|
||||
left_pad="0"
|
||||
max_length_bytes="127"
|
||||
name="desc"
|
||||
width="190" />
|
||||
<text
|
||||
type="string"
|
||||
halign="right"
|
||||
length="1"
|
||||
follows="right|bottom"
|
||||
height="16"
|
||||
layout="topleft"
|
||||
left="110"
|
||||
name="dimensions"
|
||||
bottom="-40"
|
||||
width="200">
|
||||
[WIDTH]px x [HEIGHT]px
|
||||
</text>
|
||||
<text
|
||||
type="string"
|
||||
halign="right"
|
||||
length="1"
|
||||
follows="right|bottom"
|
||||
height="16"
|
||||
layout="topleft"
|
||||
left_delta="-110"
|
||||
name="aspect_ratio"
|
||||
top_pad="5"
|
||||
width="200">
|
||||
Preview aspect ratio
|
||||
</text>
|
||||
<combo_box
|
||||
allow_text_entry="true"
|
||||
top_delta="-3"
|
||||
follows="right|bottom"
|
||||
height="23"
|
||||
left_pad="10"
|
||||
max_chars="20"
|
||||
mouse_opaque="true"
|
||||
enabled="true"
|
||||
width="108"
|
||||
name="combo_aspect_ratio"
|
||||
tool_tip="Preview at a fixed aspect ratio">
|
||||
</combo_box>
|
||||
</layout_panel>
|
||||
<layout_panel
|
||||
name="buttons_panel"
|
||||
height="45"
|
||||
bottom="-40"
|
||||
left="0"
|
||||
follows="right|bottom"
|
||||
auto_resize="false"
|
||||
layout="topleft">
|
||||
<button
|
||||
follows="right|bottom"
|
||||
height="22"
|
||||
label="OK"
|
||||
layout="topleft"
|
||||
left="6"
|
||||
name="Keep"
|
||||
top_pad="0"
|
||||
width="110" />
|
||||
<button
|
||||
follows="right|bottom"
|
||||
height="22"
|
||||
label="Discard"
|
||||
layout="topleft"
|
||||
left_pad="5"
|
||||
name="Discard"
|
||||
top_delta="0"
|
||||
width="110" />
|
||||
<button
|
||||
follows="right|bottom"
|
||||
height="22"
|
||||
label="Save As"
|
||||
layout="topleft"
|
||||
left_pad="5"
|
||||
name="save_tex_btn"
|
||||
top_delta="0"
|
||||
width="110" />
|
||||
</layout_panel>
|
||||
</layout_stack>
|
||||
</floater>
|
||||
|
|
|
|||
|
|
@ -179,7 +179,6 @@
|
|||
<!-- 23 pixels (BTN_HEIGHT_SMALL) are reserved by label field of texture and shouldn't be visible-->
|
||||
<texture_picker
|
||||
name="2nd_life_pic"
|
||||
enabled="false"
|
||||
top="0"
|
||||
left="0"
|
||||
right="-1"
|
||||
|
|
|
|||
Loading…
Reference in New Issue