//Imports a new pick from an xml - RK
bool LLPanelPick::importNewPick()
{
	LLFilePicker& file_picker = LLFilePicker::instance();

	if(!file_picker.getOpenFile(LLFilePicker::FFLOAD_XML)) return false;// User canceled load.
	else
	{
		std::string file = file_picker.getFirstFile();

		llifstream importer(file);
		LLSD data;
		LLSDSerialize::fromXMLDocument(data, importer);

		LLSD file_data = data["Data"];
		data = LLSD();

		mPickID.generate();

		mCreatorID = gAgent.getID();

		mPosGlobal = LLVector3d(file_data["globalPos"]);

		mNameEditor->setText(file_data["name"].asString());
		mDescEditor->setText(file_data["desc"].asString());
		mSnapshotCtrl->setImageAssetID(file_data["snapshotID"].asUUID());
		mParcelID = file_data["parcelID"].asUUID();
		mLocationText = file_data["locationText"].asString();
		mImporting = true;

		sendPickInfoUpdate();
		return true;
	}
}
void LLPanelPick::importNewPick_continued(void (*callback)(void*, bool), void* data, AIFilePicker* filepicker)
{
	bool result = false;
	if (filepicker->hasFilename())
	{
		std::string file = filepicker->getFilename();

		llifstream importer(file);
		LLSD data;
		LLSDSerialize::fromXMLDocument(data, importer);

		LLSD file_data = data["Data"];
		data = LLSD();

		mPickID.generate();

		mCreatorID = gAgent.getID();

		mPosGlobal = LLVector3d(file_data["globalPos"]);

		mNameEditor->setText(file_data["name"].asString());
		mDescEditor->setText(file_data["desc"].asString());
		mSnapshotCtrl->setImageAssetID(file_data["snapshotID"].asUUID());
		mParcelID = file_data["parcelID"].asUUID();
		mLocationText = file_data["locationText"].asString();
		mImporting = true;

		sendPickInfoUpdate();
		result = true;
	}
	(*callback)(data, result);
}
Example #3
0
// Fill in some reasonable defaults for a new pick.
void LLPanelPick::initNewPick()
{
	mPickID.generate();

	mCreatorID = gAgent.getID();

	mPosGlobal = gAgent.getPositionGlobal();

	// Try to fill in the current parcel
	LLParcel* parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
	if (parcel)
	{
		mNameEditor->setText(parcel->getName());
		mDescEditor->setText(parcel->getDesc());
		mSnapshotCtrl->setImageAssetID(parcel->getSnapshotID());
	}

	// Commit to the database, since we've got "new" values.
	sendPickInfoUpdate();
}