Implement About Button Functionality (#3005)
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								dist/icons/citra.png
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								dist/icons/citra.png
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 21 KiB | 
							
								
								
									
										1
									
								
								dist/icons/icons.qrc
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								dist/icons/icons.qrc
									
									
									
									
										vendored
									
									
								
							| @@ -2,5 +2,6 @@ | ||||
|   <qresource prefix="icons"> | ||||
|     <file>checked.png</file> | ||||
|     <file>failed.png</file> | ||||
|     <file>citra.png</file> | ||||
|   </qresource> | ||||
| </RCC> | ||||
|   | ||||
| @@ -23,6 +23,7 @@ set(SRCS | ||||
|             debugger/profiler.cpp | ||||
|             debugger/registers.cpp | ||||
|             debugger/wait_tree.cpp | ||||
|             aboutdialog.cpp | ||||
|             util/spinbox.cpp | ||||
|             util/util.cpp | ||||
|             bootmanager.cpp | ||||
| @@ -57,6 +58,7 @@ set(HEADERS | ||||
|             debugger/wait_tree.h | ||||
|             util/spinbox.h | ||||
|             util/util.h | ||||
|             aboutdialog.h | ||||
|             bootmanager.h | ||||
|             game_list.h | ||||
|             game_list_p.h | ||||
| @@ -75,6 +77,7 @@ set(UIS | ||||
|             configuration/configure_system.ui | ||||
|             configuration/configure_web.ui | ||||
|             debugger/registers.ui | ||||
|             aboutdialog.ui | ||||
|             hotkeys.ui | ||||
|             main.ui | ||||
|             ) | ||||
|   | ||||
							
								
								
									
										19
									
								
								src/citra_qt/aboutdialog.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								src/citra_qt/aboutdialog.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| // Copyright 2017 Citra Emulator Project | ||||
| // Licensed under GPLv2 or any later version | ||||
| // Refer to the license.txt file included. | ||||
|  | ||||
| #include "aboutdialog.h" | ||||
| #include "common/scm_rev.h" | ||||
| #include "ui_aboutdialog.h" | ||||
|  | ||||
| AboutDialog::AboutDialog(QWidget* parent) | ||||
|     : QDialog(parent, Qt::WindowTitleHint | Qt::WindowCloseButtonHint | Qt::WindowSystemMenuHint), | ||||
|       ui(new Ui::AboutDialog) { | ||||
|     ui->setupUi(this); | ||||
|     ui->labelBuildInfo->setText(ui->labelBuildInfo->text().arg( | ||||
|         Common::g_build_name, Common::g_scm_branch, Common::g_scm_desc)); | ||||
| } | ||||
|  | ||||
| AboutDialog::~AboutDialog() { | ||||
|     delete ui; | ||||
| } | ||||
							
								
								
									
										25
									
								
								src/citra_qt/aboutdialog.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								src/citra_qt/aboutdialog.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| // Copyright 2017 Citra Emulator Project | ||||
| // Licensed under GPLv2 or any later version | ||||
| // Refer to the license.txt file included. | ||||
|  | ||||
| #ifndef ABOUTDIALOG_H | ||||
| #define ABOUTDIALOG_H | ||||
|  | ||||
| #include <QDialog> | ||||
|  | ||||
| namespace Ui { | ||||
| class AboutDialog; | ||||
| } | ||||
|  | ||||
| class AboutDialog : public QDialog { | ||||
|     Q_OBJECT | ||||
|  | ||||
| public: | ||||
|     explicit AboutDialog(QWidget* parent = 0); | ||||
|     ~AboutDialog(); | ||||
|  | ||||
| private: | ||||
|     Ui::AboutDialog* ui; | ||||
| }; | ||||
|  | ||||
| #endif // ABOUTDIALOG_H | ||||
							
								
								
									
										156
									
								
								src/citra_qt/aboutdialog.ui
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										156
									
								
								src/citra_qt/aboutdialog.ui
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,156 @@ | ||||
| <?xml version="1.0" encoding="UTF-8"?> | ||||
| <ui version="4.0"> | ||||
|  <class>AboutDialog</class> | ||||
|  <widget class="QDialog" name="AboutDialog"> | ||||
|   <property name="geometry"> | ||||
|    <rect> | ||||
|     <x>0</x> | ||||
|     <y>0</y> | ||||
|     <width>752</width> | ||||
|     <height>300</height> | ||||
|    </rect> | ||||
|   </property> | ||||
|   <property name="windowTitle"> | ||||
|    <string>About Citra</string> | ||||
|   </property> | ||||
|   <widget class="QDialogButtonBox" name="buttonBox"> | ||||
|    <property name="geometry"> | ||||
|     <rect> | ||||
|      <x>630</x> | ||||
|      <y>250</y> | ||||
|      <width>101</width> | ||||
|      <height>32</height> | ||||
|     </rect> | ||||
|    </property> | ||||
|    <property name="orientation"> | ||||
|     <enum>Qt::Horizontal</enum> | ||||
|    </property> | ||||
|    <property name="standardButtons"> | ||||
|     <set>QDialogButtonBox::Ok</set> | ||||
|    </property> | ||||
|   </widget> | ||||
|   <widget class="QLabel" name="labelLogo"> | ||||
|    <property name="geometry"> | ||||
|     <rect> | ||||
|      <x>20</x> | ||||
|      <y>20</y> | ||||
|      <width>241</width> | ||||
|      <height>251</height> | ||||
|     </rect> | ||||
|    </property> | ||||
|    <property name="text"> | ||||
|     <string><html><head/><body><p><img src=":/icons/citra.png"/></p></body></html></string> | ||||
|    </property> | ||||
|   </widget> | ||||
|   <widget class="QLabel" name="labelCitra"> | ||||
|    <property name="geometry"> | ||||
|     <rect> | ||||
|      <x>270</x> | ||||
|      <y>10</y> | ||||
|      <width>100</width> | ||||
|      <height>50</height> | ||||
|     </rect> | ||||
|    </property> | ||||
|    <property name="text"> | ||||
|     <string><html><head/><body><p><span style=" font-size:28pt;">Citra</span></p></body></html></string> | ||||
|    </property> | ||||
|   </widget> | ||||
|   <widget class="QLabel" name="labelBuildInfo"> | ||||
|    <property name="geometry"> | ||||
|     <rect> | ||||
|      <x>270</x> | ||||
|      <y>70</y> | ||||
|      <width>451</width> | ||||
|      <height>21</height> | ||||
|     </rect> | ||||
|    </property> | ||||
|    <property name="text"> | ||||
|     <string><html><head/><body><p>%1 | %2-%3</p></body></html></string> | ||||
|    </property> | ||||
|   </widget> | ||||
|   <widget class="QLabel" name="labelAbout"> | ||||
|    <property name="geometry"> | ||||
|     <rect> | ||||
|      <x>270</x> | ||||
|      <y>90</y> | ||||
|      <width>461</width> | ||||
|      <height>131</height> | ||||
|     </rect> | ||||
|    </property> | ||||
|    <property name="text"> | ||||
|     <string><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> | ||||
| <html><head><meta name="qrichtext" content="1" /><style type="text/css"> | ||||
| p, li { white-space: pre-wrap; } | ||||
| </style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;"> | ||||
| <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">Citra is a free and open source 3DS emulator </span></p> | ||||
| <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">licensed under GPLv2.0 or any later version.</span></p> | ||||
| <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><br /></p> | ||||
| <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">This software should not be used to play games </span></p> | ||||
| <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:12pt;">you have not legally obtained.</span></p></body></html></string> | ||||
|    </property> | ||||
|   </widget> | ||||
|   <widget class="QLabel" name="labelLinks"> | ||||
|    <property name="geometry"> | ||||
|     <rect> | ||||
|      <x>270</x> | ||||
|      <y>230</y> | ||||
|      <width>361</width> | ||||
|      <height>16</height> | ||||
|     </rect> | ||||
|    </property> | ||||
|    <property name="text"> | ||||
|     <string><html><head/><body><p><a href="https://citra-emu.org/"><span style=" text-decoration: underline; color:#0000ff;">Website</span></a> | <a href="https://community.citra-emu.org/"><span style=" text-decoration: underline; color:#0000ff;">Forum</span></a> | <a href="https://github.com/citra-emu"><span style=" text-decoration: underline; color:#0000ff;">Source Code</span></a> | <a href="//github.com/citra-emu/citra/graphs/contributors"><span style=" text-decoration: underline; color:#0000ff;">Contributors</span></a> | <a href="https://github.com/citra-emu/citra/blob/master/license.txt"><span style=" text-decoration: underline; color:#0000ff;">License</span></a></p></body></html></string> | ||||
|    </property> | ||||
|   </widget> | ||||
|   <widget class="QLabel" name="labelLiability"> | ||||
|    <property name="geometry"> | ||||
|     <rect> | ||||
|      <x>150</x> | ||||
|      <y>270</y> | ||||
|      <width>450</width> | ||||
|      <height>16</height> | ||||
|     </rect> | ||||
|    </property> | ||||
|    <property name="text"> | ||||
|     <string><html><head/><body><p><span style=" font-size:7pt;">&quot;3DS&quot; is a trademark of Nintendo. Citra is not affiliated with Nintendo in any way.</span></p></body></html></string> | ||||
|    </property> | ||||
|   </widget> | ||||
|  </widget> | ||||
|  <resources> | ||||
|   <include location="../../dist/icons/icons.qrc"/> | ||||
|  </resources> | ||||
|  <connections> | ||||
|   <connection> | ||||
|    <sender>buttonBox</sender> | ||||
|    <signal>accepted()</signal> | ||||
|    <receiver>AboutDialog</receiver> | ||||
|    <slot>accept()</slot> | ||||
|    <hints> | ||||
|     <hint type="sourcelabel"> | ||||
|      <x>248</x> | ||||
|      <y>254</y> | ||||
|     </hint> | ||||
|     <hint type="destinationlabel"> | ||||
|      <x>157</x> | ||||
|      <y>274</y> | ||||
|     </hint> | ||||
|    </hints> | ||||
|   </connection> | ||||
|   <connection> | ||||
|    <sender>buttonBox</sender> | ||||
|    <signal>rejected()</signal> | ||||
|    <receiver>AboutDialog</receiver> | ||||
|    <slot>reject()</slot> | ||||
|    <hints> | ||||
|     <hint type="sourcelabel"> | ||||
|      <x>316</x> | ||||
|      <y>260</y> | ||||
|     </hint> | ||||
|     <hint type="destinationlabel"> | ||||
|      <x>286</x> | ||||
|      <y>274</y> | ||||
|     </hint> | ||||
|    </hints> | ||||
|   </connection> | ||||
|  </connections> | ||||
| </ui> | ||||
| @@ -13,6 +13,7 @@ | ||||
| #include <QMessageBox> | ||||
| #include <QtGui> | ||||
| #include <QtWidgets> | ||||
| #include "citra_qt/aboutdialog.h" | ||||
| #include "citra_qt/bootmanager.h" | ||||
| #include "citra_qt/configuration/config.h" | ||||
| #include "citra_qt/configuration/configure_dialog.h" | ||||
| @@ -340,6 +341,11 @@ void GMainWindow::ConnectMenuEvents() { | ||||
|     connect(ui.action_Show_Status_Bar, &QAction::triggered, statusBar(), &QStatusBar::setVisible); | ||||
|     ui.action_Fullscreen->setShortcut(GetHotkey("Main Window", "Fullscreen", this)->key()); | ||||
|     connect(ui.action_Fullscreen, &QAction::triggered, this, &GMainWindow::ToggleFullscreen); | ||||
|  | ||||
|     // Help | ||||
|     connect(ui.action_FAQ, &QAction::triggered, | ||||
|             []() { QDesktopServices::openUrl(QUrl("https://citra-emu.org/wiki/faq/")); }); | ||||
|     connect(ui.action_About, &QAction::triggered, this, &GMainWindow::OnMenuAboutCitra); | ||||
| } | ||||
|  | ||||
| void GMainWindow::OnDisplayTitleBars(bool show) { | ||||
| @@ -801,6 +807,11 @@ void GMainWindow::OnCoreError(Core::System::ResultStatus result, std::string det | ||||
|     } | ||||
| } | ||||
|  | ||||
| void GMainWindow::OnMenuAboutCitra() { | ||||
|     AboutDialog about{this}; | ||||
|     about.exec(); | ||||
| } | ||||
|  | ||||
| bool GMainWindow::ConfirmClose() { | ||||
|     if (emu_thread == nullptr || !UISettings::values.confirm_before_closing) | ||||
|         return true; | ||||
|   | ||||
| @@ -25,6 +25,7 @@ class MicroProfileDialog; | ||||
| class ProfilerWidget; | ||||
| class RegistersWidget; | ||||
| class WaitTreeWidget; | ||||
| class AboutDialog; | ||||
|  | ||||
| class GMainWindow : public QMainWindow { | ||||
|     Q_OBJECT | ||||
| @@ -131,6 +132,8 @@ private slots: | ||||
|     void ToggleWindowMode(); | ||||
|     void OnCreateGraphicsSurfaceViewer(); | ||||
|     void OnCoreError(Core::System::ResultStatus, std::string); | ||||
|     /// Called whenever a user selects Help->About Citra | ||||
|     void OnMenuAboutCitra(); | ||||
|  | ||||
| private: | ||||
|     void UpdateStatusBar(); | ||||
|   | ||||
| @@ -96,6 +96,7 @@ | ||||
|     <property name="title"> | ||||
|      <string>&Help</string> | ||||
|     </property> | ||||
|     <addaction name="action_FAQ"/> | ||||
|     <addaction name="action_About"/> | ||||
|    </widget> | ||||
|    <addaction name="menu_File"/> | ||||
| @@ -142,6 +143,11 @@ | ||||
|     <string>&Stop</string> | ||||
|    </property> | ||||
|   </action> | ||||
|   <action name="action_FAQ"> | ||||
|    <property name="text"> | ||||
|     <string>FAQ</string> | ||||
|    </property> | ||||
|   </action> | ||||
|   <action name="action_About"> | ||||
|    <property name="text"> | ||||
|     <string>About Citra</string> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user