From 880055f691f11127f326cc910014cf0697ee8bac Mon Sep 17 00:00:00 2001 From: Raine Makelainen Date: Wed, 19 Sep 2018 15:16:24 +0300 Subject: [PATCH] Make formatting devicePath based --- src/partitionmanager.cpp | 12 ++++++------ src/partitionmanager_p.h | 2 +- src/partitionmodel.cpp | 6 +----- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/src/partitionmanager.cpp b/src/partitionmanager.cpp index a428beb..125f47e 100644 --- a/src/partitionmanager.cpp +++ b/src/partitionmanager.cpp @@ -316,14 +316,14 @@ void PartitionManagerPrivate::unmount(const Partition &partition) } } -void PartitionManagerPrivate::format(const Partition &partition, const QString &type, const QString &label, const QString &passphrase) +void PartitionManagerPrivate::format(const QString &devicePath, const QString &type, const QString &label, const QString &passphrase) { - qCInfo(lcMemoryCardLog) << "Can format:" << externalMedia.match(partition.deviceName()).hasMatch() << partition.devicePath(); - - if (externalMedia.match(partition.deviceName()).hasMatch()) { - m_udisksMonitor->instance()->format(partition.devicePath(), type, label, passphrase); + QString deviceName = devicePath.section(QChar('/'), 2); + qCInfo(lcMemoryCardLog) << "Can format:" << externalMedia.match(deviceName).hasMatch() << devicePath; + if (externalMedia.match(deviceName).hasMatch()) { + m_udisksMonitor->instance()->format(devicePath, type, label, passphrase); } else { - qCWarning(lcMemoryCardLog) << "Formatting allowed only for external memory cards," << partition.devicePath() << "is not allowed"; + qCWarning(lcMemoryCardLog) << "Formatting allowed only for external memory cards," << devicePath << "is not allowed"; } } diff --git a/src/partitionmanager_p.h b/src/partitionmanager_p.h index 8b9d1d5..d4acfc1 100644 --- a/src/partitionmanager_p.h +++ b/src/partitionmanager_p.h @@ -70,7 +70,7 @@ class PartitionManagerPrivate : public QObject, public QSharedData void unlock(const Partition &partition, const QString &passphrase); void mount(const Partition &partition); void unmount(const Partition &partition); - void format(const Partition &partition, const QString &type, const QString &label, const QString &passphrase); + void format(const QString &devicePath, const QString &type, const QString &label, const QString &passphrase); QString objectPath(const Partition &partition) const; diff --git a/src/partitionmodel.cpp b/src/partitionmodel.cpp index c27ad75..d2e5cb0 100644 --- a/src/partitionmodel.cpp +++ b/src/partitionmodel.cpp @@ -162,11 +162,7 @@ void PartitionModel::unmount(const QString &devicePath) void PartitionModel::format(const QString &devicePath, const QString &type, const QString &label, const QString &passphrase) { qCInfo(lcMemoryCardLog) << Q_FUNC_INFO << devicePath << type << label << m_partitions.count(); - if (const Partition *partition = getPartition(devicePath)) { - m_manager->format(*partition, type, label, passphrase); - } else { - qCWarning(lcMemoryCardLog) << "Unable to format unknown device:" << devicePath; - } + m_manager->format(devicePath, type, label, passphrase); } QString PartitionModel::objectPath(const QString &devicePath) const