SL-9733 Implemented drag and drop support for presorted panel
parent
a209d207d3
commit
4d94cbd392
|
|
@ -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;
|
||||
|
|
@ -1786,6 +1793,28 @@ void LLAssetFilteredInventoryPanel::initFromParams(const Params& p)
|
|||
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);
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Reference in New Issue