|
|
|
@ -35,23 +35,8 @@ namespace PartUtils
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
bool
|
|
|
|
|
canBeResized( PartitionCoreModule* core, const QString& partitionPath )
|
|
|
|
|
canBeResized( Partition* candidate )
|
|
|
|
|
{
|
|
|
|
|
//FIXME: check for max partitions count on DOS MBR
|
|
|
|
|
cDebug() << "checking if" << partitionPath << "can be resized.";
|
|
|
|
|
QString partitionWithOs = partitionPath;
|
|
|
|
|
if ( partitionWithOs.startsWith( "/dev/" ) )
|
|
|
|
|
{
|
|
|
|
|
cDebug() << partitionWithOs << "seems like a good path";
|
|
|
|
|
bool canResize = false;
|
|
|
|
|
DeviceModel* dm = core->deviceModel();
|
|
|
|
|
for ( int i = 0; i < dm->rowCount(); ++i )
|
|
|
|
|
{
|
|
|
|
|
Device* dev = dm->deviceForIndex( dm->index( i ) );
|
|
|
|
|
Partition* candidate = KPMHelpers::findPartitionByPath( { dev }, partitionWithOs );
|
|
|
|
|
if ( candidate )
|
|
|
|
|
{
|
|
|
|
|
cDebug() << "found Partition* for" << partitionWithOs;
|
|
|
|
|
if ( !candidate->fileSystem().supportGrow() ||
|
|
|
|
|
!candidate->fileSystem().supportShrink() )
|
|
|
|
|
return false;
|
|
|
|
@ -75,10 +60,33 @@ canBeResized( PartitionCoreModule* core, const QString& partitionPath )
|
|
|
|
|
if ( ok &&
|
|
|
|
|
availableStorageB > requiredStorageB )
|
|
|
|
|
{
|
|
|
|
|
cDebug() << "Partition" << partitionWithOs << "authorized for resize + autopartition install.";
|
|
|
|
|
cDebug() << "Partition" << candidate->partitionPath() << "authorized for resize + autopartition install.";
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bool
|
|
|
|
|
canBeResized( PartitionCoreModule* core, const QString& partitionPath )
|
|
|
|
|
{
|
|
|
|
|
//FIXME: check for max partitions count on DOS MBR
|
|
|
|
|
cDebug() << "checking if" << partitionPath << "can be resized.";
|
|
|
|
|
QString partitionWithOs = partitionPath;
|
|
|
|
|
if ( partitionWithOs.startsWith( "/dev/" ) )
|
|
|
|
|
{
|
|
|
|
|
cDebug() << partitionWithOs << "seems like a good path";
|
|
|
|
|
bool canResize = false;
|
|
|
|
|
DeviceModel* dm = core->deviceModel();
|
|
|
|
|
for ( int i = 0; i < dm->rowCount(); ++i )
|
|
|
|
|
{
|
|
|
|
|
Device* dev = dm->deviceForIndex( dm->index( i ) );
|
|
|
|
|
Partition* candidate = KPMHelpers::findPartitionByPath( { dev }, partitionWithOs );
|
|
|
|
|
if ( candidate )
|
|
|
|
|
{
|
|
|
|
|
cDebug() << "found Partition* for" << partitionWithOs;
|
|
|
|
|
return canBeResized( candidate );
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|