From 5a39e173b06698fd9e07d524e7044a41e86bdfbb Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" <vir@lindenlab.com> Date: Mon, 28 Jun 2010 17:26:19 -0400 Subject: EXT-8063 WIP - last-ditch filtering of item counts in updateAppearanceFromCOF --- indra/newview/llappearancemgr.cpp | 71 ++++++++++++++++++++++++++++++++++++--- indra/newview/llappearancemgr.h | 1 + 2 files changed, 68 insertions(+), 4 deletions(-) diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index ce022ac840..8a3b4cb028 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -1537,16 +1537,79 @@ bool sort_by_description(const LLInventoryItem* item1, const LLInventoryItem* it return item1->LLInventoryItem::getDescription() < item2->LLInventoryItem::getDescription(); } -void LLAppearanceMgr::updateAppearanceFromCOF() +void item_array_diff(LLInventoryModel::item_array_t& full_list, + LLInventoryModel::item_array_t& keep_list, + LLInventoryModel::item_array_t& kill_list) + { - //checking integrity of the COF in terms of ordering of wearables, - //checking and updating links' descriptions of wearables in the COF (before analyzed for "dirty" state) - updateClothingOrderingInfo(); + for (LLInventoryModel::item_array_t::iterator it = full_list.begin(); + it != full_list.end(); + ++it) + { + LLViewerInventoryItem *item = *it; + if (keep_list.find(item) < 0) // Why on earth does LLDynamicArray need to redefine find()? + { + kill_list.push_back(item); + } + } +} +void LLAppearanceMgr::enforceItemCountLimits() +{ + S32 purge_count = 0; + + LLInventoryModel::item_array_t body_items; + getDescendentsOfAssetType(getCOF(), body_items, LLAssetType::AT_BODYPART, false); + LLInventoryModel::item_array_t curr_body_items = body_items; + removeDuplicateItems(body_items); + filterWearableItems(body_items, 1); + LLInventoryModel::item_array_t kill_body_items; + item_array_diff(curr_body_items,body_items,kill_body_items); + for (LLInventoryModel::item_array_t::iterator it = kill_body_items.begin(); + it != kill_body_items.end(); + ++it) + { + LLViewerInventoryItem *item = *it; + llinfos << "purging dup body part " << item->getName() << llendl; + gInventory.purgeObject(item->getUUID()); + purge_count++; + } + + LLInventoryModel::item_array_t wear_items; + getDescendentsOfAssetType(getCOF(), wear_items, LLAssetType::AT_CLOTHING, false); + LLInventoryModel::item_array_t curr_wear_items = wear_items; + removeDuplicateItems(wear_items); + filterWearableItems(wear_items, LLAgentWearables::MAX_CLOTHING_PER_TYPE); + LLInventoryModel::item_array_t kill_wear_items; + item_array_diff(curr_wear_items,wear_items,kill_wear_items); + for (LLInventoryModel::item_array_t::iterator it = kill_wear_items.begin(); + it != kill_wear_items.end(); + ++it) + { + LLViewerInventoryItem *item = *it; + llinfos << "purging excess clothing item " << item->getName() << llendl; + gInventory.purgeObject(item->getUUID()); + purge_count++; + } + + if (purge_count>0) + { + gInventory.notifyObservers(); + } +} + +void LLAppearanceMgr::updateAppearanceFromCOF() +{ // update dirty flag to see if the state of the COF matches // the saved outfit stored as a folder link llinfos << "starting" << llendl; + //checking integrity of the COF in terms of ordering of wearables, + //checking and updating links' descriptions of wearables in the COF (before analyzed for "dirty" state) + updateClothingOrderingInfo(); + + enforceItemCountLimits(); + updateIsDirty(); dumpCat(getCOF(),"COF, start"); diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h index 61779d5c0e..15383381f8 100644 --- a/indra/newview/llappearancemgr.h +++ b/indra/newview/llappearancemgr.h @@ -66,6 +66,7 @@ public: void renameOutfit(const LLUUID& outfit_id); void takeOffOutfit(const LLUUID& cat_id); void addCategoryToCurrentOutfit(const LLUUID& cat_id); + void enforceItemCountLimits(); // Copy all items and the src category itself. void shallowCopyCategory(const LLUUID& src_id, const LLUUID& dst_id, -- cgit v1.2.3 From 2b80cc679d898d38e59a639c92cb427aee240a3e Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" <vir@lindenlab.com> Date: Tue, 29 Jun 2010 08:32:49 -0400 Subject: Message wording --- indra/newview/skins/default/xui/en/panel_outfits_list.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/panel_outfits_list.xml b/indra/newview/skins/default/xui/en/panel_outfits_list.xml index d0c44c4328..d33b16e0a3 100644 --- a/indra/newview/skins/default/xui/en/panel_outfits_list.xml +++ b/indra/newview/skins/default/xui/en/panel_outfits_list.xml @@ -15,7 +15,7 @@ bg_alpha_color="DkGray2" bg_opaque_color="DkGray2" no_matched_tabs_text.value="Didn't find what you're looking for? Try [secondlife:///app/search/all/[SEARCH_TERM] Search]." - no_visible_tabs_text.value="There are no any outfits. Try [secondlife:///app/search/all/ Search]." + no_visible_tabs_text.value="You don't have any outfits yet. Try [secondlife:///app/search/all/ Search]." follows="all" height="400" layout="topleft" -- cgit v1.2.3 From b81adf898cbe770e1579da5b1618330aac27c671 Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" <vir@lindenlab.com> Date: Tue, 29 Jun 2010 11:59:40 -0400 Subject: EXT-8063 FIX, EXT-7986 FIX - enforce wearable counts in updateApperanceFromCOF() if UI lets any improper state through --- indra/newview/llappearancemgr.cpp | 33 ++++++++++++++++++++++++++++++--- indra/newview/llappearancemgr.h | 1 + 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 8a3b4cb028..ddbec25c04 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -1598,18 +1598,44 @@ void LLAppearanceMgr::enforceItemCountLimits() } } +class BoolSetter +{ +public: + BoolSetter(bool& var): + mVar(var) + { + mVar = true; + } + ~BoolSetter() + { + mVar = false; + } +private: + bool& mVar; +}; + void LLAppearanceMgr::updateAppearanceFromCOF() { - // update dirty flag to see if the state of the COF matches - // the saved outfit stored as a folder link + if (mIsInUpdateAppearanceFromCOF) + { + llwarns << "Called updateAppearanceFromCOF inside updateAppearanceFromCOF, skipping" << llendl; + return; + } + + BoolSetter setIsInUpdateAppearanceFromCOF(mIsInUpdateAppearanceFromCOF); + llinfos << "starting" << llendl; //checking integrity of the COF in terms of ordering of wearables, //checking and updating links' descriptions of wearables in the COF (before analyzed for "dirty" state) updateClothingOrderingInfo(); + // Remove duplicate or excess wearables. Should normally be enforced at the UI level, but + // this should catch anything that gets through. enforceItemCountLimits(); + // update dirty flag to see if the state of the COF matches + // the saved outfit stored as a folder link updateIsDirty(); dumpCat(getCOF(),"COF, start"); @@ -2556,7 +2582,8 @@ void LLAppearanceMgr::dumpItemArray(const LLInventoryModel::item_array_t& items, LLAppearanceMgr::LLAppearanceMgr(): mAttachmentInvLinkEnabled(false), - mOutfitIsDirty(false) + mOutfitIsDirty(false), + mIsInUpdateAppearanceFromCOF(false) { LLOutfitObserver& outfit_observer = LLOutfitObserver::instance(); diff --git a/indra/newview/llappearancemgr.h b/indra/newview/llappearancemgr.h index 15383381f8..afd1bf3ade 100644 --- a/indra/newview/llappearancemgr.h +++ b/indra/newview/llappearancemgr.h @@ -204,6 +204,7 @@ private: std::set<LLUUID> mRegisteredAttachments; bool mAttachmentInvLinkEnabled; bool mOutfitIsDirty; + bool mIsInUpdateAppearanceFromCOF; // to detect recursive calls. /** * Lock for blocking operations on outfit until server reply or timeout exceed -- cgit v1.2.3 From 17d2a3b9fb24ea56eb5e70007a2502bbef436a65 Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" <vir@lindenlab.com> Date: Tue, 29 Jun 2010 15:56:00 -0400 Subject: EXT-8048 FIX - message wording --- indra/newview/skins/default/xui/en/panel_outfits_list.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/en/panel_outfits_list.xml b/indra/newview/skins/default/xui/en/panel_outfits_list.xml index d33b16e0a3..82a5c68240 100644 --- a/indra/newview/skins/default/xui/en/panel_outfits_list.xml +++ b/indra/newview/skins/default/xui/en/panel_outfits_list.xml @@ -15,7 +15,7 @@ bg_alpha_color="DkGray2" bg_opaque_color="DkGray2" no_matched_tabs_text.value="Didn't find what you're looking for? Try [secondlife:///app/search/all/[SEARCH_TERM] Search]." - no_visible_tabs_text.value="You don't have any outfits yet. Try [secondlife:///app/search/all/ Search]." + no_visible_tabs_text.value="..." follows="all" height="400" layout="topleft" -- cgit v1.2.3 From fc732b34b28fc556f0a3a37c7f0d353dd6e1b424 Mon Sep 17 00:00:00 2001 From: Andrew Dyukov <adyukov@productengine.com> Date: Wed, 30 Jun 2010 14:46:58 +0300 Subject: EXT-7737 FIXED Resolved minor problems in appearance UI. Fixed issues from bug except accordion header color changing and changing T-Shirt icon to newer one which are to follow later. Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/660/ --HG-- branch : product-engine --- indra/newview/skins/default/xui/en/panel_outfits_inventory.xml | 2 +- indra/newview/skins/default/xui/en/sidepanel_appearance.xml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml index 58d3dbcc37..23592d2fc1 100644 --- a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml +++ b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml @@ -18,7 +18,7 @@ layout="topleft" left="5" name="appearance_tabs" - tab_min_width="140" + tab_min_width="150" tab_height="30" tab_position="top" halign="center" diff --git a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml index 9a07d3a48a..10d8c7dbb8 100644 --- a/indra/newview/skins/default/xui/en/sidepanel_appearance.xml +++ b/indra/newview/skins/default/xui/en/sidepanel_appearance.xml @@ -61,7 +61,7 @@ width="333"> top="0" width="32" /> <text - font="SansSerifSmallBold" + font="SansSerifSmall" text_color="EmphasisColor" width="300" height="10" @@ -89,15 +89,15 @@ width="333"> </text> <button follows="left|top" - height="23" + height="28" image_overlay="Edit_Wrench" label="" layout="topleft" left="265" name="edit_outfit_btn" tool_tip="Edit this outfit" - top="7" - width="30" /> + top="3" + width="28" /> <loading_indicator follows="left|top" height="24" -- cgit v1.2.3 From 4bf3bda2ab07e58e8f5ffdf460e72530f3b37691 Mon Sep 17 00:00:00 2001 From: Andrew Dyukov <adyukov@productengine.com> Date: Wed, 30 Jun 2010 15:05:02 +0300 Subject: EXT-7793 FIXED Implemented "Wear" button tooltip changing depending on selection. - Added check to LLPanelOutfitsInventory::updateListCommands() which takes place on selection change and depending on hasItemSelected() sets tooltip for "Wear" button. Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/665/ --HG-- branch : product-engine --- indra/newview/llpaneloutfitsinventory.cpp | 8 ++++++++ indra/newview/skins/default/xui/en/panel_outfits_inventory.xml | 9 ++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/indra/newview/llpaneloutfitsinventory.cpp b/indra/newview/llpaneloutfitsinventory.cpp index 462ba2dfa5..c5d259e517 100644 --- a/indra/newview/llpaneloutfitsinventory.cpp +++ b/indra/newview/llpaneloutfitsinventory.cpp @@ -262,6 +262,14 @@ void LLPanelOutfitsInventory::updateListCommands() mListCommands->childSetEnabled("wear_btn", wear_enabled); mListCommands->childSetVisible("wear_btn", wear_visible); mSaveComboBtn->setMenuItemEnabled("save_outfit", make_outfit_enabled); + if (mMyOutfitsPanel->hasItemSelected()) + { + mListCommands->childSetToolTip("wear_btn", getString("wear_items_tooltip")); + } + else + { + mListCommands->childSetToolTip("wear_btn", getString("wear_outfit_tooltip")); + } } void LLPanelOutfitsInventory::showGearMenu() diff --git a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml index 23592d2fc1..82b69ba8dc 100644 --- a/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml +++ b/indra/newview/skins/default/xui/en/panel_outfits_inventory.xml @@ -12,6 +12,14 @@ min_width="240" width="320" border="false"> + <panel.string + name="wear_outfit_tooltip"> + Wear selected outfit + </panel.string> + <panel.string + name="wear_items_tooltip"> + Wear selected items + </panel.string> <tab_container follows="all" height="539" @@ -89,7 +97,6 @@ layout="topleft" name="wear_btn" left_pad="3" - tool_tip="Wear selected outfit" width="152" /> </panel> </panel> -- cgit v1.2.3 From 9bfa3e6008991f391c823021841788fc45ed6e9e Mon Sep 17 00:00:00 2001 From: Igor Borovkov <iborovkov@productengine.com> Date: Wed, 30 Jun 2010 17:28:52 +0300 Subject: EXT-8095 FIXED set visibility to false (xml) of a couple menus Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/670/ --HG-- branch : product-engine --- indra/newview/skins/default/xui/en/menu_outfit_gear.xml | 1 + indra/newview/skins/default/xui/en/menu_wearing_gear.xml | 1 + 2 files changed, 2 insertions(+) diff --git a/indra/newview/skins/default/xui/en/menu_outfit_gear.xml b/indra/newview/skins/default/xui/en/menu_outfit_gear.xml index c4c7a5034a..732b8a788d 100644 --- a/indra/newview/skins/default/xui/en/menu_outfit_gear.xml +++ b/indra/newview/skins/default/xui/en/menu_outfit_gear.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <menu layout="topleft" + visible="false" name="Gear Outfit"> <menu_item_call label="Wear - Replace Current Outfit" diff --git a/indra/newview/skins/default/xui/en/menu_wearing_gear.xml b/indra/newview/skins/default/xui/en/menu_wearing_gear.xml index 84431a2f69..747352cb29 100644 --- a/indra/newview/skins/default/xui/en/menu_wearing_gear.xml +++ b/indra/newview/skins/default/xui/en/menu_wearing_gear.xml @@ -1,6 +1,7 @@ <?xml version="1.0" encoding="utf-8" standalone="yes" ?> <menu layout="topleft" + visible="false" name="Gear Wearing"> <menu_item_call label="Edit Outfit" -- cgit v1.2.3 From 9ddf271cfdf69ab6685c827669414c899852ed86 Mon Sep 17 00:00:00 2001 From: Andrew Polunin <apolunin@productengine.com> Date: Wed, 30 Jun 2010 18:19:46 +0300 Subject: EXT-7827 FIXED (Search floater with capital characters in search field opens from 'Pick: Texture' floater) Changed 'upper_case_search_string' to the 'search_string' Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/674/ --HG-- branch : product-engine --- indra/newview/lltexturectrl.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/lltexturectrl.cpp b/indra/newview/lltexturectrl.cpp index f3530b69db..0b86cefa1d 100644 --- a/indra/newview/lltexturectrl.cpp +++ b/indra/newview/lltexturectrl.cpp @@ -825,7 +825,7 @@ void LLFloaterTexturePicker::onFilterEdit(const std::string& search_string ) } } - mInventoryPanel->setFilterSubString(upper_case_search_string); + mInventoryPanel->setFilterSubString(search_string); } void LLFloaterTexturePicker::onTextureSelect( const LLTextureEntry& te ) -- cgit v1.2.3 From 0e937f5f48a9fb027a64c0147691bb0485e2b844 Mon Sep 17 00:00:00 2001 From: Alexei Arabadji <aarabadji@productengine.com> Date: Wed, 30 Jun 2010 18:32:11 +0300 Subject: EXT-8044 FIXED Prevented incorrect displaying of toasts in mouselook mode. Added virtual method LLToast::reshape to prevent calling LLModalDialog::reshape method that changes toasts position. Toasts position should be controlled by toast screen channel. Ideally toasts should have different implementation for alerts and other kind of toasts, but it will leads to vast unwilling for 2.1 changes. reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/666/ --HG-- branch : product-engine --- indra/newview/lltoast.cpp | 8 ++++++++ indra/newview/lltoast.h | 2 ++ 2 files changed, 10 insertions(+) diff --git a/indra/newview/lltoast.cpp b/indra/newview/lltoast.cpp index 9abfab300c..2bb573c263 100644 --- a/indra/newview/lltoast.cpp +++ b/indra/newview/lltoast.cpp @@ -112,6 +112,14 @@ LLToast::LLToast(const LLToast::Params& p) mOnMouseEnterSignal.connect(p.on_mouse_enter()); } +void LLToast::reshape(S32 width, S32 height, BOOL called_from_parent) +{ + // We shouldn't use reshape from LLModalDialog since it changes toasts position. + // Toasts position should be controlled only by toast screen channel, see LLScreenChannelBase. + // see EXT-8044 + LLFloater::reshape(width, height, called_from_parent); +} + //-------------------------------------------------------------------------- BOOL LLToast::postBuild() { diff --git a/indra/newview/lltoast.h b/indra/newview/lltoast.h index 4211f21ef1..c0da656685 100644 --- a/indra/newview/lltoast.h +++ b/indra/newview/lltoast.h @@ -106,6 +106,8 @@ public: virtual ~LLToast(); BOOL postBuild(); + /*virtual*/ void reshape(S32 width, S32 height, BOOL called_from_parent = TRUE); + // Toast handlers virtual BOOL handleMouseDown(S32 x, S32 y, MASK mask); -- cgit v1.2.3 From 1c05b8cc3269531f781f1e97260868509b757327 Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" <vir@lindenlab.com> Date: Wed, 30 Jun 2010 11:42:16 -0400 Subject: Cleanup - moved small utility class --- indra/newview/llappearancemgr.cpp | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index ddbec25c04..547dfd7006 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -55,6 +55,25 @@ #include "llviewerregion.h" #include "llwearablelist.h" +// RAII thingy to guarantee that a variable gets reset when the Setter +// goes out of scope. More general utility would be handy - TODO: +// check boost. +class BoolSetter +{ +public: + BoolSetter(bool& var): + mVar(var) + { + mVar = true; + } + ~BoolSetter() + { + mVar = false; + } +private: + bool& mVar; +}; + char ORDER_NUMBER_SEPARATOR('@'); class LLOutfitUnLockTimer: public LLEventTimer @@ -1598,22 +1617,6 @@ void LLAppearanceMgr::enforceItemCountLimits() } } -class BoolSetter -{ -public: - BoolSetter(bool& var): - mVar(var) - { - mVar = true; - } - ~BoolSetter() - { - mVar = false; - } -private: - bool& mVar; -}; - void LLAppearanceMgr::updateAppearanceFromCOF() { if (mIsInUpdateAppearanceFromCOF) -- cgit v1.2.3 From b023d43ad5eba8832e27ca280f96782d307a5e72 Mon Sep 17 00:00:00 2001 From: Alexei Arabadji <aarabadji@productengine.com> Date: Wed, 30 Jun 2010 18:43:13 +0300 Subject: EXT-8094 FIXED Avoided resizing object menu after menu was shown. Replaced controlling of menu item visibility with controlling of enabled state. reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/669/ --HG-- branch : product-engine --- indra/newview/skins/default/xui/en/menu_object.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/indra/newview/skins/default/xui/en/menu_object.xml b/indra/newview/skins/default/xui/en/menu_object.xml index 6ca8766e3f..397e61c97a 100644 --- a/indra/newview/skins/default/xui/en/menu_object.xml +++ b/indra/newview/skins/default/xui/en/menu_object.xml @@ -18,7 +18,7 @@ name="Edit..."> <menu_item_call.on_click function="Object.Edit" /> - <menu_item_call.on_visible + <menu_item_call.on_enable function="EnableEdit"/> </menu_item_call> <menu_item_call @@ -26,7 +26,7 @@ name="Build"> <menu_item_call.on_click function="Object.Build" /> - <menu_item_call.on_visible + <menu_item_call.on_enable function="EnableEdit"/> </menu_item_call> <menu_item_call @@ -44,7 +44,7 @@ name="Object Sit"> <menu_item_call.on_click function="Object.SitOrStand" /> - <menu_item_call.on_visible + <menu_item_call.on_enable function="Object.SitVisible" /> <menu_item_call.on_enable function="Object.EnableSitOrStand" @@ -56,7 +56,7 @@ name="Object Stand Up"> <menu_item_call.on_click function="Object.SitOrStand" /> - <menu_item_call.on_visible + <menu_item_call.on_enable function="Object.StandUpVisible" /> <menu_item_call.on_enable function="Object.EnableSitOrStand" -- cgit v1.2.3 From 8e7fd534aa27a3cd4b63b60fbc7a7dbb41f109cb Mon Sep 17 00:00:00 2001 From: Igor Borovkov <iborovkov@productengine.com> Date: Wed, 30 Jun 2010 18:46:25 +0300 Subject: EXT-8065 FIXED added hiding Start IM button on a group call invitation dialog Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/675/ --HG-- branch : product-engine --- indra/newview/llimview.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/indra/newview/llimview.cpp b/indra/newview/llimview.cpp index 6d3998bb96..a2b72e7d74 100644 --- a/indra/newview/llimview.cpp +++ b/indra/newview/llimview.cpp @@ -1929,9 +1929,9 @@ BOOL LLIncomingCallDialog::postBuild() mLifetimeTimer.stop(); } - //it's not possible to connect to existing Ad-Hoc chat through incoming ad-hoc call + //it's not possible to connect to existing Ad-Hoc/Group chat through incoming ad-hoc call //and no IM for avaline - childSetVisible("Start IM", is_avatar && notify_box_type != "VoiceInviteAdHoc"); + childSetVisible("Start IM", is_avatar && notify_box_type != "VoiceInviteAdHoc" && notify_box_type != "VoiceInviteGroup"); setCanDrag(FALSE); -- cgit v1.2.3 From aabffa4d082d688c1e13105266a9093f7905db3f Mon Sep 17 00:00:00 2001 From: Yuri Chebotarev <ychebotarev@productengine.com> Date: Wed, 30 Jun 2010 19:27:22 +0300 Subject: EXT-8045 FIX check if sidetray is created reviewed by Alexei Arabadji at https://codereview.productengine.com/secondlife/r/668/ --HG-- branch : product-engine --- indra/newview/llchannelmanager.h | 1 + indra/newview/llscreenchannel.cpp | 7 +++++-- indra/newview/llsidetray.cpp | 13 +++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/indra/newview/llchannelmanager.h b/indra/newview/llchannelmanager.h index 8c725f2660..2d6aa181c5 100644 --- a/indra/newview/llchannelmanager.h +++ b/indra/newview/llchannelmanager.h @@ -119,6 +119,7 @@ public: */ static LLNotificationsUI::LLScreenChannel* getNotificationScreenChannel(); + std::vector<ChannelElem>& getChannelList() { return mChannelList;} private: LLScreenChannel* createChannel(LLChannelManager::Params& p); diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp index 55c8809184..ef89c07c60 100644 --- a/indra/newview/llscreenchannel.cpp +++ b/indra/newview/llscreenchannel.cpp @@ -136,8 +136,11 @@ void LLScreenChannelBase::updatePositionAndSize(LLRect old_world_rect, LLRect ne void LLScreenChannelBase::init(S32 channel_left, S32 channel_right) { - LLSideTray* side_bar = LLSideTray::getInstance(); - side_bar->getCollapseSignal().connect(boost::bind(&LLScreenChannelBase::resetPositionAndSize, this, _2)); + if(LLSideTray::instanceCreated()) + { + LLSideTray* side_bar = LLSideTray::getInstance(); + side_bar->getCollapseSignal().connect(boost::bind(&LLScreenChannelBase::resetPositionAndSize, this, _2)); + } S32 channel_top = gViewerWindow->getWorldViewRectScaled().getHeight(); S32 channel_bottom = gViewerWindow->getWorldViewRectScaled().mBottom + gSavedSettings.getS32("ChannelBottomPanelMargin"); diff --git a/indra/newview/llsidetray.cpp b/indra/newview/llsidetray.cpp index fed39c362e..98282c1673 100644 --- a/indra/newview/llsidetray.cpp +++ b/indra/newview/llsidetray.cpp @@ -49,12 +49,15 @@ #include "llfloater.h" //for gFloaterView #include "lliconctrl.h"//for OpenClose tab icon #include "llsidetraypanelcontainer.h" +#include "llscreenchannel.h" +#include "llchannelmanager.h" #include "llwindow.h"//for SetCursor #include "lltransientfloatermgr.h" //#include "llscrollcontainer.h" using namespace std; +using namespace LLNotificationsUI; static LLRootViewRegistry::Register<LLSideTray> t1("side_tray"); static LLDefaultChildRegistry::Register<LLSideTrayTab> t2("sidetray_tab"); @@ -276,6 +279,16 @@ BOOL LLSideTray::postBuild() LLAppViewer::instance()->setOnLoginCompletedCallback(boost::bind(&LLSideTray::handleLoginComplete, this)); + //EXT-8045 + //connect all already created channels to reflect sidetray collapse/expand + std::vector<LLChannelManager::ChannelElem>& channels = LLChannelManager::getInstance()->getChannelList(); + for(std::vector<LLChannelManager::ChannelElem>::iterator it = channels.begin();it!=channels.end();++it) + { + if ((*it).channel) + { + getCollapseSignal().connect(boost::bind(&LLScreenChannelBase::resetPositionAndSize, (*it).channel, _2)); + } + } return true; } -- cgit v1.2.3 From 323c5abef6dda7805daff455b3f467c5b762017e Mon Sep 17 00:00:00 2001 From: Paul Guslisty <pguslisty@productengine.com> Date: Wed, 30 Jun 2010 19:36:52 +0300 Subject: EXT-7879 FIXED Edit Classified has duplicate \"Price for Ad\" and unnecessary help link - Removed the ? for publishing floater - Removed more info text from publishing floater - Removed duplicate price spinner in sidetray, keep the one in the publish floater - Changed label in publish floater to \"Price: L$(spinner)\" and makde label bold and white Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/673/ --HG-- branch : product-engine --- .../default/xui/en/floater_publish_classified.xml | 26 ++----------------- .../skins/default/xui/en/panel_edit_classified.xml | 29 ---------------------- 2 files changed, 2 insertions(+), 53 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_publish_classified.xml b/indra/newview/skins/default/xui/en/floater_publish_classified.xml index 3225843d09..f25c170f33 100644 --- a/indra/newview/skins/default/xui/en/floater_publish_classified.xml +++ b/indra/newview/skins/default/xui/en/floater_publish_classified.xml @@ -5,7 +5,6 @@ height="200" layout="topleft" name="publish_classified" - help_topic="price_for_listing" title="Publishing Classified" width="320"> <text @@ -29,8 +28,8 @@ Remember, Classified fees are non-refundable. halign="left" height="23" increment="1" - label_width="70" - label="Price for Ad: " + label_width="45" + label="Price: L$ " v_pad="10" layout="topleft" left="15" @@ -41,27 +40,6 @@ Remember, Classified fees are non-refundable. top_pad="10" tool_tip="Price for listing." width="150" /> - <text - follows="top|left" - font="SansSerif" - height="60" - layout="topleft" - left_pad="5" - top_delta="0" - word_wrap="true" - value="L$" - name="l$_text" /> - <text - follows="top|right" - font="SansSerif" - height="20" - layout="topleft" - left="15" - name="more_info_text" - top_pad="-20" - width="300"> -More info (link to classified help) - </text> <button follows="top|left" height="22" diff --git a/indra/newview/skins/default/xui/en/panel_edit_classified.xml b/indra/newview/skins/default/xui/en/panel_edit_classified.xml index 3f41973b72..cbdd548577 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_classified.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_classified.xml @@ -253,35 +253,6 @@ width="20"/> </icons_combo_box.item> </icons_combo_box> - <text - follows="left|top" - font.style="BOLD" - height="10" - layout="topleft" - left="10" - name="price_for_listing_label" - text_color="white" - top_pad="15" - value="Price for listing:" - width="250" /> - <spinner - decimal_digits="0" - follows="left|top" - halign="left" - height="23" - increment="1" - label_width="20" - label="L$" - v_pad="10" - layout="topleft" - left="10" - value="50" - min_val="50" - max_val="99999" - name="price_for_listing" - top_pad="5" - tool_tip="Price for listing." - width="105" /> <check_box height="16" label="Auto renew each week" -- cgit v1.2.3 From 7b5e359f55e64c06f9a019999b72b9d027526c73 Mon Sep 17 00:00:00 2001 From: Paul Guslisty <pguslisty@productengine.com> Date: Wed, 30 Jun 2010 19:38:33 +0300 Subject: EXT-8011 FIXED Location input should be disabled after disconnect - Implemented LLDestroyClass::destroyClass() in LLPanelTopInfoBar and in LLNavigationBar to disable navigation and paneltopinfobar afer disconnection forced Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/659/ --HG-- branch : product-engine --- indra/newview/llnavigationbar.h | 11 ++++++++++- indra/newview/llpaneltopinfobar.h | 15 ++++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/indra/newview/llnavigationbar.h b/indra/newview/llnavigationbar.h index b512f2a79c..03f17af09b 100644 --- a/indra/newview/llnavigationbar.h +++ b/indra/newview/llnavigationbar.h @@ -87,9 +87,10 @@ protected: * Web browser-like navigation bar. */ class LLNavigationBar - : public LLPanel, public LLSingleton<LLNavigationBar> + : public LLPanel, public LLSingleton<LLNavigationBar>, private LLDestroyClass<LLNavigationBar> { LOG_CLASS(LLNavigationBar); + friend class LLDestroyClass<LLNavigationBar>; public: LLNavigationBar(); @@ -136,6 +137,14 @@ private: void fillSearchComboBox(); + static void destroyClass() + { + if (LLNavigationBar::instanceExists()) + { + LLNavigationBar::getInstance()->setEnabled(FALSE); + } + } + LLMenuGL* mTeleportHistoryMenu; LLPullButton* mBtnBack; LLPullButton* mBtnForward; diff --git a/indra/newview/llpaneltopinfobar.h b/indra/newview/llpaneltopinfobar.h index e417a06a64..6e6fbc08ab 100644 --- a/indra/newview/llpaneltopinfobar.h +++ b/indra/newview/llpaneltopinfobar.h @@ -40,10 +40,12 @@ class LLTextBox; class LLIconCtrl; class LLParcelChangeObserver; -class LLPanelTopInfoBar : public LLPanel, public LLSingleton<LLPanelTopInfoBar> +class LLPanelTopInfoBar : public LLPanel, public LLSingleton<LLPanelTopInfoBar>, private LLDestroyClass<LLPanelTopInfoBar> { LOG_CLASS(LLPanelTopInfoBar); + friend class LLDestroyClass<LLPanelTopInfoBar>; + public: LLPanelTopInfoBar(); ~LLPanelTopInfoBar(); @@ -145,6 +147,17 @@ private: */ void setParcelInfoText(const std::string& new_text); + /** + * Implementation of LLDestroyClass<LLSideTray> + */ + static void destroyClass() + { + if (LLPanelTopInfoBar::instanceExists()) + { + LLPanelTopInfoBar::getInstance()->setEnabled(FALSE); + } + } + LLButton* mInfoBtn; LLTextBox* mParcelInfoText; LLTextBox* mDamageText; -- cgit v1.2.3 From 625d90f690b5d2db6154360227f5d9dbddef0c85 Mon Sep 17 00:00:00 2001 From: Paul Guslisty <pguslisty@productengine.com> Date: Wed, 30 Jun 2010 19:40:54 +0300 Subject: EXT-8001 FIXED [TRUNCATION] [HARD CODE] IT - create new favorite title has truncated text - Set tooltip for titles in PanelPlaces panel - Also fixed translation of Favorites forlder in inventory. Corrected value of name attribute in strings.xml Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/676/ --HG-- branch : product-engine --- indra/newview/llpanelplaceinfo.cpp | 1 + indra/newview/skins/default/xui/en/strings.xml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/indra/newview/llpanelplaceinfo.cpp b/indra/newview/llpanelplaceinfo.cpp index db305b25fa..8c1f5d0915 100644 --- a/indra/newview/llpanelplaceinfo.cpp +++ b/indra/newview/llpanelplaceinfo.cpp @@ -123,6 +123,7 @@ void LLPanelPlaceInfo::setParcelID(const LLUUID& parcel_id) void LLPanelPlaceInfo::setInfoType(EInfoType type) { mTitle->setText(mCurrentTitle); + mTitle->setToolTip(mCurrentTitle); mInfoType = type; } diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 799d440292..f7611b6833 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -1939,7 +1939,7 @@ Clears (deletes) the media and all params from the given face. <string name="InvFolder Uncompressed Sounds">Uncompressed Sounds</string> <string name="InvFolder Animations">Animations</string> <string name="InvFolder Gestures">Gestures</string> - <string name="InvFolder favorite">Favorites</string> + <string name="InvFolder Favorite">Favorites</string> <string name="InvFolder Current Outfit">Current Outfit</string> <string name="InvFolder My Outfits">My Outfits</string> <string name="InvFolder Accessories">Accessories</string> -- cgit v1.2.3 From 1a3b463af3b3b0668505f406162a7e2d3b557ee7 Mon Sep 17 00:00:00 2001 From: Andrew Dyukov <adyukov@productengine.com> Date: Wed, 30 Jun 2010 20:02:51 +0300 Subject: EXT-7737 ADDITIONAL FIX Added changing of color to emphasis for selected outfit accordion header. - Added method to accordion which allows to set color of its header's title and used it when highliting selected outfit. - Set alias for emphasis color in colors.xml to let selected outfit color be easily changed via xml in case such decision is made(because leaving it green doesn't seem a very good idea). - Also added alias for accordion header text color to avoid breaking of this fix if in header_text_color from accordion_tab.xml. --HG-- branch : product-engine --- indra/llui/llaccordionctrltab.cpp | 19 +++++++++++++++++++ indra/llui/llaccordionctrltab.h | 3 +++ indra/newview/lloutfitslist.cpp | 2 ++ indra/newview/skins/default/colors.xml | 6 ++++++ .../skins/default/xui/en/widgets/accordion_tab.xml | 2 +- 5 files changed, 31 insertions(+), 1 deletion(-) diff --git a/indra/llui/llaccordionctrltab.cpp b/indra/llui/llaccordionctrltab.cpp index 09cb15d7a8..584d45612e 100644 --- a/indra/llui/llaccordionctrltab.cpp +++ b/indra/llui/llaccordionctrltab.cpp @@ -78,6 +78,8 @@ public: void setTitleFontStyle(std::string style); + void setTitleColor(LLUIColor); + void setSelected(bool is_selected) { mIsSelected = is_selected; } virtual void onMouseEnter(S32 x, S32 y, MASK mask); @@ -192,6 +194,14 @@ void LLAccordionCtrlTab::LLAccordionCtrlTabHeader::setTitleFontStyle(std::string } } +void LLAccordionCtrlTab::LLAccordionCtrlTabHeader::setTitleColor(LLUIColor color) +{ + if(mHeaderTextbox) + { + mHeaderTextbox->setColor(color); + } +} + void LLAccordionCtrlTab::LLAccordionCtrlTabHeader::draw() { S32 width = getRect().getWidth(); @@ -520,6 +530,15 @@ void LLAccordionCtrlTab::setTitleFontStyle(std::string style) } } +void LLAccordionCtrlTab::setTitleColor(LLUIColor color) +{ + LLAccordionCtrlTabHeader* header = findChild<LLAccordionCtrlTabHeader>(DD_HEADER_NAME); + if (header) + { + header->setTitleColor(color); + } +} + boost::signals2::connection LLAccordionCtrlTab::setFocusReceivedCallback(const focus_signal_t::slot_type& cb) { LLAccordionCtrlTabHeader* header = findChild<LLAccordionCtrlTabHeader>(DD_HEADER_NAME); diff --git a/indra/llui/llaccordionctrltab.h b/indra/llui/llaccordionctrltab.h index e17ecc5319..5646a355d0 100644 --- a/indra/llui/llaccordionctrltab.h +++ b/indra/llui/llaccordionctrltab.h @@ -124,6 +124,9 @@ public: // Set text font style in LLAccordionCtrlTabHeader void setTitleFontStyle(std::string style); + // Set text color in LLAccordionCtrlTabHeader + void setTitleColor(LLUIColor color); + boost::signals2::connection setFocusReceivedCallback(const focus_signal_t::slot_type& cb); boost::signals2::connection setFocusLostCallback(const focus_signal_t::slot_type& cb); diff --git a/indra/newview/lloutfitslist.cpp b/indra/newview/lloutfitslist.cpp index 075cfa0543..23c7e64cce 100644 --- a/indra/newview/lloutfitslist.cpp +++ b/indra/newview/lloutfitslist.cpp @@ -548,6 +548,7 @@ void LLOutfitsList::highlightBaseOutfit() if (mOutfitsMap[mHighlightedOutfitUUID]) { mOutfitsMap[mHighlightedOutfitUUID]->setTitleFontStyle("NORMAL"); + mOutfitsMap[mHighlightedOutfitUUID]->setTitleColor(LLUIColorTable::instance().getColor("AccordionHeaderTextColor")); } mHighlightedOutfitUUID = base_id; @@ -555,6 +556,7 @@ void LLOutfitsList::highlightBaseOutfit() if (mOutfitsMap[base_id]) { mOutfitsMap[base_id]->setTitleFontStyle("BOLD"); + mOutfitsMap[base_id]->setTitleColor(LLUIColorTable::instance().getColor("SelectedOutfitTextColor")); } } diff --git a/indra/newview/skins/default/colors.xml b/indra/newview/skins/default/colors.xml index e8a893e31b..2188c71ff9 100644 --- a/indra/newview/skins/default/colors.xml +++ b/indra/newview/skins/default/colors.xml @@ -96,6 +96,9 @@ <!-- UI Definitions --> + <color + name="AccordionHeaderTextColor" + reference="LtGray" /> <color name="AgentChatColor" reference="White" /> @@ -645,6 +648,9 @@ <color name="ScrollbarTrackColor" reference="Black" /> + <color + name="SelectedOutfitTextColor" + reference="EmphasisColor" /> <color name="SilhouetteChildColor" value="0.13 0.42 0.77 1" /> diff --git a/indra/newview/skins/default/xui/en/widgets/accordion_tab.xml b/indra/newview/skins/default/xui/en/widgets/accordion_tab.xml index 102dc0c16d..6f68c99021 100644 --- a/indra/newview/skins/default/xui/en/widgets/accordion_tab.xml +++ b/indra/newview/skins/default/xui/en/widgets/accordion_tab.xml @@ -9,6 +9,6 @@ header_image_over="Accordion_Over" header_image_pressed="Accordion_Press" header_image_focused="Accordion_Selected" - header_text_color="LtGray" + header_text_color="AccordionHeaderTextColor" font="SansSerif" /> -- cgit v1.2.3 From 2a7b291e5a5c6df64bdd0974ee4a70490ebed0b9 Mon Sep 17 00:00:00 2001 From: Eli Linden <eli@lindenlab.com> Date: Wed, 30 Jun 2010 11:55:09 -0700 Subject: EXT-7648 FIX need to fix language files for the name change as well to avoid translation cost. --- indra/newview/skins/default/xui/da/floater_world_map.xml | 6 +++--- indra/newview/skins/default/xui/de/floater_world_map.xml | 8 ++++---- indra/newview/skins/default/xui/es/floater_world_map.xml | 6 +++--- indra/newview/skins/default/xui/fr/floater_world_map.xml | 6 +++--- indra/newview/skins/default/xui/it/floater_world_map.xml | 6 +++--- indra/newview/skins/default/xui/ja/floater_world_map.xml | 8 ++++---- indra/newview/skins/default/xui/nl/floater_world_map.xml | 4 ++-- indra/newview/skins/default/xui/pl/floater_world_map.xml | 6 +++--- indra/newview/skins/default/xui/pt/floater_world_map.xml | 8 ++++---- 9 files changed, 29 insertions(+), 29 deletions(-) diff --git a/indra/newview/skins/default/xui/da/floater_world_map.xml b/indra/newview/skins/default/xui/da/floater_world_map.xml index 4dec9a9ba7..ca18faa0bb 100644 --- a/indra/newview/skins/default/xui/da/floater_world_map.xml +++ b/indra/newview/skins/default/xui/da/floater_world_map.xml @@ -35,11 +35,11 @@ <text name="pg_label"> Generelt </text> - <check_box name="event_mature_chk"/> - <text name="mature_label"> + <check_box name="events_mature_chk"/> + <text name="events_mature_label"> Moderat </text> - <text name="adult_label"> + <text name="events_adult_label"> Voksent </text> </panel> diff --git a/indra/newview/skins/default/xui/de/floater_world_map.xml b/indra/newview/skins/default/xui/de/floater_world_map.xml index fb3a4ba9b5..f54d8c3328 100644 --- a/indra/newview/skins/default/xui/de/floater_world_map.xml +++ b/indra/newview/skins/default/xui/de/floater_world_map.xml @@ -39,12 +39,12 @@ <text name="pg_label"> Generell </text> - <check_box label="Mature" name="event_mature_chk"/> - <text name="mature_label"> + <check_box label="Mature" name="events_mature_chk"/> + <text name="events_mature_label"> Moderat </text> - <check_box label="Adult" name="event_adult_chk"/> - <text name="adult_label"> + <check_box label="Adult" name="events_adult_chk"/> + <text name="events_adult_label"> Adult </text> </panel> diff --git a/indra/newview/skins/default/xui/es/floater_world_map.xml b/indra/newview/skins/default/xui/es/floater_world_map.xml index deda5b86c8..3135324816 100644 --- a/indra/newview/skins/default/xui/es/floater_world_map.xml +++ b/indra/newview/skins/default/xui/es/floater_world_map.xml @@ -35,11 +35,11 @@ <text name="pg_label"> General </text> - <check_box name="event_mature_chk"/> - <text name="mature_label"> + <check_box name="events_mature_chk"/> + <text name="events_mature_label"> Moderado </text> - <text name="adult_label"> + <text name="events_adult_label"> Adulto </text> </panel> diff --git a/indra/newview/skins/default/xui/fr/floater_world_map.xml b/indra/newview/skins/default/xui/fr/floater_world_map.xml index 4d500857ea..0047a3bb04 100644 --- a/indra/newview/skins/default/xui/fr/floater_world_map.xml +++ b/indra/newview/skins/default/xui/fr/floater_world_map.xml @@ -35,11 +35,11 @@ <text name="pg_label"> Général </text> - <check_box initial_value="true" name="event_mature_chk"/> - <text name="mature_label"> + <check_box initial_value="true" name="events_mature_chk"/> + <text name="events_mature_label"> Modéré </text> - <text name="adult_label"> + <text name="events_adult_label"> Adulte </text> </panel> diff --git a/indra/newview/skins/default/xui/it/floater_world_map.xml b/indra/newview/skins/default/xui/it/floater_world_map.xml index b07daac6fb..a6bd4ffbaf 100644 --- a/indra/newview/skins/default/xui/it/floater_world_map.xml +++ b/indra/newview/skins/default/xui/it/floater_world_map.xml @@ -35,11 +35,11 @@ <text name="pg_label"> Generale </text> - <check_box name="event_mature_chk"/> - <text name="mature_label"> + <check_box name="events_mature_chk"/> + <text name="events_mature_label"> Moderato </text> - <text name="adult_label"> + <text name="events_adult_label"> Adulto </text> </panel> diff --git a/indra/newview/skins/default/xui/ja/floater_world_map.xml b/indra/newview/skins/default/xui/ja/floater_world_map.xml index ce9e7d0777..62670251d6 100644 --- a/indra/newview/skins/default/xui/ja/floater_world_map.xml +++ b/indra/newview/skins/default/xui/ja/floater_world_map.xml @@ -39,12 +39,12 @@ <text name="pg_label"> General </text> - <check_box initial_value="true" label="Mature" name="event_mature_chk"/> - <text name="mature_label"> + <check_box initial_value="true" label="Mature" name="events_mature_chk"/> + <text name="events_mature_label"> Moderate </text> - <check_box label="Adult" name="event_adult_chk"/> - <text name="adult_label"> + <check_box label="Adult" name="events_adult_chk"/> + <text name="events_adult_label"> Adult </text> </panel> diff --git a/indra/newview/skins/default/xui/nl/floater_world_map.xml b/indra/newview/skins/default/xui/nl/floater_world_map.xml index bc14f92126..2fee2ecf05 100644 --- a/indra/newview/skins/default/xui/nl/floater_world_map.xml +++ b/indra/newview/skins/default/xui/nl/floater_world_map.xml @@ -26,8 +26,8 @@ Evenementen: </text> <check_box label="PG" name="event_chk"/> - <check_box label="Mature" name="event_mature_chk"/> - <check_box label="Adult" name="event_adult_chk"/> + <check_box label="Mature" name="events_mature_chk"/> + <check_box label="Adult" name="events_adult_chk"/> <combo_box label="Online vrienden" name="friend combo" tool_tip="Vriend die op kaart getoond wordt"> <combo_box.item name="item1" label="Online vrienden"/> </combo_box> diff --git a/indra/newview/skins/default/xui/pl/floater_world_map.xml b/indra/newview/skins/default/xui/pl/floater_world_map.xml index 05287ad42a..3e62393e7a 100644 --- a/indra/newview/skins/default/xui/pl/floater_world_map.xml +++ b/indra/newview/skins/default/xui/pl/floater_world_map.xml @@ -35,11 +35,11 @@ <text name="pg_label"> Ogólne </text> - <check_box name="event_mature_chk"/> - <text name="mature_label"> + <check_box name="events_mature_chk"/> + <text name="events_mature_label"> Moderuj </text> - <text name="adult_label"> + <text name="events_adult_label"> Adult </text> </panel> diff --git a/indra/newview/skins/default/xui/pt/floater_world_map.xml b/indra/newview/skins/default/xui/pt/floater_world_map.xml index 878d0b1973..3952b80269 100644 --- a/indra/newview/skins/default/xui/pt/floater_world_map.xml +++ b/indra/newview/skins/default/xui/pt/floater_world_map.xml @@ -39,12 +39,12 @@ <text name="pg_label"> Público geral </text> - <check_box label="Mature" name="event_mature_chk"/> - <text name="mature_label"> + <check_box label="Mature" name="events_mature_chk"/> + <text name="events_mature_label"> Moderado </text> - <check_box label="Adult" name="event_adult_chk"/> - <text name="adult_label"> + <check_box label="Adult" name="events_adult_chk"/> + <text name="events_adult_label"> Adulto </text> </panel> -- cgit v1.2.3 From b6c0444ea006e890f70ee8c93c533b2c2943e25a Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Wed, 30 Jun 2010 12:57:13 -0700 Subject: eliminate invalid xui parameter --- indra/newview/skins/default/xui/en/floater_stats.xml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/indra/newview/skins/default/xui/en/floater_stats.xml b/indra/newview/skins/default/xui/en/floater_stats.xml index f9dacf0207..b87cb9a433 100644 --- a/indra/newview/skins/default/xui/en/floater_stats.xml +++ b/indra/newview/skins/default/xui/en/floater_stats.xml @@ -361,8 +361,7 @@ <stat_view name="physicsdetail" label="Physics Details" - show_label="true" - display_children="false"> + show_label="true"> <stat_bar name="physicspinnedtasks" label="Pinned Objects" -- cgit v1.2.3 From 5d743c3c58b37dc6e9f261babfd5181906af752b Mon Sep 17 00:00:00 2001 From: Richard Linden <none@none> Date: Wed, 30 Jun 2010 13:15:33 -0700 Subject: EXT-8172 FIX notification of missing media plugins causes an infinite loop reviewed by Nyx --- indra/llui/llnotifications.cpp | 32 ++++++++++------------ indra/llui/llnotifications.h | 2 -- .../newview/skins/default/xui/en/notifications.xml | 4 +++ 3 files changed, 18 insertions(+), 20 deletions(-) diff --git a/indra/llui/llnotifications.cpp b/indra/llui/llnotifications.cpp index 7b8f51ae3c..621e72ce38 100644 --- a/indra/llui/llnotifications.cpp +++ b/indra/llui/llnotifications.cpp @@ -560,21 +560,6 @@ void LLNotification::setResponseFunctor(const LLNotificationResponderPtr& respon mResponder = responder; } -bool LLNotification::payloadContainsAll(const std::vector<std::string>& required_fields) const -{ - for(std::vector<std::string>::const_iterator required_fields_it = required_fields.begin(); - required_fields_it != required_fields.end(); - required_fields_it++) - { - std::string required_field_name = *required_fields_it; - if( ! getPayload().has(required_field_name)) - { - return false; // a required field was not found - } - } - return true; // all required fields were found -} - bool LLNotification::isEquivalentTo(LLNotificationPtr that) const { if (this->mTemplatep->mName != that->mTemplatep->mName) @@ -583,11 +568,22 @@ bool LLNotification::isEquivalentTo(LLNotificationPtr that) const } if (this->mTemplatep->mUnique) { + const LLSD& these_substitutions = this->getSubstitutions(); + const LLSD& those_substitutions = that->getSubstitutions(); + // highlander bit sez there can only be one of these - return - this->payloadContainsAll(that->mTemplatep->mUniqueContext) && - that->payloadContainsAll(this->mTemplatep->mUniqueContext); + for (std::vector<std::string>::const_iterator it = mTemplatep->mUniqueContext.begin(), end_it = mTemplatep->mUniqueContext.end(); + it != end_it; + ++it) + { + if (these_substitutions.get(*it).asString() != those_substitutions.get(*it).asString()) + { + return false; + } + } + return true; } + return false; } diff --git a/indra/llui/llnotifications.h b/indra/llui/llnotifications.h index c942a32512..8bfada0e71 100644 --- a/indra/llui/llnotifications.h +++ b/indra/llui/llnotifications.h @@ -400,8 +400,6 @@ private: void cancel(); - bool payloadContainsAll(const std::vector<std::string>& required_fields) const; - public: // constructor from a saved notification diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 88732fee7d..290c8c55a9 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -4886,6 +4886,10 @@ If you want to view streaming media on parcels that support it you should go to persist="true" type="notify"> No Media Plugin was found to handle the "[MIME_TYPE]" mime type. Media of this type will be unavailable. + <unique> + <context key="[MIME_TYPE]"/> + </unique> + </notification> <notification icon="alertmodal.tga" -- cgit v1.2.3