diff --git a/src/ops/newoperation.cpp b/src/ops/newoperation.cpp index e6d2fa4..6b360e0 100644 --- a/src/ops/newoperation.cpp +++ b/src/ops/newoperation.cpp @@ -119,11 +119,15 @@ bool NewOperation::canCreateNew(const Partition* p) return p != NULL && p->roles().has(PartitionRole::Unallocated); } -Partition* NewOperation::createNew(const Partition& cloneFrom) +Partition* NewOperation::createNew(const Partition& cloneFrom, + FileSystem::Type type) { Partition* p = new Partition(cloneFrom); p->deleteFileSystem(); + p->setFileSystem(FileSystemFactory::create(type, + p->firstSector(), + p->lastSector())); p->setState(Partition::StateNew); p->setPartitionPath(QString()); diff --git a/src/ops/newoperation.h b/src/ops/newoperation.h index a26b299..ff53b6c 100644 --- a/src/ops/newoperation.h +++ b/src/ops/newoperation.h @@ -19,6 +19,7 @@ #define NEWOPERATION__H +#include "../fs/filesystem.h" #include "../ops/operation.h" #include "../util/libpartitionmanagerexport.h" @@ -60,7 +61,8 @@ class LIBKPMCORE_EXPORT NewOperation : public Operation virtual bool targets(const Partition& p) const; static bool canCreateNew(const Partition* p); - static Partition* createNew(const Partition& cloneFrom); + static Partition* createNew(const Partition& cloneFrom, + FileSystem::Type type); protected: Partition& newPartition() { return *m_NewPartition; }