diff --git a/pcsx2-qt/Settings/MemoryCardSettingsWidget.cpp b/pcsx2-qt/Settings/MemoryCardSettingsWidget.cpp index 4dd0ea9178066..6e50631ce64a1 100644 --- a/pcsx2-qt/Settings/MemoryCardSettingsWidget.cpp +++ b/pcsx2-qt/Settings/MemoryCardSettingsWidget.cpp @@ -185,8 +185,6 @@ QString MemoryCardSettingsWidget::getSelectedCard() const bool MemoryCardSettingsWidget::isSelectedCardFormatted() const { - QString ret; - const QList selection(m_ui.cardList->selectedItems()); if (!selection.empty()) return selection[0]->data(0, Qt::UserRole).toBool(); @@ -279,7 +277,6 @@ void MemoryCardSettingsWidget::convertCard() return; } - MemoryCardConvertDialog dialog(QtUtils::GetRootWidget(this), selectedCard); if (dialog.IsSetup() && dialog.exec() == QDialog::Accepted) diff --git a/pcsx2/SIO/Memcard/MemoryCardFile.cpp b/pcsx2/SIO/Memcard/MemoryCardFile.cpp index 07534b47a8531..702bd2f1b37cf 100644 --- a/pcsx2/SIO/Memcard/MemoryCardFile.cpp +++ b/pcsx2/SIO/Memcard/MemoryCardFile.cpp @@ -865,8 +865,15 @@ std::vector FileMcd_GetAvailableCards(bool include_in_use_card if (!IsMemoryCardFolder(fd.FileName)) continue; + FolderMemoryCard sourceFolderMemoryCard; + Pcsx2Config::McdOptions config; + config.Enabled = true; + config.Type = MemoryCardType::Folder; + sourceFolderMemoryCard.Open(fd.FileName, config, (8 * 1024 * 1024) / FolderMemoryCard::ClusterSize, false, ""); + mcds.push_back({std::move(basename), std::move(fd.FileName), fd.ModificationTime, - MemoryCardType::Folder, MemoryCardFileType::Unknown, 0u, true}); + MemoryCardType::Folder, MemoryCardFileType::Unknown, 0u, sourceFolderMemoryCard.IsFormatted()}); + sourceFolderMemoryCard.Close(false); } else { diff --git a/pcsx2/SIO/Memcard/MemoryCardFolder.h b/pcsx2/SIO/Memcard/MemoryCardFolder.h index 1831ccedf66b2..d369c9b898385 100644 --- a/pcsx2/SIO/Memcard/MemoryCardFolder.h +++ b/pcsx2/SIO/Memcard/MemoryCardFolder.h @@ -318,6 +318,8 @@ class FolderMemoryCard void Open(std::string fullPath, const Pcsx2Config::McdOptions& mcdOptions, const u32 sizeInClusters, const bool enableFiltering, std::string filter, bool simulateFileWrites = false); // Close the memory card and flush changes to the file system. Set flush to false to not store changes. void Close(bool flush = true); + // Checks whether the Memory Card is formatted. + bool IsFormatted() const; // Closes and reopens card with given filter options if they differ from the current ones (returns true), // or does nothing if they match already (returns false). @@ -363,8 +365,6 @@ class FolderMemoryCard // initializes memory card data, as if it was fresh from the factory void InitializeInternalData(); - bool IsFormatted() const; - // returns the in-memory address of data the given memory card adr corresponds to // returns nullptr if adr corresponds to a folder or file entry u8* GetSystemBlockPointer(const u32 adr); @@ -558,4 +558,4 @@ class FolderMemoryCardAggregator u64 GetCRC(uint slot); void NextFrame(uint slot); bool ReIndex(uint slot, const bool enableFiltering, const std::string& filter); -}; \ No newline at end of file +};