diff options
| author | JosJuice <josjuice@gmail.com> | 2018-05-05 16:27:36 +0200 |
|---|---|---|
| committer | JosJuice <josjuice@gmail.com> | 2018-05-05 17:00:27 +0200 |
| commit | 1a74de6462c7fc3d242190e4be02189b8b265b53 (patch) | |
| tree | 84315fae109f808c0fecd883b6e913e2dcfa1b1b /Source/Core/DolphinQt2/Config/FilesystemWidget.cpp | |
| parent | cf40ebf16ae1ee51671de208510567d7fb97394e (diff) | |
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.
Diffstat (limited to 'Source/Core/DolphinQt2/Config/FilesystemWidget.cpp')
| -rw-r--r-- | Source/Core/DolphinQt2/Config/FilesystemWidget.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/Source/Core/DolphinQt2/Config/FilesystemWidget.cpp b/Source/Core/DolphinQt2/Config/FilesystemWidget.cpp index 950833eb72..a8b3ddc220 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<u32> 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); } |
