summaryrefslogtreecommitdiff
path: root/src/transfersavesdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/transfersavesdialog.cpp')
-rw-r--r--src/transfersavesdialog.cpp39
1 files changed, 18 insertions, 21 deletions
diff --git a/src/transfersavesdialog.cpp b/src/transfersavesdialog.cpp
index e720fcd2..73267f75 100644
--- a/src/transfersavesdialog.cpp
+++ b/src/transfersavesdialog.cpp
@@ -32,8 +32,11 @@ using namespace MOBase;
using namespace MOShared;
-TransferSavesDialog::TransferSavesDialog(const Profile &profile, QWidget *parent)
- : TutorableDialog("TransferSaves", parent), ui(new Ui::TransferSavesDialog), m_Profile(profile)
+TransferSavesDialog::TransferSavesDialog(const Profile &profile, IPluginGame *gamePlugin, QWidget *parent)
+ : TutorableDialog("TransferSaves", parent)
+ , ui(new Ui::TransferSavesDialog)
+ , m_Profile(profile)
+ , m_GamePlugin(gamePlugin)
{
ui->setupUi(this);
refreshGlobalSaves();
@@ -51,16 +54,12 @@ TransferSavesDialog::~TransferSavesDialog()
void TransferSavesDialog::refreshGlobalSaves()
{
m_GlobalSaves.clear();
-
- QDir savesDir(QDir::fromNativeSeparators(ToQString(GameInfo::instance().getSaveGameDir())));
-
- QStringList filters;
- filters << ToQString(GameInfo::instance().getSaveGameExtension());
- savesDir.setNameFilters(filters);
+ QDir savesDir(m_GamePlugin->savesDirectory());
+ savesDir.setNameFilters(QStringList() << QString("*.%1").arg(m_GamePlugin->savegameExtension()));
QStringList files = savesDir.entryList(QDir::Files, QDir::Time);
- foreach (const QString &filename, files) {
+ for (const QString &filename : files) {
SaveGameGamebryo *save = new SaveGameGamebryo(this, savesDir.absoluteFilePath(filename));
save->setParent(this);
m_GlobalSaves.push_back(save);
@@ -72,11 +71,9 @@ void TransferSavesDialog::refreshLocalSaves()
{
m_LocalSaves.clear();
- QDir savesDir(m_Profile.getPath().append("/saves"));
+ QDir savesDir(m_Profile.absolutePath() + "/saves");
- QStringList filters;
- filters << ToQString(GameInfo::instance().getSaveGameExtension());
- savesDir.setNameFilters(filters);
+ savesDir.setNameFilters(QStringList() << QString("*.%1").arg(m_GamePlugin->savegameExtension()));
QStringList files = savesDir.entryList(QDir::Files, QDir::Time);
@@ -158,7 +155,7 @@ void TransferSavesDialog::on_moveToLocalBtn_clicked()
if (QMessageBox::question(this, tr("Confirm"),
tr("Copy all save games of character \"%1\" to the profile?").arg(selectedCharacter),
QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) {
- QString destination = m_Profile.getPath().append("/saves");
+ QString destination = m_Profile.absolutePath() + "/saves";
OverwriteMode overwriteMode = OVERWRITE_ASK;
for (std::vector<SaveGame*>::const_iterator iter = m_GlobalSaves.begin();
@@ -167,7 +164,7 @@ void TransferSavesDialog::on_moveToLocalBtn_clicked()
QStringList files = (*iter)->saveFiles();
foreach (const QString &file, files) {
QFileInfo fileInfo(file);
- QString destinationFile = destination.mid(0).append("/").append(fileInfo.fileName());
+ QString destinationFile = destination + "/" + fileInfo.fileName();
if (QFile::exists(destinationFile)) {
if (testOverwrite(overwriteMode, destinationFile)) {
QFile::remove(destinationFile);
@@ -196,7 +193,7 @@ void TransferSavesDialog::on_copyToLocalBtn_clicked()
if (QMessageBox::question(this, tr("Confirm"),
tr("Copy all save games of character \"%1\" to the profile?").arg(selectedCharacter),
QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) {
- QString destination = m_Profile.getPath().append("/saves");
+ QString destination = m_Profile.absolutePath() + "/saves";
OverwriteMode overwriteMode = OVERWRITE_ASK;
for (std::vector<SaveGame*>::const_iterator iter = m_GlobalSaves.begin();
iter != m_GlobalSaves.end(); ++iter) {
@@ -204,7 +201,7 @@ void TransferSavesDialog::on_copyToLocalBtn_clicked()
QStringList files = (*iter)->saveFiles();
foreach (const QString &file, files) {
QFileInfo fileInfo(file);
- QString destinationFile = destination.mid(0).append("/").append(fileInfo.fileName());
+ QString destinationFile = destination + "/" + fileInfo.fileName();
if (QFile::exists(destinationFile)) {
if (testOverwrite(overwriteMode, destinationFile)) {
QFile::remove(destinationFile);
@@ -233,7 +230,7 @@ void TransferSavesDialog::on_moveToGlobalBtn_clicked()
"that this will mess up the running number of save games.").arg(selectedCharacter),
QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) {
- QString destination = QDir::fromNativeSeparators(ToQString(GameInfo::instance().getSaveGameDir()));
+ QDir destination = m_GamePlugin->savesDirectory();
OverwriteMode overwriteMode = OVERWRITE_ASK;
for (std::vector<SaveGame*>::const_iterator iter = m_LocalSaves.begin();
iter != m_LocalSaves.end(); ++iter) {
@@ -241,7 +238,7 @@ void TransferSavesDialog::on_moveToGlobalBtn_clicked()
QStringList files = (*iter)->saveFiles();
foreach (const QString &file, files) {
QFileInfo fileInfo(file);
- QString destinationFile = destination.mid(0).append("/").append(fileInfo.fileName());
+ QString destinationFile = destination.filePath(fileInfo.fileName());
if (QFile::exists(destinationFile)) {
if (testOverwrite(overwriteMode, destinationFile)) {
QFile::remove(destinationFile);
@@ -272,7 +269,7 @@ void TransferSavesDialog::on_copyToGlobalBtn_clicked()
"that this will mess up the running number of save games.").arg(selectedCharacter),
QMessageBox::Yes | QMessageBox::No) == QMessageBox::Yes) {
- QString destination = QDir::fromNativeSeparators(ToQString(GameInfo::instance().getSaveGameDir()));
+ QDir destination = m_GamePlugin->savesDirectory();
OverwriteMode overwriteMode = OVERWRITE_ASK;
for (std::vector<SaveGame*>::const_iterator iter = m_LocalSaves.begin();
iter != m_LocalSaves.end(); ++iter) {
@@ -280,7 +277,7 @@ void TransferSavesDialog::on_copyToGlobalBtn_clicked()
QStringList files = (*iter)->saveFiles();
foreach (const QString &file, files) {
QFileInfo fileInfo(file);
- QString destinationFile = destination.mid(0).append("/").append(fileInfo.fileName());
+ QString destinationFile = destination.filePath(fileInfo.fileName());
if (QFile::exists(destinationFile)) {
if (testOverwrite(overwriteMode, destinationFile)) {
QFile::remove(destinationFile);