summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/yuzu/main.cpp26
-rw-r--r--src/yuzu/main.h4
-rw-r--r--src/yuzu/main.ui18
3 files changed, 48 insertions, 0 deletions
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 270cccc77..ecafbfb00 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -56,6 +56,7 @@ static FileSys::VirtualFile VfsDirectoryCreateFileWrapper(const FileSys::Virtual
56#include <QShortcut> 56#include <QShortcut>
57#include <QStatusBar> 57#include <QStatusBar>
58#include <QSysInfo> 58#include <QSysInfo>
59#include <QUrl>
59#include <QtConcurrent/QtConcurrent> 60#include <QtConcurrent/QtConcurrent>
60 61
61#include <fmt/format.h> 62#include <fmt/format.h>
@@ -826,6 +827,9 @@ void GMainWindow::ConnectMenuEvents() {
826 connect(ui.action_Stop, &QAction::triggered, this, &GMainWindow::OnStopGame); 827 connect(ui.action_Stop, &QAction::triggered, this, &GMainWindow::OnStopGame);
827 connect(ui.action_Report_Compatibility, &QAction::triggered, this, 828 connect(ui.action_Report_Compatibility, &QAction::triggered, this,
828 &GMainWindow::OnMenuReportCompatibility); 829 &GMainWindow::OnMenuReportCompatibility);
830 connect(ui.action_Open_Mods_Page, &QAction::triggered, this, &GMainWindow::OnOpenModsPage);
831 connect(ui.action_Open_Quickstart_Guide, &QAction::triggered, this, &GMainWindow::OnQuickstartGuide);
832 connect(ui.action_Open_FAQ, &QAction::triggered, this, &GMainWindow::OnFAQ);
829 connect(ui.action_Restart, &QAction::triggered, this, [this] { BootGame(QString(game_path)); }); 833 connect(ui.action_Restart, &QAction::triggered, this, [this] { BootGame(QString(game_path)); });
830 connect(ui.action_Configure, &QAction::triggered, this, &GMainWindow::OnConfigure); 834 connect(ui.action_Configure, &QAction::triggered, this, &GMainWindow::OnConfigure);
831 835
@@ -1797,6 +1801,28 @@ void GMainWindow::OnMenuReportCompatibility() {
1797 } 1801 }
1798} 1802}
1799 1803
1804void GMainWindow::OpenURL(QString const& url_str) {
1805
1806 const QUrl url{url_str};
1807 const bool open = QDesktopServices::openUrl(url);
1808 if (!open) {
1809 QMessageBox::warning(this, tr("Error opening URL"),
1810 tr("Unable to open the URL \"%1\".").arg(url_str));
1811 }
1812}
1813
1814void GMainWindow::OnOpenModsPage() {
1815 this->OpenURL(QStringLiteral("https://github.com/yuzu-emu/yuzu/wiki/Switch-Mods"));
1816}
1817
1818void GMainWindow::OnQuickstartGuide() {
1819 this->OpenURL(QStringLiteral("https://yuzu-emu.org/help/quickstart/"));
1820}
1821
1822void GMainWindow::OnFAQ() {
1823 this->OpenURL(QStringLiteral("https://yuzu-emu.org/wiki/faq/"));
1824}
1825
1800void GMainWindow::ToggleFullscreen() { 1826void GMainWindow::ToggleFullscreen() {
1801 if (!emulation_running) { 1827 if (!emulation_running) {
1802 return; 1828 return;
diff --git a/src/yuzu/main.h b/src/yuzu/main.h
index 4f4c8ddbe..9500bdbba 100644
--- a/src/yuzu/main.h
+++ b/src/yuzu/main.h
@@ -181,6 +181,9 @@ private slots:
181 void OnPauseGame(); 181 void OnPauseGame();
182 void OnStopGame(); 182 void OnStopGame();
183 void OnMenuReportCompatibility(); 183 void OnMenuReportCompatibility();
184 void OnOpenModsPage();
185 void OnQuickstartGuide();
186 void OnFAQ();
184 /// Called whenever a user selects a game in the game list widget. 187 /// Called whenever a user selects a game in the game list widget.
185 void OnGameListLoadFile(QString game_path); 188 void OnGameListLoadFile(QString game_path);
186 void OnGameListOpenFolder(GameListOpenTarget target, const std::string& game_path); 189 void OnGameListOpenFolder(GameListOpenTarget target, const std::string& game_path);
@@ -219,6 +222,7 @@ private:
219 void UpdateStatusBar(); 222 void UpdateStatusBar();
220 void HideMouseCursor(); 223 void HideMouseCursor();
221 void ShowMouseCursor(); 224 void ShowMouseCursor();
225 void OpenURL(const QString& url_str);
222 226
223 Ui::MainWindow ui; 227 Ui::MainWindow ui;
224 228
diff --git a/src/yuzu/main.ui b/src/yuzu/main.ui
index 97c90f50b..248a805d9 100644
--- a/src/yuzu/main.ui
+++ b/src/yuzu/main.ui
@@ -113,6 +113,9 @@
113 <string>&amp;Help</string> 113 <string>&amp;Help</string>
114 </property> 114 </property>
115 <addaction name="action_Report_Compatibility"/> 115 <addaction name="action_Report_Compatibility"/>
116 <addaction name="action_Open_Mods_Page"/>
117 <addaction name="action_Open_Quickstart_Guide"/>
118 <addaction name="action_Open_FAQ"/>
116 <addaction name="separator"/> 119 <addaction name="separator"/>
117 <addaction name="action_About"/> 120 <addaction name="action_About"/>
118 </widget> 121 </widget>
@@ -256,6 +259,21 @@
256 <bool>false</bool> 259 <bool>false</bool>
257 </property> 260 </property>
258 </action> 261 </action>
262 <action name="action_Open_Mods_Page">
263 <property name="text">
264 <string>Open Mods Page</string>
265 </property>
266 </action>
267 <action name="action_Open_Quickstart_Guide">
268 <property name="text">
269 <string>Open Quickstart Guide</string>
270 </property>
271 </action>
272 <action name="action_Open_FAQ">
273 <property name="text">
274 <string>FAQ</string>
275 </property>
276 </action>
259 <action name="action_Open_yuzu_Folder"> 277 <action name="action_Open_yuzu_Folder">
260 <property name="text"> 278 <property name="text">
261 <string>Open yuzu Folder</string> 279 <string>Open yuzu Folder</string>