WiiSave: Move dialogs to UI code

This moves the result dialogs to DolphinQt2, since WiiSave should not
really be responsible for interacting with the user as a simple
Wii save importing/exporting class.

This also fixes Wii save import/export showing result dialogs twice,
once from WiiSave, and another time from DolphinQt2.
This commit is contained in:
Léo Lam
2018-05-13 13:18:19 +02:00
parent 41c4486c65
commit a93d816c28
4 changed files with 31 additions and 30 deletions

View File

@ -260,11 +260,13 @@ void GameList::ExportWiiSave()
{
QMessageBox result_dialog(this);
const bool success = WiiSave::Export(GetSelectedGame()->GetTitleID());
const QString bin_path = QString::fromStdString(WiiSave::Export(GetSelectedGame()->GetTitleID()));
result_dialog.setIcon(success ? QMessageBox::Information : QMessageBox::Critical);
result_dialog.setText(success ? tr("Successfully exported save files") :
tr("Failed to export save files!"));
result_dialog.setIcon(!bin_path.isEmpty() ? QMessageBox::Information : QMessageBox::Critical);
if (!bin_path.isEmpty())
result_dialog.setText(tr("Successfully exported save files to %1").arg(bin_path));
else
result_dialog.setText(tr("Failed to export save files."));
result_dialog.exec();
}

View File

@ -896,13 +896,21 @@ void MenuBar::ImportWiiSave()
tr("Wii save files (*.bin);;"
"All Files (*)"));
if (!file.isEmpty())
WiiSave::Import(file.toStdString());
if (file.isEmpty())
return;
if (WiiSave::Import(file.toStdString()))
QMessageBox::information(this, tr("Save Import"), tr("Successfully imported save files."));
else
QMessageBox::critical(this, tr("Save Import"), tr("Failed to import save files."));
}
void MenuBar::ExportWiiSaves()
{
WiiSave::ExportAll();
const std::pair<size_t, std::string> result = WiiSave::ExportAll();
QMessageBox::information(this, tr("Save Export"),
tr("Exported %n save(s) to %1", "", static_cast<int>(result.first))
.arg(QString::fromStdString(result.second)));
}
void MenuBar::CheckNAND()