MCPcopy Create free account
hub / github.com/baldurk/renderdoc / Prompt

Method Prompt

qrenderdoc/Code/Interface/Analytics.cpp:552–612  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

550}
551
552void Analytics::Prompt(ICaptureContext &ctx, PersistantConfig &config)
553{
554 if(analyticsState == AnalyticsState::Disabled)
555 {
556 // do nothing, we're disabled
557 return;
558 }
559 else if(analyticsState == AnalyticsState::PromptFirstTime)
560 {
561 QWidget *mainWindow = ctx.GetMainWindow()->Widget();
562
563 AnalyticsPromptDialog prompt(config, mainWindow);
564 RDDialog::show(&prompt);
565 }
566 else if(analyticsState == AnalyticsState::SubmitReport && Analytics::db != NULL)
567 {
568 QWidget *mainWindow = ctx.GetMainWindow()->Widget();
569
570 QVariantMap values;
571
572 AnalyticsSerialise(*Analytics::db, values, AnalyticsSerialiseType::Reporting);
573
574 QBuffer buf;
575 buf.open(QBuffer::WriteOnly);
576
577 SaveToJSON(values, buf, NULL, 0);
578
579 QString jsonReport = QString::fromUtf8(buf.buffer());
580
581 if(config.Analytics_ManualCheck)
582 {
583 AnalyticsConfirmDialog confirm(jsonReport, mainWindow);
584 int res = RDDialog::show(&confirm);
585
586 if(res == 0)
587 analyticsState = AnalyticsState::Nothing;
588 }
589
590 if(analyticsState == AnalyticsState::SubmitReport)
591 {
592 QNetworkAccessManager *mgr = new QNetworkAccessManager(mainWindow);
593
594 QUrlQuery postData;
595
596 postData.addQueryItem(lit("report"), jsonReport);
597
598 QNetworkRequest request(QUrl(lit("https://renderdoc.org/analytics")));
599
600 request.setHeader(QNetworkRequest::ContentTypeHeader,
601 lit("application/x-www-form-urlencoded"));
602
603 QByteArray dataText = postData.toString(QUrl::FullyEncoded).toUtf8();
604 mgr->post(request, dataText);
605 }
606
607 // reset the database now
608 *Analytics::db = Analytics();
609 Analytics::db->Date.Year = QDateTime::currentDateTime().date().year();

Callers

nothing calls this directly

Calls 13

AnalyticsSerialiseFunction · 0.85
SaveToJSONFunction · 0.85
AnalyticsClass · 0.85
addQueryItemMethod · 0.80
toUtf8Method · 0.80
showFunction · 0.50
fromUtf8Function · 0.50
QUrlFunction · 0.50
WidgetMethod · 0.45
GetMainWindowMethod · 0.45
openMethod · 0.45
bufferMethod · 0.45

Tested by

no test coverage detected