File indexing completed on 2024-04-28 05:46:32

0001 /*
0002     SPDX-FileCopyrightText: 2016 Chantara Tith <tith.chantara@gmail.com>
0003     SPDX-FileCopyrightText: 2017 Andrius Štikonas <andrius@stikonas.eu>
0004     SPDX-FileCopyrightText: 2019 Yuri Chornoivan <yurchor@ukr.net>
0005 
0006     SPDX-License-Identifier: GPL-3.0-or-later
0007 */
0008 
0009 #if !defined(LISTPHYSICALVOLUMES_H)
0010 
0011 #define LISTPHYSICALVOLUMES_H
0012 
0013 #include "ui_listphysicalvolumesbase.h"
0014 
0015 #include <core/partition.h>
0016 
0017 #include <QVector>
0018 
0019 #include <QWidget>
0020 
0021 class Device;
0022 class QPoint;
0023 class KActionCollection;
0024 
0025 class ListPhysicalVolumeWidgetItem : public QListWidgetItem
0026 {
0027 public:
0028     ListPhysicalVolumeWidgetItem(const Partition& p, bool checked);
0029     const Partition* partition() const { return m_Partition; }
0030 
0031 private:
0032     const Partition* m_Partition;
0033 };
0034 
0035 class ListPhysicalVolumes : public QWidget, public Ui::ListPhysicalVolumesBase
0036 {
0037     Q_DISABLE_COPY(ListPhysicalVolumes)
0038 
0039 public:
0040     explicit ListPhysicalVolumes(QWidget* parent = nullptr);
0041 
0042     void addPartition(const Partition& p, bool checked);
0043 
0044     QVector<const Partition *> checkedItems();
0045 
0046     QListWidget& listPhysicalVolumes() {
0047         Q_ASSERT(m_ListPhysicalVolumes);
0048         return *m_ListPhysicalVolumes;
0049     }
0050     const QListWidget& listPhysicalVolumes() const {
0051         Q_ASSERT(m_ListPhysicalVolumes);
0052         return *m_ListPhysicalVolumes;
0053     }
0054 };
0055 
0056 #endif
0057