Sayonara Player
AlbumModel.h
1/* AlbumModel.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 * AlbumModel.h
23 *
24 * Created on: Apr 26, 2011
25 * Author: Michael Lugmair (Lucio Carreras)
26 */
27
28#ifndef LIBRARYITEMMODELALBUMS_H_
29#define LIBRARYITEMMODELALBUMS_H_
30
31#include "Gui/Library/ItemModel.h"
32#include "Utils/Pimpl.h"
33
34namespace Library
35{
40 class AlbumModel :
41 public ItemModel
42 {
43 Q_OBJECT
44 PIMPL(AlbumModel)
45
46 public:
47 AlbumModel(QObject* parent, AbstractLibrary* library);
48 ~AlbumModel() override;
49
50 Qt::ItemFlags flags(const QModelIndex& index) const override;
51 QVariant data(const QModelIndex& index, int role) const override;
52 bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::DisplayRole) override;
53 int rowCount(const QModelIndex& parent) const override;
54
55 Cover::Location cover(const QModelIndexList& indexes) const override;
56 int searchableColumn() const override;
57 Id mapIndexToId(int index) const override;
58 QString searchableString(int row) const override;
59
60 protected:
61 const MetaDataList& selectedMetadata() const override;
62
63 private slots:
64 void albumChanged(int index);
65 };
66}
67
68#endif /* LIBRARYITEMMODELALBUMS_H_ */
Definition: AbstractLibrary.h:44
Definition: CoverLocation.h:39
The AlbumModel class.
Definition: AlbumModel.h:42
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...
int searchableColumn() const override
the index of the searchable column. This is the column where the text is searched for a certain searc...
Id mapIndexToId(int index) const override
return the current id for a given row
Cover::Location cover(const QModelIndexList &indexes) const override
return the cover for multiple rows. if rows.size() > 1, an invalid, default constructed cover locatio...
The ItemModel is intended to abstract the various views. It supports searching, selections and a libr...
Definition: ItemModel.h:43
The MetaDataList class.
Definition: MetaDataList.h:39
An interface class needed when implementing a library plugin.
Definition: LocalLibraryWatcher.h:31