-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathwidget.h
More file actions
130 lines (118 loc) · 3.38 KB
/
widget.h
File metadata and controls
130 lines (118 loc) · 3.38 KB
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
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#ifndef WIDGET_H
#define WIDGET_H
#include <QLabel>
#include <QPushButton>
#include <QTableWidget>
#include <QLineEdit>
#include <QNetworkAccessManager>
#include <QNetworkRequest>
#include <QNetworkReply>
#include <QMediaPlayer>
#include <QScriptEngine>
#include <QScriptValue>
#include <QMessageBox>
#include <QFile>
#include <qvolumnbutton.h>
QT_FORWARD_DECLARE_CLASS(QWinTaskbarButton)
QT_FORWARD_DECLARE_CLASS(QWinTaskbarProgress)
QT_FORWARD_DECLARE_CLASS(QWinThumbnailToolBar)
QT_FORWARD_DECLARE_CLASS(QWinThumbnailToolButton)
QT_FORWARD_DECLARE_CLASS(QLineEdit)
namespace Ui
{
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = 0);
~Widget();
private slots:
void slot_get_song_info (QNetworkReply*);
void slot_play_song (QNetworkReply*);
void slot_download_song (QNetworkReply*);
void slot_start_download(QNetworkReply*);
void slot_select_to_play(int, int);
void slot_append_to_playlist(int, int);
void slot_append_to_downloadList(int, int);
void slot_play_next();
void on_le_find_returnPressed();
void on_pb_play_clicked();
void on_pb_song_clicked();
void on_pb_next_clicked();
void on_pb_replay_clicked();
void on_slider_valueChanged(int value);
void updateTaskbar();
void updateState(QMediaPlayer::State state);
void updatePosition(qint64 position);
void updateDuration(qint64 duration);
void on_pb_minimum_clicked();
void on_pb_close_clicked();
private:
void mousePressEvent (QMouseEvent *event);
void mouseMoveEvent (QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
void initWinAttribute();
void initPlayerInterface();
void initVolumnButton();
void initLrcInterface();
void initTaskbar();
void initMediaPlayer();
void initNetwork();
void requestDownloadSong(QString hash);
void parseSongInfo(QString json);
void parseSongLink(QString json);
void playSong (QString link);
void downloadSong (QString link);
void addItemsToResultList();
//void getOnPlaySongLyric();
void initTableInfo(QTableWidget *widget);
bool isSongExist(QString songname);
void closeEvent (QCloseEvent *);
enum
{
FileName ,
Append
};
struct findResult
{
QString hash;
QString songName;
}stResultList;
struct playList
{
QString songName;
QString hash;
}stPlayList;
Ui::Widget *ui;
QString m_songlink;
QString m_hash;
QString m_songname;
//QString m_lrcLink;
// QString m_lyric;
QString m_onPlaySongName;
QString m_onPlayHash;
QString m_onDownloadSongName;
bool m_isSingleCircle;
// bool m_isLrcShow;
bool m_nextBtnPressed;
bool mouse_press;
QPoint move_point;
QList<findResult> m_listResult;
QList<playList> m_listPlay;
QFile *m_file;
//QFile *m_fileLrc;
QMediaPlayer *player;
//QShowLrc *showLrc;
QVolumeButton *volumeButton;
QWinTaskbarButton *taskbarButton;
QWinTaskbarProgress *taskbarProgress;
QNetworkAccessManager *managerGetSongInfo;
QNetworkAccessManager *managerPlay;
QNetworkAccessManager *managerDownload;
QNetworkAccessManager *managerStartDownload;
//QNetworkAccessManager *managerGetSongLrc;
//QNetworkAccessManager *managerDownloadSongLrc;
};
#endif // WIDGET_H