From edcf44ad5905b633acf07bd00437ceeaf8fe8d1b Mon Sep 17 00:00:00 2001 From: Vladimir Pchelko Date: Fri, 2 Jul 2010 14:56:24 +0300 Subject: EXT-7473 FIXED ("Share" button was added to "gear" menu in Inventory SP.) Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/678/ --HG-- branch : product-engine --- indra/newview/llpanelmaininventory.cpp | 8 ++++++++ indra/newview/llsidepanelinventory.h | 5 +++-- .../skins/default/xui/en/menu_inventory_gear_default.xml | 11 +++++++++++ 3 files changed, 22 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index 9eece81861..7412812c62 100644 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -53,6 +53,8 @@ #include "lltooldraganddrop.h" #include "llviewermenu.h" #include "llviewertexturelist.h" +#include "llsidepanelinventory.h" +#include "llsidetray.h" const std::string FILTERS_FILENAME("filters.xml"); @@ -1158,6 +1160,12 @@ BOOL LLPanelMainInventory::isActionEnabled(const LLSD& userdata) return FALSE; } + if (command_name == "share") + { + LLSidepanelInventory* parent = dynamic_cast(LLSideTray::getInstance()->getPanel("sidepanel_inventory")); + return parent ? parent->canShare() : FALSE; + } + return TRUE; } diff --git a/indra/newview/llsidepanelinventory.h b/indra/newview/llsidepanelinventory.h index 951fdd630c..f2f2509f9a 100644 --- a/indra/newview/llsidepanelinventory.h +++ b/indra/newview/llsidepanelinventory.h @@ -58,6 +58,9 @@ public: void showTaskInfoPanel(); void showInventoryPanel(); + // checks can share selected item(s) + bool canShare(); + protected: // Tracks highlighted (selected) item in inventory panel. LLInventoryItem *getSelectedItem(); @@ -65,8 +68,6 @@ protected: void onSelectionChange(const std::deque &items, BOOL user_action); // "wear", "teleport", etc. void performActionOnSelection(const std::string &action); - bool canShare(); - void updateVerbs(); // diff --git a/indra/newview/skins/default/xui/en/menu_inventory_gear_default.xml b/indra/newview/skins/default/xui/en/menu_inventory_gear_default.xml index 62365f7cc2..c394700081 100644 --- a/indra/newview/skins/default/xui/en/menu_inventory_gear_default.xml +++ b/indra/newview/skins/default/xui/en/menu_inventory_gear_default.xml @@ -81,6 +81,17 @@ function="Inventory.GearDefault.Enable" parameter="save_texture" /> + + + + Date: Fri, 2 Jul 2010 15:07:33 +0300 Subject: EXT-8145 FIXED disabled committing on selection change when list's selection is restored (panel edit outfit) turning off committing on selection change for the COF Wearables flat lists while restoring selection between refreshes/updates Reviewed by Vadim Savchuk and Neal Orman at https://codereview.productengine.com/secondlife/r/683/ --HG-- branch : product-engine --- indra/newview/llcofwearables.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llcofwearables.cpp b/indra/newview/llcofwearables.cpp index 472d2ccf24..f278fb6a7b 100644 --- a/indra/newview/llcofwearables.cpp +++ b/indra/newview/llcofwearables.cpp @@ -372,6 +372,11 @@ void LLCOFWearables::refresh() iter != iter_end; ++iter) { LLFlatListView* list = iter->first; + if (!list) continue; + + //restoring selection should not fire commit callbacks + list->setCommitOnSelectionChange(false); + const values_vector_t& values = iter->second; for (values_vector_t::const_iterator value_it = values.begin(), @@ -385,6 +390,8 @@ void LLCOFWearables::refresh() list->selectItemByValue(*value_it); } } + + list->setCommitOnSelectionChange(true); } } -- cgit v1.2.3 From 9388a14e47c61cb5745494982b588a93e4f9d811 Mon Sep 17 00:00:00 2001 From: Vladimir Pchelko Date: Fri, 2 Jul 2010 15:07:33 +0300 Subject: EXT-8136 FIXED (Accordion order in outfit editor was corrected. (Attachment / Clothing / Body). -> (Clothing / Attachment / Body).) Reviewed by Vadim Savchuk and Neal Orman https://codereview.productengine.com/secondlife/r/671/ --HG-- branch : product-engine --- .../skins/default/xui/en/panel_cof_wearables.xml | 26 +++++++++++----------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/panel_cof_wearables.xml b/indra/newview/skins/default/xui/en/panel_cof_wearables.xml index d5943ea156..f438e3d42d 100644 --- a/indra/newview/skins/default/xui/en/panel_cof_wearables.xml +++ b/indra/newview/skins/default/xui/en/panel_cof_wearables.xml @@ -22,40 +22,40 @@ width="311"> + name="tab_clothing" + title="Clothing"> - - + width="311" /> + name="tab_attachments" + title="Attachments"> + width="311"> + + Date: Fri, 2 Jul 2010 15:23:05 +0300 Subject: EXT-5692 FIX Add callback to create widget segment with LLAvatarIconCtrl (or LLGroupIconCtrl) based on url match id. reviewed by Richard Nelson at https://codereview.productengine.com/secondlife/r/610/ --HG-- branch : product-engine --- indra/newview/llappviewer.cpp | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'indra/newview') diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 1ed63555b0..cc28f41fa1 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -81,6 +81,8 @@ #include "llvoicechannel.h" #include "llvoavatarself.h" #include "llsidetray.h" +#include "llurlmatch.h" +#include "lltextutil.h" #include "llweb.h" @@ -192,6 +194,7 @@ #include "llviewerthrottle.h" #include "llparcel.h" #include "llavatariconctrl.h" +#include "llgroupiconctrl.h" // Include for security api initialization #include "llsecapi.h" @@ -351,6 +354,45 @@ static void ui_audio_callback(const LLUUID& uuid) } } +bool create_text_segment_icon_from_url_match(LLUrlMatch* match,LLTextBase* base) +{ + if(!match || !base) + return false; + + LLUUID match_id = match->getID(); + + LLIconCtrl* icon; + + if(gAgent.isInGroup(match_id, TRUE)) + { + LLGroupIconCtrl::Params icon_params = LLUICtrlFactory::instance().getDefaultParams(); + icon_params.group_id = match_id; + icon_params.rect = LLRect(0, 16, 16, 0); + icon_params.visible = true; + icon = LLUICtrlFactory::instance().createWidget(icon_params); + } + else + { + LLAvatarIconCtrl::Params icon_params = LLUICtrlFactory::instance().getDefaultParams(); + icon_params.avatar_id = match_id; + icon_params.rect = LLRect(0, 16, 16, 0); + icon_params.visible = true; + icon = LLUICtrlFactory::instance().createWidget(icon_params); + } + + LLInlineViewSegment::Params params; + params.force_newline = false; + params.view = icon; + params.left_pad = 4; + params.right_pad = 4; + params.top_pad = 2; + params.bottom_pad = 2; + + base->appendWidget(params," ",false); + + return true; +} + void request_initial_instant_messages() { static BOOL requested = FALSE; @@ -893,6 +935,7 @@ bool LLAppViewer::init() } LLViewerMedia::initClass(); + LLTextUtil::TextHelpers::iconCallbackCreationFunction = create_text_segment_icon_from_url_match; //EXT-7013 - On windows for some locale (Japanese) standard //datetime formatting functions didn't support some parameters such as "weekday". -- cgit v1.2.3 From 589619d8ccdcc9dfb5b575e602a657c7c59b0b4a Mon Sep 17 00:00:00 2001 From: Vadim Savchuk Date: Fri, 2 Jul 2010 16:46:25 +0300 Subject: EXT-7304 Disable "Share", "Pay", "Call", etc buttons in IM window when viewer gets disconnected. I haven't found a better way to do that than binding to focus received signal (borrowed the idea from the nearby chat input field implementation). Reviewed by Sergey Litovchuk at https://codereview.productengine.com/secondlife/r/686/ --HG-- branch : product-engine --- indra/newview/llpanelimcontrolpanel.cpp | 12 +++++++++++- indra/newview/llpanelimcontrolpanel.h | 1 + 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/llpanelimcontrolpanel.cpp b/indra/newview/llpanelimcontrolpanel.cpp index 709bb83fe4..b79a4f359a 100644 --- a/indra/newview/llpanelimcontrolpanel.cpp +++ b/indra/newview/llpanelimcontrolpanel.cpp @@ -37,6 +37,7 @@ #include "llpanelimcontrolpanel.h" #include "llagent.h" +#include "llappviewer.h" // for gDisconnected #include "llavataractions.h" #include "llavatariconctrl.h" #include "llbutton.h" @@ -163,7 +164,7 @@ BOOL LLPanelIMControlPanel::postBuild() childSetAction("pay_btn", boost::bind(&LLPanelIMControlPanel::onPayButtonClicked, this)); childSetEnabled("add_friend_btn", !LLAvatarActions::isFriend(getChild("avatar_icon")->getAvatarId())); - + setFocusReceivedCallback(boost::bind(&LLPanelIMControlPanel::onFocusReceived, this)); return LLPanelChatControlPanel::postBuild(); } @@ -194,6 +195,15 @@ void LLPanelIMControlPanel::onShareButtonClicked() LLAvatarActions::share(mAvatarID); } +void LLPanelIMControlPanel::onFocusReceived() +{ + // Disable all the buttons (Call, Teleport, etc) if disconnected. + if (gDisconnected) + { + setAllChildrenEnabled(FALSE); + } +} + void LLPanelIMControlPanel::setSessionId(const LLUUID& session_id) { LLPanelChatControlPanel::setSessionId(session_id); diff --git a/indra/newview/llpanelimcontrolpanel.h b/indra/newview/llpanelimcontrolpanel.h index ce8fc58e56..0a1fd70c08 100644 --- a/indra/newview/llpanelimcontrolpanel.h +++ b/indra/newview/llpanelimcontrolpanel.h @@ -95,6 +95,7 @@ private: void onShareButtonClicked(); void onTeleportButtonClicked(); void onPayButtonClicked(); + void onFocusReceived(); LLUUID mAvatarID; }; -- cgit v1.2.3 From 41ac3f8f220f32cd36dd61a026d61345a6b9c424 Mon Sep 17 00:00:00 2001 From: Igor Borovkov Date: Fri, 2 Jul 2010 17:33:33 +0300 Subject: EXT-8134 FIXED added filtering wearables depending on expanded outfit (panel outfit edit) Add More is clicked -> list view is shown filtered depending on the expanded tab (if no item is selected), default filtering when nothing is selected and all tabs are collapsed - by clothing Reviewed by Vadim Savchuk https://codereview.productengine.com/secondlife/r/689/ --HG-- branch : product-engine --- indra/newview/llpaneloutfitedit.cpp | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp index ffd879dfd7..a7e901cbfa 100644 --- a/indra/newview/llpaneloutfitedit.cpp +++ b/indra/newview/llpaneloutfitedit.cpp @@ -726,24 +726,36 @@ void LLPanelOutfitEdit::filterWearablesBySelectedItem(void) bool more_than_one_selected = ids.size() > 1; bool is_dummy_item = (ids.size() && dynamic_cast(mCOFWearables->getSelectedItem())); - //resetting selection if no item is selected or than one item is selected - if (nothing_selected || more_than_one_selected) + //expanded accordion tab determines filtering when no item is selected + if (nothing_selected) { - if (nothing_selected) - { - showWearablesFolderView(); - applyFolderViewFilter(FVIT_ALL); - } + showWearablesListView(); - if (more_than_one_selected) + switch (mCOFWearables->getExpandedAccordionAssetType()) { - showWearablesListView(); - applyListViewFilter(LVIT_ALL); + case LLAssetType::AT_OBJECT: + applyListViewFilter(LVIT_ATTACHMENT); + break; + case LLAssetType::AT_BODYPART: + applyListViewFilter(LVIT_BODYPART); + break; + case LLAssetType::AT_CLOTHING: + default: + applyListViewFilter(LVIT_CLOTHING); + break; } return; } + //resetting selection if more than one item is selected + if (more_than_one_selected) + { + showWearablesListView(); + applyListViewFilter(LVIT_ALL); + return; + } + //filter wearables by a type represented by a dummy item if (one_selected && is_dummy_item) -- cgit v1.2.3 From 018ff76192fe13dcc1410f66833a07f6876db3b0 Mon Sep 17 00:00:00 2001 From: Alexei Arabadji Date: Fri, 2 Jul 2010 17:41:42 +0300 Subject: EXT-8127 FIXED Provided attachment list item name on outfit edit panel even if it unworn. reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/688/ --HG-- branch : product-engine --- indra/newview/llwearableitemslist.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview') diff --git a/indra/newview/llwearableitemslist.cpp b/indra/newview/llwearableitemslist.cpp index 868322699e..9a76b01853 100644 --- a/indra/newview/llwearableitemslist.cpp +++ b/indra/newview/llwearableitemslist.cpp @@ -269,13 +269,13 @@ LLPanelAttachmentListItem* LLPanelAttachmentListItem::create(LLViewerInventoryIt void LLPanelAttachmentListItem::updateItem(const std::string& name, EItemState item_state) { - std::string title_joint; + std::string title_joint = name; LLViewerInventoryItem* inv_item = getItem(); if (inv_item && isAgentAvatarValid() && gAgentAvatarp->isWearingAttachment(inv_item->getLinkedUUID())) { std::string joint = LLTrans::getString(gAgentAvatarp->getAttachedPointName(inv_item->getLinkedUUID())); - title_joint = name + " (" + joint + ")"; + title_joint = title_joint + " (" + joint + ")"; } LLPanelInventoryListItemBase::updateItem(title_joint, item_state); -- cgit v1.2.3 From daec4f6bb75634c6355f58d9fa5ef60f50a2e73f Mon Sep 17 00:00:00 2001 From: Andrew Dyukov Date: Fri, 2 Jul 2010 21:43:33 +0300 Subject: EXT-3919 FIXED Added resize corner button to the right bottom corner of the SL window. - Added resize corner icon into main_view.xml to the bottom right of the popup view. Added small dummy icon to the right part of bottom tray to avoid well buttons overlapping it. Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/690/ --HG-- branch : product-engine --- indra/newview/skins/default/xui/en/main_view.xml | 10 +++++++++- indra/newview/skins/default/xui/en/panel_bottomtray.xml | 12 ++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) (limited to 'indra/newview') diff --git a/indra/newview/skins/default/xui/en/main_view.xml b/indra/newview/skins/default/xui/en/main_view.xml index 72ab6195bc..a1ca910cbb 100644 --- a/indra/newview/skins/default/xui/en/main_view.xml +++ b/indra/newview/skins/default/xui/en/main_view.xml @@ -199,7 +199,15 @@ mouse_opaque="false" name="popup_holder" class="popup_holder" - width="1024"/> + width="1024"> + + + -- cgit v1.2.3