diff options
| -rw-r--r-- | indra/newview/llagentpicksinfo.h | 4 | ||||
| -rw-r--r-- | indra/newview/llpanelavatar.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llpanelprofile.cpp | 54 | ||||
| -rw-r--r-- | indra/newview/llpanelprofile.h | 2 | ||||
| -rw-r--r-- | indra/newview/llpanelprofileclassifieds.cpp | 6 | ||||
| -rw-r--r-- | indra/newview/llpanelprofilepicks.cpp | 5 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_profile_classifieds.xml | 182 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_profile_picks.xml | 190 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_profile_secondlife.xml | 79 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/strings.xml | 4 | 
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 ¬es) +{ +    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 ¬es);      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 -->  | 
