digiKam
Loading...
Searching...
No Matches
track_listmodel.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2014-06-09
7 * Description : A model to list the tracks
8 *
9 * SPDX-FileCopyrightText: 2014-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 * SPDX-FileCopyrightText: 2014 by Michael G. Hansen <mike at mghansen dot de>
11 *
12 * SPDX-License-Identifier: GPL-2.0-or-later
13 *
14 * ============================================================ */
15
16#pragma once
17
18// Qt includes
19
20#include <QAbstractItemModel>
21
22// Local includes
23
24#include "trackmanager.h"
25
26namespace Digikam
27{
28
29class TrackListModel : public QAbstractItemModel
30{
31 Q_OBJECT
32
33public:
34
35 explicit TrackListModel(TrackManager* const trackManager, QObject* const parent);
36 ~TrackListModel() override;
37
38 // QAbstractItemModel customization:
39
40 int columnCount(const QModelIndex& parent = QModelIndex() ) const override;
41 bool setData(const QModelIndex& index, const QVariant& value, int role) override;
42 QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
43 QModelIndex index(int row, int column, const QModelIndex& parent = QModelIndex()) const override;
44 QModelIndex parent(const QModelIndex& index) const override;
45 int rowCount(const QModelIndex& parent = QModelIndex()) const override;
46 bool setHeaderData(int section, Qt::Orientation orientation, const QVariant& value, int role) override;
47 QVariant headerData(int section, Qt::Orientation orientation, int role) const override;
48 Qt::ItemFlags flags(const QModelIndex& index) const override;
49
50 TrackManager::Track getTrackForIndex(const QModelIndex& index) const;
51
52private Q_SLOTS:
53
54 void slotTrackManagerUpdated();
55
56private:
57
58 class Private;
59 const QScopedPointer<Private> d;
60};
61
62} // namespace Digikam
Definition track_listmodel.h:30
TrackManager::Track getTrackForIndex(const QModelIndex &index) const
Definition track_listmodel.cpp:262
QModelIndex parent(const QModelIndex &index) const override
Definition track_listmodel.cpp:169
bool setHeaderData(int section, Qt::Orientation orientation, const QVariant &value, int role) override
Definition track_listmodel.cpp:193
~TrackListModel() override
Definition track_listmodel.cpp:55
int rowCount(const QModelIndex &parent=QModelIndex()) const override
Definition track_listmodel.cpp:181
QModelIndex index(int row, int column, const QModelIndex &parent=QModelIndex()) const override
Definition track_listmodel.cpp:145
Qt::ItemFlags flags(const QModelIndex &index) const override
Definition track_listmodel.cpp:239
int columnCount(const QModelIndex &parent=QModelIndex()) const override
Definition track_listmodel.cpp:59
QVariant headerData(int section, Qt::Orientation orientation, int role) const override
Definition track_listmodel.cpp:203
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const override
Definition track_listmodel.cpp:75
bool setData(const QModelIndex &index, const QVariant &value, int role) override
Definition track_listmodel.cpp:66
Definition trackmanager.h:81
Definition trackmanager.h:36
qulonglong value
Definition itemviewutilities.cpp:585
Definition datefolderview.cpp:34