From 5440a0ef5083ee3c29489a904027c307f12c8269 Mon Sep 17 00:00:00 2001 From: Islam Bassuni <Islambassuni@gmail.com> Date: Sun, 3 Apr 2022 16:50:14 +0200 Subject: [PATCH] Added report issue button in "About" window (#2908) --- src/dialogs/AboutDialog.cpp | 6 + src/dialogs/AboutDialog.h | 1 + src/dialogs/AboutDialog.ui | 256 +++++++++++++++++++++--------------- 3 files changed, 159 insertions(+), 104 deletions(-) diff --git a/src/dialogs/AboutDialog.cpp b/src/dialogs/AboutDialog.cpp index d332cb29..d60a5566 100644 --- a/src/dialogs/AboutDialog.cpp +++ b/src/dialogs/AboutDialog.cpp @@ -5,6 +5,8 @@ #include "ui_AboutDialog.h" #include "RizinPluginsDialog.h" #include "common/Configuration.h" +#include "common/BugReporting.h" + #include <QUrl> #include <QTimer> @@ -85,6 +87,10 @@ void AboutDialog::on_showPluginsButton_clicked() RizinPluginsDialog dialog(this); dialog.exec(); } +void AboutDialog::on_Issue_clicked() +{ + openIssue(); +} void AboutDialog::on_checkForUpdatesButton_clicked() { diff --git a/src/dialogs/AboutDialog.h b/src/dialogs/AboutDialog.h index 2d3ae342..c21baea5 100644 --- a/src/dialogs/AboutDialog.h +++ b/src/dialogs/AboutDialog.h @@ -21,6 +21,7 @@ private slots: void on_buttonBox_rejected(); void on_showVersionButton_clicked(); void on_showPluginsButton_clicked(); + void on_Issue_clicked(); /** * @fn AboutDialog::on_checkForUpdatesButton_clicked() diff --git a/src/dialogs/AboutDialog.ui b/src/dialogs/AboutDialog.ui index e6023527..13742312 100644 --- a/src/dialogs/AboutDialog.ui +++ b/src/dialogs/AboutDialog.ui @@ -6,8 +6,8 @@ <rect> <x>0</x> <y>0</y> - <width>570</width> - <height>393</height> + <width>935</width> + <height>554</height> </rect> </property> <property name="windowTitle"> @@ -15,6 +15,121 @@ </property> <layout class="QGridLayout" name="gridLayout_2"> <item row="1" column="0"> + <spacer name="verticalSpacer"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <property name="sizeHint" stdset="0"> + <size> + <width>20</width> + <height>40</height> + </size> + </property> + </spacer> + </item> + <item row="4" column="0"> + <widget class="QDialogButtonBox" name="buttonBox"> + <property name="standardButtons"> + <set>QDialogButtonBox::Close</set> + </property> + </widget> + </item> + <item row="2" column="0"> + <layout class="QGridLayout" name="gridLayout"> + <property name="horizontalSpacing"> + <number>5</number> + </property> + <property name="verticalSpacing"> + <number>15</number> + </property> + <item row="4" column="1" colspan="2"> + <widget class="QCheckBox" name="updatesCheckBox"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Maximum" vsizetype="Maximum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Check for updates on start</string> + </property> + </widget> + </item> + <item row="3" column="1"> + <widget class="QPushButton" name="checkForUpdatesButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Maximum" vsizetype="Maximum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Check for updates</string> + </property> + </widget> + </item> + <item row="2" column="1" colspan="4" alignment="Qt::AlignHCenter"> + <widget class="QLabel" name="label_3"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string><html><head/><body><p align="center"><span style=" font-size:11pt; font-weight:600;">Cutter is a free and open-source reverse engineering platform powered by Rizin</span></p><p align="center"><span style=" font-size:11pt;">Read more on </span><a href="https://cutter.re"><span style=" text-decoration: underline; color:#2980b9;">cutter.re</span></a></p></body></html></string> + </property> + </widget> + </item> + <item row="1" column="2" colspan="2" alignment="Qt::AlignHCenter"> + <widget class="QLabel" name="label_2"> + <property name="text"> + <string><html><head/><body><p><span style=" font-size:28pt; font-weight:600;">Cutter</span></p></body></html></string> + </property> + </widget> + </item> + <item row="3" column="4"> + <widget class="QPushButton" name="Issue"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Maximum" vsizetype="Maximum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Report an issue</string> + </property> + </widget> + </item> + <item row="3" column="2"> + <widget class="QPushButton" name="showPluginsButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Maximum" vsizetype="Maximum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Show Rizin plugin information</string> + </property> + </widget> + </item> + <item row="3" column="3"> + <widget class="QPushButton" name="showVersionButton"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Maximum" vsizetype="Maximum"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="text"> + <string>Show version information</string> + </property> + </widget> + </item> + </layout> + </item> + <item row="3" column="0"> <widget class="QLabel" name="label"> <property name="sizePolicy"> <sizepolicy hsizetype="Preferred" vsizetype="Expanding"> @@ -42,111 +157,40 @@ </property> </widget> </item> - <item row="2" column="0"> - <widget class="QDialogButtonBox" name="buttonBox"> - <property name="standardButtons"> - <set>QDialogButtonBox::Close</set> + <item row="0" column="0" alignment="Qt::AlignHCenter"> + <widget class="QSvgWidget" name="logoSvgWidget" native="true"> + <property name="enabled"> + <bool>true</bool> + </property> + <property name="sizePolicy"> + <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>96</width> + <height>96</height> + </size> + </property> + <property name="maximumSize"> + <size> + <width>96</width> + <height>96</height> + </size> + </property> + <property name="focusPolicy"> + <enum>Qt::NoFocus</enum> + </property> + <property name="contextMenuPolicy"> + <enum>Qt::DefaultContextMenu</enum> + </property> + <property name="toolTipDuration"> + <number>0</number> </property> </widget> </item> - <item row="0" column="0"> - <layout class="QGridLayout" name="gridLayout"> - <property name="horizontalSpacing"> - <number>5</number> - </property> - <property name="verticalSpacing"> - <number>15</number> - </property> - <item row="5" column="1" colspan="2"> - <widget class="QCheckBox" name="updatesCheckBox"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Maximum" vsizetype="Maximum"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>Check for updates on start</string> - </property> - </widget> - </item> - <item row="4" column="1"> - <widget class="QPushButton" name="checkForUpdatesButton"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Maximum" vsizetype="Maximum"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>Check for updates</string> - </property> - </widget> - </item> - <item row="4" column="3"> - <widget class="QPushButton" name="showVersionButton"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Maximum" vsizetype="Maximum"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>Show version information</string> - </property> - </widget> - </item> - <item row="4" column="2"> - <widget class="QPushButton" name="showPluginsButton"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Maximum" vsizetype="Maximum"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string>Show Rizin plugin information</string> - </property> - </widget> - </item> - <item row="3" column="1" colspan="3" alignment="Qt::AlignHCenter|Qt::AlignVCenter"> - <widget class="QLabel" name="label_3"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="text"> - <string><html><head/><body><p align="center"><span style=" font-size:11pt; font-weight:600;">Cutter is a free and open-source reverse engineering platform powered by Rizin</span></p><p align="center"><span style=" font-size:11pt;">Read more on </span><a href="https://cutter.re"><span style=" text-decoration: underline; color:#2980b9;">cutter.re</span></a></p></body></html></string> - </property> - </widget> - </item> - <item row="2" column="2" alignment="Qt::AlignHCenter|Qt::AlignVCenter"> - <widget class="QLabel" name="label_2"> - <property name="text"> - <string><html><head/><body><p><span style=" font-size:28pt; font-weight:600;">Cutter</span></p></body></html></string> - </property> - </widget> - </item> - <item row="1" column="2" alignment="Qt::AlignHCenter|Qt::AlignVCenter"> - <widget class="QSvgWidget" name="logoSvgWidget" native="true"> - <property name="minimumSize"> - <size> - <width>96</width> - <height>96</height> - </size> - </property> - <property name="maximumSize"> - <size> - <width>96</width> - <height>96</height> - </size> - </property> - </widget> - </item> - </layout> - </item> </layout> </widget> <customwidgets> @@ -159,4 +203,8 @@ </customwidgets> <resources/> <connections/> + <slots> + <signal>signal1()</signal> + <slot>on_reportIssueButton_clicked()</slot> + </slots> </ui>