Miam-Player  0.8.0
A nice music player
albumcover.h
Go to the documentation of this file.
1 #ifndef ALBUMCOVER_H
2 #define ALBUMCOVER_H
3 
4 #include <QMenu>
5 
6 #include <cover.h>
8 
14 class MIAMTAGEDITOR_LIBRARY AlbumCover : public QWidget
15 {
16  Q_OBJECT
17 private:
18  QMenu *_imageMenu;
19 
20  bool _isCoverForSingleAlbum;
21 
22  Cover *_cover;
23  QString _album;
24 
25  QMenu *_subMenuApplyTo;
26 
27  QAction *_extractCoverAction;
28  QAction *_removeCoverAction;
29  QAction *_applyCoverToCurrentAlbumAction;
30 
31 public:
32  explicit AlbumCover(QWidget *parent = nullptr);
33 
35  void resetCover();
36 
38  void setCover(Cover *cover);
39 
40  inline void setCoverForSingleAlbum(bool isCoverForSingleAlbum) { _isCoverForSingleAlbum = isCoverForSingleAlbum; }
41 
42  inline void setAlbum(const QString &album) { _album = album; }
43 
44  inline QString album() const { return _album; }
45 
46  inline QMenu * contextMenu() const { return _imageMenu; }
47 
48 private:
50  void createPixmapFromFile(const QString &fileName);
51 
52 protected:
54  void contextMenuEvent(QContextMenuEvent *event) override;
55 
57  void dragEnterEvent(QDragEnterEvent *event) override;
58 
60  void dragMoveEvent(QDragMoveEvent *event) override;
61 
63  void dropEvent(QDropEvent *event) override;
64 
66  void paintEvent(QPaintEvent *) override;
67 
68 private slots:
70  void loadCover();
71 
73  void removeCover();
74 
76  void extractCover();
77 
79  void applyCoverToAll();
80 
82  void applyCoverToAlbumOnly();
83 
84 signals:
86  void aboutToApplyCoverToAll(bool, Cover*);
87 
88  void coverHasChanged(Cover*);
89 };
90 
91 #endif // ALBUMCOVER_H
#define MIAMTAGEDITOR_LIBRARY
Definition: miamtageditor_global.hpp:8
The Cover class.
Definition: cover.h:14
QString album() const
Definition: albumcover.h:44
void setCoverForSingleAlbum(bool isCoverForSingleAlbum)
Definition: albumcover.h:40
void setAlbum(const QString &album)
Definition: albumcover.h:42
The AlbumCover class is used to manipulate cover albums inside music files.
Definition: albumcover.h:14
QMenu * contextMenu() const
Definition: albumcover.h:46