TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musiclrcposterwidget.h
Go to the documentation of this file.
1 #ifndef MUSICLRCPOSTERWIDGET_H
2 #define MUSICLRCPOSTERWIDGET_H
3 
4 /***************************************************************************
5  * This file is part of the TTK Music Player project
6  * Copyright (C) 2015 - 2024 Greedysky Studio
7 
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 3 of the License, or
11  * (at your option) any later version.
12 
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17 
18  * You should have received a copy of the GNU General Public License along
19  * with this program; If not, see <http://www.gnu.org/licenses/>.
20  ***************************************************************************/
21 
22 #include "musicwidgetheaders.h"
25 
26 namespace Ui {
28 }
29 
34 {
35  Q_OBJECT
37 public:
38  enum class Format
39  {
40  Type01,
41  Type02,
42  Type03,
43  Type04,
44  Type05,
45  Type06,
46  Type07,
47  Type08,
48  Type09,
49  Type10,
50  Type11,
51  Type12,
52  Type13,
53  Type14,
54  Type15,
55  Type16,
56  Type17
57  };
58 
62  explicit MusicLrcPosterItemWidget(QWidget *parent = nullptr);
63 
67  bool hasScroll() const;
71  void setImagePath(const QString &path);
75  void setCurrentSongName(const QString &name);
76 
77 public Q_SLOTS:
81  void textChanged(const QStringList &data);
85  void currentTypeChanged(int type);
86 
87 private:
91  virtual void paintEvent(QPaintEvent *event) override final;
95  void drawTheme1(QPainter *painter);
99  void drawTheme2(QPainter *painter);
103  void drawTheme3(QPainter *painter);
107  void drawTheme4(QPainter *painter);
111  void drawTheme5(QPainter *painter);
115  void drawTheme6(QPainter *painter);
119  void drawTheme7(QPainter *painter);
123  void drawTheme8(QPainter *painter);
127  void drawTheme9(QPainter *painter);
131  void drawTheme10(QPainter *painter);
135  void drawTheme11(QPainter *painter);
139  void drawTheme12(QPainter *painter);
143  void drawTheme13(QPainter *painter);
147  void drawTheme14(QPainter *painter);
151  void drawTheme15(QPainter *painter);
155  void drawTheme16(QPainter *painter);
159  void drawTheme17(QPainter *painter);
160 
162  QStringList m_data;
163  QPixmap m_pixmap;
164  QString m_title;
165 
166 };
167 
168 
173 {
174  Q_OBJECT
176 public:
180  explicit MusicLrcPosterTableWidget(QWidget *parent = nullptr);
181 
185  void addCellItems(const QStringList &lrcs);
186 
187 Q_SIGNALS:
191  void textChanged(const QStringList &data);
192 
193 public Q_SLOTS:
197  virtual void itemCellClicked(int row, int column) override final;
198 
199 };
200 
201 
206 {
207  Q_OBJECT
209 public:
213  explicit MusicLrcPosterThemeListWidget(QWidget *parent = nullptr);
214 
215 private:
219  void addCelltItems();
220 
221 };
222 
223 
228 {
229  Q_OBJECT
231 public:
235  explicit MusicLrcPosterWidget(QWidget *parent = nullptr);
240 
244  void setCurrentLrcs(const QStringList &lrcs, const QString &name);
245 
246 
247 public Q_SLOTS:
251  void openButtonClicked();
255  void saveButtonClicked();
256 
257 private:
258  Ui::MusicLrcPosterWidget *m_ui;
261 
262 };
263 
264 #endif // MUSICLRCPOSTERWIDGET_H
#define TTK_MODULE_EXPORT
The input file format support.
Definition: format.h:29
virtual void itemCellClicked(int row, int column) override
The class of the lrc art poster table widget.
The class of the fill item table widget.
The class of the lrc art poster maker widget.
const char * name
Definition: http_parser.c:458
The class of the lrc art poster maker item widget.
MusicLrcPosterItemWidget * m_itemWidget
#define TTK_DECLARE_MODULE(Class)
Definition: ttkqtglobal.h:152
The class of the moving dialog base.
Ui::MusicLrcPosterWidget * m_ui
MusicLrcPosterThemeListWidget * m_themeWidget
The class of the lrc art poster theme list widget.