Allow clicking on pictures in profiles and picks to open them

Only works if it's not gonna spawn a texture picture, of course.
This commit is contained in:
Lirusaito
2019-02-01 11:54:55 -05:00
parent 1ec0eed867
commit b47ff37612
3 changed files with 23 additions and 6 deletions

View File

@@ -380,21 +380,32 @@ BOOL LLPanelAvatarSecondLife::postBuild()
LLTextureCtrl* ctrl = getChild<LLTextureCtrl>("img");
ctrl->setFallbackImageName("default_profile_picture.j2c");
auto show_pic = [&]
{
show_picture(getChild<LLTextureCtrl>("img")->getImageAssetID(), profile_picture_title(getChildView("dnname")->getValue()));
};
auto show_pic_if_not_self = [=] { if (!ctrl->canChange()) show_pic(); };
getChild<LLUICtrl>("bigimg")->setCommitCallback(boost::bind(boost::bind(show_picture, boost::bind(&LLTextureCtrl::getImageAssetID, ctrl), boost::bind(profile_picture_title, boost::bind(&LLView::getValue, getChild<LLNameEditor>("dnname"))))));
ctrl->setMouseUpCallback(std::bind(show_pic_if_not_self));
getChild<LLUICtrl>("bigimg")->setCommitCallback(std::bind(show_pic));
return TRUE;
}
BOOL LLPanelAvatarFirstLife::postBuild()
{
BOOL own_avatar = (getPanelAvatar()->getAvatarID() == gAgent.getID() );
enableControls(own_avatar);
enableControls(getPanelAvatar()->getAvatarID() == gAgentID);
LLTextureCtrl* ctrl = getChild<LLTextureCtrl>("img");
ctrl->setFallbackImageName("default_profile_picture.j2c");
auto show_pic = [&]
{
show_picture(getChild<LLTextureCtrl>("img")->getImageAssetID(), "First Life Picture");
};
auto show_pic_if_not_self = [=] { if (!ctrl->canChange()) show_pic(); };
getChild<LLUICtrl>("flbigimg")->setCommitCallback(boost::bind(boost::bind(boost::bind(show_picture, boost::bind(&LLTextureCtrl::getImageAssetID, ctrl), "First Life Picture"))));
ctrl->setMouseUpCallback(std::bind(show_pic_if_not_self));
getChild<LLUICtrl>("flbigimg")->setCommitCallback(std::bind(show_pic));
return TRUE;
}

View File

@@ -130,7 +130,10 @@ BOOL LLPanelGroupGeneral::postBuild()
mInsignia->setCommitCallback(boost::bind(&LLPanelGroupGeneral::onCommitAny,this));
mDefaultIconID = mInsignia->getImageAssetID();
void show_picture(const LLUUID& id, const std::string& name);
getChild<LLUICtrl>("bigimg")->setCommitCallback(boost::bind(boost::bind(show_picture, boost::bind(&LLTextureCtrl::getImageAssetID, mInsignia), "Group Insignia")));
auto show_pic = [this] { show_picture(mInsignia->getImageAssetID(), "Group Insignia"); };
auto show_pic_if_not_self = [=] { if (!mInsignia->canChange()) show_pic(); };
mInsignia->setMouseUpCallback(std::bind(show_pic_if_not_self));
getChild<LLUICtrl>("bigimg")->setCommitCallback(std::bind(show_pic));
}
mEditCharter = getChild<LLTextEditor>("charter", recurse);

View File

@@ -126,8 +126,11 @@ void LLPanelPick::reset()
BOOL LLPanelPick::postBuild()
{
auto show_pic = [this] { show_picture(mSnapshotCtrl->getImageAssetID(), mNameEditor->getText()); };
auto show_pic_if_not_self = [=] { if (!mSnapshotCtrl->canChange()) show_pic(); };
mSnapshotCtrl = getChild<LLTextureCtrl>("snapshot_ctrl");
mSnapshotCtrl->setCommitCallback(boost::bind(&LLPanelPick::onCommitAny, this));
mSnapshotCtrl->setMouseUpCallback(std::bind(show_pic_if_not_self));
mNameEditor = getChild<LLLineEditor>("given_name_editor");
mNameEditor->setCommitOnFocusLost(true);
@@ -144,7 +147,7 @@ BOOL LLPanelPick::postBuild()
mSetBtn->setCommitCallback(boost::bind(&LLPanelPick::onClickSet,this));
mOpenBtn = getChild<LLUICtrl>("open_picture_btn");
mOpenBtn->setCommitCallback(boost::bind(show_picture, boost::bind(&LLTextureCtrl::getImageAssetID, mSnapshotCtrl), boost::bind(&LLLineEditor::getText, mNameEditor)));
mOpenBtn->setCommitCallback(std::bind(show_pic));
getChild<LLUICtrl>("pick_teleport_btn")->setCommitCallback(boost::bind(&LLPanelPick::onClickTeleport,this));
getChild<LLUICtrl>("pick_map_btn")->setCommitCallback(boost::bind(&LLPanelPick::onClickMap,this));