mirror of
https://git.suyu.dev/suyu/suyu.git
synced 2024-11-15 22:54:00 +00:00
qt: Add message about not moving contents on dir change
This commit is contained in:
parent
1ff3318458
commit
04397cd185
2 changed files with 23 additions and 6 deletions
|
@ -12,6 +12,7 @@
|
|||
|
||||
#define QT_NO_OPENGL
|
||||
#include <QDesktopWidget>
|
||||
#include <QDialogButtonBox>
|
||||
#include <QFileDialog>
|
||||
#include <QMessageBox>
|
||||
#include <QtGui>
|
||||
|
@ -373,9 +374,9 @@ void GMainWindow::ConnectMenuEvents() {
|
|||
connect(ui.action_Select_Game_List_Root, &QAction::triggered, this,
|
||||
&GMainWindow::OnMenuSelectGameListRoot);
|
||||
connect(ui.action_Select_NAND_Directory, &QAction::triggered, this,
|
||||
[this] { OnMenuSelectEmulatedDirectory(false); });
|
||||
[this] { OnMenuSelectEmulatedDirectory(EmulatedDirectoryTarget::NAND); });
|
||||
connect(ui.action_Select_SDMC_Directory, &QAction::triggered, this,
|
||||
[this] { OnMenuSelectEmulatedDirectory(true); });
|
||||
[this] { OnMenuSelectEmulatedDirectory(EmulatedDirectoryTarget::SDMC); });
|
||||
connect(ui.action_Exit, &QAction::triggered, this, &QMainWindow::close);
|
||||
|
||||
// Emulation
|
||||
|
@ -891,10 +892,22 @@ void GMainWindow::OnMenuSelectGameListRoot() {
|
|||
}
|
||||
}
|
||||
|
||||
void GMainWindow::OnMenuSelectEmulatedDirectory(bool is_sdmc) {
|
||||
void GMainWindow::OnMenuSelectEmulatedDirectory(EmulatedDirectoryTarget target) {
|
||||
const auto res = QMessageBox::information(
|
||||
this, tr("Changing Emulated Directory"),
|
||||
tr("You are about to change the emulated %1 directory of the system. Please note "
|
||||
"that this does not also move the contents of the previous directory to the "
|
||||
"new one and you will have to do that yourself.")
|
||||
.arg(target == EmulatedDirectoryTarget::SDMC ? tr("SD card") : tr("NAND")),
|
||||
QMessageBox::StandardButtons{QMessageBox::Ok, QMessageBox::Cancel});
|
||||
|
||||
if (res == QMessageBox::Cancel)
|
||||
return;
|
||||
|
||||
QString dir_path = QFileDialog::getExistingDirectory(this, tr("Select Directory"));
|
||||
if (!dir_path.isEmpty()) {
|
||||
FileUtil::GetUserPath(is_sdmc ? FileUtil::UserPath::SDMCDir : FileUtil::UserPath::NANDDir,
|
||||
FileUtil::GetUserPath(target == EmulatedDirectoryTarget::SDMC ? FileUtil::UserPath::SDMCDir
|
||||
: FileUtil::UserPath::NANDDir,
|
||||
dir_path.toStdString());
|
||||
Service::FileSystem::CreateFactories(vfs);
|
||||
game_list->PopulateAsync(UISettings::values.gamedir, UISettings::values.gamedir_deepscan);
|
||||
|
|
|
@ -32,6 +32,11 @@ namespace Tegra {
|
|||
class DebugContext;
|
||||
}
|
||||
|
||||
enum class EmulatedDirectoryTarget {
|
||||
NAND,
|
||||
SDMC,
|
||||
};
|
||||
|
||||
class GMainWindow : public QMainWindow {
|
||||
Q_OBJECT
|
||||
|
||||
|
@ -138,8 +143,7 @@ private slots:
|
|||
/// Called whenever a user selects the "File->Select Game List Root" menu item
|
||||
void OnMenuSelectGameListRoot();
|
||||
/// Called whenever a user select the "File->Select -- Directory" where -- is NAND or SD Card
|
||||
/// (false for nand, true for sdmc)
|
||||
void OnMenuSelectEmulatedDirectory(bool is_sdmc);
|
||||
void OnMenuSelectEmulatedDirectory(EmulatedDirectoryTarget target);
|
||||
void OnMenuRecentFile();
|
||||
void OnConfigure();
|
||||
void OnAbout();
|
||||
|
|
Loading…
Reference in a new issue