Exemplo n.º 1
0
Partition*
CreatePartitionDialog::createPartition()
{
    if ( m_role.roles() == PartitionRole::None )
    {
        m_role = PartitionRole(
                     m_ui->extendedRadioButton->isChecked()
                     ? PartitionRole::Extended
                     : PartitionRole::Primary
                 );
    }

    qint64 first = m_partitionSizeController->firstSector();
    qint64 last = m_partitionSizeController->lastSector();

    FileSystem::Type fsType = m_role.has( PartitionRole::Extended )
                              ? FileSystem::Extended
                              : FileSystem::typeForName( m_ui->fsComboBox->currentText() );

    Partition* partition = nullptr;
    QString luksPassphrase = m_ui->encryptWidget->passphrase();
    if ( m_ui->encryptWidget->state() == EncryptWidget::EncryptionConfirmed &&
         !luksPassphrase.isEmpty() )
    {
        partition = KPMHelpers::createNewEncryptedPartition(
            m_parent,
            *m_device,
            m_role,
            fsType, first, last, luksPassphrase, newFlags()
        );
    }
    else
    {
        partition = KPMHelpers::createNewPartition(
            m_parent,
            *m_device,
            m_role,
            fsType, first, last, newFlags()
        );
    }

    if (m_device->type() == Device::Type::LVM_Device) {
        partition->setPartitionPath(m_device->deviceNode() + QStringLiteral("/") + m_ui->lvNameLineEdit->text().trimmed());
    }

    PartitionInfo::setMountPoint( partition, selectedMountPoint( m_ui->mountPointComboBox ) );
    PartitionInfo::setFormat( partition, true );

    return partition;
}
Exemplo n.º 2
0
QString SetPartFlagsOperation::description() const
{
    if (PartitionTable::flagNames(newFlags()).size() == 0)
        return xi18nc("@info:status", "Clear flags for partition <filename>%1</filename>", flagPartition().deviceNode());

    return xi18nc("@info:status", "Set flags for partition <filename>%1</filename> to \"%2\"", flagPartition().deviceNode(), PartitionTable::flagNames(newFlags()).join(QStringLiteral(",")));
}
Exemplo n.º 3
0
/** Creates a new SetPartFlagsOperation.
    @param d the Device on which the Partition to set flags for is
    @param p the Partition to set new flags for
    @param flags the new flags to set
*/
SetPartFlagsOperation::SetPartFlagsOperation(Device& d, Partition& p, const PartitionTable::Flags& flags) :
    Operation(),
    m_TargetDevice(d),
    m_FlagPartition(p),
    m_OldFlags(flagPartition().activeFlags()),
    m_NewFlags(flags),
    m_FlagsJob(new SetPartFlagsJob(targetDevice(), flagPartition(), newFlags()))
{
    addJob(flagsJob());
}
Exemplo n.º 4
0
void SetPartFlagsOperation::preview()
{
    flagPartition().setFlags(newFlags());
}