don't assume a device always has a partition table.
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097675
This commit is contained in:
parent
6573273554
commit
afffc3b4d8
|
@ -61,8 +61,31 @@ void DevicePropsDialog::setupDialog()
|
||||||
enableButtonOk(false);
|
enableButtonOk(false);
|
||||||
button(KDialog::Cancel)->setFocus();
|
button(KDialog::Cancel)->setFocus();
|
||||||
|
|
||||||
dialogWidget().partTableWidget().setReadOnly(true);
|
QString type = "---";
|
||||||
dialogWidget().partTableWidget().setPartitionTable(device().partitionTable());
|
QString maxPrimaries = "---";
|
||||||
|
|
||||||
|
if (device().partitionTable() != NULL)
|
||||||
|
{
|
||||||
|
type = (device().partitionTable()->isReadOnly())
|
||||||
|
? i18nc("@label device", "%1 (read only)", device().partitionTable()->typeName())
|
||||||
|
: device().partitionTable()->typeName();
|
||||||
|
maxPrimaries = QString("%1/%2").arg(device().partitionTable()->numPrimaries()).arg(device().partitionTable()->maxPrimaries());
|
||||||
|
|
||||||
|
dialogWidget().partTableWidget().setReadOnly(true);
|
||||||
|
dialogWidget().partTableWidget().setPartitionTable(device().partitionTable());
|
||||||
|
|
||||||
|
if (device().partitionTable()->type() == PartitionTable::msdos)
|
||||||
|
dialogWidget().radioCylinderBased().setChecked(true);
|
||||||
|
else if (device().partitionTable()->type() == PartitionTable::msdos_sectorbased)
|
||||||
|
dialogWidget().radioSectorBased().setChecked(true);
|
||||||
|
else
|
||||||
|
dialogWidget().hideTypeRadioButtons();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
dialogWidget().partTableWidget().setVisible(false);
|
||||||
|
dialogWidget().hideTypeRadioButtons();
|
||||||
|
}
|
||||||
|
|
||||||
dialogWidget().capacity().setText(Capacity(device()).toString(Capacity::AppendUnit | Capacity::AppendBytes));
|
dialogWidget().capacity().setText(Capacity(device()).toString(Capacity::AppendUnit | Capacity::AppendBytes));
|
||||||
|
|
||||||
|
@ -72,23 +95,11 @@ void DevicePropsDialog::setupDialog()
|
||||||
dialogWidget().chs().setText(QString("%1/%2/%3").arg(cyls).arg(heads).arg(sectors));
|
dialogWidget().chs().setText(QString("%1/%2/%3").arg(cyls).arg(heads).arg(sectors));
|
||||||
|
|
||||||
dialogWidget().cylinderSize().setText(i18ncp("@label", "1 Sector", "%1 Sectors", device().cylinderSize()));
|
dialogWidget().cylinderSize().setText(i18ncp("@label", "1 Sector", "%1 Sectors", device().cylinderSize()));
|
||||||
dialogWidget().primariesMax().setText(QString("%1/%2").arg(device().partitionTable()->numPrimaries()).arg(device().partitionTable()->maxPrimaries()));
|
dialogWidget().primariesMax().setText(maxPrimaries);
|
||||||
dialogWidget().sectorSize().setText(Capacity(device().sectorSize()).toString(Capacity::Byte, Capacity::AppendUnit));
|
dialogWidget().sectorSize().setText(Capacity(device().sectorSize()).toString(Capacity::Byte, Capacity::AppendUnit));
|
||||||
dialogWidget().totalSectors().setText(KGlobal::locale()->formatNumber(device().totalSectors(), 0));
|
dialogWidget().totalSectors().setText(KGlobal::locale()->formatNumber(device().totalSectors(), 0));
|
||||||
|
|
||||||
const QString type = device().partitionTable()->isReadOnly()
|
|
||||||
? i18nc("@label device", "%1 (read only)", device().partitionTable()->typeName())
|
|
||||||
: device().partitionTable()->typeName();
|
|
||||||
|
|
||||||
dialogWidget().type().setText(type);
|
dialogWidget().type().setText(type);
|
||||||
|
|
||||||
if (device().partitionTable()->type() == PartitionTable::msdos)
|
|
||||||
dialogWidget().radioCylinderBased().setChecked(true);
|
|
||||||
else if (device().partitionTable()->type() == PartitionTable::msdos_sectorbased)
|
|
||||||
dialogWidget().radioSectorBased().setChecked(true);
|
|
||||||
else
|
|
||||||
dialogWidget().hideTypeRadioButtons();
|
|
||||||
|
|
||||||
setMinimumSize(dialogWidget().size());
|
setMinimumSize(dialogWidget().size());
|
||||||
resize(dialogWidget().size());
|
resize(dialogWidget().size());
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue