//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); }
// 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(); }