/src/common/BugReporting.cpp
https://github.com/radareorg/cutter · C++ · 45 lines · 41 code · 3 blank · 1 comment · 5 complexity · a919c87a5f111a2e4cfcfa4e606d9712 MD5 · raw file
- #include "BugReporting.h"
- #include "Cutter.h"
- #include <QUrl>
- #include <QJsonObject>
- #include "CutterConfig.h"
- #include <QDesktopServices>
- void openIssue()
- {
- QString url, osInfo, format, arch, type;
- //Pull in info needed for git issue
- osInfo = QSysInfo::productType() + " " +
- (QSysInfo::productVersion() == "unknown"
- ? ""
- : QSysInfo::productVersion());
- QJsonDocument docu = Core()->getFileInfo();
- QJsonObject coreObj = docu.object()["core"].toObject();
- QJsonObject binObj = docu.object()["bin"].toObject();
- if (!binObj.QJsonObject::isEmpty()) {
- format = coreObj["format"].toString();
- arch = binObj["arch"].toString();
- if (!binObj["type"].isUndefined()) {
- type = coreObj["type"].toString();
- } else {
- type = "N/A";
- }
- } else {
- format = coreObj["format"].toString();
- arch = "N/A";
- type = "N/A";
- }
- url =
- "https://github.com/radareorg/cutter/issues/new?&body=**Environment information**\n* Operating System: "
- + osInfo + "\n* Cutter version: " + CUTTER_VERSION_FULL +
- "\n* File format: " + format + "\n * Arch: " + arch + "\n * Type: " + type +
- "\n\n**Describe the bug**\nA clear and concise description of what the bug is.\n\n**To Reproduce**\n"
- "Steps to reproduce the behavior:\n1. Go to '...'\n2. Click on '....'\n3. Scroll down to '....'\n"
- "4. See error\n\n**Expected behavior**\n"
- "A clear and concise description of what you expected to happen.\n\n"
- "**Screenshots**\nIf applicable, add screenshots to help explain your problem.\n\n"
- "**Additional context**\nAdd any other context about the problem here.";
- QDesktopServices::openUrl(QUrl(url, QUrl::TolerantMode));
- }