mirror of
https://github.com/rizinorg/cutter.git
synced 2024-12-24 22:05:25 +00:00
* Added GUI elements for automatically opening Github issues * Made the UI button for reporting issues a little more concise * Added URL opener, in debugging stages of getting relevant OS details * Fixed the url to fill in the OS info and Cutter version parameters * Removed some .orig files that astyle made and I pushed * Made the title of the issue empty so the User has to enter it * Removed extra new lines * Removed my astyle silliness * Report button will now give information about the file being analyzed. * Fixed indentation * Added meaningful names to variables, added a method to determine if certain items exist before accessing them. Also fixed some camelCasing issues :D * URL declaration is now done once, fixed if/else formatting
This commit is contained in:
parent
bcb3a162f7
commit
277a0ada2f
@ -1,6 +1,7 @@
|
|||||||
#include "MainWindow.h"
|
#include "MainWindow.h"
|
||||||
#include "ui_MainWindow.h"
|
#include "ui_MainWindow.h"
|
||||||
#include "common/Helpers.h"
|
#include "common/Helpers.h"
|
||||||
|
#include "CutterConfig.h"
|
||||||
|
|
||||||
// Qt Headers
|
// Qt Headers
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
@ -20,6 +21,9 @@
|
|||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QProcess>
|
#include <QProcess>
|
||||||
#include <QPropertyAnimation>
|
#include <QPropertyAnimation>
|
||||||
|
#include <QSysInfo>
|
||||||
|
#include <QJsonObject>
|
||||||
|
|
||||||
#include <QScrollBar>
|
#include <QScrollBar>
|
||||||
#include <QSettings>
|
#include <QSettings>
|
||||||
#include <QShortcut>
|
#include <QShortcut>
|
||||||
@ -263,7 +267,8 @@ void MainWindow::initUI()
|
|||||||
QShortcut *refresh_shortcut = new QShortcut(QKeySequence(QKeySequence::Refresh), this);
|
QShortcut *refresh_shortcut = new QShortcut(QKeySequence(QKeySequence::Refresh), this);
|
||||||
connect(refresh_shortcut, SIGNAL(activated()), this, SLOT(refreshAll()));
|
connect(refresh_shortcut, SIGNAL(activated()), this, SLOT(refreshAll()));
|
||||||
|
|
||||||
connect(core, SIGNAL(projectSaved(bool, const QString &)), this, SLOT(projectSaved(bool, const QString &)));
|
connect(core, SIGNAL(projectSaved(bool, const QString &)), this, SLOT(projectSaved(bool,
|
||||||
|
const QString &)));
|
||||||
|
|
||||||
connect(core, &CutterCore::changeDebugView, this, &MainWindow::changeDebugView);
|
connect(core, &CutterCore::changeDebugView, this, &MainWindow::changeDebugView);
|
||||||
connect(core, &CutterCore::changeDefinedView, this, &MainWindow::changeDefinedView);
|
connect(core, &CutterCore::changeDefinedView, this, &MainWindow::changeDefinedView);
|
||||||
@ -810,7 +815,8 @@ void MainWindow::on_actionRun_Script_triggered()
|
|||||||
dialog.setViewMode(QFileDialog::Detail);
|
dialog.setViewMode(QFileDialog::Detail);
|
||||||
dialog.setDirectory(QDir::home());
|
dialog.setDirectory(QDir::home());
|
||||||
|
|
||||||
const QString &fileName = QDir::toNativeSeparators(dialog.getOpenFileName(this, tr("Select radare2 script")));
|
const QString &fileName = QDir::toNativeSeparators(dialog.getOpenFileName(this,
|
||||||
|
tr("Select radare2 script")));
|
||||||
if (fileName.isEmpty()) // Cancel was pressed
|
if (fileName.isEmpty()) // Cancel was pressed
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -916,6 +922,35 @@ void MainWindow::on_actionAbout_triggered()
|
|||||||
a->setAttribute(Qt::WA_DeleteOnClose);
|
a->setAttribute(Qt::WA_DeleteOnClose);
|
||||||
a->open();
|
a->open();
|
||||||
}
|
}
|
||||||
|
void MainWindow::on_actionIssue_triggered()
|
||||||
|
{
|
||||||
|
QString url, osInfo, format, arch, type;
|
||||||
|
//Pull in info needed for git issue
|
||||||
|
osInfo = QString(QSysInfo::productType()) + " " + QString(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**\nSteps to reproduce the behavior:\n1. Go to '...'\n2. Click on '....'\n3. Scroll down to '....'\n4. See error\n\n**Expected behavior**\nA 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));
|
||||||
|
}
|
||||||
|
|
||||||
void MainWindow::on_actionRefresh_Panels_triggered()
|
void MainWindow::on_actionRefresh_Panels_triggered()
|
||||||
{
|
{
|
||||||
|
@ -131,6 +131,7 @@ public slots:
|
|||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void on_actionAbout_triggered();
|
void on_actionAbout_triggered();
|
||||||
|
void on_actionIssue_triggered();
|
||||||
void on_actionExtraGraph_triggered();
|
void on_actionExtraGraph_triggered();
|
||||||
void on_actionExtraHexdump_triggered();
|
void on_actionExtraHexdump_triggered();
|
||||||
void on_actionExtraDisassembly_triggered();
|
void on_actionExtraDisassembly_triggered();
|
||||||
|
@ -136,6 +136,7 @@ QToolTip {
|
|||||||
<string>Help</string>
|
<string>Help</string>
|
||||||
</property>
|
</property>
|
||||||
<addaction name="actionAbout"/>
|
<addaction name="actionAbout"/>
|
||||||
|
<addaction name="actionIssue"/>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QMenu" name="menuEdit">
|
<widget class="QMenu" name="menuEdit">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
@ -278,6 +279,11 @@ QToolTip {
|
|||||||
<string>About</string>
|
<string>About</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
|
<action name="actionIssue">
|
||||||
|
<property name="text">
|
||||||
|
<string>Report an issue</string>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
<action name="actionNew">
|
<action name="actionNew">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>New</string>
|
<string>New</string>
|
||||||
|
Loading…
Reference in New Issue
Block a user