summaryrefslogtreecommitdiff
path: root/indra/newview/llinventorybridge.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llinventorybridge.h')
-rw-r--r--indra/newview/llinventorybridge.h968
1 files changed, 497 insertions, 471 deletions
diff --git a/indra/newview/llinventorybridge.h b/indra/newview/llinventorybridge.h
index ac73e0d639..70a457f98c 100644
--- a/indra/newview/llinventorybridge.h
+++ b/indra/newview/llinventorybridge.h
@@ -1,25 +1,25 @@
-/**
+/**
* @file llinventorybridge.h
* @brief Implementation of the Inventory-Folder-View-Bridge classes.
*
* $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
* Copyright (C) 2010, Linden Research, Inc.
- *
+ *
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License only.
- *
+ *
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
- *
+ *
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
+ *
* Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -65,144 +65,147 @@ typedef std::list<two_uuids_t> two_uuids_list_t;
class LLInvFVBridge : public LLFolderViewModelItemInventory
{
public:
- // This method is a convenience function which creates the correct
- // type of bridge based on some basic information
- static LLInvFVBridge* createBridge(LLAssetType::EType asset_type,
- LLAssetType::EType actual_asset_type,
- LLInventoryType::EType inv_type,
- LLInventoryPanel* inventory,
- LLFolderViewModelInventory* view_model,
- LLFolderView* root,
- const LLUUID& uuid,
- U32 flags = 0x00);
- virtual ~LLInvFVBridge() {}
-
- bool canShare() const;
- bool canListOnMarketplace() const;
- bool canListOnMarketplaceNow() const;
-
- //--------------------------------------------------------------------
- // LLInvFVBridge functionality
- //--------------------------------------------------------------------
- virtual const LLUUID& getUUID() const { return mUUID; }
+ // This method is a convenience function which creates the correct
+ // type of bridge based on some basic information
+ static LLInvFVBridge* createBridge(LLAssetType::EType asset_type,
+ LLAssetType::EType actual_asset_type,
+ LLInventoryType::EType inv_type,
+ LLInventoryPanel* inventory,
+ LLFolderViewModelInventory* view_model,
+ LLFolderView* root,
+ const LLUUID& uuid,
+ U32 flags = 0x00);
+ virtual ~LLInvFVBridge() {}
+
+ bool canShare() const;
+ bool canListOnMarketplace() const;
+ bool canListOnMarketplaceNow() const;
+
+ //--------------------------------------------------------------------
+ // LLInvFVBridge functionality
+ //--------------------------------------------------------------------
+ virtual const LLUUID& getUUID() const { return mUUID; }
virtual const LLUUID& getThumbnailUUID() const { return LLUUID::null; }
- virtual void clearDisplayName() { mDisplayName.clear(); }
- virtual void restoreItem() {}
- virtual void restoreToWorld() {}
-
- //--------------------------------------------------------------------
- // Inherited LLFolderViewModelItemInventory functions
- //--------------------------------------------------------------------
- virtual const std::string& getName() const;
- virtual const std::string& getDisplayName() const;
- const std::string& getSearchableName() const { return mSearchableName; }
-
- std::string getSearchableDescription() const;
- std::string getSearchableCreatorName() const;
- std::string getSearchableUUIDString() const;
-
- virtual PermissionMask getPermissionMask() const;
- virtual LLFolderType::EType getPreferredType() const;
- virtual time_t getCreationDate() const;
+ virtual void clearDisplayName() { mDisplayName.clear(); }
+ virtual void restoreItem() {}
+ virtual void restoreToWorld() {}
+
+ //--------------------------------------------------------------------
+ // Inherited LLFolderViewModelItemInventory functions
+ //--------------------------------------------------------------------
+ virtual const std::string& getName() const;
+ virtual const std::string& getDisplayName() const;
+ const std::string& getSearchableName() const { return mSearchableName; }
+
+ std::string getSearchableDescription() const;
+ std::string getSearchableCreatorName() const;
+ std::string getSearchableUUIDString() const;
+
+ virtual PermissionMask getPermissionMask() const;
+ virtual LLFolderType::EType getPreferredType() const;
+ virtual time_t getCreationDate() const;
virtual void setCreationDate(time_t creation_date_utc);
- virtual LLFontGL::StyleFlags getLabelStyle() const { return LLFontGL::NORMAL; }
- virtual std::string getLabelSuffix() const { return LLStringUtil::null; }
- virtual void openItem() {}
- virtual void closeItem() {}
+ virtual LLFontGL::StyleFlags getLabelStyle() const { return LLFontGL::NORMAL; }
+ virtual std::string getLabelSuffix() const { return LLStringUtil::null; }
+ virtual void openItem() {}
+ virtual void closeItem() {}
virtual void navigateToFolder(bool new_window = false, bool change_mode = false);
- virtual void showProperties();
- virtual BOOL isItemRenameable() const { return TRUE; }
- virtual BOOL isMultiPreviewAllowed() { return TRUE; }
- //virtual BOOL renameItem(const std::string& new_name) {}
- virtual BOOL isItemRemovable() const;
- virtual BOOL isItemMovable() const;
- virtual BOOL isItemInTrash() const;
+ virtual void showProperties();
+ virtual BOOL isItemRenameable() const { return TRUE; }
+ virtual BOOL isMultiPreviewAllowed() { return TRUE; }
+ //virtual BOOL renameItem(const std::string& new_name) {}
+ virtual BOOL isItemRemovable(bool check_worn = true) const;
+ virtual BOOL isItemMovable() const;
+ virtual BOOL isItemInTrash() const;
virtual bool isItemInOutfits() const;
- virtual BOOL isLink() const;
- virtual BOOL isLibraryItem() const;
- //virtual BOOL removeItem() = 0;
- virtual void removeBatch(std::vector<LLFolderViewModelItem*>& batch);
- virtual void move(LLFolderViewModelItem* new_parent_bridge) {}
+ virtual BOOL isLink() const;
+ virtual BOOL isLibraryItem() const;
+ //virtual BOOL removeItem() = 0;
+ virtual void removeBatch(std::vector<LLFolderViewModelItem*>& batch);
+ virtual void move(LLFolderViewModelItem* new_parent_bridge) {}
virtual bool isItemCopyable(bool can_copy_as_link = true) const { return false; }
- virtual BOOL copyToClipboard() const;
- virtual BOOL cutToClipboard();
- virtual bool isCutToClipboard();
- virtual BOOL isClipboardPasteable() const;
- virtual BOOL isClipboardPasteableAsLink() const;
- virtual void pasteFromClipboard() {}
- virtual void pasteLinkFromClipboard() {}
- void getClipboardEntries(bool show_asset_id, menuentry_vec_t &items,
- menuentry_vec_t &disabled_items, U32 flags);
- virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
+ virtual BOOL copyToClipboard() const;
+ virtual BOOL cutToClipboard();
+ virtual bool isCutToClipboard();
+ virtual BOOL isClipboardPasteable() const;
+ virtual BOOL isClipboardPasteableAsLink() const;
+ virtual void pasteFromClipboard() {}
+ virtual void pasteLinkFromClipboard() {}
+ void getClipboardEntries(bool show_asset_id, menuentry_vec_t &items,
+ menuentry_vec_t &disabled_items, U32 flags);
+ virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
virtual LLToolDragAndDrop::ESource getDragSource() const;
- virtual BOOL startDrag(EDragAndDropType* type, LLUUID* id) const;
- virtual BOOL dragOrDrop(MASK mask, BOOL drop,
- EDragAndDropType cargo_type,
- void* cargo_data,
- std::string& tooltip_msg) { return FALSE; }
- virtual LLInventoryType::EType getInventoryType() const { return mInvType; }
- virtual LLWearableType::EType getWearableType() const { return LLWearableType::WT_NONE; }
+ virtual BOOL startDrag(EDragAndDropType* type, LLUUID* id) const;
+ virtual BOOL dragOrDrop(MASK mask, BOOL drop,
+ EDragAndDropType cargo_type,
+ void* cargo_data,
+ std::string& tooltip_msg) { return FALSE; }
+ virtual LLInventoryType::EType getInventoryType() const { return mInvType; }
+ virtual LLWearableType::EType getWearableType() const { return LLWearableType::WT_NONE; }
virtual LLSettingsType::type_e getSettingsType() const { return LLSettingsType::ST_NONE; }
EInventorySortGroup getSortGroup() const { return SG_ITEM; }
- virtual LLInventoryObject* getInventoryObject() const;
+ virtual LLInventoryObject* getInventoryObject() const;
- //--------------------------------------------------------------------
- // Convenience functions for adding various common menu options.
- //--------------------------------------------------------------------
+ //--------------------------------------------------------------------
+ // Convenience functions for adding various common menu options.
+ //--------------------------------------------------------------------
protected:
- virtual void addTrashContextMenuOptions(menuentry_vec_t &items,
- menuentry_vec_t &disabled_items);
- virtual void addDeleteContextMenuOptions(menuentry_vec_t &items,
- menuentry_vec_t &disabled_items);
- virtual void addOpenRightClickMenuOption(menuentry_vec_t &items);
- virtual void addMarketplaceContextMenuOptions(U32 flags,
- menuentry_vec_t &items,
- menuentry_vec_t &disabled_items);
- virtual void addLinkReplaceMenuOption(menuentry_vec_t& items,
- menuentry_vec_t& disabled_items);
+ virtual void addTrashContextMenuOptions(menuentry_vec_t &items,
+ menuentry_vec_t &disabled_items);
+ virtual void addDeleteContextMenuOptions(menuentry_vec_t &items,
+ menuentry_vec_t &disabled_items);
+ virtual void addOpenRightClickMenuOption(menuentry_vec_t &items);
+ virtual void addMarketplaceContextMenuOptions(U32 flags,
+ menuentry_vec_t &items,
+ menuentry_vec_t &disabled_items);
+ virtual void addLinkReplaceMenuOption(menuentry_vec_t& items,
+ menuentry_vec_t& disabled_items);
+
+ virtual bool canMenuDelete();
+ virtual bool canMenuCut();
protected:
- LLInvFVBridge(LLInventoryPanel* inventory, LLFolderView* root, const LLUUID& uuid);
-
- LLInventoryModel* getInventoryModel() const;
- LLInventoryFilter* getInventoryFilter() const;
-
- BOOL isLinkedObjectInTrash() const; // Is this obj or its baseobj in the trash?
- BOOL isLinkedObjectMissing() const; // Is this a linked obj whose baseobj is not in inventory?
-
- BOOL isAgentInventory() const; // false if lost or in the inventory library
- BOOL isCOFFolder() const; // true if COF or descendant of
- BOOL isInboxFolder() const; // true if COF or descendant of marketplace inbox
-
- BOOL isMarketplaceListingsFolder() const; // true if descendant of Marketplace listings folder
-
- virtual BOOL isItemPermissive() const;
- static void changeItemParent(LLInventoryModel* model,
- LLViewerInventoryItem* item,
- const LLUUID& new_parent,
- BOOL restamp);
- static void changeCategoryParent(LLInventoryModel* model,
- LLViewerInventoryCategory* item,
- const LLUUID& new_parent,
- BOOL restamp);
- void removeBatchNoCheck(std::vector<LLFolderViewModelItem*>& batch);
-
+ LLInvFVBridge(LLInventoryPanel* inventory, LLFolderView* root, const LLUUID& uuid);
+
+ LLInventoryModel* getInventoryModel() const;
+ LLInventoryFilter* getInventoryFilter() const;
+
+ BOOL isLinkedObjectInTrash() const; // Is this obj or its baseobj in the trash?
+ BOOL isLinkedObjectMissing() const; // Is this a linked obj whose baseobj is not in inventory?
+
+ BOOL isAgentInventory() const; // false if lost or in the inventory library
+ BOOL isCOFFolder() const; // true if COF or descendant of
+ BOOL isInboxFolder() const; // true if COF or descendant of marketplace inbox
+
+ BOOL isMarketplaceListingsFolder() const; // true if descendant of Marketplace listings folder
+
+ virtual BOOL isItemPermissive() const;
+ static void changeItemParent(LLInventoryModel* model,
+ LLViewerInventoryItem* item,
+ const LLUUID& new_parent,
+ BOOL restamp);
+ static void changeCategoryParent(LLInventoryModel* model,
+ LLViewerInventoryCategory* item,
+ const LLUUID& new_parent,
+ BOOL restamp);
+ void removeBatchNoCheck(std::vector<LLFolderViewModelItem*>& batch);
+
BOOL callback_cutToClipboard(const LLSD& notification, const LLSD& response);
BOOL perform_cutToClipboard();
- LLHandle<LLInventoryPanel> mInventoryPanel;
- LLFolderView* mRoot;
- const LLUUID mUUID; // item id
- LLInventoryType::EType mInvType;
- bool mIsLink;
- LLTimer mTimeSinceRequestStart;
- mutable std::string mDisplayName;
- mutable std::string mSearchableName;
-
- void purgeItem(LLInventoryModel *model, const LLUUID &uuid);
- void removeObject(LLInventoryModel *model, const LLUUID &uuid);
- virtual void buildDisplayName() const {}
+ LLHandle<LLInventoryPanel> mInventoryPanel;
+ LLFolderView* mRoot;
+ const LLUUID mUUID; // item id
+ LLInventoryType::EType mInvType;
+ bool mIsLink;
+ LLTimer mTimeSinceRequestStart;
+ mutable std::string mDisplayName;
+ mutable std::string mSearchableName;
+
+ void purgeItem(LLInventoryModel *model, const LLUUID &uuid);
+ void removeObject(LLInventoryModel *model, const LLUUID &uuid);
+ virtual void buildDisplayName() const {}
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -214,169 +217,165 @@ protected:
class LLInventoryFolderViewModelBuilder
{
public:
- LLInventoryFolderViewModelBuilder() {}
- virtual ~LLInventoryFolderViewModelBuilder() {}
- virtual LLInvFVBridge* createBridge(LLAssetType::EType asset_type,
- LLAssetType::EType actual_asset_type,
- LLInventoryType::EType inv_type,
- LLInventoryPanel* inventory,
- LLFolderViewModelInventory* view_model,
- LLFolderView* root,
- const LLUUID& uuid,
- U32 flags = 0x00) const;
+ LLInventoryFolderViewModelBuilder() {}
+ virtual ~LLInventoryFolderViewModelBuilder() {}
+ virtual LLInvFVBridge* createBridge(LLAssetType::EType asset_type,
+ LLAssetType::EType actual_asset_type,
+ LLInventoryType::EType inv_type,
+ LLInventoryPanel* inventory,
+ LLFolderViewModelInventory* view_model,
+ LLFolderView* root,
+ const LLUUID& uuid,
+ U32 flags = 0x00) const;
};
class LLItemBridge : public LLInvFVBridge
{
public:
- LLItemBridge(LLInventoryPanel* inventory,
- LLFolderView* root,
- const LLUUID& uuid) :
- LLInvFVBridge(inventory, root, uuid) {}
-
- typedef boost::function<void(std::string& slurl)> slurl_callback_t;
-
- virtual void performAction(LLInventoryModel* model, std::string action);
- virtual void selectItem();
- virtual void restoreItem();
- virtual void restoreToWorld();
- virtual void gotoItem();
- virtual LLUIImagePtr getIcon() const;
- virtual std::string getLabelSuffix() const;
- virtual LLFontGL::StyleFlags getLabelStyle() const;
- virtual PermissionMask getPermissionMask() const;
- virtual time_t getCreationDate() const;
- virtual BOOL isItemRenameable() const;
- virtual BOOL renameItem(const std::string& new_name);
- virtual BOOL removeItem();
+ LLItemBridge(LLInventoryPanel* inventory,
+ LLFolderView* root,
+ const LLUUID& uuid) :
+ LLInvFVBridge(inventory, root, uuid) {}
+
+ typedef boost::function<void(std::string& slurl)> slurl_callback_t;
+
+ virtual void performAction(LLInventoryModel* model, std::string action);
+ virtual void selectItem();
+ virtual void restoreItem();
+ virtual void restoreToWorld();
+ virtual void gotoItem();
+ virtual LLUIImagePtr getIcon() const;
+ virtual std::string getLabelSuffix() const;
+ virtual LLFontGL::StyleFlags getLabelStyle() const;
+ virtual PermissionMask getPermissionMask() const;
+ virtual time_t getCreationDate() const;
+ virtual BOOL isItemRenameable() const;
+ virtual BOOL renameItem(const std::string& new_name);
+ virtual BOOL removeItem();
virtual bool isItemCopyable(bool can_copy_as_link = true) const;
- virtual bool hasChildren() const { return FALSE; }
- virtual BOOL isUpToDate() const { return TRUE; }
- virtual LLUIImagePtr getIconOverlay() const;
+ virtual bool hasChildren() const { return FALSE; }
+ virtual BOOL isUpToDate() const { return TRUE; }
+ virtual LLUIImagePtr getIconOverlay() const;
- LLViewerInventoryItem* getItem() const;
+ LLViewerInventoryItem* getItem() const;
virtual const LLUUID& getThumbnailUUID() const;
protected:
- BOOL confirmRemoveItem(const LLSD& notification, const LLSD& response);
- virtual BOOL isItemPermissive() const;
- virtual void buildDisplayName() const;
- void doActionOnCurSelectedLandmark(LLLandmarkList::loaded_callback_t cb);
+ BOOL confirmRemoveItem(const LLSD& notification, const LLSD& response);
+ virtual BOOL isItemPermissive() const;
+ virtual void buildDisplayName() const;
+ void doActionOnCurSelectedLandmark(LLLandmarkList::loaded_callback_t cb);
private:
- void doShowOnMap(LLLandmark* landmark);
+ void doShowOnMap(LLLandmark* landmark);
};
class LLFolderBridge : public LLInvFVBridge
{
public:
- LLFolderBridge(LLInventoryPanel* inventory,
- LLFolderView* root,
- const LLUUID& uuid)
- : LLInvFVBridge(inventory, root, uuid),
- mCallingCards(FALSE),
- mWearables(FALSE),
- mIsLoading(false),
- mShowDescendantsCount(false)
- {}
-
- BOOL dragItemIntoFolder(LLInventoryItem* inv_item, BOOL drop, std::string& tooltip_msg, BOOL user_confirm = TRUE, LLPointer<LLInventoryCallback> cb = NULL);
- BOOL dragCategoryIntoFolder(LLInventoryCategory* inv_category, BOOL drop, std::string& tooltip_msg, BOOL is_link = FALSE, BOOL user_confirm = TRUE, LLPointer<LLInventoryCallback> cb = NULL);
+ LLFolderBridge(LLInventoryPanel* inventory,
+ LLFolderView* root,
+ const LLUUID& uuid);
+
+ ~LLFolderBridge();
+
+ BOOL dragItemIntoFolder(LLInventoryItem* inv_item, BOOL drop, std::string& tooltip_msg, BOOL user_confirm = TRUE, LLPointer<LLInventoryCallback> cb = NULL);
+ BOOL dragCategoryIntoFolder(LLInventoryCategory* inv_category, BOOL drop, std::string& tooltip_msg, BOOL is_link = FALSE, BOOL user_confirm = TRUE, LLPointer<LLInventoryCallback> cb = NULL);
void callback_dropItemIntoFolder(const LLSD& notification, const LLSD& response, LLInventoryItem* inv_item);
void callback_dropCategoryIntoFolder(const LLSD& notification, const LLSD& response, LLInventoryCategory* inv_category);
virtual void buildDisplayName() const;
- virtual void performAction(LLInventoryModel* model, std::string action);
- virtual void openItem();
- virtual void closeItem();
- virtual BOOL isItemRenameable() const;
- virtual void selectItem();
- virtual void restoreItem();
-
- virtual LLFolderType::EType getPreferredType() const;
- virtual LLUIImagePtr getIcon() const;
- virtual LLUIImagePtr getIconOpen() const;
- virtual LLUIImagePtr getIconOverlay() const;
- static LLUIImagePtr getIcon(LLFolderType::EType preferred_type);
- virtual std::string getLabelSuffix() const;
- virtual LLFontGL::StyleFlags getLabelStyle() const;
+ virtual void performAction(LLInventoryModel* model, std::string action);
+ virtual void openItem();
+ virtual void closeItem();
+ virtual BOOL isItemRenameable() const;
+ virtual void selectItem();
+ virtual void restoreItem();
+
+ virtual LLFolderType::EType getPreferredType() const;
+ virtual LLUIImagePtr getIcon() const;
+ virtual LLUIImagePtr getIconOpen() const;
+ virtual LLUIImagePtr getIconOverlay() const;
+ static LLUIImagePtr getIcon(LLFolderType::EType preferred_type);
+ virtual std::string getLabelSuffix() const;
+ virtual LLFontGL::StyleFlags getLabelStyle() const;
virtual const LLUUID& getThumbnailUUID() const;
- void setShowDescendantsCount(bool show_count) {mShowDescendantsCount = show_count;}
+ void setShowDescendantsCount(bool show_count) {mShowDescendantsCount = show_count;}
- virtual BOOL renameItem(const std::string& new_name);
+ virtual BOOL renameItem(const std::string& new_name);
- virtual BOOL removeItem();
- BOOL removeSystemFolder();
- bool removeItemResponse(const LLSD& notification, const LLSD& response);
+ virtual BOOL removeItem();
+ BOOL removeSystemFolder();
+ bool removeItemResponse(const LLSD& notification, const LLSD& response);
void updateHierarchyCreationDate(time_t date);
- virtual void pasteFromClipboard();
- virtual void pasteLinkFromClipboard();
- virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
- virtual bool hasChildren() const;
- virtual BOOL dragOrDrop(MASK mask, BOOL drop,
- EDragAndDropType cargo_type,
- void* cargo_data,
- std::string& tooltip_msg);
-
- virtual BOOL isItemRemovable() const;
- virtual BOOL isItemMovable() const ;
- virtual BOOL isUpToDate() const;
+ virtual void pasteFromClipboard();
+ virtual void pasteLinkFromClipboard();
+ virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
+ virtual bool hasChildren() const;
+ virtual BOOL dragOrDrop(MASK mask, BOOL drop,
+ EDragAndDropType cargo_type,
+ void* cargo_data,
+ std::string& tooltip_msg);
+
+ virtual BOOL isItemRemovable(bool check_worn = true) const;
+ virtual BOOL isItemMovable() const ;
+ virtual BOOL isUpToDate() const;
virtual bool isItemCopyable(bool can_copy_as_link = true) const;
- virtual BOOL isClipboardPasteable() const;
- virtual BOOL isClipboardPasteableAsLink() const;
-
- EInventorySortGroup getSortGroup() const;
- virtual void update();
+ virtual BOOL isClipboardPasteable() const;
+ virtual BOOL isClipboardPasteableAsLink() const;
- static void createWearable(LLFolderBridge* bridge, LLWearableType::EType type);
+ EInventorySortGroup getSortGroup() const;
+ virtual void update();
- LLViewerInventoryCategory* getCategory() const;
- LLHandle<LLFolderBridge> getHandle() { mHandle.bind(this); return mHandle; }
+ static void createWearable(LLFolderBridge* bridge, LLWearableType::EType type);
- bool isLoading() { return mIsLoading; }
+ LLViewerInventoryCategory* getCategory() const;
+ LLHandle<LLFolderBridge> getHandle() { mHandle.bind(this); return mHandle; }
+
+ bool isLoading() { return mIsLoading; }
protected:
- void buildContextMenuOptions(U32 flags, menuentry_vec_t& items, menuentry_vec_t& disabled_items);
- void buildContextMenuFolderOptions(U32 flags, menuentry_vec_t& items, menuentry_vec_t& disabled_items);
+ void buildContextMenuOptions(U32 flags, menuentry_vec_t& items, menuentry_vec_t& disabled_items);
+ void buildContextMenuFolderOptions(U32 flags, menuentry_vec_t& items, menuentry_vec_t& disabled_items);
void addOpenFolderMenuOptions(U32 flags, menuentry_vec_t& items);
- //--------------------------------------------------------------------
- // Menu callbacks
- //--------------------------------------------------------------------
- static void pasteClipboard(void* user_data);
- static void createNewShirt(void* user_data);
- static void createNewPants(void* user_data);
- static void createNewShoes(void* user_data);
- static void createNewSocks(void* user_data);
- static void createNewJacket(void* user_data);
- static void createNewSkirt(void* user_data);
- static void createNewGloves(void* user_data);
- static void createNewUndershirt(void* user_data);
- static void createNewUnderpants(void* user_data);
- static void createNewShape(void* user_data);
- static void createNewSkin(void* user_data);
- static void createNewHair(void* user_data);
- static void createNewEyes(void* user_data);
-
- BOOL checkFolderForContentsOfType(LLInventoryModel* model, LLInventoryCollectFunctor& typeToCheck);
-
- void modifyOutfit(BOOL append);
- void copyOutfitToClipboard();
- void determineFolderType();
-
- void dropToFavorites(LLInventoryItem* inv_item, LLPointer<LLInventoryCallback> cb = NULL);
- void dropToOutfit(LLInventoryItem* inv_item, BOOL move_is_into_current_outfit, LLPointer<LLInventoryCallback> cb = NULL);
- void dropToMyOutfits(LLInventoryCategory* inv_cat, LLPointer<LLInventoryCallback> cb = NULL);
-
- //--------------------------------------------------------------------
- // Messy hacks for handling folder options
- //--------------------------------------------------------------------
+ //--------------------------------------------------------------------
+ // Menu callbacks
+ //--------------------------------------------------------------------
+ static void pasteClipboard(void* user_data);
+ static void createNewShirt(void* user_data);
+ static void createNewPants(void* user_data);
+ static void createNewShoes(void* user_data);
+ static void createNewSocks(void* user_data);
+ static void createNewJacket(void* user_data);
+ static void createNewSkirt(void* user_data);
+ static void createNewGloves(void* user_data);
+ static void createNewUndershirt(void* user_data);
+ static void createNewUnderpants(void* user_data);
+ static void createNewShape(void* user_data);
+ static void createNewSkin(void* user_data);
+ static void createNewHair(void* user_data);
+ static void createNewEyes(void* user_data);
+
+ BOOL checkFolderForContentsOfType(LLInventoryModel* model, LLInventoryCollectFunctor& typeToCheck);
+
+ void modifyOutfit(BOOL append);
+ void copyOutfitToClipboard();
+ void determineFolderType();
+
+ void dropToFavorites(LLInventoryItem* inv_item, LLPointer<LLInventoryCallback> cb = NULL);
+ void dropToOutfit(LLInventoryItem* inv_item, BOOL move_is_into_current_outfit, LLPointer<LLInventoryCallback> cb = NULL);
+ void dropToMyOutfits(LLInventoryCategory* inv_cat, LLPointer<LLInventoryCallback> cb = NULL);
+
+ //--------------------------------------------------------------------
+ // Messy hacks for handling folder options
+ //--------------------------------------------------------------------
public:
- static LLHandle<LLFolderBridge> sSelf;
- static void staticFolderOptionsMenu();
+ static LLHandle<LLFolderBridge> sSelf;
+ static void staticFolderOptionsMenu();
protected:
static void outfitFolderCreatedCallback(LLUUID cat_source_id,
@@ -388,31 +387,56 @@ protected:
void gatherMessage(std::string& message, S32 depth, LLError::ELevel log_level);
LLUIImagePtr getFolderIcon(BOOL is_open) const;
- bool mCallingCards;
- bool mWearables;
- bool mIsLoading;
- bool mShowDescendantsCount;
- LLTimer mTimeSinceRequestStart;
+ bool mCallingCards;
+ bool mWearables;
+ bool mIsLoading;
+ bool mShowDescendantsCount;
+ LLTimer mTimeSinceRequestStart;
std::string mMessage;
- LLRootHandle<LLFolderBridge> mHandle;
+ LLRootHandle<LLFolderBridge> mHandle;
+
+private:
+ // checking if folder is cutable or deletable is expensive,
+ // cache values and split check over frames
+ static void onCanDeleteIdle(void* user_data);
+ void initCanDeleteProcessing(LLInventoryModel* model, S32 version);
+ void completeDeleteProcessing();
+ bool canMenuDelete();
+ bool canMenuCut();
+
+ enum ECanDeleteState
+ {
+ CDS_INIT_FOLDER_CHECK,
+ CDS_PROCESSING_ITEMS,
+ CDS_PROCESSING_FOLDERS,
+ CDS_DONE,
+ };
+
+ ECanDeleteState mCanDeleteFolderState;
+ LLInventoryModel::cat_array_t mFoldersToCheck;
+ LLInventoryModel::item_array_t mItemsToCheck;
+ S32 mLastCheckedVersion;
+ S32 mInProgressVersion;
+ bool mCanDelete;
+ bool mCanCut;
};
class LLTextureBridge : public LLItemBridge
{
public:
- LLTextureBridge(LLInventoryPanel* inventory,
- LLFolderView* root,
- const LLUUID& uuid,
- LLInventoryType::EType type) :
- LLItemBridge(inventory, root, uuid)
- {
- mInvType = type;
- }
- virtual LLUIImagePtr getIcon() const;
- virtual void openItem();
- virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
- virtual void performAction(LLInventoryModel* model, std::string action);
- bool canSaveTexture(void);
+ LLTextureBridge(LLInventoryPanel* inventory,
+ LLFolderView* root,
+ const LLUUID& uuid,
+ LLInventoryType::EType type) :
+ LLItemBridge(inventory, root, uuid)
+ {
+ mInvType = type;
+ }
+ virtual LLUIImagePtr getIcon() const;
+ virtual void openItem();
+ virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
+ virtual void performAction(LLInventoryModel* model, std::string action);
+ bool canSaveTexture(void);
void setFileName(const std::string& file_name) { mFileName = file_name; }
protected:
std::string mFileName;
@@ -421,205 +445,207 @@ protected:
class LLSoundBridge : public LLItemBridge
{
public:
- LLSoundBridge(LLInventoryPanel* inventory,
- LLFolderView* root,
- const LLUUID& uuid) :
- LLItemBridge(inventory, root, uuid) {}
- virtual void openItem();
- virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
- virtual void performAction(LLInventoryModel* model, std::string action);
- static void openSoundPreview(void*);
+ LLSoundBridge(LLInventoryPanel* inventory,
+ LLFolderView* root,
+ const LLUUID& uuid) :
+ LLItemBridge(inventory, root, uuid) {}
+ virtual void openItem();
+ virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
+ virtual void performAction(LLInventoryModel* model, std::string action);
+ static void openSoundPreview(void*);
};
class LLLandmarkBridge : public LLItemBridge
{
public:
- LLLandmarkBridge(LLInventoryPanel* inventory,
- LLFolderView* root,
- const LLUUID& uuid,
- U32 flags = 0x00);
- virtual void performAction(LLInventoryModel* model, std::string action);
- virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
- virtual LLUIImagePtr getIcon() const;
- virtual void openItem();
+ LLLandmarkBridge(LLInventoryPanel* inventory,
+ LLFolderView* root,
+ const LLUUID& uuid,
+ U32 flags = 0x00);
+ virtual void performAction(LLInventoryModel* model, std::string action);
+ virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
+ virtual LLUIImagePtr getIcon() const;
+ virtual void openItem();
protected:
- BOOL mVisited;
+ BOOL mVisited;
};
class LLCallingCardBridge : public LLItemBridge
{
public:
- LLCallingCardBridge(LLInventoryPanel* inventory,
- LLFolderView* folder,
- const LLUUID& uuid );
- ~LLCallingCardBridge();
- virtual std::string getLabelSuffix() const;
- //virtual const std::string& getDisplayName() const;
- virtual LLUIImagePtr getIcon() const;
- virtual void performAction(LLInventoryModel* model, std::string action);
- virtual void openItem();
- virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
- virtual BOOL dragOrDrop(MASK mask, BOOL drop,
- EDragAndDropType cargo_type,
- void* cargo_data,
- std::string& tooltip_msg);
- void refreshFolderViewItem();
- void checkSearchBySuffixChanges();
+ LLCallingCardBridge(LLInventoryPanel* inventory,
+ LLFolderView* folder,
+ const LLUUID& uuid );
+ ~LLCallingCardBridge();
+ virtual std::string getLabelSuffix() const;
+ //virtual const std::string& getDisplayName() const;
+ virtual LLUIImagePtr getIcon() const;
+ virtual void performAction(LLInventoryModel* model, std::string action);
+ virtual void openItem();
+ virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
+ virtual BOOL dragOrDrop(MASK mask, BOOL drop,
+ EDragAndDropType cargo_type,
+ void* cargo_data,
+ std::string& tooltip_msg);
+ void refreshFolderViewItem();
+ void checkSearchBySuffixChanges();
protected:
- LLCallingCardObserver* mObserver;
+ LLCallingCardObserver* mObserver;
LLUUID mCreatorUUID;
};
class LLNotecardBridge : public LLItemBridge
{
public:
- LLNotecardBridge(LLInventoryPanel* inventory,
- LLFolderView* root,
- const LLUUID& uuid) :
- LLItemBridge(inventory, root, uuid) {}
- virtual void openItem();
- virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
+ LLNotecardBridge(LLInventoryPanel* inventory,
+ LLFolderView* root,
+ const LLUUID& uuid) :
+ LLItemBridge(inventory, root, uuid) {}
+ virtual void openItem();
+ virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
};
class LLGestureBridge : public LLItemBridge
{
public:
- LLGestureBridge(LLInventoryPanel* inventory,
- LLFolderView* root,
- const LLUUID& uuid) :
- LLItemBridge(inventory, root, uuid) {}
- // Only suffix for gesture items, not task items, because only
- // gestures in your inventory can be active.
- virtual LLFontGL::StyleFlags getLabelStyle() const;
- virtual std::string getLabelSuffix() const;
- virtual void performAction(LLInventoryModel* model, std::string action);
- virtual void openItem();
- virtual BOOL removeItem();
- virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
- static void playGesture(const LLUUID& item_id);
+ LLGestureBridge(LLInventoryPanel* inventory,
+ LLFolderView* root,
+ const LLUUID& uuid) :
+ LLItemBridge(inventory, root, uuid) {}
+ // Only suffix for gesture items, not task items, because only
+ // gestures in your inventory can be active.
+ virtual LLFontGL::StyleFlags getLabelStyle() const;
+ virtual std::string getLabelSuffix() const;
+ virtual void performAction(LLInventoryModel* model, std::string action);
+ virtual void openItem();
+ virtual BOOL removeItem();
+ virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
+ static void playGesture(const LLUUID& item_id);
};
class LLAnimationBridge : public LLItemBridge
{
public:
- LLAnimationBridge(LLInventoryPanel* inventory,
- LLFolderView* root,
- const LLUUID& uuid) :
- LLItemBridge(inventory, root, uuid) {}
- virtual void performAction(LLInventoryModel* model, std::string action);
- virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
- virtual void openItem();
+ LLAnimationBridge(LLInventoryPanel* inventory,
+ LLFolderView* root,
+ const LLUUID& uuid) :
+ LLItemBridge(inventory, root, uuid) {}
+ virtual void performAction(LLInventoryModel* model, std::string action);
+ virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
+ virtual void openItem();
};
class LLObjectBridge : public LLItemBridge
{
public:
- LLObjectBridge(LLInventoryPanel* inventory,
- LLFolderView* root,
- const LLUUID& uuid,
- LLInventoryType::EType type,
- U32 flags);
- virtual LLUIImagePtr getIcon() const;
- virtual void performAction(LLInventoryModel* model, std::string action);
- virtual void openItem();
+ LLObjectBridge(LLInventoryPanel* inventory,
+ LLFolderView* root,
+ const LLUUID& uuid,
+ LLInventoryType::EType type,
+ U32 flags);
+ virtual LLUIImagePtr getIcon() const;
+ virtual void performAction(LLInventoryModel* model, std::string action);
+ virtual void openItem();
virtual BOOL isItemWearable() const { return TRUE; }
- virtual std::string getLabelSuffix() const;
- virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
- virtual BOOL renameItem(const std::string& new_name);
- LLInventoryObject* getObject() const;
+ virtual std::string getLabelSuffix() const;
+ virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
+ virtual BOOL renameItem(const std::string& new_name);
+ LLInventoryObject* getObject() const;
+ LLViewerInventoryItem* getItem() const;
+ LLViewerInventoryCategory* getCategory() const;
protected:
- static LLUUID sContextMenuItemID; // Only valid while the context menu is open.
- U32 mAttachPt;
- BOOL mIsMultiObject;
+ static LLUUID sContextMenuItemID; // Only valid while the context menu is open.
+ U32 mAttachPt;
+ BOOL mIsMultiObject;
};
class LLLSLTextBridge : public LLItemBridge
{
public:
- LLLSLTextBridge(LLInventoryPanel* inventory,
- LLFolderView* root,
- const LLUUID& uuid ) :
- LLItemBridge(inventory, root, uuid) {}
- virtual void openItem();
+ LLLSLTextBridge(LLInventoryPanel* inventory,
+ LLFolderView* root,
+ const LLUUID& uuid ) :
+ LLItemBridge(inventory, root, uuid) {}
+ virtual void openItem();
};
class LLWearableBridge : public LLItemBridge
{
public:
- LLWearableBridge(LLInventoryPanel* inventory,
- LLFolderView* root,
- const LLUUID& uuid,
- LLAssetType::EType asset_type,
- LLInventoryType::EType inv_type,
- LLWearableType::EType wearable_type);
- virtual LLUIImagePtr getIcon() const;
- virtual void performAction(LLInventoryModel* model, std::string action);
- virtual void openItem();
+ LLWearableBridge(LLInventoryPanel* inventory,
+ LLFolderView* root,
+ const LLUUID& uuid,
+ LLAssetType::EType asset_type,
+ LLInventoryType::EType inv_type,
+ LLWearableType::EType wearable_type);
+ virtual LLUIImagePtr getIcon() const;
+ virtual void performAction(LLInventoryModel* model, std::string action);
+ virtual void openItem();
virtual BOOL isItemWearable() const { return TRUE; }
- virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
- virtual std::string getLabelSuffix() const;
- virtual BOOL renameItem(const std::string& new_name);
- virtual LLWearableType::EType getWearableType() const { return mWearableType; }
-
- static void onWearOnAvatar( void* userdata ); // Access to wearOnAvatar() from menu
- static BOOL canWearOnAvatar( void* userdata );
- static void onWearOnAvatarArrived( LLViewerWearable* wearable, void* userdata );
- void wearOnAvatar();
-
- static void onWearAddOnAvatarArrived( LLViewerWearable* wearable, void* userdata );
- void wearAddOnAvatar();
-
- static BOOL canEditOnAvatar( void* userdata ); // Access to editOnAvatar() from menu
- static void onEditOnAvatar( void* userdata );
- void editOnAvatar();
-
- static BOOL canRemoveFromAvatar( void* userdata );
- static void removeAllClothesFromAvatar();
- void removeFromAvatar();
+ virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
+ virtual std::string getLabelSuffix() const;
+ virtual BOOL renameItem(const std::string& new_name);
+ virtual LLWearableType::EType getWearableType() const { return mWearableType; }
+
+ static void onWearOnAvatar( void* userdata ); // Access to wearOnAvatar() from menu
+ static BOOL canWearOnAvatar( void* userdata );
+ static void onWearOnAvatarArrived( LLViewerWearable* wearable, void* userdata );
+ void wearOnAvatar();
+
+ static void onWearAddOnAvatarArrived( LLViewerWearable* wearable, void* userdata );
+ void wearAddOnAvatar();
+
+ static BOOL canEditOnAvatar( void* userdata ); // Access to editOnAvatar() from menu
+ static void onEditOnAvatar( void* userdata );
+ void editOnAvatar();
+
+ static BOOL canRemoveFromAvatar( void* userdata );
+ static void removeAllClothesFromAvatar();
+ void removeFromAvatar();
protected:
- LLAssetType::EType mAssetType;
- LLWearableType::EType mWearableType;
+ LLAssetType::EType mAssetType;
+ LLWearableType::EType mWearableType;
};
class LLLinkItemBridge : public LLItemBridge
{
public:
- LLLinkItemBridge(LLInventoryPanel* inventory,
- LLFolderView* root,
- const LLUUID& uuid) :
- LLItemBridge(inventory, root, uuid) {}
- virtual const std::string& getPrefix() { return sPrefix; }
- virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
+ LLLinkItemBridge(LLInventoryPanel* inventory,
+ LLFolderView* root,
+ const LLUUID& uuid) :
+ LLItemBridge(inventory, root, uuid) {}
+ virtual const std::string& getPrefix() { return sPrefix; }
+ virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
protected:
- static std::string sPrefix;
+ static std::string sPrefix;
};
class LLUnknownItemBridge : public LLItemBridge
{
public:
- LLUnknownItemBridge(LLInventoryPanel* inventory,
- LLFolderView* root,
- const LLUUID& uuid) :
- LLItemBridge(inventory, root, uuid) {}
- virtual LLUIImagePtr getIcon() const;
- virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
+ LLUnknownItemBridge(LLInventoryPanel* inventory,
+ LLFolderView* root,
+ const LLUUID& uuid) :
+ LLItemBridge(inventory, root, uuid) {}
+ virtual LLUIImagePtr getIcon() const;
+ virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
};
class LLLinkFolderBridge : public LLItemBridge
{
public:
- LLLinkFolderBridge(LLInventoryPanel* inventory,
- LLFolderView* root,
- const LLUUID& uuid) :
- LLItemBridge(inventory, root, uuid) {}
- virtual const std::string& getPrefix() { return sPrefix; }
- virtual LLUIImagePtr getIcon() const;
- virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
- virtual void performAction(LLInventoryModel* model, std::string action);
- virtual void gotoItem();
+ LLLinkFolderBridge(LLInventoryPanel* inventory,
+ LLFolderView* root,
+ const LLUUID& uuid) :
+ LLItemBridge(inventory, root, uuid) {}
+ virtual const std::string& getPrefix() { return sPrefix; }
+ virtual LLUIImagePtr getIcon() const;
+ virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
+ virtual void performAction(LLInventoryModel* model, std::string action);
+ virtual void gotoItem();
protected:
- const LLUUID &getFolderID() const;
- static std::string sPrefix;
+ const LLUUID &getFolderID() const;
+ static std::string sPrefix;
};
@@ -631,10 +657,10 @@ public:
const LLUUID& uuid,
LLSettingsType::type_e settings_type);
virtual LLUIImagePtr getIcon() const;
- virtual void performAction(LLInventoryModel* model, std::string action);
- virtual void openItem();
- virtual BOOL isMultiPreviewAllowed() { return FALSE; }
- virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
+ virtual void performAction(LLInventoryModel* model, std::string action);
+ virtual void openItem();
+ virtual BOOL isMultiPreviewAllowed() { return FALSE; }
+ virtual void buildContextMenu(LLMenuGL& menu, U32 flags);
virtual BOOL renameItem(const std::string& new_name);
virtual BOOL isItemRenameable() const;
virtual LLSettingsType::type_e getSettingsType() const { return mSettingsType; }
@@ -661,31 +687,31 @@ public:
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Class LLInvFVBridgeAction
//
-// This is an implementation class to be able to
+// This is an implementation class to be able to
// perform action to view inventory items.
//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
class LLInvFVBridgeAction
{
public:
- // This method is a convenience function which creates the correct
- // type of bridge action based on some basic information.
- static LLInvFVBridgeAction* createAction(LLAssetType::EType asset_type,
- const LLUUID& uuid,
- LLInventoryModel* model);
- static void doAction(LLAssetType::EType asset_type,
- const LLUUID& uuid, LLInventoryModel* model);
- static void doAction(const LLUUID& uuid, LLInventoryModel* model);
-
- virtual void doIt() {};
- virtual ~LLInvFVBridgeAction() {} // need this because of warning on OSX
+ // This method is a convenience function which creates the correct
+ // type of bridge action based on some basic information.
+ static LLInvFVBridgeAction* createAction(LLAssetType::EType asset_type,
+ const LLUUID& uuid,
+ LLInventoryModel* model);
+ static void doAction(LLAssetType::EType asset_type,
+ const LLUUID& uuid, LLInventoryModel* model);
+ static void doAction(const LLUUID& uuid, LLInventoryModel* model);
+
+ virtual void doIt() {};
+ virtual ~LLInvFVBridgeAction() {} // need this because of warning on OSX
protected:
- LLInvFVBridgeAction(const LLUUID& id, LLInventoryModel* model) :
- mUUID(id), mModel(model) {}
- LLViewerInventoryItem* getItem() const;
+ LLInvFVBridgeAction(const LLUUID& id, LLInventoryModel* model) :
+ mUUID(id), mModel(model) {}
+ LLViewerInventoryItem* getItem() const;
protected:
- const LLUUID& mUUID; // item id
- LLInventoryModel* mModel;
+ const LLUUID& mUUID; // item id
+ LLInventoryModel* mModel;
};
@@ -696,36 +722,36 @@ protected:
// Overridden version of the Inventory-Folder-View-Bridge for Folders
class LLRecentItemsFolderBridge : public LLFolderBridge
{
- friend class LLInvFVBridgeAction;
+ friend class LLInvFVBridgeAction;
public:
- // Creates context menu for Folders related to Recent Inventory Panel.
- // Uses base logic and than removes from visible items "New..." menu items.
- LLRecentItemsFolderBridge(LLInventoryType::EType type,
- LLInventoryPanel* inventory,
- LLFolderView* root,
- const LLUUID& uuid) :
- LLFolderBridge(inventory, root, uuid)
- {
- mInvType = type;
- }
- /*virtual*/ void buildContextMenu(LLMenuGL& menu, U32 flags);
+ // Creates context menu for Folders related to Recent Inventory Panel.
+ // Uses base logic and than removes from visible items "New..." menu items.
+ LLRecentItemsFolderBridge(LLInventoryType::EType type,
+ LLInventoryPanel* inventory,
+ LLFolderView* root,
+ const LLUUID& uuid) :
+ LLFolderBridge(inventory, root, uuid)
+ {
+ mInvType = type;
+ }
+ /*virtual*/ void buildContextMenu(LLMenuGL& menu, U32 flags);
};
// Bridge builder to create Inventory-Folder-View-Bridge for Recent Inventory Panel
class LLRecentInventoryBridgeBuilder : public LLInventoryFolderViewModelBuilder
{
public:
- LLRecentInventoryBridgeBuilder() {}
- // Overrides FolderBridge for Recent Inventory Panel.
- // It use base functionality for bridges other than FolderBridge.
- virtual LLInvFVBridge* createBridge(LLAssetType::EType asset_type,
- LLAssetType::EType actual_asset_type,
- LLInventoryType::EType inv_type,
- LLInventoryPanel* inventory,
- LLFolderViewModelInventory* view_model,
- LLFolderView* root,
- const LLUUID& uuid,
- U32 flags = 0x00) const;
+ LLRecentInventoryBridgeBuilder() {}
+ // Overrides FolderBridge for Recent Inventory Panel.
+ // It use base functionality for bridges other than FolderBridge.
+ virtual LLInvFVBridge* createBridge(LLAssetType::EType asset_type,
+ LLAssetType::EType actual_asset_type,
+ LLInventoryType::EType inv_type,
+ LLInventoryPanel* inventory,
+ LLFolderViewModelInventory* view_model,
+ LLFolderView* root,
+ const LLUUID& uuid,
+ U32 flags = 0x00) const;
};
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -736,15 +762,15 @@ class LLMarketplaceFolderBridge : public LLFolderBridge
{
public:
// Overloads some display related methods specific to folders in a marketplace floater context
- LLMarketplaceFolderBridge(LLInventoryPanel* inventory,
- LLFolderView* root,
+ LLMarketplaceFolderBridge(LLInventoryPanel* inventory,
+ LLFolderView* root,
const LLUUID& uuid);
-
- virtual LLUIImagePtr getIcon() const;
- virtual LLUIImagePtr getIconOpen() const;
- virtual std::string getLabelSuffix() const;
- virtual LLFontGL::StyleFlags getLabelStyle() const;
-
+
+ virtual LLUIImagePtr getIcon() const;
+ virtual LLUIImagePtr getIconOpen() const;
+ virtual std::string getLabelSuffix() const;
+ virtual LLFontGL::StyleFlags getLabelStyle() const;
+
private:
LLUIImagePtr getMarketplaceFolderIcon(BOOL is_open) const;
// Those members are mutable because they are cached variablse to speed up display, not a state variables
@@ -753,26 +779,26 @@ private:
};
-void rez_attachment(LLViewerInventoryItem* item,
- LLViewerJointAttachment* attachment,
- bool replace = false);
+void rez_attachment(LLViewerInventoryItem* item,
+ LLViewerJointAttachment* attachment,
+ bool replace = false);
// Move items from an in-world object's "Contents" folder to a specified
// folder in agent inventory.
-BOOL move_inv_category_world_to_agent(const LLUUID& object_id,
- const LLUUID& category_id,
- BOOL drop,
- std::function<void(S32, void*, const LLMoveInv *)> callback = NULL,
- void* user_data = NULL,
- LLInventoryFilter* filter = NULL);
+BOOL move_inv_category_world_to_agent(const LLUUID& object_id,
+ const LLUUID& category_id,
+ BOOL drop,
+ std::function<void(S32, void*, const LLMoveInv *)> callback = NULL,
+ void* user_data = NULL,
+ LLInventoryFilter* filter = NULL);
// Utility function to hide all entries except those in the list
// Can be called multiple times on the same menu (e.g. if multiple items
// are selected). If "append" is false, then only common enabled items
// are set as enabled.
-void hide_context_entries(LLMenuGL& menu,
- const menuentry_vec_t &entries_to_show,
- const menuentry_vec_t &disabled_entries);
+void hide_context_entries(LLMenuGL& menu,
+ const menuentry_vec_t &entries_to_show,
+ const menuentry_vec_t &disabled_entries);
// Helper functions to classify actions.
bool isAddAction(const std::string& action);