diff options
| author | spycrab <spycrab@users.noreply.github.com> | 2018-03-23 01:18:53 +0100 |
|---|---|---|
| committer | spycrab <spycrab@users.noreply.github.com> | 2018-03-23 10:58:54 +0100 |
| commit | 95a5a51e55bd36a8d23c8a95ea7b7ca560110041 (patch) | |
| tree | 3ccea6851c70ef0f7ee63939a4bf76c550dad309 /Source/Core/DolphinQt2/MainWindow.cpp | |
| parent | 5e76f3a6d4a29df6b2794c4f6c790bd92e47f17d (diff) | |
Qt: Implement missing "File" menu items
Diffstat (limited to 'Source/Core/DolphinQt2/MainWindow.cpp')
| -rw-r--r-- | Source/Core/DolphinQt2/MainWindow.cpp | 27 |
1 files changed, 25 insertions, 2 deletions
diff --git a/Source/Core/DolphinQt2/MainWindow.cpp b/Source/Core/DolphinQt2/MainWindow.cpp index 1afa2bafdd..46060db385 100644 --- a/Source/Core/DolphinQt2/MainWindow.cpp +++ b/Source/Core/DolphinQt2/MainWindow.cpp @@ -28,6 +28,7 @@ #include "Core/Config/NetplaySettings.h" #include "Core/ConfigManager.h" #include "Core/Core.h" +#include "Core/HW/DVD/DVDInterface.h" #include "Core/HW/GCKeyboard.h" #include "Core/HW/GCPad.h" #include "Core/HW/ProcessorInterface.h" @@ -231,6 +232,10 @@ void MainWindow::ConnectMenuBar() // File connect(m_menu_bar, &MenuBar::Open, this, &MainWindow::Open); connect(m_menu_bar, &MenuBar::Exit, this, &MainWindow::close); + connect(m_menu_bar, &MenuBar::EjectDisc, this, &MainWindow::EjectDisc); + connect(m_menu_bar, &MenuBar::ChangeDisc, this, &MainWindow::ChangeDisc); + connect(m_menu_bar, &MenuBar::BootDVDBackup, this, + [this](const QString& drive) { StartGame(drive); }); // Emulation connect(m_menu_bar, &MenuBar::Pause, this, &MainWindow::Pause); @@ -406,12 +411,30 @@ void MainWindow::ConnectStack() tabifyDockWidget(m_log_widget, m_breakpoint_widget); } -void MainWindow::Open() +QString MainWindow::PromptFileName() { - QString file = QFileDialog::getOpenFileName( + return QFileDialog::getOpenFileName( this, tr("Select a File"), QDir::currentPath(), tr("All GC/Wii files (*.elf *.dol *.gcm *.iso *.tgc *.wbfs *.ciso *.gcz *.wad);;" "All Files (*)")); +} + +void MainWindow::ChangeDisc() +{ + QString file = PromptFileName(); + + if (!file.isEmpty()) + Core::RunAsCPUThread([&file] { DVDInterface::ChangeDisc(file.toStdString()); }); +} + +void MainWindow::EjectDisc() +{ + Core::RunAsCPUThread(DVDInterface::EjectDisc); +} + +void MainWindow::Open() +{ + QString file = PromptFileName(); if (!file.isEmpty()) StartGame(file); } |
