summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--indra/newview/llagentpicksinfo.h4
-rw-r--r--indra/newview/llpanelavatar.cpp6
-rw-r--r--indra/newview/llpanelprofile.cpp54
-rw-r--r--indra/newview/llpanelprofile.h2
-rw-r--r--indra/newview/llpanelprofileclassifieds.cpp6
-rw-r--r--indra/newview/llpanelprofilepicks.cpp5
-rw-r--r--indra/newview/skins/default/xui/en/panel_profile_classifieds.xml182
-rw-r--r--indra/newview/skins/default/xui/en/panel_profile_picks.xml190
-rw-r--r--indra/newview/skins/default/xui/en/panel_profile_secondlife.xml79
-rw-r--r--indra/newview/skins/default/xui/en/strings.xml4
10 files changed, 356 insertions, 176 deletions
diff --git a/indra/newview/llagentpicksinfo.h b/indra/newview/llagentpicksinfo.h
index f981e08ff7..21df036cb7 100644
--- a/indra/newview/llagentpicksinfo.h
+++ b/indra/newview/llagentpicksinfo.h
@@ -74,10 +74,10 @@ public:
void decrementNumberOfPicks() { --mNumberOfPicks; }
-private:
-
void onServerRespond(LLAvatarPicks* picks);
+private:
+
/**
* Sets number of Picks.
*/
diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp
index 5d5d4b676c..9a030f1d7d 100644
--- a/indra/newview/llpanelavatar.cpp
+++ b/indra/newview/llpanelavatar.cpp
@@ -119,6 +119,12 @@ void LLPanelProfileTab::setApplyProgress(bool started)
indicator->stop();
}
}
+
+ LLPanel* panel = findChild<LLPanel>("indicator_stack");
+ if (panel)
+ {
+ panel->setVisible(started);
+ }
}
LLPanelProfilePropertiesProcessorTab::LLPanelProfilePropertiesProcessorTab()
diff --git a/indra/newview/llpanelprofile.cpp b/indra/newview/llpanelprofile.cpp
index 031c1db7e2..542ecf8b42 100644
--- a/indra/newview/llpanelprofile.cpp
+++ b/indra/newview/llpanelprofile.cpp
@@ -217,6 +217,8 @@ void request_avatar_properties_coro(std::string cap_url, LLUUID agent_id)
LLPanelProfilePicks *panel_picks = dynamic_cast<LLPanelProfilePicks*>(panel);
if (panel_picks)
{
+ // Refresh pick limit before processing
+ LLAgentPicksInfo::getInstance()->onServerRespond(&avatar_picks);
panel_picks->processProperties(&avatar_picks);
}
@@ -820,7 +822,7 @@ BOOL LLPanelProfileSecondLife::postBuild()
mGroupList = getChild<LLGroupList>("group_list");
mShowInSearchCombo = getChild<LLComboBox>("show_in_search");
mSecondLifePic = getChild<LLIconCtrl>("2nd_life_pic");
- mSecondLifePicLayout = getChild<LLPanel>("image_stack");
+ mSecondLifePicLayout = getChild<LLPanel>("image_panel");
mDescriptionEdit = getChild<LLTextEditor>("sl_description_edit");
mNotesSnippet = getChild<LLTextEditor>("notes_snippet");
mAgentActionMenuButton = getChild<LLMenuButton>("agent_actions_menu");
@@ -989,6 +991,11 @@ void LLPanelProfileSecondLife::onAvatarNameCache(const LLUUID& agent_id, const L
getChild<LLUICtrl>("user_name")->setValue(av_name.getAccountName());
}
+void LLPanelProfileSecondLife::setNotesSnippet(std::string &notes)
+{
+ mNotesSnippet->setValue(notes);
+}
+
void LLPanelProfileSecondLife::setProfileImageUploading(bool loading)
{
LLLoadingIndicator* indicator = getChild<LLLoadingIndicator>("image_upload_indicator");
@@ -1077,6 +1084,7 @@ void LLPanelProfileSecondLife::fillPartnerData(const LLAvatarData* avatar_data)
LLTextBox* partner_text_ctrl = getChild<LLTextBox>("partner_link");
if (avatar_data->partner_id.notNull())
{
+ childSetVisible("partner_layout", TRUE);
LLStringUtil::format_map_t args;
args["[LINK]"] = LLSLURL("agent", avatar_data->partner_id, "inspect").getSLURLString();
std::string partner_text = getString("partner_text", args);
@@ -1084,7 +1092,7 @@ void LLPanelProfileSecondLife::fillPartnerData(const LLAvatarData* avatar_data)
}
else
{
- partner_text_ctrl->setText(getString("no_partner_text"));
+ childSetVisible("partner_layout", FALSE);
}
}
@@ -1333,7 +1341,7 @@ void LLPanelProfileSecondLife::onCommitMenu(const LLSD& userdata)
{
LLAvatarActions::startCall(agent_id);
}
- else if (item_name == "callog")
+ else if (item_name == "chat_history")
{
LLAvatarActions::viewChatHistory(agent_id);
}
@@ -1443,7 +1451,7 @@ bool LLPanelProfileSecondLife::onEnableMenu(const LLSD& userdata)
{
return mVoiceStatus;
}
- else if (item_name == "callog")
+ else if (item_name == "chat_history")
{
return LLLogChat::isTranscriptExist(agent_id);
}
@@ -1780,6 +1788,12 @@ void LLPanelProfileFirstLife::onOpen(const LLSD& key)
{
LLPanelProfileTab::onOpen(key);
+ if (!getSelfProfile())
+ {
+ // Otherwise as the only focusable element it will be selected
+ mDescriptionEdit->setTabStop(FALSE);
+ }
+
resetData();
}
@@ -1953,24 +1967,6 @@ void LLPanelProfileNotes::onOpen(const LLSD& key)
resetData();
}
-void LLPanelProfileNotes::onCommitNotes()
-{
- std::string cap_url = gAgent.getRegionCapability(PROFILE_PROPERTIES_CAP);
- if (getIsLoaded())
- {
- if (!cap_url.empty())
- {
- std::string notes = mNotesEditor->getValue().asString();
- LLCoros::instance().launch("putAgentUserInfoCoro",
- boost::bind(put_avatar_properties_coro, cap_url, getAvatarId(), LLSD().with("notes", notes)));
- }
- else
- {
- LL_WARNS() << "Failed to update notes, no cap found" << LL_ENDL;
- }
- }
-}
-
void LLPanelProfileNotes::setNotesText(const std::string &text)
{
mSaveChanges->setEnabled(FALSE);
@@ -1993,6 +1989,20 @@ void LLPanelProfileNotes::onSaveNotesChanges()
{
LLCoros::instance().launch("putAgentUserInfoCoro",
boost::bind(put_avatar_properties_coro, cap_url, getAvatarId(), LLSD().with("notes", mCurrentNotes)));
+
+
+ LLFloater* floater_profile = LLFloaterReg::findInstance("profile", LLSD().with("id", getAvatarId()));
+ if (!floater_profile)
+ {
+ return;
+ }
+
+ LLPanel* panel = floater_profile->findChild<LLPanel>(PANEL_SECONDLIFE, TRUE);
+ LLPanelProfileSecondLife *panel_sl = dynamic_cast<LLPanelProfileSecondLife*>(panel);
+ if (panel_sl)
+ {
+ panel_sl->setNotesSnippet(mCurrentNotes);
+ }
}
else
{
diff --git a/indra/newview/llpanelprofile.h b/indra/newview/llpanelprofile.h
index fa98e6fd1b..8b2893905d 100644
--- a/indra/newview/llpanelprofile.h
+++ b/indra/newview/llpanelprofile.h
@@ -99,6 +99,7 @@ public:
void onAvatarNameCache(const LLUUID& agent_id, const LLAvatarName& av_name);
+ void setNotesSnippet(std::string &notes);
void setProfileImageUploading(bool loading);
void setProfileImageUploaded(const LLUUID &image_asset_id);
@@ -314,7 +315,6 @@ public:
/*virtual*/ void updateData();
protected:
- void onCommitNotes();
void setNotesText(const std::string &text);
void onSetNotesDirty();
void onSaveNotesChanges();
diff --git a/indra/newview/llpanelprofileclassifieds.cpp b/indra/newview/llpanelprofileclassifieds.cpp
index 56f9a387a1..7f7bba3b91 100644
--- a/indra/newview/llpanelprofileclassifieds.cpp
+++ b/indra/newview/llpanelprofileclassifieds.cpp
@@ -207,7 +207,8 @@ void LLPanelProfileClassifieds::onOpen(const LLSD& key)
resetData();
- if (getSelfProfile())
+ bool own_profile = getSelfProfile();
+ if (own_profile)
{
mNewButton->setVisible(TRUE);
mNewButton->setEnabled(FALSE);
@@ -215,6 +216,9 @@ void LLPanelProfileClassifieds::onOpen(const LLSD& key)
mDeleteButton->setVisible(TRUE);
mDeleteButton->setEnabled(FALSE);
}
+
+ childSetVisible("buttons_header", own_profile);
+
}
void LLPanelProfileClassifieds::selectClassified(const LLUUID& classified_id, bool edit)
diff --git a/indra/newview/llpanelprofilepicks.cpp b/indra/newview/llpanelprofilepicks.cpp
index c452fb5abd..08c4690eaa 100644
--- a/indra/newview/llpanelprofilepicks.cpp
+++ b/indra/newview/llpanelprofilepicks.cpp
@@ -135,7 +135,8 @@ void LLPanelProfilePicks::onOpen(const LLSD& key)
resetData();
- if (getSelfProfile())
+ bool own_profile = getSelfProfile();
+ if (own_profile)
{
mNewButton->setVisible(TRUE);
mNewButton->setEnabled(FALSE);
@@ -143,6 +144,8 @@ void LLPanelProfilePicks::onOpen(const LLSD& key)
mDeleteButton->setVisible(TRUE);
mDeleteButton->setEnabled(FALSE);
}
+
+ childSetVisible("buttons_header", own_profile);
}
void LLPanelProfilePicks::selectPick(const LLUUID& pick_id)
diff --git a/indra/newview/skins/default/xui/en/panel_profile_classifieds.xml b/indra/newview/skins/default/xui/en/panel_profile_classifieds.xml
index ff27113d53..3dfa0a58df 100644
--- a/indra/newview/skins/default/xui/en/panel_profile_classifieds.xml
+++ b/indra/newview/skins/default/xui/en/panel_profile_classifieds.xml
@@ -13,66 +13,130 @@
name="no_classifieds"
value="No Classifieds"
/>
- <loading_indicator
- name="progress_indicator"
- top="20"
- right="-10"
- height="23"
- width="23"
- follows="top|right"
- layout="topleft"
- visible="false"
- />
- <button
- name="new_btn"
- label="New..."
- tool_tip="Create a new classified at the current location"
- enabled="false"
- top="25"
- left="5"
- height="20"
- width="70"
- follows="left|top"
- layout="topleft"
- visible="true"
- />
- <button
- name="delete_btn"
- label="Delete..."
- tool_tip="Delete currently selected classified"
- enabled="false"
- left_pad="5"
- height="20"
- width="70"
- follows="left|top"
- layout="topleft"
- visible="true"
- />
- <tab_container
- name="tab_classifieds"
- top="50"
- bottom="-21"
- left="4"
- right="-4"
+
+ <layout_stack
+ name="main_stack"
+ top="0"
+ left="0"
+ right="-1"
+ bottom="-1"
+ follows="all"
+ layout="topleft"
+ animate="false"
+ orientation="vertical">
+ <layout_panel
+ name="buttons_header"
follows="all"
layout="topleft"
- halign="left"
- tab_position="left"
- tab_width="85"
- use_ellipses="true"
- />
- <text
- name="classifieds_panel_text"
- top="300"
- left="110"
- right="-110"
- height="25"
- follows="left|top|right"
+ height="50"
+ auto_resize="false"
+ user_resize="false">
+ <button
+ name="new_btn"
+ label="New..."
+ tool_tip="Create a new classified at the current location"
+ enabled="false"
+ top="25"
+ left="5"
+ height="20"
+ width="70"
+ follows="left|top"
+ layout="topleft"
+ visible="true"
+ />
+ <button
+ name="delete_btn"
+ label="Delete..."
+ tool_tip="Delete currently selected classified"
+ enabled="false"
+ left_pad="5"
+ height="20"
+ width="70"
+ follows="left|top"
+ layout="topleft"
+ visible="true"
+ />
+ </layout_panel>
+ <layout_panel
+ name="main_body"
+ follows="all"
layout="topleft"
- halign="center"
- mouse_opaque="false"
- wrap="true"
- >
- Loading...
- </text>
+ height="430"
+ auto_resize="true"
+ user_resize="false">
+ <tab_container
+ name="tab_classifieds"
+ top="0"
+ bottom="-21"
+ left="4"
+ right="-4"
+ follows="all"
+ layout="topleft"
+ halign="left"
+ tab_position="left"
+ tab_width="85"
+ use_ellipses="true"
+ />
+
+ <layout_stack
+ name="indicator_stack"
+ top="220"
+ left="0"
+ right="-1"
+ height="28"
+ follows="top|left|right"
+ layout="topleft"
+ animate="false"
+ orientation="horizontal">
+ <layout_panel
+ name="indicator_spacer_left"
+ follows="all"
+ layout="topleft"
+ width="100"
+ auto_resize="true"
+ user_resize="false">
+ </layout_panel>
+ <layout_panel
+ name="buttons_header"
+ follows="all"
+ layout="topleft"
+ width="25"
+ auto_resize="false"
+ user_resize="false">
+ <loading_indicator
+ name="progress_indicator"
+ top="1"
+ left="1"
+ height="23"
+ width="23"
+ follows="top|left"
+ layout="topleft"
+ visible="false"
+ />
+ </layout_panel>
+ <layout_panel
+ name="indicator_spacer_right"
+ follows="all"
+ layout="topleft"
+ width="100"
+ auto_resize="true"
+ user_resize="false">
+ </layout_panel>
+ </layout_stack>
+ <text
+ name="classifieds_panel_text"
+ top="250"
+ left="110"
+ right="-110"
+ height="25"
+ follows="left|top|right"
+ layout="topleft"
+ halign="center"
+ mouse_opaque="false"
+ wrap="true"
+ >
+ Loading...
+ </text>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_profile_picks.xml b/indra/newview/skins/default/xui/en/panel_profile_picks.xml
index 208441e7f7..44d5c448c0 100644
--- a/indra/newview/skins/default/xui/en/panel_profile_picks.xml
+++ b/indra/newview/skins/default/xui/en/panel_profile_picks.xml
@@ -13,78 +13,142 @@
name="no_picks"
value="No Picks"
/>
- <loading_indicator
- name="progress_indicator"
- top="20"
- right="-10"
- height="23"
- width="23"
- follows="top|right"
- layout="topleft"
- visible="false"
- />
- <text
- name="Tell everyone about your favorite places in Second Life."
- top="5"
- left="5"
- right="-5"
- height="16"
- follows="left|top|right"
+
+ <layout_stack
+ name="main_stack"
+ top="0"
+ left="0"
+ right="-1"
+ bottom="-1"
+ follows="all"
+ layout="topleft"
+ animate="false"
+ orientation="vertical">
+ <layout_panel
+ name="buttons_header"
+ follows="all"
layout="topleft"
- halign="center"
+ height="50"
+ auto_resize="false"
+ user_resize="false">
+ <text
+ name="header_text"
+ top="5"
+ left="5"
+ right="-5"
+ height="16"
+ follows="left|top|right"
+ layout="topleft"
+ halign="center"
>
Tell everyone about your favorite places in Second Life.
- </text>
- <button
- name="new_btn"
- label="New..."
- tool_tip="Create a new pick at the current location"
- enabled="false"
- top_pad="4"
- left="5"
- height="20"
- width="70"
- follows="left|top"
- layout="topleft"
- visible="false"
+ </text>
+ <button
+ name="new_btn"
+ label="New..."
+ tool_tip="Create a new pick at the current location"
+ enabled="false"
+ top_pad="4"
+ left="5"
+ height="20"
+ width="70"
+ follows="left|top"
+ layout="topleft"
+ visible="false"
/>
- <button
- name="delete_btn"
- label="Delete..."
- tool_tip="Delete currently selected pick"
- enabled="false"
- left_pad="5"
- height="20"
- width="70"
- follows="left|top"
- layout="topleft"
- visible="false"
+ <button
+ name="delete_btn"
+ label="Delete..."
+ tool_tip="Delete currently selected pick"
+ enabled="false"
+ left_pad="5"
+ height="20"
+ width="70"
+ follows="left|top"
+ layout="topleft"
+ visible="false"
/>
- <tab_container
- name="tab_picks"
- top="50"
- bottom="-5"
- left="4"
- right="-4"
- tab_width="150"
+ </layout_panel>
+ <layout_panel
+ name="main_body"
follows="all"
layout="topleft"
- halign="left"
- tab_position="left"
- use_ellipses="true"
+ height="430"
+ auto_resize="true"
+ user_resize="false">
+ <tab_container
+ name="tab_picks"
+ top="0"
+ bottom="-5"
+ left="4"
+ right="-4"
+ tab_width="150"
+ follows="all"
+ layout="topleft"
+ halign="left"
+ tab_position="left"
+ use_ellipses="true"
/>
- <text
- name="picks_panel_text"
- top="300"
- left="110"
- right="-110"
- height="25"
- follows="left|top|right"
+
+ <layout_stack
+ name="indicator_stack"
+ top="220"
+ left="0"
+ right="-1"
+ height="28"
+ follows="top|left|right"
layout="topleft"
- halign="center"
- mouse_opaque="false"
- wrap="true"
+ animate="false"
+ orientation="horizontal">
+ <layout_panel
+ name="indicator_spacer_left"
+ follows="all"
+ layout="topleft"
+ width="100"
+ auto_resize="true"
+ user_resize="false">
+ </layout_panel>
+ <layout_panel
+ name="buttons_header"
+ follows="all"
+ layout="topleft"
+ width="25"
+ auto_resize="false"
+ user_resize="false">
+ <loading_indicator
+ name="progress_indicator"
+ top="1"
+ left="1"
+ height="23"
+ width="23"
+ follows="top|left"
+ layout="topleft"
+ visible="false"
+ />
+ </layout_panel>
+ <layout_panel
+ name="indicator_spacer_right"
+ follows="all"
+ layout="topleft"
+ width="100"
+ auto_resize="true"
+ user_resize="false">
+ </layout_panel>
+ </layout_stack>
+ <text
+ name="picks_panel_text"
+ top="250"
+ left="100"
+ right="-100"
+ height="25"
+ follows="left|top|right"
+ layout="topleft"
+ halign="center"
+ mouse_opaque="false"
+ wrap="true"
>
Loading...
- </text>
+ </text>
+ </layout_panel>
+ </layout_stack>
</panel>
diff --git a/indra/newview/skins/default/xui/en/panel_profile_secondlife.xml b/indra/newview/skins/default/xui/en/panel_profile_secondlife.xml
index 68d8726dc9..e23da2b7fe 100644
--- a/indra/newview/skins/default/xui/en/panel_profile_secondlife.xml
+++ b/indra/newview/skins/default/xui/en/panel_profile_secondlife.xml
@@ -13,9 +13,6 @@
name="AgeFormat"
value="[AGE]" />
<string
- name="no_partner_text"
- value="Partner: None" />
- <string
name="partner_text"
value="Partner: [LINK]" />
<string
@@ -95,7 +92,7 @@ Account: [ACCTTYPE]
value="(loading...)"
font="SansSerifBigLarge"
top="0"
- left="2"
+ left="10"
right="-1"
height="20"
follows="left|top|right"
@@ -105,7 +102,7 @@ Account: [ACCTTYPE]
name="user_name"
value="(loading...)"
top_pad="0"
- left="2"
+ left_delta="0"
right="-1"
height="16"
follows="left|top|right"
@@ -115,34 +112,64 @@ Account: [ACCTTYPE]
name="user_age"
value="(loading...)"
top_pad="0"
- left="2"
+ left_delta="0"
right="-1"
height="16"
follows="left|top|right"
layout="topleft"/>
- <text
- type="string"
- name="partner_link"
- value="Partner: (loading...)"
+ <layout_stack
+ name="partner_stack"
top_pad="0"
- left="2"
+ left_delta="0"
right="-1"
- height="16"
+ height="64"
follows="left|top|right"
layout="topleft"
- translate="false"
- use_ellipses="true" />
+ animate="false"
+ orientation="vertical">
+ <layout_panel
+ name="partner_layout"
+ follows="all"
+ layout="topleft"
+ height="16"
+ auto_resize="false"
+ user_resize="false"
+ visible="false">
+ <text
+ type="string"
+ name="partner_link"
+ value="Partner: (loading...)"
+ top="0"
+ left="0"
+ right="-1"
+ height="16"
+ follows="left|top|right"
+ layout="topleft"
+ translate="false"
+ use_ellipses="true"
+ visible="true"/>
+ </layout_panel>
+
+ <layout_panel
+ name="account_layout"
+ follows="all"
+ layout="topleft"
+ height="48"
+ auto_resize="false"
+ user_resize="false">
+ <text
+ name="account_info"
+ value="Account: (loading...)"
+ top="15"
+ left="0"
+ right="-1"
+ height="16"
+ follows="left|top|right"
+ layout="topleft"/>
+ </layout_panel>
+ </layout_stack>
- <text
- name="account_info"
- value="Account: (loading...)"
- top_pad="0"
- left="2"
- right="-1"
- height="16"
- follows="left|top|right"
- layout="topleft"/>
<loading_indicator
name="progress_indicator"
@@ -157,7 +184,7 @@ Account: [ACCTTYPE]
<menu_button
layout="topleft"
follows="left|bottom"
- left="2"
+ left="10"
bottom="-1"
height="25"
width="140"
@@ -373,7 +400,9 @@ Account: [ACCTTYPE]
h_pad="2"
max_length="1000"
parse_urls="true"
- word_wrap="true"/>
+ word_wrap="true"
+ use_ellipses="true"
+ allow_scroll="false"/>
</layout_panel>
<layout_panel
diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml
index 324f1466a8..285ea03f8a 100644
--- a/indra/newview/skins/default/xui/en/strings.xml
+++ b/indra/newview/skins/default/xui/en/strings.xml
@@ -2807,8 +2807,8 @@ If you continue to receive this message, please contact Second Life support for
<string name="NoPicksText">You haven't created any Picks. Click the New button to create a Pick.</string>
<string name="NoClassifiedsText">You haven't created any Classifieds. Click the New button to create a Classified.</string>
<string name="NoAvatarPicksClassifiedsText">User has no picks or classifieds</string>
- <string name="NoAvatarPicksText">User has no picks</string>
- <string name="NoAvatarClassifiedsText">User has no classifieds</string>
+ <string name="NoAvatarPicksText">This person has no picks</string>
+ <string name="NoAvatarClassifiedsText">This person has no classifieds</string>
<string name="PicksClassifiedsLoadingText">Loading...</string>
<!-- Multi Preview Floater -->