File indexing completed on 2024-04-28 05:46:32
0001 /* 0002 SPDX-FileCopyrightText: 2016 Chantara Tith <tith.chantara@gmail.com> 0003 SPDX-FileCopyrightText: 2016 Andrius Štikonas <andrius@stikonas.eu> 0004 0005 SPDX-License-Identifier: GPL-3.0-or-later 0006 */ 0007 0008 #include "gui/listphysicalvolumes.h" 0009 0010 #include <fs/lvm2_pv.h> 0011 #include <util/globallog.h> 0012 #include <util/capacity.h> 0013 0014 ListPhysicalVolumes::ListPhysicalVolumes(QWidget* parent) : 0015 QWidget(parent), 0016 Ui::ListPhysicalVolumesBase() 0017 { 0018 setupUi(this); 0019 } 0020 0021 void ListPhysicalVolumes::addPartition(const Partition& p, bool checked) 0022 { 0023 ListPhysicalVolumeWidgetItem *item = new ListPhysicalVolumeWidgetItem(p, checked); 0024 listPhysicalVolumes().addItem(item); 0025 } 0026 0027 QVector<const Partition *> ListPhysicalVolumes::checkedItems() 0028 { 0029 QVector<const Partition *> partitionList; 0030 for (int i = 0; i < listPhysicalVolumes().count(); i++) { 0031 ListPhysicalVolumeWidgetItem* item = dynamic_cast<ListPhysicalVolumeWidgetItem*>(listPhysicalVolumes().item(i)); 0032 if(item && item->checkState() == Qt::Checked) 0033 partitionList.push_back(item->partition()); 0034 } 0035 return partitionList; 0036 } 0037 0038 ListPhysicalVolumeWidgetItem::ListPhysicalVolumeWidgetItem(const Partition& p, bool checked) 0039 : QListWidgetItem(xi18nc("@item:inlistbox Device | Capacity", "%1 | %2", p.deviceNode(), Capacity::formatByteSize(p.capacity()))) 0040 , m_Partition(&p) 0041 { 0042 setToolTip(p.deviceNode()); 0043 setSizeHint(QSize(0, 32)); 0044 setCheckState( checked ? Qt::Checked : Qt::Unchecked); 0045 }