diff options
| author | Leo Lam <leolino.lam@gmail.com> | 2017-09-15 19:30:05 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-09-15 19:30:05 +0200 |
| commit | 7cb8d6612c6df51073037b56ebc866f180aecd71 (patch) | |
| tree | 634e4c4d34472c6f2e49fbd48bebb6bb5f82de63 /Source/Core/DolphinQt2/Config/FilesystemWidget.cpp | |
| parent | 7caf44c8b5a8a435ad1d9db3b2444db614d329eb (diff) | |
| parent | f294599e734f2391db9e74b6454752e75fdf368c (diff) | |
Merge pull request #5870 from JosJuice/lazy-filesystem
DiscIO: Use Common::Lazy more
Diffstat (limited to 'Source/Core/DolphinQt2/Config/FilesystemWidget.cpp')
| -rw-r--r-- | Source/Core/DolphinQt2/Config/FilesystemWidget.cpp | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/Source/Core/DolphinQt2/Config/FilesystemWidget.cpp b/Source/Core/DolphinQt2/Config/FilesystemWidget.cpp index efb67a2fa7..0b9fc9e0e6 100644 --- a/Source/Core/DolphinQt2/Config/FilesystemWidget.cpp +++ b/Source/Core/DolphinQt2/Config/FilesystemWidget.cpp @@ -85,8 +85,7 @@ void FilesystemWidget::PopulateView() for (size_t i = 0; i < partitions.size(); i++) { - std::unique_ptr<DiscIO::FileSystem> file_system( - DiscIO::CreateFileSystem(m_volume.get(), partitions[i])); + const DiscIO::FileSystem* file_system = m_volume->GetFileSystem(partitions[i]); auto* item = new QStandardItem(tr("Partition %1").arg(i)); item->setEditable(false); @@ -104,10 +103,7 @@ void FilesystemWidget::PopulateView() } if (partitions.empty()) - { - PopulateDirectory(-1, disc, - DiscIO::CreateFileSystem(m_volume.get(), DiscIO::PARTITION_NONE)->GetRoot()); - } + PopulateDirectory(-1, disc, m_volume->GetFileSystem(DiscIO::PARTITION_NONE)->GetRoot()); } void FilesystemWidget::PopulateDirectory(int partition_id, QStandardItem* root, @@ -237,9 +233,7 @@ void FilesystemWidget::ExtractSystemData(const DiscIO::Partition& partition, con void FilesystemWidget::ExtractDirectory(const DiscIO::Partition& partition, const QString path, const QString& out) { - std::unique_ptr<DiscIO::FileSystem> filesystem( - DiscIO::CreateFileSystem(m_volume.get(), partition)); - + const DiscIO::FileSystem* filesystem = m_volume->GetFileSystem(partition); std::unique_ptr<DiscIO::FileInfo> info = filesystem->FindFileInfo(path.toStdString()); u32 size = info->GetTotalChildren(); @@ -251,7 +245,7 @@ void FilesystemWidget::ExtractDirectory(const DiscIO::Partition& partition, cons bool all = path.isEmpty(); DiscIO::ExportDirectory( - *m_volume, filesystem->GetPartition(), *info, true, path.toStdString(), out.toStdString(), + *m_volume, partition, *info, true, path.toStdString(), out.toStdString(), [all, dialog](const std::string& current) { dialog->setLabelText( (all ? QObject::tr("Extracting All Files...") : QObject::tr("Extracting Directory...")) @@ -268,8 +262,7 @@ void FilesystemWidget::ExtractDirectory(const DiscIO::Partition& partition, cons void FilesystemWidget::ExtractFile(const DiscIO::Partition& partition, const QString& path, const QString& out) { - std::unique_ptr<DiscIO::FileSystem> filesystem( - DiscIO::CreateFileSystem(m_volume.get(), partition)); + const DiscIO::FileSystem* filesystem = m_volume->GetFileSystem(partition); bool success = DiscIO::ExportFile( *m_volume, partition, filesystem->FindFileInfo(path.toStdString()).get(), out.toStdString()); |
