From dea3e7623afa69aba983cacb0ecb84efec7ed190 Mon Sep 17 00:00:00 2001 From: Mike Antipov Date: Wed, 7 Apr 2010 10:26:32 +0300 Subject: Fixed major bug EXT-6534 (Snapshot to Disk with Custom Size, selecting Constrain Proportions causes snapshot of the active window with a background to the correct size but the window the same size as original, instead of proportionally changing the active window size.) * The reason: completely broken functionality to keep all the GUI controls in sync with the saved settings and Preview image state. Issue occurred while upgrading snapshot/social media floater (changeset (1acc14a5e7ac) New snapshot/social media floater) * Fix: added disabling of floater's buttons depend on snapshot is up to date ("Share Snapshot", "Save Snapshot", "Set As Profile Pic", "Share To Web", "Email Snapshot", "Save To My Inventory", "Save To My Computer"). QA Note: other controls should be checked against necessity to disable them while changing snapshot settings. Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/181/ --HG-- branch : product-engine --- indra/newview/llfloatersnapshot.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'indra') diff --git a/indra/newview/llfloatersnapshot.cpp b/indra/newview/llfloatersnapshot.cpp index aae379afe2..cfeaede832 100644 --- a/indra/newview/llfloatersnapshot.cpp +++ b/indra/newview/llfloatersnapshot.cpp @@ -1319,7 +1319,27 @@ void LLFloaterSnapshot::Impl::updateLayout(LLFloaterSnapshot* floaterp) // static void LLFloaterSnapshot::Impl::updateControls(LLFloaterSnapshot* floater) { + LLSnapshotLivePreview* previewp = getPreviewView(floater); + if (NULL == previewp) + { + return; + } + + // Disable buttons until Snapshot is ready. EXT-6534 + BOOL got_snap = previewp->getSnapshotUpToDate(); + + // process Main buttons + floater->childSetEnabled("share", got_snap); + floater->childSetEnabled("save", got_snap); + floater->childSetEnabled("set_profile_pic", got_snap); + + // process Share actions buttons + floater->childSetEnabled("share_to_web", got_snap); + floater->childSetEnabled("share_to_email", got_snap); + // process Save actions buttons + floater->childSetEnabled("save_to_inventory", got_snap); + floater->childSetEnabled("save_to_computer", got_snap); } // static -- cgit v1.2.3 From bb3abe5c17c92fec08da5490c3d66b411d25eacd Mon Sep 17 00:00:00 2001 From: Alexei Arabadji Date: Wed, 7 Apr 2010 10:49:12 +0300 Subject: fixed EXT-5842 There is a lot of unused space in the online/offline toasts, - decreased on/offline notification toasts width from 305 to 220px; - added toast right alignment; - made toasts for long avatar names taller (according to max length of avatar full name(63 characters) made 3 max line of message text in online/offline toasts, also corrected initial geometry parameters of panel_online_status_toast.xml to allow method LLToastPanel::snapToMessageHeigh works correctly); reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/182/ --HG-- branch : product-engine --- indra/newview/llnotificationtiphandler.cpp | 4 ++-- indra/newview/llscreenchannel.cpp | 4 +++- indra/newview/skins/default/xui/en/panel_online_status_toast.xml | 8 ++++---- 3 files changed, 9 insertions(+), 7 deletions(-) (limited to 'indra') diff --git a/indra/newview/llnotificationtiphandler.cpp b/indra/newview/llnotificationtiphandler.cpp index 1f1afe293a..afc00bf7ef 100644 --- a/indra/newview/llnotificationtiphandler.cpp +++ b/indra/newview/llnotificationtiphandler.cpp @@ -71,8 +71,8 @@ public: p.notification->getResponseTemplate())); } - // set line max count to 2 in case of a very long name - snapToMessageHeight(getChild("message"), 2); + // set line max count to 3 in case of a very long name + snapToMessageHeight(getChild("message"), 3); } }; diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp index dffb5e5e12..e9a80907b7 100644 --- a/indra/newview/llscreenchannel.cpp +++ b/indra/newview/llscreenchannel.cpp @@ -480,7 +480,9 @@ void LLScreenChannel::showToastsBottom() } toast_rect = (*it).toast->getRect(); - toast_rect.setOriginAndSize(getRect().mLeft, bottom + toast_margin, toast_rect.getWidth() ,toast_rect.getHeight()); + toast_rect.setOriginAndSize(getRect().mRight - toast_rect.getWidth(), + bottom + toast_margin, toast_rect.getWidth(), + toast_rect.getHeight()); (*it).toast->setRect(toast_rect); if(floater && floater->overlapsScreenChannel()) diff --git a/indra/newview/skins/default/xui/en/panel_online_status_toast.xml b/indra/newview/skins/default/xui/en/panel_online_status_toast.xml index 14cb5fffee..b1a7697e83 100644 --- a/indra/newview/skins/default/xui/en/panel_online_status_toast.xml +++ b/indra/newview/skins/default/xui/en/panel_online_status_toast.xml @@ -1,13 +1,13 @@ + width="220"> \ No newline at end of file -- cgit v1.2.3 From 05a4e9dd8bb13caadd25ef3e71aab43e9b857cd1 Mon Sep 17 00:00:00 2001 From: Dmitry Zaporozhan Date: Wed, 7 Apr 2010 10:45:39 +0300 Subject: (work in progress) EXT-6564(major) - Fix wearable editing panels. Updated layout of all Edit Wearable panels. Disabled editing of no-modify wearable. Disabled "Save As" for no-copy wearable. Reviewed by Mike Antipov https://codereview.productengine.com/secondlife/r/170/ --HG-- branch : product-engine --- indra/newview/llpaneleditwearable.cpp | 21 +++++++- indra/newview/llpaneleditwearable.h | 4 ++ indra/newview/llpaneloutfitedit.cpp | 25 ++++++--- .../skins/default/xui/en/panel_edit_alpha.xml | 53 ++++++++++--------- .../skins/default/xui/en/panel_edit_eyes.xml | 55 +++++++++++++------ .../skins/default/xui/en/panel_edit_gloves.xml | 51 +++++++++++++----- .../skins/default/xui/en/panel_edit_hair.xml | 55 ++++++++++++++----- .../skins/default/xui/en/panel_edit_jacket.xml | 61 +++++++++++++++------- .../skins/default/xui/en/panel_edit_pants.xml | 51 +++++++++++++----- .../skins/default/xui/en/panel_edit_shape.xml | 4 +- .../skins/default/xui/en/panel_edit_shirt.xml | 47 ++++++++++++----- .../skins/default/xui/en/panel_edit_shoes.xml | 51 +++++++++++++----- .../skins/default/xui/en/panel_edit_skin.xml | 57 +++++++++++++++----- .../skins/default/xui/en/panel_edit_skirt.xml | 51 +++++++++++++----- .../skins/default/xui/en/panel_edit_socks.xml | 51 +++++++++++++----- .../skins/default/xui/en/panel_edit_tattoo.xml | 37 +++++++------ .../skins/default/xui/en/panel_edit_underpants.xml | 51 +++++++++++++----- .../skins/default/xui/en/panel_edit_undershirt.xml | 51 +++++++++++++----- .../skins/default/xui/en/panel_edit_wearable.xml | 4 +- 19 files changed, 556 insertions(+), 224 deletions(-) (limited to 'indra') diff --git a/indra/newview/llpaneleditwearable.cpp b/indra/newview/llpaneleditwearable.cpp index c0528da999..da74295f9e 100644 --- a/indra/newview/llpaneleditwearable.cpp +++ b/indra/newview/llpaneleditwearable.cpp @@ -270,6 +270,8 @@ LLEditWearableDictionary::SubpartEntry::SubpartEntry(ESubpart part, LLPanelEditWearable::LLPanelEditWearable() : LLPanel() + , mWearablePtr(NULL) + , mWearableItem(NULL) { } @@ -338,8 +340,7 @@ BOOL LLPanelEditWearable::isDirty() const //virtual void LLPanelEditWearable::draw() { - BOOL is_dirty = isDirty(); - mBtnRevert->setEnabled(is_dirty); + updateVerbs(); LLPanel::draw(); } @@ -401,6 +402,9 @@ void LLPanelEditWearable::showWearable(LLWearable* wearable, BOOL show) return; } + mWearableItem = gInventory.getItem(mWearablePtr->getItemID()); + llassert(mWearableItem); + EWearableType type = wearable->getType(); LLPanel *targetPanel = NULL; std::string title; @@ -489,6 +493,7 @@ void LLPanelEditWearable::initializePanel() updateScrollingPanelUI(); } + updateVerbs(); } void LLPanelEditWearable::updateScrollingPanelUI() @@ -645,7 +650,19 @@ void LLPanelEditWearable::buildParamList(LLScrollingPanelList *panel_list, value } } +void LLPanelEditWearable::updateVerbs() +{ + bool can_copy = false; + if(mWearableItem) + { + can_copy = mWearableItem->getPermissions().allowCopyBy(gAgentID); + } + BOOL is_dirty = isDirty(); + mBtnRevert->setEnabled(is_dirty); + childSetEnabled("save_as_button", is_dirty && can_copy); +} +// EOF diff --git a/indra/newview/llpaneleditwearable.h b/indra/newview/llpaneleditwearable.h index 4178659617..8b63685177 100644 --- a/indra/newview/llpaneleditwearable.h +++ b/indra/newview/llpaneleditwearable.h @@ -41,6 +41,7 @@ class LLWearable; class LLTextEditor; class LLTextBox; +class LLViewerInventoryItem; class LLViewerVisualParam; class LLVisualParamHint; class LLViewerJointMesh; @@ -73,9 +74,12 @@ private: LLPanel* getPanel(EWearableType type); void getSortedParams(value_map_t &sorted_params, const std::string &edit_group); void buildParamList(LLScrollingPanelList *panel_list, value_map_t &sorted_params, LLAccordionCtrlTab *tab); + // update bottom bar buttons ("Save", "Revert", etc) + void updateVerbs(); // the pointer to the wearable we're editing. NULL means we're not editing a wearable. LLWearable *mWearablePtr; + LLViewerInventoryItem* mWearableItem; // these are constant no matter what wearable we're editing LLButton *mBtnRevert; diff --git a/indra/newview/llpaneloutfitedit.cpp b/indra/newview/llpaneloutfitedit.cpp index 1ab2100a41..b956004129 100644 --- a/indra/newview/llpaneloutfitedit.cpp +++ b/indra/newview/llpaneloutfitedit.cpp @@ -367,19 +367,32 @@ void LLPanelOutfitEdit::onUpClicked(void) void LLPanelOutfitEdit::onEditWearableClicked(void) { LLUUID id_to_edit = mLookContents->getSelectionInterface()->getCurrentID(); - LLViewerInventoryItem * item_to_edit = gInventory.getItem(id_to_edit); if (item_to_edit) { // returns null if not a wearable (attachment, etc). LLWearable* wearable_to_edit = gAgentWearables.getWearableFromAssetID(item_to_edit->getAssetUUID()); - if (!wearable_to_edit || !wearable_to_edit->getPermissions().allowModifyBy(gAgent.getID()) ) - { - LLSidepanelAppearance::editWearable(wearable_to_edit, getParent()); - if (mEditWearableBtn->getVisible()) + if(wearable_to_edit) + { + bool can_modify = false; + bool is_complete = item_to_edit->isComplete(); + // if item_to_edit is a link, its properties are not appropriate, + // lets get original item with actual properties + LLViewerInventoryItem* original_item = gInventory.getItem(wearable_to_edit->getItemID()); + if(original_item) { - mEditWearableBtn->setVisible(FALSE); + can_modify = original_item->getPermissions().allowModifyBy(gAgentID); + is_complete = original_item->isComplete(); + } + + if (can_modify && is_complete) + { + LLSidepanelAppearance::editWearable(wearable_to_edit, getParent()); + if (mEditWearableBtn->getVisible()) + { + mEditWearableBtn->setVisible(FALSE); + } } } } diff --git a/indra/newview/skins/default/xui/en/panel_edit_alpha.xml b/indra/newview/skins/default/xui/en/panel_edit_alpha.xml index 40647e1b81..1d0c0a02b0 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_alpha.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_alpha.xml @@ -1,33 +1,38 @@ + width="333" > + width="313" > + width="94" /> + width="94" /> + top="120" + width="94" /> + top="120" + width="94" /> + top="230" + width="94" /> + width="333" > + width="313" > - - + + + diff --git a/indra/newview/skins/default/xui/en/panel_edit_gloves.xml b/indra/newview/skins/default/xui/en/panel_edit_gloves.xml index 7aca40e8d9..7d8eed5085 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_gloves.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_gloves.xml @@ -1,21 +1,26 @@ + width="333" > + width="313" > - + + + diff --git a/indra/newview/skins/default/xui/en/panel_edit_hair.xml b/indra/newview/skins/default/xui/en/panel_edit_hair.xml index e7d1c05301..cd81aa2c4f 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_hair.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_hair.xml @@ -1,21 +1,26 @@ + width="333" > + width="313" > + + follows="all" + height ="300" + layout="topleft" + left="0" + name="wearable_accordion" + single_expansion="true" + top="0" + width="313"> + diff --git a/indra/newview/skins/default/xui/en/panel_edit_jacket.xml b/indra/newview/skins/default/xui/en/panel_edit_jacket.xml index ed92b1e0f8..ba03865937 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_jacket.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_jacket.xml @@ -1,21 +1,26 @@ + width="333" > + width="313" > + width="74" /> + width="74" /> + width="74" /> - + + + diff --git a/indra/newview/skins/default/xui/en/panel_edit_pants.xml b/indra/newview/skins/default/xui/en/panel_edit_pants.xml index b764188e04..5b02d1f968 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_pants.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_pants.xml @@ -1,21 +1,26 @@ + width="333" > + width="313" > - + + + diff --git a/indra/newview/skins/default/xui/en/panel_edit_shape.xml b/indra/newview/skins/default/xui/en/panel_edit_shape.xml index 9a3b5c26ec..e1c574001a 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_shape.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_shape.xml @@ -4,7 +4,7 @@ follows="all" height="400" layout="topleft" - left="10" + left="0" name="edit_shape_panel" top_pad="10" width="333" > @@ -14,7 +14,7 @@ bg_opaque_color="DkGray2" background_visible="true" background_opaque="true" - follows="top|left" + follows="top|left|right" height="50" left="10" layout="topleft" diff --git a/indra/newview/skins/default/xui/en/panel_edit_shirt.xml b/indra/newview/skins/default/xui/en/panel_edit_shirt.xml index 4b7235545f..7da8de4c0b 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_shirt.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_shirt.xml @@ -1,21 +1,26 @@ + width="333" > + width="313" > + + single_expansion="true" + top="0" + width="313"> + diff --git a/indra/newview/skins/default/xui/en/panel_edit_shoes.xml b/indra/newview/skins/default/xui/en/panel_edit_shoes.xml index e886afa010..84fe26f7f6 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_shoes.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_shoes.xml @@ -1,21 +1,26 @@ + width="333" > + width="313" > - + + + diff --git a/indra/newview/skins/default/xui/en/panel_edit_skin.xml b/indra/newview/skins/default/xui/en/panel_edit_skin.xml index 918606b54c..b5c8c95473 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_skin.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_skin.xml @@ -1,21 +1,26 @@ + width="333" > + width="313" > + + top="0" + single_expansion="true" + width="313"> + diff --git a/indra/newview/skins/default/xui/en/panel_edit_skirt.xml b/indra/newview/skins/default/xui/en/panel_edit_skirt.xml index 6cccab1843..16f6950bd5 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_skirt.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_skirt.xml @@ -1,21 +1,26 @@ + width="333" > + width="313" > - + + + diff --git a/indra/newview/skins/default/xui/en/panel_edit_socks.xml b/indra/newview/skins/default/xui/en/panel_edit_socks.xml index fc7de00714..e4f916703b 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_socks.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_socks.xml @@ -1,21 +1,26 @@ + width="333" > + width="313" > - + + + diff --git a/indra/newview/skins/default/xui/en/panel_edit_tattoo.xml b/indra/newview/skins/default/xui/en/panel_edit_tattoo.xml index b214cd3de0..ed990eb095 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_tattoo.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_tattoo.xml @@ -1,57 +1,62 @@ + width="333" > + width="313" > + width="94" /> + width="94" /> + top_pad="10" + width="94" /> diff --git a/indra/newview/skins/default/xui/en/panel_edit_underpants.xml b/indra/newview/skins/default/xui/en/panel_edit_underpants.xml index 03e0bb70ef..d43497c943 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_underpants.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_underpants.xml @@ -1,21 +1,26 @@ + width="333" > + width="313" > - + + + diff --git a/indra/newview/skins/default/xui/en/panel_edit_undershirt.xml b/indra/newview/skins/default/xui/en/panel_edit_undershirt.xml index 20c56142fb..45c6ef4526 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_undershirt.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_undershirt.xml @@ -1,21 +1,26 @@ + width="333" > + width="313" > - + + + diff --git a/indra/newview/skins/default/xui/en/panel_edit_wearable.xml b/indra/newview/skins/default/xui/en/panel_edit_wearable.xml index b4272bb10a..dc2f085356 100644 --- a/indra/newview/skins/default/xui/en/panel_edit_wearable.xml +++ b/indra/newview/skins/default/xui/en/panel_edit_wearable.xml @@ -155,7 +155,7 @@ left="0" bg_opaque_color="DkGray2" background_visible="true" background_opaque="true" - follows="top|left" + follows="top|left|right" height="60" label="Shirt" layout="topleft" @@ -164,7 +164,7 @@ left="0" top_pad="10" width="313"> Date: Wed, 7 Apr 2010 10:54:23 +0300 Subject: Done normal task EXT-6583 ([TRUNCATION] build > select build tool > create tool > texture tab) * Increased spinners' "width" & "label_width" attribute values. Updated checkboxes & "Apply" button placement to be accommodated in tab. The longest label is in 'DE' locale. * Also removed overrides of these widgets in 'fr' & 'it' locales Reviewed by Vadim Savchuk at https://codereview.productengine.com/secondlife/r/183/ --HG-- branch : product-engine --- .../newview/skins/default/xui/en/floater_tools.xml | 30 +++++++++++----------- .../newview/skins/default/xui/fr/floater_tools.xml | 6 ++--- .../newview/skins/default/xui/it/floater_tools.xml | 6 ++--- 3 files changed, 21 insertions(+), 21 deletions(-) (limited to 'indra') diff --git a/indra/newview/skins/default/xui/en/floater_tools.xml b/indra/newview/skins/default/xui/en/floater_tools.xml index 4c67698943..cc9e72cfb5 100644 --- a/indra/newview/skins/default/xui/en/floater_tools.xml +++ b/indra/newview/skins/default/xui/en/floater_tools.xml @@ -2540,18 +2540,18 @@ even though the user gets a free copy. height="19" initial_value="0" label="Horizontal (U)" - label_width="90" + label_width="125" layout="topleft" left="20" max_val="100" name="TexScaleU" top_pad="6" - width="160" /> + width="185" /> @@ -2560,17 +2560,17 @@ even though the user gets a free copy. height="19" initial_value="0" label="Vertical (V)" - label_width="90" + label_width="125" layout="topleft" left="20" max_val="100" name="TexScaleV" - width="160" /> + width="185" /> @@ -2582,12 +2582,12 @@ even though the user gets a free copy. initial_value="0" label="Rotation˚" layout="topleft" - label_width="100" + label_width="135" left="10" max_val="9999" min_val="-9999" name="TexRot" - width="170" /> + width="195" /> + width="195" />