forked from milohr/babe-qt
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathalbum.h
105 lines (86 loc) · 2.52 KB
/
album.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
#ifndef ALBUM_H
#define ALBUM_H
#include <QLabel>
#include <QString>
#include <QPixmap>
#include <QToolButton>
#include <QObject>
#include <QEvent>
#include <QMouseEvent>
#include <QDebug>
#include <QHBoxLayout>
#include <QMenu>
#include <QPainter>
#include <QFileDialog>
#include <QDrag>
#include <QMimeData>
#include <QApplication>
#include "baeUtils.h"
#include "scrolltext.h"
class Album : public QLabel
{
Q_OBJECT
public:
explicit Album(QString imagePath, int widgetSize, int widgetRadius=0, bool isDraggable=false, QWidget *parent = 0);
~Album(){}
void setArtist(QString artist);
void setAlbum(QString album);
void setTitle(QString _artist, QString _album="");
void setBGcolor(QString bgColor);
void titleVisible(bool state);
void setTitleGeometry(int x, int y, int w, int h);
void setSize(int value);
int border_radius;
int size;
bool borderColor=false;
QWidget *widget;
QString getTitle();
QString getArtist();
QString getAlbum();
QString getBGcolor();
QPixmap image;
QPixmap getPixmap();
QToolButton *playBtn;
enum albumField
{
ALBUM, ARTIST, ART
};
private:
QMap<int, QString> albumMap;
bool draggable;
QString imagePath;
QString artist="";
QString album="";
QString bgColor="";
ScrollText *title;
QPoint oldPos;
QPoint startPos;
void performDrag();
signals:
void albumCoverClicked(QMap<int, QString> albumMap);
void albumCoverDoubleClicked(QMap<int, QString> albumMap);
void playAlbum(QMap<int, QString> albumMap);
void changedArt(QMap<int, QString> albumMap);
void babeAlbum_clicked(QMap<int, QString> albumMap);
void albumDragged();
void albumCoverEnter();
void albumCoverLeft();
public slots:
void putPixmap(QByteArray pix);
void putPixmap(QString path);
void putDefaultPixmap();
void playBtn_clicked();
void babeIt_action();
void artIt_action();
void removeIt_action();
protected:
virtual void mousePressEvent (QMouseEvent * event) Q_DECL_OVERRIDE;
virtual void mouseDoubleClickEvent(QMouseEvent * event) Q_DECL_OVERRIDE;
virtual void mouseMoveEvent(QMouseEvent *event) Q_DECL_OVERRIDE;
virtual void enterEvent(QEvent *event) Q_DECL_OVERRIDE;
virtual void leaveEvent(QEvent *event) Q_DECL_OVERRIDE;
virtual void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
virtual bool eventFilter(QObject * watched, QEvent * event) Q_DECL_OVERRIDE;
// virtual void mouseMoveEvent(QMouseEvent *evt);
};
#endif // ALBUM_H