source: calamares/trunk/fuentes/src/modules/partition/core/DeviceModel.h @ 7538

Last change on this file since 7538 was 7538, checked in by kbut, 13 months ago

sync with github

File size: 1.7 KB
Line 
1/* === This file is part of Calamares - <https://github.com/calamares> ===
2 *
3 *   Copyright 2014, Aurélien Gâteau <agateau@kde.org>
4 *   Copyright 2017, Adriaan de Groot <groot@kde.org>
5 *
6 *   Calamares is free software: you can redistribute it and/or modify
7 *   it under the terms of the GNU General Public License as published by
8 *   the Free Software Foundation, either version 3 of the License, or
9 *   (at your option) any later version.
10 *
11 *   Calamares is distributed in the hope that it will be useful,
12 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
13 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 *   GNU General Public License for more details.
15 *
16 *   You should have received a copy of the GNU General Public License
17 *   along with Calamares. If not, see <http://www.gnu.org/licenses/>.
18 */
19#ifndef DEVICEMODEL_H
20#define DEVICEMODEL_H
21
22#include <QAbstractListModel>
23#include <QScopedPointer>
24#include <QList>
25
26class Device;
27class PartitionModel;
28
29/**
30 * A Qt model which exposes a list of Devices.
31 */
32class DeviceModel : public QAbstractListModel
33{
34    Q_OBJECT
35public:
36    DeviceModel( QObject* parent = nullptr );
37    ~DeviceModel() override;
38
39    /**
40     * Init the model with the list of devices. Does *not* take ownership of the
41     * devices.
42     */
43    void init( const QList< Device* >& devices );
44
45    int rowCount( const QModelIndex& parent = QModelIndex() ) const override;
46    QVariant data( const QModelIndex& index, int role = Qt::DisplayRole ) const override;
47
48    Device* deviceForIndex( const QModelIndex& index ) const;
49
50    void swapDevice( Device* oldDevice, Device* newDevice );
51
52private:
53    QList< Device* > m_devices;
54};
55
56#endif /* DEVICEMODEL_H */
Note: See TracBrowser for help on using the repository browser.