From 1a74de6462c7fc3d242190e4be02189b8b265b53 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sat, 5 May 2018 16:27:36 +0200 Subject: [PATCH] DolphinQt2: Fix the file structure of extracted discs Now all the partitions won't be all jumbled up in one folder, and the filesystem contents won't be mixed with system data. --- Source/Core/DolphinQt2/Config/FilesystemWidget.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Source/Core/DolphinQt2/Config/FilesystemWidget.cpp b/Source/Core/DolphinQt2/Config/FilesystemWidget.cpp index 950833eb7244..a8b3ddc22008 100644 --- a/Source/Core/DolphinQt2/Config/FilesystemWidget.cpp +++ b/Source/Core/DolphinQt2/Config/FilesystemWidget.cpp @@ -181,8 +181,15 @@ void FilesystemWidget::ShowContextMenu(const QPoint&) } else { - for (auto& p : m_volume->GetPartitions()) - ExtractPartition(p, folder); + for (DiscIO::Partition& p : m_volume->GetPartitions()) + { + if (const std::optional partition_type = m_volume->GetPartitionType(p)) + { + const std::string partition_name = + DiscIO::DirectoryNameForPartitionType(*partition_type); + ExtractPartition(p, folder + QChar(u'/') + QString::fromStdString(partition_name)); + } + } } }); break; @@ -224,7 +231,7 @@ DiscIO::Partition FilesystemWidget::GetPartitionFromID(int id) void FilesystemWidget::ExtractPartition(const DiscIO::Partition& partition, const QString& out) { - ExtractDirectory(partition, QStringLiteral(""), out); + ExtractDirectory(partition, QStringLiteral(""), out + QStringLiteral("/files")); ExtractSystemData(partition, out); }