From 0c536a4c12e37caec2c3107875a97d5343c2a0a0 Mon Sep 17 00:00:00 2001 From: Thomas Tanner Date: Tue, 15 Dec 2015 15:58:01 +0000 Subject: Makes iSaveGame responsible for returning all files involved in savegame. Cleans up save deletion and save transfer dialogue somewhat --- src/transfersavesdialog.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'src/transfersavesdialog.cpp') diff --git a/src/transfersavesdialog.cpp b/src/transfersavesdialog.cpp index 710a33b9..b07a9510 100644 --- a/src/transfersavesdialog.cpp +++ b/src/transfersavesdialog.cpp @@ -71,6 +71,11 @@ public: return m_File; } + virtual QStringList allFiles() const override + { + return { m_File }; + } + private: QString m_File; }; @@ -298,19 +303,11 @@ bool TransferSavesDialog::transferCharacters(QString const &character, OverwriteMode overwriteMode = OVERWRITE_ASK; - QStringList extensions = { m_GamePlugin->savegameExtension() }; - { - ScriptExtender *ext = m_GamePlugin->feature(); - if (ext != nullptr) { - extensions += ext->saveGameAttachmentExtensions(); - } - } QDir destination(dest); for (SaveListItem const &save : saves) { - QFileInfo const saveFile = save->getFilename(); - for (QString const &ext : extensions) { - QFileInfo sourceFile(saveFile.absoluteDir().absoluteFilePath(saveFile.completeBaseName() + "." + ext)); - QString destinationFile = destination.absoluteFilePath(sourceFile.fileName()); + for (QString source : save->allFiles()) { + QFileInfo sourceFile(source); + QString destinationFile(destination.absoluteFilePath(sourceFile.fileName())); //If the file is already there, let them skip (or not). if (QFile::exists(destinationFile)) { -- cgit v1.3.1