Sayonara Player
TrackModel.h
1/* TrackModel.h */
2
3/* Copyright (C) 2011-2020 Michael Lugmair (Lucio Carreras)
4 *
5 * This file is part of sayonara player
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21/*
22 * TrackModel.h
23 *
24 * Created on: Apr 24, 2011
25 * Author: Michael Lugmair (Lucio Carreras)
26 */
27
28#ifndef LIBRARYITEMMODELTRACKS_H_
29#define LIBRARYITEMMODELTRACKS_H_
30
31#include "Gui/Library/ItemModel.h"
32#include "Utils/Pimpl.h"
33
34namespace Library
35{
40 class TrackModel :
41 public ItemModel
42 {
43 Q_OBJECT
44 PIMPL(TrackModel)
45
46 public:
47 TrackModel(QObject* parent, AbstractLibrary* library);
48 ~TrackModel() override;
49
51 Qt::ItemFlags flags(const QModelIndex& index) const override;
52 QVariant data(const QModelIndex& index, int role) const override;
53 bool setData(const QModelIndex& index, const QVariant& value, int role) override;
54 int rowCount(const QModelIndex& parent) const override;
55
57 Cover::Location cover(const QModelIndexList & indexes) const override;
58 int searchableColumn() const override;
59 Id mapIndexToId(int row) const override;
60 QString searchableString(int row) const override;
61
62 protected:
63 const MetaDataList& selectedMetadata() const override;
64 void languageChanged();
65
66 private slots:
67 void trackMetaDataChanged(int row);
68 };
69}
70
71#endif /* LIBRARYITEMMODELTRACKS_H_ */
Definition: AbstractLibrary.h:44
Definition: CoverLocation.h:39
The ItemModel is intended to abstract the various views. It supports searching, selections and a libr...
Definition: ItemModel.h:43
The TrackModel class.
Definition: TrackModel.h:42
Id mapIndexToId(int row) const override
return the current id for a given row
const MetaDataList & selectedMetadata() const override
return the tracks which belong to the selections. If an album is selected for example,...
QString searchableString(int row) const override
here, the searchable string can even be refined. Maybe we just want to search within a substring indi...
Qt::ItemFlags flags(const QModelIndex &index) const override
int searchableColumn() const override
the index of the searchable column. This is the column where the text is searched for a certain searc...
Cover::Location cover(const QModelIndexList &indexes) const override
The MetaDataList class.
Definition: MetaDataList.h:39
An interface class needed when implementing a library plugin.
Definition: LocalLibraryWatcher.h:31