diff options
author | Graham Linden <graham@lindenlab.com> | 2018-10-12 23:05:03 +0100 |
---|---|---|
committer | Graham Linden <graham@lindenlab.com> | 2018-10-12 23:05:03 +0100 |
commit | e3440ed8bcd68442f024f90f238a2e4d01cd8155 (patch) | |
tree | ae882f625f4aa27e13f6c513dbaa7d4609e0cd95 /indra | |
parent | da1778e19b98508d66e0288a773e55bb86e118a0 (diff) | |
parent | 4d94cbd392886ee68a6a181d1fe321483db5ce37 (diff) |
Merge
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llfloatereditextdaycycle.cpp | 2 | ||||
-rw-r--r-- | indra/newview/llinventorypanel.cpp | 39 | ||||
-rw-r--r-- | indra/newview/llinventorypanel.h | 2 | ||||
-rw-r--r-- | indra/newview/llpanelenvironment.cpp | 2 | ||||
-rw-r--r-- | indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml | 8 |
5 files changed, 41 insertions, 12 deletions
diff --git a/indra/newview/llfloatereditextdaycycle.cpp b/indra/newview/llfloatereditextdaycycle.cpp index e1220e5592..4513240407 100644 --- a/indra/newview/llfloatereditextdaycycle.cpp +++ b/indra/newview/llfloatereditextdaycycle.cpp @@ -1600,8 +1600,6 @@ void LLFloaterEditExtDayCycle::onPickerCommitSetting(LLUUID item_id) LLViewerInventoryItem *itemp = gInventory.getItem(item_id); if (itemp) { - mInventoryId = item_id; - mInventoryItem = itemp; LLSettingsVOBase::getSettingsAsset(itemp->getAssetUUID(), [this, track, frame, item_id](LLUUID asset_id, LLSettingsBase::ptr_t settings, S32 status, LLExtStat) { onAssetLoadedForFrame(item_id, asset_id, settings, status, track, frame); }); } diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index fb010fa858..0dd37b6161 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -48,6 +48,7 @@ #include "llsidepanelinventory.h" #include "llstartup.h" #include "lltrans.h" +#include "llviewerassettype.h" #include "llviewerattachmenu.h" #include "llviewerfoldertype.h" #include "llvoavatarself.h" @@ -1762,11 +1763,17 @@ public: void initFromParams(const Params& p); protected: - LLAssetFilteredInventoryPanel(const Params& p) : LLInventoryPanel(p) { mAcceptsDragAndDrop = false; } + LLAssetFilteredInventoryPanel(const Params& p) : LLInventoryPanel(p) {} friend class LLUICtrlFactory; public: ~LLAssetFilteredInventoryPanel() {} + /*virtual*/ BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, + EDragAndDropType cargo_type, + void* cargo_data, + EAcceptance* accept, + std::string& tooltip_msg) override; + protected: /*virtual*/ LLFolderViewItem* buildNewViews(const LLUUID& id) override; /*virtual*/ void itemChanged(const LLUUID& item_id, U32 mask, const LLInventoryObject* model_item) override; @@ -1781,12 +1788,33 @@ void LLAssetFilteredInventoryPanel::initFromParams(const Params& p) mAssetType = LLAssetType::lookup(p.filter_asset_type.getValue()); LLInventoryPanel::initFromParams(p); U64 filter_cats = getFilter().getFilterCategoryTypes(); - filter_cats &= ~(1ULL << LLFolderType::FT_TRASH); filter_cats &= ~(1ULL << LLFolderType::FT_MARKETPLACE_LISTINGS); getFilter().setFilterCategoryTypes(filter_cats); getFilter().setFilterNoMarketplaceFolder(); } +BOOL LLAssetFilteredInventoryPanel::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, + EDragAndDropType cargo_type, + void* cargo_data, + EAcceptance* accept, + std::string& tooltip_msg) +{ + BOOL result = FALSE; + + if (mAcceptsDragAndDrop) + { + EDragAndDropType allow_type = LLViewerAssetType::lookupDragAndDropType(mAssetType); + // Don't allow DAD_CATEGORY here since it can contain other items besides required assets + // We should see everything we drop! + if (allow_type == cargo_type) + { + result = LLInventoryPanel::handleDragAndDrop(x, y, mask, drop, cargo_type, cargo_data, accept, tooltip_msg); + } + } + + return result; +} + LLFolderViewItem* LLAssetFilteredInventoryPanel::buildNewViews(const LLUUID& id) { LLInventoryObject const* objectp = gInventory.getObject(id); @@ -1806,12 +1834,15 @@ LLFolderViewItem* LLAssetFilteredInventoryPanel::buildNewViews(const LLUUID& id) void LLAssetFilteredInventoryPanel::itemChanged(const LLUUID& id, U32 mask, const LLInventoryObject* model_item) { - if (!model_item) + if (!model_item && !getItemByID(id)) { + // remove operation, but item is not in panel already return; } - if (model_item->getType() != mAssetType && model_item->getType() != LLAssetType::AT_CATEGORY) + if (model_item + && model_item->getType() != mAssetType + && model_item->getType() != LLAssetType::AT_CATEGORY) { return; } diff --git a/indra/newview/llinventorypanel.h b/indra/newview/llinventorypanel.h index b968b19d9a..97e1c37a31 100644 --- a/indra/newview/llinventorypanel.h +++ b/indra/newview/llinventorypanel.h @@ -155,7 +155,7 @@ public: void draw(); /*virtual*/ BOOL handleKeyHere( KEY key, MASK mask ); BOOL handleHover(S32 x, S32 y, MASK mask); - BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, + /*virtual*/ BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType cargo_type, void* cargo_data, EAcceptance* accept, diff --git a/indra/newview/llpanelenvironment.cpp b/indra/newview/llpanelenvironment.cpp index 5abef949e1..a260f98181 100644 --- a/indra/newview/llpanelenvironment.cpp +++ b/indra/newview/llpanelenvironment.cpp @@ -232,7 +232,7 @@ void LLPanelEnvironmentInfo::refresh() F32Hours daylength(mCurrentEnvironment->mDayLength); F32Hours dayoffset(mCurrentEnvironment->mDayOffset); - if (dayoffset.value() > 8.0f) + if (dayoffset.value() > 12.0f) dayoffset -= F32Hours(24.0); getChild<LLSliderCtrl>(SLD_DAYLENGTH)->setValue(daylength.value()); diff --git a/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml b/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml index 325df39f87..0816d8212d 100644 --- a/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml +++ b/indra/newview/skins/default/xui/en/panel_settings_sky_clouds.xml @@ -128,10 +128,10 @@ visible="true" left_delta="0" top_delta="21" - min_val_x="-30" - max_val_x="30" - min_val_y="-30" - max_val_y="30" /> + min_val_x="-10" + max_val_x="10" + min_val_y="-10" + max_val_y="10" /> <text follows="left|top" |