Merge branch 'DRTVWR-580-maint-T' of https://github.com/secondlife/viewer
# Conflicts: # indra/newview/llinventorypanel.cpp # indra/newview/llpanelprofile.cpp # indra/newview/skins/default/xui/en/panel_profile_secondlife.xmlmaster
commit
ccb1dfa072
|
|
@ -118,7 +118,8 @@ public:
|
|||
|
||||
// Sets cursor, may set to arrow+hourglass
|
||||
virtual void setCursor(ECursorType cursor) { mNextCursor = cursor; };
|
||||
virtual ECursorType getCursor() const;
|
||||
virtual ECursorType getCursor() const;
|
||||
virtual ECursorType getNextCursor() const { return mNextCursor; };
|
||||
virtual void updateCursor() = 0;
|
||||
|
||||
virtual void captureMouse() = 0;
|
||||
|
|
|
|||
|
|
@ -85,6 +85,7 @@ struct LLAvatarData
|
|||
std::string profile_url;
|
||||
U8 caption_index;
|
||||
std::string caption_text;
|
||||
std::string customer_type;
|
||||
U32 flags;
|
||||
BOOL allow_publish;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -578,6 +578,7 @@ void LLInventoryModelBackgroundFetch::bulkFetch()
|
|||
// *TODO: Think I'd like to get a shared pointer to this and share it
|
||||
// among all the folder requests.
|
||||
uuid_vec_t recursive_cats;
|
||||
uuid_vec_t all_cats; // dupplicate avoidance
|
||||
|
||||
LLSD folder_request_body;
|
||||
LLSD folder_request_body_lib;
|
||||
|
|
@ -606,7 +607,7 @@ void LLInventoryModelBackgroundFetch::bulkFetch()
|
|||
{
|
||||
const LLViewerInventoryCategory * cat(gInventory.getCategory(cat_id));
|
||||
|
||||
if (cat)
|
||||
if (cat && std::find(all_cats.begin(), all_cats.end(), cat_id) == all_cats.end())
|
||||
{
|
||||
if (LLViewerInventoryCategory::VERSION_UNKNOWN == cat->getVersion())
|
||||
{
|
||||
|
|
@ -650,6 +651,7 @@ void LLInventoryModelBackgroundFetch::bulkFetch()
|
|||
{
|
||||
recursive_cats.push_back(cat_id);
|
||||
}
|
||||
all_cats.push_back(cat_id);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -982,6 +984,46 @@ void BGFolderHttpHandler::processFailure(LLCore::HttpStatus status, LLCore::Http
|
|||
<< LLCoreHttpUtil::responseToString(response) << "]" << LL_ENDL;
|
||||
|
||||
// Could use a 404 test here to try to detect revoked caps...
|
||||
|
||||
if(status == LLCore::HttpStatus(HTTP_FORBIDDEN))
|
||||
{
|
||||
// too large, split into two, assume that this isn't the library
|
||||
const std::string url(gAgent.getRegionCapability("FetchInventoryDescendents2"));
|
||||
S32 size = mRequestSD["folders"].size();
|
||||
|
||||
if (!gDisconnected && !LLApp::isExiting() && !url.empty() && size > 1)
|
||||
{
|
||||
LLSD folders;
|
||||
uuid_vec_t recursive_cats;
|
||||
LLSD::array_iterator iter = mRequestSD["folders"].beginArray();
|
||||
LLSD::array_iterator end = mRequestSD["folders"].endArray();
|
||||
while (iter != end)
|
||||
{
|
||||
folders.append(*iter);
|
||||
LLUUID fodler_id = iter->get("folder_id").asUUID();
|
||||
if (std::find(mRecursiveCatUUIDs.begin(), mRecursiveCatUUIDs.end(), fodler_id) != mRecursiveCatUUIDs.end())
|
||||
{
|
||||
recursive_cats.push_back(fodler_id);
|
||||
}
|
||||
if (folders.size() == (S32)(size / 2))
|
||||
{
|
||||
LLSD request_body;
|
||||
request_body["folders"] = folders;
|
||||
LLCore::HttpHandler::ptr_t handler(new BGFolderHttpHandler(request_body, recursive_cats));
|
||||
gInventory.requestPost(false, url, request_body, handler, "Inventory Folder");
|
||||
recursive_cats.clear();
|
||||
folders.clear();
|
||||
}
|
||||
iter++;
|
||||
}
|
||||
|
||||
LLSD request_body;
|
||||
request_body["folders"] = folders;
|
||||
LLCore::HttpHandler::ptr_t handler(new BGFolderHttpHandler(request_body, recursive_cats));
|
||||
gInventory.requestPost(false, url, request_body, handler, "Inventory Folder");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// This was originally the request retry logic for the inventory
|
||||
// request which tested on HTTP_INTERNAL_ERROR status. This
|
||||
|
|
|
|||
|
|
@ -1356,24 +1356,22 @@ void LLInventoryPanel::unSelectAll()
|
|||
|
||||
BOOL LLInventoryPanel::handleHover(S32 x, S32 y, MASK mask)
|
||||
{
|
||||
// <FS:AW>
|
||||
// BOOL handled = LLView::handleHover(x, y, mask);
|
||||
// if(handled)
|
||||
// {
|
||||
// ECursorType cursor = getWindow()->getCursor();
|
||||
// if (LLInventoryModelBackgroundFetch::instance().folderFetchActive() && cursor == UI_CURSOR_ARROW)
|
||||
// {
|
||||
// // replace arrow cursor with arrow and hourglass cursor
|
||||
// getWindow()->setCursor(UI_CURSOR_WORKING);
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// getWindow()->setCursor(UI_CURSOR_ARROW);
|
||||
// }
|
||||
LLView::handleHover(x, y, mask);
|
||||
// </FS:AW>
|
||||
|
||||
BOOL handled = LLView::handleHover(x, y, mask);
|
||||
if(handled)
|
||||
{
|
||||
// getCursor gets current cursor, setCursor sets next cursor
|
||||
// check that children didn't set own 'next' cursor
|
||||
ECursorType cursor = getWindow()->getNextCursor();
|
||||
if (LLInventoryModelBackgroundFetch::instance().folderFetchActive() && cursor == UI_CURSOR_ARROW)
|
||||
{
|
||||
// replace arrow cursor with arrow and hourglass cursor
|
||||
getWindow()->setCursor(UI_CURSOR_WORKING);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
getWindow()->setCursor(UI_CURSOR_ARROW);
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -165,6 +165,7 @@ void request_avatar_properties_coro(std::string cap_url, LLUUID agent_id)
|
|||
avatar_data->fl_about_text = result["fl_about_text"].asString();
|
||||
avatar_data->born_on = result["member_since"].asDate();
|
||||
avatar_data->profile_url = getProfileURL(agent_id.asString());
|
||||
avatar_data->customer_type = result["customer_type"].asString();
|
||||
|
||||
avatar_data->flags = 0;
|
||||
|
||||
|
|
@ -1238,6 +1239,8 @@ void LLPanelProfileSecondLife::resetData()
|
|||
|
||||
// <FS:Ansariel> Fix LL UI/UX design accident
|
||||
//childSetVisible("partner_layout", FALSE);
|
||||
//childSetVisible("badge_layout", FALSE);
|
||||
//childSetVisible("partner_spacer_layout", TRUE);
|
||||
// <FS:Zi> Always show the online status text, just set it to "offline" when a friend is hiding
|
||||
// mStatusText->setVisible(FALSE);
|
||||
mCopyMenuButton->setVisible(FALSE);
|
||||
|
|
@ -1572,6 +1575,61 @@ void LLPanelProfileSecondLife::fillAccountStatus(const LLAvatarData* avatar_data
|
|||
|
||||
std::string caption_text = getString("CaptionTextAcctInfo", args);
|
||||
getChild<LLUICtrl>("account_info")->setValue(caption_text);
|
||||
|
||||
// <FS:Ansariel> Leave this out for now until we figured out if/how to show badges
|
||||
//const S32 LINDEN_EMPLOYEE_INDEX = 3;
|
||||
//LLDate sl_release;
|
||||
//sl_release.fromYMDHMS(2003, 6, 23, 0, 0, 0);
|
||||
//std::string customer_lower = avatar_data->customer_type;
|
||||
//LLStringUtil::toLower(customer_lower);
|
||||
//if (avatar_data->caption_index == LINDEN_EMPLOYEE_INDEX)
|
||||
//{
|
||||
// getChild<LLUICtrl>("badge_icon")->setValue("Profile_Badge_Linden");
|
||||
// getChild<LLUICtrl>("badge_text")->setValue(getString("BadgeLinden"));
|
||||
// childSetVisible("badge_layout", TRUE);
|
||||
// childSetVisible("partner_spacer_layout", FALSE);
|
||||
//}
|
||||
//else if (avatar_data->born_on < sl_release)
|
||||
//{
|
||||
// getChild<LLUICtrl>("badge_icon")->setValue("Profile_Badge_Beta");
|
||||
// getChild<LLUICtrl>("badge_text")->setValue(getString("BadgeBeta"));
|
||||
// childSetVisible("badge_layout", TRUE);
|
||||
// childSetVisible("partner_spacer_layout", FALSE);
|
||||
//}
|
||||
//else if (customer_lower == "beta_lifetime")
|
||||
//{
|
||||
// getChild<LLUICtrl>("badge_icon")->setValue("Profile_Badge_Beta_Lifetime");
|
||||
// getChild<LLUICtrl>("badge_text")->setValue(getString("BadgeBetaLifetime"));
|
||||
// childSetVisible("badge_layout", TRUE);
|
||||
// childSetVisible("partner_spacer_layout", FALSE);
|
||||
//}
|
||||
//else if (customer_lower == "lifetime")
|
||||
//{
|
||||
// getChild<LLUICtrl>("badge_icon")->setValue("Profile_Badge_Lifetime");
|
||||
// getChild<LLUICtrl>("badge_text")->setValue(getString("BadgeLifetime"));
|
||||
// childSetVisible("badge_layout", TRUE);
|
||||
// childSetVisible("partner_spacer_layout", FALSE);
|
||||
//}
|
||||
//else if (customer_lower == "premium_lifetime")
|
||||
//{
|
||||
// getChild<LLUICtrl>("badge_icon")->setValue("Profile_Premium_Lifetime");
|
||||
// getChild<LLUICtrl>("badge_text")->setValue(getString("BadgePremiumLifetime"));
|
||||
// childSetVisible("badge_layout", TRUE);
|
||||
// childSetVisible("partner_spacer_layout", FALSE);
|
||||
//}
|
||||
//else if (customer_lower == "pplus_lifetime" || customer_lower == "premium_plus_lifetime")
|
||||
//{
|
||||
// getChild<LLUICtrl>("badge_icon")->setValue("Profile_Badge_Pplus_Lifetime");
|
||||
// getChild<LLUICtrl>("badge_text")->setValue(getString("BadgePremiumPlusLifetime"));
|
||||
// childSetVisible("badge_layout", TRUE);
|
||||
// childSetVisible("partner_spacer_layout", FALSE);
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// childSetVisible("badge_layout", FALSE);
|
||||
// childSetVisible("partner_spacer_layout", TRUE);
|
||||
//}
|
||||
// </FS:Ansariel>
|
||||
}
|
||||
|
||||
void LLPanelProfileSecondLife::fillRightsData()
|
||||
|
|
@ -1742,7 +1800,7 @@ void LLPanelProfileSecondLife::updateOnlineStatus()
|
|||
// <FS:Ansariel> Fix LL UI/UX design accident
|
||||
//else
|
||||
//{
|
||||
// childSetVisible("frind_layout", false);
|
||||
// childSetVisible("friend_layout", false);
|
||||
// childSetVisible("online_layout", false);
|
||||
// childSetVisible("offline_layout", false);
|
||||
//}
|
||||
|
|
@ -1768,7 +1826,7 @@ void LLPanelProfileSecondLife::processOnlineStatus(bool is_friend, bool show_onl
|
|||
}
|
||||
// </FS:Zi>
|
||||
// <FS:Ansariel> Fix LL UI/UX design accident
|
||||
//childSetVisible("frind_layout", is_friend);
|
||||
//childSetVisible("friend_layout", is_friend);
|
||||
//childSetVisible("online_layout", online && show_online);
|
||||
//childSetVisible("offline_layout", !online && show_online);
|
||||
// <FS:Zi> Always show the online status text, just set it to "offline" when a friend is hiding
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.1 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.4 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
|
|
@ -607,7 +607,13 @@ with the same filename but different name
|
|||
<texture name="Play_Off" file_name="icons/Play_Off.png" preload="false" />
|
||||
<texture name="Play_Over" file_name="icons/Play_Over.png" preload="false" />
|
||||
<texture name="Play_Press" file_name="icons/Play_Press.png" preload="false" />
|
||||
|
||||
|
||||
<texture name="Profile_Badge_Beta" file_name="icons/profile_badge_beta.png" preload="true"/>
|
||||
<texture name="Profile_Badge_Beta_Lifetime" file_name="icons/profile_badge_beta_lifetime.png" preload="true"/>
|
||||
<texture name="Profile_Badge_Lifetime" file_name="icons/profile_badge_lifetime.png" preload="true"/>
|
||||
<texture name="Profile_Badge_Linden" file_name="icons/profile_badge_linden.png" preload="true"/>
|
||||
<texture name="Profile_Badge_Pplus_Lifetime" file_name="icons/profile_badge_pplus_lifetime.png" preload="true"/>
|
||||
<texture name="Profile_Badge_Premium_Lifetime" file_name="icons/profile_badge_premium_lifetime.png" preload="true"/>
|
||||
<texture name="Profile_Group_Visibility_Off" file_name="icons/profile_group_visibility_eye_off.png" preload="true"/>
|
||||
<texture name="Profile_Group_Visibility_Off_Pressed" file_name="icons/profile_group_visibility_eye_off_pressed.png" preload="true"/>
|
||||
<texture name="Profile_Group_Visibility_On" file_name="icons/profile_group_visibility_eye_on.png" preload="true"/>
|
||||
|
|
|
|||
|
|
@ -31,6 +31,26 @@
|
|||
[PAYMENTINFO]
|
||||
[FIRESTORM][FSDEV][FSSUPP][FSQA][FSGW]
|
||||
</string>
|
||||
|
||||
<!--Badges-->
|
||||
<string
|
||||
name="BadgeBeta"
|
||||
value="Original Beta Tester" />
|
||||
<string
|
||||
name="BadgeBetaLifetime"
|
||||
value="Beta Lifetime member" />
|
||||
<string
|
||||
name="BadgeLifetime"
|
||||
value="Lifetime member" />
|
||||
<string
|
||||
name="BadgeLinden"
|
||||
value="Linden Lab employee" />
|
||||
<string
|
||||
name="BadgePremiumLifetime"
|
||||
value="Premium lifetime" />
|
||||
<string
|
||||
name="BadgePremiumPlusLifetime"
|
||||
value="Premium Plus lifetime" />
|
||||
<string
|
||||
name="payment_update_link_url"
|
||||
>
|
||||
|
|
|
|||
Loading…
Reference in New Issue