summaryrefslogtreecommitdiff
path: root/indra/newview/llpanellandmarkinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpanellandmarkinfo.h')
-rw-r--r--indra/newview/llpanellandmarkinfo.h32
1 files changed, 28 insertions, 4 deletions
diff --git a/indra/newview/llpanellandmarkinfo.h b/indra/newview/llpanellandmarkinfo.h
index 9712736182..f727f286b5 100644
--- a/indra/newview/llpanellandmarkinfo.h
+++ b/indra/newview/llpanellandmarkinfo.h
@@ -28,6 +28,7 @@
#define LL_LLPANELLANDMARKINFO_H
#include "llpanelplaceinfo.h"
+#include "llinventorymodel.h"
class LLComboBox;
class LLLineEditor;
@@ -43,8 +44,12 @@ public:
/*virtual*/ void resetLocation();
+ // If landmark doesn't exists, will create it at default folder
/*virtual*/ void setInfoType(EInfoType type);
+ // Sets CREATE_LANDMARK infotype and creates landmark at desired folder
+ void setInfoAndCreateLandmark(const LLUUID& fodler_id);
+
/*virtual*/ void processParcelInfo(const LLParcelData& parcel_data);
// Displays landmark owner, creator and creation date info.
@@ -59,13 +64,19 @@ public:
// Select current landmark folder in combobox.
BOOL setLandmarkFolder(const LLUUID& id);
- // Create a landmark for the current location
- // in a folder specified by folder_id.
- void createLandmark(const LLUUID& folder_id);
-
+ typedef std::vector<LLPointer<LLViewerInventoryCategory> > cat_array_t;
static std::string getFullFolderName(const LLViewerInventoryCategory* cat);
+ static void collectLandmarkFolders(LLInventoryModel::cat_array_t& cats);
private:
+ // Create a landmark for the current location
+ // in a folder specified by folder_id.
+ // Expects title and description to be initialized
+ void createLandmark(const LLUUID& folder_id);
+
+ // If landmark doesn't exists, will create it at specified folder
+ void setInfoType(EInfoType type, const LLUUID &folder_id);
+
void populateFoldersList();
LLTextBox* mOwner;
@@ -77,4 +88,17 @@ private:
LLComboBox* mFolderCombo;
};
+class LLUpdateLandmarkParent : public LLInventoryCallback
+{
+public:
+ LLUpdateLandmarkParent(LLPointer<LLViewerInventoryItem> item, LLUUID new_parent) :
+ mItem(item),
+ mNewParentId(new_parent)
+ {};
+ /* virtual */ void fire(const LLUUID& inv_item_id);
+
+private:
+ LLPointer<LLViewerInventoryItem> mItem;
+ LLUUID mNewParentId;
+};
#endif // LL_LLPANELLANDMARKINFO_H