summaryrefslogtreecommitdiff
path: root/src/transfersavesdialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/transfersavesdialog.cpp')
-rw-r--r--src/transfersavesdialog.cpp31
1 files changed, 17 insertions, 14 deletions
diff --git a/src/transfersavesdialog.cpp b/src/transfersavesdialog.cpp
index e720fcd2..c37f0cd0 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();
@@ -52,10 +55,10 @@ void TransferSavesDialog::refreshGlobalSaves()
{
m_GlobalSaves.clear();
- QDir savesDir(QDir::fromNativeSeparators(ToQString(GameInfo::instance().getSaveGameDir())));
+ QDir savesDir(m_GamePlugin->savesDirectory());
QStringList filters;
- filters << ToQString(GameInfo::instance().getSaveGameExtension());
+ filters << m_GamePlugin->savegameExtension();
savesDir.setNameFilters(filters);
QStringList files = savesDir.entryList(QDir::Files, QDir::Time);
@@ -72,10 +75,10 @@ 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());
+ filters << m_GamePlugin->savegameExtension();
savesDir.setNameFilters(filters);
QStringList files = savesDir.entryList(QDir::Files, QDir::Time);
@@ -158,7 +161,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 +170,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 +199,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 +207,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 +236,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 +244,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 +275,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 +283,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);