Sayonara Player
RatingDelegate.h
1/* RatingDelegate.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#ifndef LIBRARY_RATING_DELEGATE_H
22#define LIBRARY_RATING_DELEGATE_H
23
24#include "Gui/Utils/Delegates/StyledItemDelegate.h"
25#include "Utils/Pimpl.h"
26
27namespace Library
28{
35 {
36 Q_OBJECT
37 PIMPL(RatingDelegate)
38
39 public:
40 RatingDelegate(int ratingColumn, int decorationColumn=-1, QObject* parent=nullptr);
41 ~RatingDelegate() override;
42
43 void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const override;
44 QWidget*
45 createEditor(QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex& index) const override;
46 void setEditorData(QWidget* editor, const QModelIndex& index) const override;
47 void setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const override;
48
49 private slots:
50 void deleteEditor(bool save);
51 };
52}
53
54#endif // LibraryRatingDelegate_H
The StyledItemDelegate class assures a certain height of rows in a table and tree view.
Definition: StyledItemDelegate.h:35
A special delegate class for tables containing a rating.
Definition: RatingDelegate.h:35
An interface class needed when implementing a library plugin.
Definition: LocalLibraryWatcher.h:31