Qt: Add missing gamelist contextmenu options

This commit is contained in:
spycrab
2017-05-04 23:01:12 +02:00
parent 54dcd3a89b
commit 2f523afc41
6 changed files with 324 additions and 7 deletions

View File

@ -4,10 +4,13 @@
#include <QAction>
#include <QDesktopServices>
#include <QFileDialog>
#include <QMessageBox>
#include <QUrl>
#include "Core/State.h"
#include "DolphinQt2/AboutDialog.h"
#include "DolphinQt2/GameList/GameFile.h"
#include "DolphinQt2/MenuBar.h"
#include "DolphinQt2/Settings.h"
@ -17,7 +20,7 @@ MenuBar::MenuBar(QWidget* parent) : QMenuBar(parent)
AddEmulationMenu();
addMenu(tr("Movie"));
addMenu(tr("Options"));
addMenu(tr("Tools"));
AddToolsMenu();
AddViewMenu();
AddHelpMenu();
@ -71,6 +74,12 @@ void MenuBar::AddFileMenu()
m_exit_action = file_menu->addAction(tr("Exit"), this, SIGNAL(Exit()));
}
void MenuBar::AddToolsMenu()
{
QMenu* tools_menu = addMenu(tr("Tools"));
m_wad_install_action = tools_menu->addAction(tr("Install WAD..."), this, SLOT(InstallWAD()));
}
void MenuBar::AddEmulationMenu()
{
QMenu* emu_menu = addMenu(tr("Emulation"));
@ -206,3 +215,27 @@ void MenuBar::AddTableColumnsMenu(QMenu* view_menu)
action->setCheckable(true);
}
}
void MenuBar::InstallWAD()
{
QString wad_file = QFileDialog::getOpenFileName(this, tr("Select a title to install to NAND"),
QString(), tr("WAD files (*.wad)"));
if (wad_file.isEmpty())
return;
QMessageBox result_dialog(this);
if (GameFile(wad_file).Install())
{
result_dialog.setIcon(QMessageBox::Information);
result_dialog.setText(tr("Successfully installed title to the NAND"));
}
else
{
result_dialog.setIcon(QMessageBox::Critical);
result_dialog.setText(tr("Failed to install title to the NAND!"));
}
result_dialog.exec();
}