Giant VMM merge, still need to compile it and fix llfloatermarketplacelistings

Merge VMM up to change 187902d9c4afd2990acddeb964c928179a52d189

mAllowWear=>mAllowOpen (should probably just remove this altogether though
inventory_panels now accept the "show_root_folder", "allow_drop_on_root", "allow_open", and "use_marketplace_folders" attributes.

Other stuff in this commit:
LLPanelInjector~
Sync lltooldraganddrop to alchemy
Sync notifications up with alchemy
Reorganize notifications some, to better merge with upstream
Remove duplicate InventorySortOrder in settings map
There's a bit of a weird folderview merge mixed into here, I wouldn't trust it, but this thing is so god damn tangled I can't go back now~

Wouldn't have been possible without help from Shyotl and music by Amanda Palmer
This commit is contained in:
Inusaito Sayori
2015-07-30 11:45:19 -04:00
committed by Lirusaito
parent 167d336274
commit f140b4f35c
46 changed files with 3480 additions and 1408 deletions

View File

@@ -1,6 +1,6 @@
/**
* @file llpanelmaininventory.h
* @brief LLPanelMainInventory, LLInventoryFolder, and LLInventoryItem
* @file llinventorypanel.h
* @brief LLInventoryPanel
* class definition
*
* $LicenseInfo:firstyear=2001&license=viewergpl$
@@ -87,6 +87,7 @@ public:
// LLView methods
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,
EDragAndDropType cargo_type,
@@ -104,8 +105,9 @@ public:
void setSelection(const LLUUID& obj_id, BOOL take_keyboard_focus);
void setSelectCallback(const boost::function<void (const std::deque<LLFolderViewItem*>& items, BOOL user_action)>& cb);
void clearSelection();
LLInventoryFilter* getFilter();
const LLInventoryFilter* getFilter() const;
bool isSelectionRemovable();
LLInventoryFilter& getFilter();
const LLInventoryFilter& getFilter() const;
void setFilterTypes(U64 filter, LLInventoryFilter::EFilterType = LLInventoryFilter::FILTERTYPE_OBJECT);
U32 getFilterObjectTypes() const;
void setFilterPermMask(PermissionMask filter_perm_mask);
@@ -115,7 +117,7 @@ public:
const std::string getFilterSubString();
void setFilterWorn(bool worn);
bool getFilterWorn() const { return mFolderRoot.get()->getFilterWorn(); }
void setSinceLogoff(BOOL sl);
void setHoursAgo(U32 hours);
BOOL getSinceLogoff();
@@ -128,11 +130,14 @@ public:
void modelChanged(U32 mask);
LLFolderView* getRootFolder() { return mFolderRoot.get(); }
LLScrollContainer* getScrollableContainer() { return mScroller; }
bool getAllowDropOnRoot() const { return mStartFolder != "merchant"; }
bool getAllowDropOnRoot() const { return mAllowDropOnRoot; }
void onSelectionChange(const std::deque<LLFolderViewItem*> &items, BOOL user_action);
LLHandle<LLInventoryPanel> getInventoryPanelHandle() const { return getDerivedHandle<LLInventoryPanel>(); }
// Callbacks
void doToSelected(const LLSD& userdata);
// DEBUG ONLY:
static void dumpSelectionInformation(void* user_data);
@@ -156,6 +161,13 @@ public:
LLInventoryType::EType inv_type,
U32 next_owner_perm = 0);
void addItemID(const LLUUID& id, LLFolderViewItem* itemp);
void removeItemID(const LLUUID& id);
LLFolderViewItem* getItemByID(const LLUUID& id);
LLFolderViewFolder* getFolderByID(const LLUUID& id);
void setSelectionByID(const LLUUID& obj_id, BOOL take_keyboard_focus);
void updateSelection();
// Clean up stuff when the folder root gets deleted
void clearFolderRoot();
@@ -163,15 +175,17 @@ protected:
void openStartFolderOrMyInventory(); // open the first level of inventory
void onItemsCompletion(); // called when selected items are complete
LLUUID mSelectThisID;
LLInventoryModel* mInventory;
LLInventoryObserver* mInventoryObserver;
LLInvPanelComplObserver* mCompletionObserver;
BOOL mAllowMultiSelect;
bool mAllowMultiSelect;
LLHandle<LLFolderView> mFolderRoot;
LLScrollContainer* mScroller;
LLPointer<LLFolderViewGroupedItemBridge> mGroupedItemBridge;
std::map<LLUUID, LLFolderViewItem*> mItemMap;
/**
* Pointer to LLInventoryFolderViewModelBuilder.
*
@@ -197,6 +211,10 @@ public:
private:
const std::string mStartFolder;
bool mShowRootFolder;
bool mAllowDropOnRoot;
bool mAllowOpen;
bool mUseMarketplaceFolders;
const std::string mSortOrderSetting;
//--------------------------------------------------------------------
@@ -207,7 +225,7 @@ public:
public:
BOOL getIsViewsInitialized() const { return mViewsInitialized; }
const LLUUID& getRootFolderID() const;
const LLUUID getRootFolderID() const;
protected:
// Builds the UI. Call this once the inventory is usable.
void initializeViews();
@@ -225,9 +243,6 @@ protected:
class LLPanelMainInventory;
///----------------------------------------------------------------------------
/// Function declarations, constants, enums, and typedefs
///----------------------------------------------------------------------------
@@ -250,6 +265,3 @@ const BOOL TAKE_FOCUS_YES = TRUE;
const BOOL TAKE_FOCUS_NO = FALSE;
#endif // LL_LLINVENTORYPANEL_H