#include <llfloaterreporter.h>
Public Member Functions | |
LLFloaterReporter (const std::string &name, const LLRect &rect, const std::string &title, EReportType=UNKNOWN_REPORT) | |
~LLFloaterReporter () | |
virtual void | draw () |
void | setPickedObjectProperties (const LLString &object_name, const LLString &owner_name, const LLUUID owner_id) |
Static Public Member Functions | |
static void | showFromMenu (EReportType report_type) |
static void | showFromObject (const LLUUID &object_id) |
static void | onClickSend (void *userdata) |
static void | onClickCancel (void *userdata) |
static void | onClickObjPicker (void *userdata) |
static void | onClickSelectAbuser (void *userdata) |
static void | closePickTool (void *userdata) |
static void | uploadDoneCallback (const LLUUID &uuid, void *user_data, S32 result, LLExtStat ext_status) |
static void | addDescription (const LLString &description, LLMeanCollisionData *mcd=NULL) |
static void | setDescription (const LLString &description, LLMeanCollisionData *mcd=NULL) |
static LLFloaterReporter * | getReporter (EReportType report_type) |
static LLFloaterReporter * | createNewAbuseReporter () |
static LLFloaterReporter * | createNewBugReporter () |
static void | processRegionInfo (LLMessageSystem *msg) |
Private Member Functions | |
void | takeScreenshot () |
void | sendReportViaCaps (std::string url) |
void | uploadImage () |
bool | validateReport () |
void | setReporterID () |
LLSD | gatherReport () |
void | sendReportViaLegacy (const LLSD &report) |
void | sendReportViaCaps (std::string url, std::string sshot_url, const LLSD &report) |
void | setPosBox (const LLVector3d &pos) |
void | enableControls (BOOL own_avatar) |
void | getObjectInfo (const LLUUID &object_id) |
Static Private Member Functions | |
static void | callbackAvatarID (const std::vector< std::string > &names, const std::vector< LLUUID > &ids, void *data) |
Private Attributes | |
EReportType | mReportType |
LLUUID | mObjectID |
LLUUID | mScreenID |
LLUUID | mAbuserID |
BOOL | mDeselectOnClose |
BOOL | mPicking |
LLVector3 | mPosition |
BOOL | mCopyrightWarningSeen |
std::list< LLMeanCollisionData * > | mMCDList |
LLString | mDefaultSummary |
LLResourceData * | mResourceDatap |
Definition at line 80 of file llfloaterreporter.h.
LLFloaterReporter::LLFloaterReporter | ( | const std::string & | name, | |
const LLRect & | rect, | |||
const std::string & | title, | |||
EReportType | report_type = UNKNOWN_REPORT | |||
) |
Definition at line 108 of file llfloaterreporter.cpp.
References LLMap< INDEX_TYPE, MAPPED_TYPE >::addData(), LLMessageSystem::addUUID(), BUG_REPORT, LLUICtrlFactory::buildFloater(), LLPanel::childGetText(), LLPanel::childSetAction(), LLPanel::childSetFocus(), LLPanel::childSetText(), enableControls(), FALSE, gAgent, gDialogVisible, LLAgent::getID(), LLSingleton< LLUICtrlFactory >::getInstance(), LLViewerRegion::getOriginGlobal(), LLAgent::getPositionGlobal(), LLAgent::getRegion(), LLAgent::getSessionID(), LLAgent::getSLURL(), gMessageSystem, mDefaultSummary, LLMessageSystem::newMessage(), LLMessageSystem::nextBlock(), LLStringBase< char >::null, onClickCancel(), onClickObjPicker(), onClickSelectAbuser(), onClickSend(), LLAgent::sendReliableMessage(), LLLineEditor::setEnabled(), setPosBox(), LLFloater::setVisible(), takeScreenshot(), and TRUE.
Referenced by createNewAbuseReporter(), and createNewBugReporter().
LLFloaterReporter::~LLFloaterReporter | ( | ) |
Definition at line 218 of file llfloaterreporter.cpp.
References closePickTool(), FALSE, gDialogVisible, mMCDList, mObjectID, mPicking, mPosition, mReportType, mResourceDatap, LLUUID::null, LLMap< INDEX_TYPE, MAPPED_TYPE >::removeData(), and LLVector3::setVec().
void LLFloaterReporter::draw | ( | void | ) | [virtual] |
Reimplemented from LLFloater.
Definition at line 239 of file llfloaterreporter.cpp.
References BUG_REPORT, LLPanel::childSetEnabled(), LLPanel::childSetValue(), LLFloater::draw(), FALSE, gEmailToEstateOwner, mReportType, and TRUE.
void LLFloaterReporter::showFromMenu | ( | EReportType | report_type | ) | [static] |
Definition at line 483 of file llfloaterreporter.cpp.
References LLViewerWindow::alertXml(), BUG_REPORT, LLAgent::buildFullname(), LLFloater::center(), LLMap< INDEX_TYPE, MAPPED_TYPE >::checkData(), LLPanel::childSetText(), COMPLAINT_REPORT, createNewAbuseReporter(), createNewBugReporter(), gAgent, LLMap< INDEX_TYPE, MAPPED_TYPE >::getData(), gViewerWindow, llendl, llwarns, and LLFloater::open().
Referenced by LLShowFloater::handleEvent().
void LLFloaterReporter::showFromObject | ( | const LLUUID & | object_id | ) | [static] |
Definition at line 528 of file llfloaterreporter.cpp.
References LLAgent::buildFullname(), LLFloater::center(), LLPanel::childSetText(), createNewAbuseReporter(), gAgent, getObjectInfo(), mDeselectOnClose, LLFloater::open(), LLFloater::setFocus(), and TRUE.
Referenced by LLObjectReportAbuse::handleEvent().
void LLFloaterReporter::onClickSend | ( | void * | userdata | ) | [static] |
Definition at line 378 of file llfloaterreporter.cpp.
References LLViewerWindow::alertXml(), BUG_REPORT, closePickTool(), gAgent, LLViewerRegion::getCapability(), LLAgent::getRegion(), gViewerWindow, LLUploadDialog::modalUploadDialog(), LLUploadDialog::modalUploadFinished(), LLStringBase< char >::toLower(), and TRUE.
Referenced by LLFloaterReporter().
void LLFloaterReporter::onClickCancel | ( | void * | userdata | ) | [static] |
Definition at line 438 of file llfloaterreporter.cpp.
References closePickTool(), and FALSE.
Referenced by LLFloaterReporter().
void LLFloaterReporter::onClickObjPicker | ( | void * | userdata | ) | [static] |
Definition at line 454 of file llfloaterreporter.cpp.
References closePickTool(), LLSingleton< LLToolMgr >::getInstance(), LLSingleton< LLToolObjPicker >::getInstance(), LLStringBase< char >::null, LLToolObjPicker::setExitCallback(), LLButton::setToggleState(), LLToolMgr::setTransientTool(), and TRUE.
Referenced by LLFloaterReporter().
void LLFloaterReporter::onClickSelectAbuser | ( | void * | userdata | ) | [static] |
Definition at line 352 of file llfloaterreporter.cpp.
References LLFloater::addDependentFloater(), callbackAvatarID(), FALSE, LLFloaterView::getParentFloater(), gFloaterView, LLFloaterAvatarPicker::show(), and TRUE.
Referenced by LLFloaterReporter().
void LLFloaterReporter::closePickTool | ( | void * | userdata | ) | [static] |
Definition at line 468 of file llfloaterreporter.cpp.
References LLToolMgr::clearTransientTool(), FALSE, LLSingleton< LLToolMgr >::getInstance(), LLSingleton< LLToolObjPicker >::getInstance(), LLToolObjPicker::getObjectID(), and LLButton::setToggleState().
Referenced by onClickCancel(), onClickObjPicker(), onClickSend(), and ~LLFloaterReporter().
void LLFloaterReporter::uploadDoneCallback | ( | const LLUUID & | uuid, | |
void * | user_data, | |||
S32 | result, | |||
LLExtStat | ext_status | |||
) | [static] |
Definition at line 932 of file llfloaterreporter.cpp.
References LLViewerWindow::alertXml(), BUG_REPORT, COMPLAINT_REPORT, LLAssetStorage::getErrorString(), getReporter(), gViewerWindow, llendl, llinfos, llwarns, LLUploadDialog::modalUploadFinished(), LLResourceData::mPreferredLocation, and UNKNOWN_REPORT.
Referenced by uploadImage().
void LLFloaterReporter::addDescription | ( | const LLString & | description, | |
LLMeanCollisionData * | mcd = NULL | |||
) | [static] |
Definition at line 1001 of file llfloaterreporter.cpp.
References COMPLAINT_REPORT, and LLTextEditor::insertText().
void LLFloaterReporter::setDescription | ( | const LLString & | description, | |
LLMeanCollisionData * | mcd = NULL | |||
) | [static] |
LLFloaterReporter * LLFloaterReporter::getReporter | ( | EReportType | report_type | ) | [static] |
Definition at line 550 of file llfloaterreporter.cpp.
References LLMap< INDEX_TYPE, MAPPED_TYPE >::checkData(), LLMap< INDEX_TYPE, MAPPED_TYPE >::getData(), and NULL.
Referenced by LLSelectMgr::processObjectPropertiesFamily(), and uploadDoneCallback().
LLFloaterReporter * LLFloaterReporter::createNewAbuseReporter | ( | ) | [static] |
Definition at line 561 of file llfloaterreporter.cpp.
References COMPLAINT_REPORT, and LLFloaterReporter().
Referenced by showFromMenu(), and showFromObject().
LLFloaterReporter * LLFloaterReporter::createNewBugReporter | ( | ) | [static] |
Definition at line 570 of file llfloaterreporter.cpp.
References BUG_REPORT, and LLFloaterReporter().
Referenced by showFromMenu().
void LLFloaterReporter::processRegionInfo | ( | LLMessageSystem * | msg | ) | [static] |
Definition at line 200 of file llfloaterreporter.cpp.
References LLViewerWindow::alertXml(), gDialogVisible, gEmailToEstateOwner, LLMessageSystem::getU32(), gViewerWindow, and REGION_FLAGS_ABUSE_EMAIL_TO_ESTATE_OWNER.
Referenced by LLViewerRegion::processRegionInfo().
void LLFloaterReporter::setPickedObjectProperties | ( | const LLString & | object_name, | |
const LLString & | owner_name, | |||
const LLUUID | owner_id | |||
) |
Definition at line 580 of file llfloaterreporter.cpp.
References LLPanel::childSetText(), and mAbuserID.
Referenced by LLSelectMgr::processObjectPropertiesFamily().
void LLFloaterReporter::takeScreenshot | ( | ) | [private] |
Definition at line 858 of file llfloaterreporter.cpp.
References LLViewerImageList::addImage(), LLAssetType::AT_TEXTURE, BUG_REPORT, COMPLAINT_REPORT, LLViewerImageList::convertToUploadFile(), FALSE, gAgent, gAgentID, LLUUID::generate(), LLAgent::getSecureSessionID(), gImageList, gVFS, gViewerWindow, LLInventoryType::IT_NONE, llendl, LLTexturePicker, llwarns, LLTransactionID::makeAssetID(), LLResourceData::mAssetInfo, LLAssetInfo::mCreatorID, LLResourceData::mInventoryType, LLResourceData::mPreferredLocation, mReportType, mResourceDatap, LLAssetInfo::mTransactionID, LLAssetInfo::mType, LLAssetInfo::mUuid, LLViewerWindow::rawSnapshot(), S32, LLAssetInfo::setDescription(), LLAssetInfo::setName(), TRUE, and LLVFile::writeFile().
Referenced by LLFloaterReporter().
void LLFloaterReporter::sendReportViaCaps | ( | std::string | url | ) | [private] |
void LLFloaterReporter::uploadImage | ( | ) | [private] |
Definition at line 916 of file llfloaterreporter.cpp.
References gAssetStorage, LLAssetInfo::getDescription(), LLAssetInfo::getName(), llendl, llinfos, LLAssetType::lookup(), LLResourceData::mAssetInfo, mResourceDatap, LLAssetInfo::mTransactionID, LLAssetInfo::mType, LLAssetInfo::mUuid, LLAssetStorage::storeAssetData(), TRUE, and uploadDoneCallback().
bool LLFloaterReporter::validateReport | ( | ) | [private] |
Definition at line 589 of file llfloaterreporter.cpp.
References LLViewerWindow::alertXml(), LLSD::asInteger(), BUG_REPORT, LLPanel::childGetText(), LLPanel::childGetValue(), gViewerWindow, mDefaultSummary, and mReportType.
void LLFloaterReporter::setReporterID | ( | ) | [private] |
LLSD LLFloaterReporter::gatherReport | ( | ) | [private] |
Definition at line 650 of file llfloaterreporter.cpp.
References LLSD::asString(), BUG_REPORT, LLPanel::childGetText(), LLPanel::childGetValue(), LLSD::emptyMap(), FALSE, gAgent, gEmailToEstateOwner, LLCPUInfo::getFamily(), LLViewerRegion::getName(), LLAgent::getRegion(), LLComboBox::getSelectedItemLabel(), LLVector3::getValue(), gGLManager, gSysCPU, LLAppViewer::instance(), LL_VERSION_MAJOR, LL_VERSION_MINOR, LL_VERSION_PATCH, LL_VIEWER_BUILD, mAbuserID, MAX_STRING, mCopyrightWarningSeen, LLGLManager::mDriverVersionVendorString, LLGLManager::mGLRenderer, mObjectID, mPosition, mReportType, and LLUUID::null.
void LLFloaterReporter::sendReportViaLegacy | ( | const LLSD & | report | ) | [private] |
Definition at line 776 of file llfloaterreporter.cpp.
References _PREHASH_AgentData, _PREHASH_AgentID, _PREHASH_Category, _PREHASH_CheckFlags, _PREHASH_Details, _PREHASH_ObjectID, _PREHASH_Position, _PREHASH_ReportData, _PREHASH_ReportType, _PREHASH_ScreenshotID, _PREHASH_SessionID, _PREHASH_Summary, _PREHASH_UserReport, LLMessageSystem::addString(), LLMessageSystem::addStringFast(), LLMessageSystem::addU8(), LLMessageSystem::addU8Fast(), LLMessageSystem::addUUID(), LLMessageSystem::addUUIDFast(), LLMessageSystem::addVector3Fast(), gAgent, LLViewerRegion::getHost(), LLAgent::getID(), LLAgent::getRegion(), LLAgent::getSessionID(), gMessageSystem, LLMessageSystem::newMessageFast(), LLMessageSystem::nextBlockFast(), and LLMessageSystem::sendReliable().
void LLFloaterReporter::sendReportViaCaps | ( | std::string | url, | |
std::string | sshot_url, | |||
const LLSD & | report | |||
) | [private] |
Definition at line 842 of file llfloaterreporter.cpp.
References LLPanel::childGetValue(), LLResourceData::mAssetInfo, mResourceDatap, LLAssetInfo::mType, LLAssetInfo::mUuid, and LLHTTPClient::post().
void LLFloaterReporter::setPosBox | ( | const LLVector3d & | pos | ) | [private] |
Definition at line 975 of file llfloaterreporter.cpp.
References LLPanel::childSetText(), llformat(), mPosition, LLVector3::mV, LLVector3::setVec(), VX, VY, and VZ.
Referenced by getObjectInfo(), and LLFloaterReporter().
void LLFloaterReporter::enableControls | ( | BOOL | own_avatar | ) | [private] |
Definition at line 257 of file llfloaterreporter.cpp.
References BUG_REPORT, LLPanel::childDisable(), LLPanel::childSetEnabled(), and mReportType.
Referenced by LLFloaterReporter().
void LLFloaterReporter::getObjectInfo | ( | const LLUUID & | object_id | ) | [private] |
Definition at line 274 of file llfloaterreporter.cpp.
References _PREHASH_AgentData, _PREHASH_AgentID, _PREHASH_ObjectData, _PREHASH_ObjectID, _PREHASH_RequestFlags, _PREHASH_RequestObjectPropertiesFamily, _PREHASH_SessionID, LLMessageSystem::addU32Fast(), LLMessageSystem::addUUIDFast(), BUG_REPORT, BUG_REPORT_REQUEST, LLPanel::childSetText(), COMPLAINT_REPORT_REQUEST, LLViewerObjectList::findObject(), gAgent, LLViewerRegion::getHost(), LLAgent::getID(), LLViewerRegion::getName(), LLViewerObject::getNVPair(), LLViewerObject::getPositionRegion(), LLViewerObject::getRegion(), LLXform::getRoot(), LLAgent::getSessionID(), LLNameValue::getString(), gMessageSystem, gObjectList, LLViewerObject::isAttachment(), LLPrimitive::isAvatar(), mAbuserID, mObjectID, mReportType, LLMessageSystem::newMessageFast(), LLMessageSystem::nextBlockFast(), NULL, LLUUID::null, LLMessageSystem::sendReliable(), and setPosBox().
Referenced by showFromObject().
void LLFloaterReporter::callbackAvatarID | ( | const std::vector< std::string > & | names, | |
const std::vector< LLUUID > & | ids, | |||
void * | data | |||
) | [static, private] |
Definition at line 360 of file llfloaterreporter.cpp.
References BUG_REPORT.
Referenced by onClickSelectAbuser().
EReportType LLFloaterReporter::mReportType [private] |
Definition at line 131 of file llfloaterreporter.h.
Referenced by draw(), enableControls(), gatherReport(), getObjectInfo(), takeScreenshot(), validateReport(), and ~LLFloaterReporter().
LLUUID LLFloaterReporter::mObjectID [private] |
Definition at line 132 of file llfloaterreporter.h.
Referenced by gatherReport(), getObjectInfo(), and ~LLFloaterReporter().
LLUUID LLFloaterReporter::mScreenID [private] |
Definition at line 133 of file llfloaterreporter.h.
LLUUID LLFloaterReporter::mAbuserID [private] |
Definition at line 134 of file llfloaterreporter.h.
Referenced by gatherReport(), getObjectInfo(), and setPickedObjectProperties().
BOOL LLFloaterReporter::mDeselectOnClose [private] |
BOOL LLFloaterReporter::mPicking [private] |
LLVector3 LLFloaterReporter::mPosition [private] |
Definition at line 137 of file llfloaterreporter.h.
Referenced by gatherReport(), setPosBox(), and ~LLFloaterReporter().
BOOL LLFloaterReporter::mCopyrightWarningSeen [private] |
std::list<LLMeanCollisionData*> LLFloaterReporter::mMCDList [private] |
LLString LLFloaterReporter::mDefaultSummary [private] |
Definition at line 140 of file llfloaterreporter.h.
Referenced by LLFloaterReporter(), and validateReport().
LLResourceData* LLFloaterReporter::mResourceDatap [private] |
Definition at line 141 of file llfloaterreporter.h.
Referenced by sendReportViaCaps(), takeScreenshot(), uploadImage(), and ~LLFloaterReporter().