SL-15312 Fixed group names not having padding
Plus some focus and interactibility fixesmaster
parent
0c6afa58de
commit
111d1d7c94
|
|
@ -35,6 +35,7 @@
|
|||
#include "llui.h"
|
||||
#include "lluictrlfactory.h"
|
||||
#include "lluiimage.h"
|
||||
#include "llwindow.h"
|
||||
|
||||
static LLDefaultChildRegistry::Register<LLIconCtrl> r("icon");
|
||||
|
||||
|
|
@ -42,6 +43,7 @@ LLIconCtrl::Params::Params()
|
|||
: image("image_name"),
|
||||
color("color"),
|
||||
use_draw_context_alpha("use_draw_context_alpha", true),
|
||||
interactable("interactable", false),
|
||||
scale_image("scale_image"),
|
||||
min_width("min_width", 0),
|
||||
min_height("min_height", 0)
|
||||
|
|
@ -52,6 +54,7 @@ LLIconCtrl::LLIconCtrl(const LLIconCtrl::Params& p)
|
|||
mColor(p.color()),
|
||||
mImagep(p.image),
|
||||
mUseDrawContextAlpha(p.use_draw_context_alpha),
|
||||
mInteractable(p.interactable),
|
||||
mPriority(0),
|
||||
mMinWidth(p.min_width),
|
||||
mMinHeight(p.min_height),
|
||||
|
|
@ -81,6 +84,16 @@ void LLIconCtrl::draw()
|
|||
LLUICtrl::draw();
|
||||
}
|
||||
|
||||
BOOL LLIconCtrl::handleHover(S32 x, S32 y, MASK mask)
|
||||
{
|
||||
if (mInteractable && getEnabled())
|
||||
{
|
||||
getWindow()->setCursor(UI_CURSOR_HAND);
|
||||
return TRUE;
|
||||
}
|
||||
return LLUICtrl::handleHover(x, y, mask);
|
||||
}
|
||||
|
||||
// virtual
|
||||
// value might be a string or a UUID
|
||||
void LLIconCtrl::setValue(const LLSD& value)
|
||||
|
|
|
|||
|
|
@ -48,7 +48,8 @@ public:
|
|||
{
|
||||
Optional<LLUIImage*> image;
|
||||
Optional<LLUIColor> color;
|
||||
Optional<bool> use_draw_context_alpha;
|
||||
Optional<bool> use_draw_context_alpha,
|
||||
interactable;
|
||||
Optional<S32> min_width,
|
||||
min_height;
|
||||
Ignored scale_image;
|
||||
|
|
@ -67,6 +68,9 @@ public:
|
|||
// llview overrides
|
||||
virtual void draw();
|
||||
|
||||
// llview overrides
|
||||
virtual BOOL handleHover(S32 x, S32 y, MASK mask);
|
||||
|
||||
// lluictrl overrides
|
||||
virtual void setValue(const LLSD& value );
|
||||
|
||||
|
|
@ -88,6 +92,7 @@ protected:
|
|||
// If set to true (default), use the draw context transparency.
|
||||
// If false, will use transparency returned by getCurrentTransparency(). See STORM-698.
|
||||
bool mUseDrawContextAlpha;
|
||||
bool mInteractable;
|
||||
|
||||
private:
|
||||
LLUIColor mColor;
|
||||
|
|
|
|||
|
|
@ -38,10 +38,6 @@
|
|||
#include "llviewertexturelist.h"
|
||||
|
||||
|
||||
const S32 CLIENT_RECT_VPAD = 4;
|
||||
const F32 PREVIEW_TEXTURE_MAX_ASPECT = 20.f;
|
||||
const F32 PREVIEW_TEXTURE_MIN_ASPECT = 0.5f;
|
||||
|
||||
|
||||
LLFloaterProfileTexture::LLFloaterProfileTexture(LLView* owner)
|
||||
: LLFloater(LLSD())
|
||||
|
|
@ -67,9 +63,10 @@ LLFloaterProfileTexture::~LLFloaterProfileTexture()
|
|||
// virtual
|
||||
BOOL LLFloaterProfileTexture::postBuild()
|
||||
{
|
||||
pProfileIcon = getChild<LLIconCtrl>("profile_pic");
|
||||
mProfileIcon = getChild<LLIconCtrl>("profile_pic");
|
||||
|
||||
getChild<LLButton>("close_btn")->setCommitCallback([this](LLUICtrl*, void*) { closeFloater(); }, nullptr);
|
||||
mCloseButton = getChild<LLButton>("close_btn");
|
||||
mCloseButton->setCommitCallback([this](LLUICtrl*, void*) { closeFloater(); }, nullptr);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -114,7 +111,7 @@ void LLFloaterProfileTexture::updateDimensions()
|
|||
mUpdateDimensions = FALSE;
|
||||
|
||||
LLRect old_floater_rect = getRect();
|
||||
LLRect old_image_rect = pProfileIcon->getRect();
|
||||
LLRect old_image_rect = mProfileIcon->getRect();
|
||||
S32 width = old_floater_rect.getWidth() - old_image_rect.getWidth() + mLastWidth;
|
||||
S32 height = old_floater_rect.getHeight() - old_image_rect.getHeight() + mLastHeight;
|
||||
|
||||
|
|
@ -135,9 +132,14 @@ void LLFloaterProfileTexture::draw()
|
|||
LLFloater::draw();
|
||||
}
|
||||
|
||||
void LLFloaterProfileTexture::onOpen(const LLSD& key)
|
||||
{
|
||||
mCloseButton->setFocus(true);
|
||||
}
|
||||
|
||||
void LLFloaterProfileTexture::resetAsset()
|
||||
{
|
||||
pProfileIcon->setValue("Generic_Person_Large");
|
||||
mProfileIcon->setValue("Generic_Person_Large");
|
||||
mImageID = LLUUID::null;
|
||||
if (mImage.notNull())
|
||||
{
|
||||
|
|
@ -160,7 +162,7 @@ void LLFloaterProfileTexture::loadAsset(const LLUUID &image_id)
|
|||
return;
|
||||
}
|
||||
|
||||
pProfileIcon->setValue(image_id);
|
||||
mProfileIcon->setValue(image_id);
|
||||
mImageID = image_id;
|
||||
mImage = LLViewerTextureManager::getFetchedTexture(mImageID, FTT_DEFAULT, MIPMAP_TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE);
|
||||
mImageOldBoostLevel = mImage->getBoostLevel();
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
#include "llfloater.h"
|
||||
#include "llviewertexture.h"
|
||||
|
||||
class LLButton;
|
||||
class LLImageRaw;
|
||||
class LLIconCtrl;
|
||||
|
||||
|
|
@ -39,7 +40,8 @@ public:
|
|||
LLFloaterProfileTexture(LLView* owner);
|
||||
~LLFloaterProfileTexture();
|
||||
|
||||
virtual void draw();
|
||||
void draw() override;
|
||||
void onOpen(const LLSD& key) override;
|
||||
|
||||
void resetAsset();
|
||||
void loadAsset(const LLUUID &image_id);
|
||||
|
|
@ -54,12 +56,12 @@ public:
|
|||
BOOL final,
|
||||
void* userdata);
|
||||
|
||||
virtual void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE);
|
||||
void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE) override;
|
||||
protected:
|
||||
/* virtual */ BOOL postBuild();
|
||||
BOOL postBuild() override;
|
||||
|
||||
private:
|
||||
void updateDimensions();
|
||||
void updateDimensions();
|
||||
|
||||
LLUUID mImageID;
|
||||
LLPointer<LLViewerFetchedTexture> mImage;
|
||||
|
|
@ -71,7 +73,8 @@ private:
|
|||
BOOL mUpdateDimensions;
|
||||
|
||||
LLHandle<LLView> mOwnerHandle;
|
||||
LLIconCtrl* pProfileIcon;
|
||||
LLIconCtrl* mProfileIcon;
|
||||
LLButton* mCloseButton;
|
||||
|
||||
LLLoadedCallbackEntry::source_callback_list_t mCallbackTextureList;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -45,7 +45,6 @@
|
|||
#include "llvoiceclient.h"
|
||||
|
||||
static LLDefaultChildRegistry::Register<LLGroupList> r("group_list");
|
||||
S32 LLGroupListItem::sIconWidth = 0;
|
||||
|
||||
class LLGroupComparator : public LLFlatListView::ItemComparator
|
||||
{
|
||||
|
|
@ -305,7 +304,10 @@ void LLGroupList::addNewItem(const LLUUID& id, const std::string& name, const LL
|
|||
item->getChildView("info_btn")->setVisible( false);
|
||||
item->getChildView("profile_btn")->setVisible( false);
|
||||
item->setGroupIconVisible(mShowIcons);
|
||||
item->setVisibleInProfile(visible_in_profile);
|
||||
if (!mShowIcons)
|
||||
{
|
||||
item->setVisibleInProfile(visible_in_profile);
|
||||
}
|
||||
addItem(item, id, pos);
|
||||
|
||||
// setCommentVisible(false);
|
||||
|
|
@ -414,13 +416,6 @@ mForAgent(for_agent)
|
|||
{
|
||||
buildFromFile( "panel_group_list_item_short.xml");
|
||||
}
|
||||
|
||||
// Remember group icon width including its padding from the name text box,
|
||||
// so that we can hide and show the icon again later.
|
||||
if (!sIconWidth && mGroupNameBox)
|
||||
{
|
||||
sIconWidth = mGroupNameBox->getRect().mLeft - mGroupIcon->getRect().mLeft;
|
||||
}
|
||||
}
|
||||
|
||||
LLGroupListItem::~LLGroupListItem()
|
||||
|
|
@ -451,6 +446,12 @@ BOOL LLGroupListItem::postBuild()
|
|||
mVisibilityShowBtn->setClickedCallback([this](LLUICtrl *, const LLSD &) { onVisibilityBtnClick(true); });
|
||||
}
|
||||
|
||||
// Remember group icon width including its padding from the name text box,
|
||||
// so that we can hide and show the icon again later.
|
||||
// Also note that panel_group_list_item and panel_group_list_item_short
|
||||
// have icons of different sizes so we need to figure it per file.
|
||||
mIconWidth = mGroupNameBox->getRect().mLeft - mGroupIcon->getRect().mLeft;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
@ -541,7 +542,7 @@ void LLGroupListItem::setGroupIconVisible(bool visible)
|
|||
|
||||
// Move the group name horizontally by icon size + its distance from the group name.
|
||||
LLRect name_rect = mGroupNameBox->getRect();
|
||||
name_rect.mLeft += visible ? sIconWidth : -sIconWidth;
|
||||
name_rect.mLeft += visible ? mIconWidth : -mIconWidth;
|
||||
mGroupNameBox->setRect(name_rect);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -137,6 +137,6 @@ private:
|
|||
bool mForAgent;
|
||||
LLStyle::Params mGroupNameStyle;
|
||||
|
||||
static S32 sIconWidth; // icon width + padding
|
||||
S32 mIconWidth;
|
||||
};
|
||||
#endif // LL_LLGROUPLIST_H
|
||||
|
|
|
|||
|
|
@ -669,6 +669,8 @@ void LLFloaterProfilePermissions::onOpen(const LLSD& key)
|
|||
fillRightsData();
|
||||
}
|
||||
|
||||
mCancelBtn->setFocus(true);
|
||||
|
||||
mAvatarNameCacheConnection = LLAvatarNameCache::get(mAvatarID, boost::bind(&LLFloaterProfilePermissions::onAvatarNameCache, this, _1, _2));
|
||||
}
|
||||
|
||||
|
|
@ -986,6 +988,13 @@ void LLPanelProfileSecondLife::resetData()
|
|||
mCanEditObjectsIcon->setVisible(false);
|
||||
mCantEditObjectsIcon->setVisible(!own_profile);
|
||||
|
||||
mCanSeeOnlineIcon->setEnabled(false);
|
||||
mCantSeeOnlineIcon->setEnabled(false);
|
||||
mCanSeeOnMapIcon->setEnabled(false);
|
||||
mCantSeeOnMapIcon->setEnabled(false);
|
||||
mCanEditObjectsIcon->setEnabled(false);
|
||||
mCantEditObjectsIcon->setEnabled(false);
|
||||
|
||||
childSetVisible("partner_layout", FALSE);
|
||||
childSetVisible("partner_spacer_layout", TRUE);
|
||||
}
|
||||
|
|
@ -1222,15 +1231,22 @@ void LLPanelProfileSecondLife::fillRightsData()
|
|||
mCantSeeOnMapIcon->setVisible(!can_see_on_map);
|
||||
mCanEditObjectsIcon->setVisible(can_edit_objects);
|
||||
mCantEditObjectsIcon->setVisible(!can_edit_objects);
|
||||
|
||||
mCanSeeOnlineIcon->setEnabled(true);
|
||||
mCantSeeOnlineIcon->setEnabled(true);
|
||||
mCanSeeOnMapIcon->setEnabled(true);
|
||||
mCantSeeOnMapIcon->setEnabled(true);
|
||||
mCanEditObjectsIcon->setEnabled(true);
|
||||
mCantEditObjectsIcon->setEnabled(true);
|
||||
}
|
||||
else
|
||||
{
|
||||
mCanSeeOnlineIcon->setVisible(false);
|
||||
mCantSeeOnlineIcon->setVisible(true);
|
||||
mCantSeeOnlineIcon->setVisible(false);
|
||||
mCanSeeOnMapIcon->setVisible(false);
|
||||
mCantSeeOnMapIcon->setVisible(true);
|
||||
mCantSeeOnMapIcon->setVisible(false);
|
||||
mCanEditObjectsIcon->setVisible(false);
|
||||
mCantEditObjectsIcon->setVisible(true);
|
||||
mCantEditObjectsIcon->setVisible(false);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@ public:
|
|||
|
||||
BOOL postBuild() override;
|
||||
|
||||
void resetData();
|
||||
void resetData() override;
|
||||
|
||||
/**
|
||||
* Sends update data request to server.
|
||||
|
|
@ -228,18 +228,18 @@ public:
|
|||
LLPanelProfileWeb();
|
||||
/*virtual*/ ~LLPanelProfileWeb();
|
||||
|
||||
/*virtual*/ void onOpen(const LLSD& key);
|
||||
void onOpen(const LLSD& key) override;
|
||||
|
||||
/*virtual*/ BOOL postBuild();
|
||||
BOOL postBuild() override;
|
||||
|
||||
void resetData();
|
||||
void resetData() override;
|
||||
|
||||
/**
|
||||
* Loads web profile.
|
||||
*/
|
||||
/*virtual*/ void updateData();
|
||||
void updateData() override;
|
||||
|
||||
/*virtual*/ void handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event);
|
||||
void handleMediaEvent(LLPluginClassMedia* self, EMediaEvent event) override;
|
||||
|
||||
void onAvatarNameCache(const LLUUID& agent_id, const LLAvatarName& av_name);
|
||||
|
||||
|
|
@ -275,7 +275,7 @@ public:
|
|||
|
||||
void processProperties(const LLAvatarData* avatar_data);
|
||||
|
||||
void resetData();
|
||||
void resetData() override;
|
||||
|
||||
void setProfileImageUploading(bool loading);
|
||||
void setProfileImageUploaded(const LLUUID &image_asset_id);
|
||||
|
|
@ -324,7 +324,7 @@ public:
|
|||
|
||||
void processProperties(LLAvatarNotes* avatar_notes);
|
||||
|
||||
void resetData();
|
||||
void resetData() override;
|
||||
|
||||
void updateData() override;
|
||||
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ Account: [ACCTTYPE]
|
|||
image_name="Generic_Person_Large"
|
||||
layout="topleft"
|
||||
follows="all"
|
||||
interactable="true"
|
||||
top="0"
|
||||
left="2"
|
||||
bottom="-1"
|
||||
|
|
@ -350,6 +351,7 @@ Account: [ACCTTYPE]
|
|||
image_name="Profile_Perm_Online_Enabled"
|
||||
layout="topleft"
|
||||
follows="right|top"
|
||||
interactable="true"
|
||||
top="0"
|
||||
right="-61"
|
||||
height="24"
|
||||
|
|
@ -363,6 +365,7 @@ Account: [ACCTTYPE]
|
|||
image_name="Profile_Perm_Online_Disabled"
|
||||
layout="topleft"
|
||||
follows="right|top"
|
||||
interactable="true"
|
||||
top="0"
|
||||
right="-61"
|
||||
height="24"
|
||||
|
|
@ -376,6 +379,7 @@ Account: [ACCTTYPE]
|
|||
image_name="Profile_Perm_Find_Enabled"
|
||||
layout="topleft"
|
||||
follows="right|top"
|
||||
interactable="true"
|
||||
top="0"
|
||||
right="-30"
|
||||
height="24"
|
||||
|
|
@ -389,6 +393,7 @@ Account: [ACCTTYPE]
|
|||
image_name="Profile_Perm_Find_Disabled"
|
||||
layout="topleft"
|
||||
follows="right|top"
|
||||
interactable="true"
|
||||
top="0"
|
||||
right="-30"
|
||||
height="24"
|
||||
|
|
@ -402,6 +407,7 @@ Account: [ACCTTYPE]
|
|||
image_name="Profile_Perm_Objects_Enabled"
|
||||
layout="topleft"
|
||||
follows="right|top"
|
||||
interactable="true"
|
||||
top="0"
|
||||
right="-1"
|
||||
height="24"
|
||||
|
|
@ -415,6 +421,7 @@ Account: [ACCTTYPE]
|
|||
image_name="Profile_Perm_Objects_Disabled"
|
||||
layout="topleft"
|
||||
follows="right|top"
|
||||
interactable="true"
|
||||
top="0"
|
||||
right="-1"
|
||||
height="24"
|
||||
|
|
|
|||
Loading…
Reference in New Issue