Sayonara Player
AlbumView.h
1/* AlbumView.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 LIBRARYVIEWALBUM_H
22#define LIBRARYVIEWALBUM_H
23
24#include "TableView.h"
25#include "Utils/MetaData/Album.h"
26
27#include <QList>
28
29namespace Library
30{
31 class DiscPopupMenu;
32
37 class AlbumView :
38 public TableView
39 {
40 Q_OBJECT
41 PIMPL(AlbumView)
42
43 signals:
44 void sigDiscPressed(Disc d);
45
46 protected slots:
47 void indexClicked(const QModelIndex& idx);
48
49 public:
50 explicit AlbumView(QWidget* parent = nullptr);
51 virtual ~AlbumView() override;
52
53 protected:
55 QByteArray columnHeaderState() const override;
56 void saveColumnHeaderState(const QByteArray& state) override;
57
58 private:
59 // Library::TableView
60 void initView(AbstractLibrary* library) override;
61
62 SortOrder sortorder() const override;
63 void applySortorder(SortOrder s) override;
64
65 // Library::ItemView
66 void playClicked() override;
67 void playNewTabClicked() override;
68 void playNextClicked() override;
69 void appendClicked() override;
70 void selectedItemsChanged(const IndexSet& indexes) override;
71 void refreshClicked() override;
72 void runMergeOperation(const MergeData& mergedata) override;
73 bool isMergeable() const override;
74 MD::Interpretation metadataInterpretation() const override;
75
76 bool autoResizeState() const override;
77 void saveAutoResizeState(bool b) override;
78
79 void calcDiscmenuPoint(QModelIndex idx);
80 void deleteDiscmenu();
81 void initDiscmenu(QModelIndex idx);
82
83 void showDiscmenu();
84 void showContextMenu(const QPoint& p) override;
85
86 AbstractLibrary* library() const override;
87
88 private slots:
89 void useClearButtonChanged();
90 };
91}
92
93#endif // LIBRARYVIEWALBUM_H
Definition: AbstractLibrary.h:44
The AlbumView class.
Definition: AlbumView.h:39
ColumnHeaderList columnHeaders() const override
returns a list of ColumnHeader objects containing name, sortorder. Everytime when the language is cha...
QByteArray columnHeaderState() const override
This method returns the SAVED column header sizes as they were remembered since the last time sayonar...
void saveColumnHeaderState(const QByteArray &state) override
Here, the column headers sizes should be saved somewhere.
Definition: MergeData.h:33
The TableView class.
Definition: TableView.h:38
Definition: EngineUtils.h:33
A set structure. Inherited from std::set with some useful methods. For integer and String this set is...
Definition: Set.h:37
An interface class needed when implementing a library plugin.
Definition: LocalLibraryWatcher.h:31