Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // solid command for try to generate filepath() mount points:
- [jerome@antergos-jerome ~]$ solid-hardware5 list | sed -n "/block_devices/{s/^.*'\//\//;s/'//p}" | xargs -n1
- /org/freedesktop/UDisks2/block_devices/loop2
- /org/freedesktop/UDisks2/block_devices/sdf3
- /org/freedesktop/UDisks2/block_devices/sdf2
- /org/freedesktop/UDisks2/block_devices/sdf1
- /org/freedesktop/UDisks2/block_devices/sde1
- /org/freedesktop/UDisks2/block_devices/sdc2
- /org/freedesktop/UDisks2/block_devices/sdc3
- /org/freedesktop/UDisks2/block_devices/sdd1
- /org/freedesktop/UDisks2/block_devices/sda6
- /org/freedesktop/UDisks2/block_devices/sda4
- /org/freedesktop/UDisks2/block_devices/sda3
- /org/freedesktop/UDisks2/block_devices/sdb1
- /org/freedesktop/UDisks2/block_devices/sda2
- /org/freedesktop/UDisks2/block_devices/sde9
- /org/freedesktop/UDisks2/block_devices/loop5
- /org/freedesktop/UDisks2/block_devices/loop6
- /org/freedesktop/UDisks2/block_devices/loop1
- /org/freedesktop/UDisks2/block_devices/sdc1
- /org/freedesktop/UDisks2/block_devices/loop4
- /org/freedesktop/UDisks2/block_devices/loop3
- /org/freedesktop/UDisks2/block_devices/loop7
- /org/freedesktop/UDisks2/block_devices/sdf
- /org/freedesktop/UDisks2/block_devices/sde
- /org/freedesktop/UDisks2/block_devices/sdd
- /org/freedesktop/UDisks2/block_devices/sdc
- /org/freedesktop/UDisks2/block_devices/sdb
- /org/freedesktop/UDisks2/block_devices/sda
- /org/freedesktop/UDisks2/block_devices/loop0
- /org/freedesktop/UDisks2/block_devices/sda5
- // part of header file concerned
- #include <Solid/Device>
- #include <Solid/DeviceInterface>
- #include <Solid/StorageAccess>
- #include <Solid/StorageDrive>
- #include <Solid/StorageVolume>
- #include <Solid/DeviceNotifier>
- // part of .cpp file concerned
- void Config_Compaign::on_disks_clicked(const QModelIndex &index) {
- selectedDisks[area_selection] = storageDevices.at(index.row()).udi();
- partitions_model->deleteLater();
- partitions_model = new QStandardItemModel;
- storageVolumes = Solid::Device::listFromType( // only from selected Device
- Solid::DeviceInterface::StorageVolume,
- storageDevices.at(index.row()).udi());
- //*** SHOW VOLUMES PARTITIONS ON index.row() selected DRIVE ***//
- foreach(Solid::Device partition, storageVolumes) {
- QList<QStandardItem*> row;
- Solid::StorageVolume *stv = partition.as<Solid::StorageVolume>();
- if(!stv->fsType().isEmpty()) { // skip empty datas lines
- qDebug() << "fstype is" << stv->fsType() << "END";
- row << new QStandardItem(stv->label());
- row << new QStandardItem(stv->uuid());
- row << new QStandardItem(stv->fsType());
- row << new QStandardItem(getMountPointFrom(partition.udi()));
- partitions_model->insertRow(partitions_model->rowCount(), row); } }
- //*** THE TABLE LOOK ***//
- partitions_model->setHeaderData(0, Qt::Horizontal, tr("Label"));
- partitions_model->setHeaderData(1, Qt::Horizontal, tr("UUID"));
- partitions_model->setHeaderData(2, Qt::Horizontal, tr("Format"));
- partitions_model->setHeaderData(3, Qt::Horizontal, tr("Points de montages"));
- partitions->setModel(partitions_model);
- partitions->verticalHeader()->hide();
- partitions->setSelectionMode(QAbstractItemView::SingleSelection);
- partitions->setSelectionBehavior(QAbstractItemView::SelectRows);
- partitions->horizontalHeader()->setStretchLastSection(true);
- partitions->resizeColumnsToContents();
- }
- QString Config_Compaign::getMountPointFrom(const QString &udi) {
- QList<Solid::Device> strAccess = Solid::Device::listFromType(
- Solid::DeviceInterface::StorageAccess,
- udi);
- //*** SHOW ACTUAL MOUNTED POINT ON PARTITIONS udi ***//
- QString mPoint(tr("non monté"));
- foreach(Solid::Device access, strAccess) {
- if(access.as<Solid::StorageAccess>()) { // skip no StorageAccess
- Solid::StorageAccess *sta = access.as<Solid::StorageAccess>();
- mPoint = (mPoint == tr("non monté"))
- ? sta->filePath()
- : mPoint +
- QString(", %1").arg(sta->filePath()); } }
- return mPoint;
- }
- void Config_Compaign::on_partitions_clicked(const QModelIndex &index) {
- selectedPartitions[area_selection] = storageVolumes.at(index.row()).udi();
- }
- void Config_Compaign::refreshDiskArea() {
- disks_model->deleteLater();
- disks_model = new QStandardItemModel;
- storageDevices = Solid::Device::listFromType(
- Solid::DeviceInterface::StorageDrive,
- QString()); // all drives plugged
- //*** SHOW STORAGE DEVICES PLUGGED ON THE MACHINE ***//
- foreach(Solid::Device disk, storageDevices) {
- QList<QStandardItem*> row;
- row << new QStandardItem(disk.description());
- row << new QStandardItem(disk.product());
- Solid::StorageDrive *std = disk.as<Solid::StorageDrive>();
- row << new QStandardItem(QString("%1").arg(std->size()));
- disks_model->insertRow(disks_model->rowCount(), row); }
- //*** THE TABLE LOOK ***//
- disks_model->setHeaderData(0, Qt::Horizontal, tr("Volume/type"));
- disks_model->setHeaderData(1, Qt::Horizontal, tr("Identité"));
- disks_model->setHeaderData(2, Qt::Horizontal, tr("Capacité"));
- disks->setModel(disks_model);
- disks->verticalHeader()->hide();
- disks->setSelectionMode(QAbstractItemView::SingleSelection);
- disks->setSelectionBehavior(QAbstractItemView::SelectRows);
- disks->horizontalHeader()->setStretchLastSection(true);
- disks->resizeColumnsToContents();
- }
Add Comment
Please, Sign In to add comment