TTKMusicPlayer  4.2.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 - 2025 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 noexcept;
71  void setImagePath(const QString &path);
75  void setCurrentSongName(const QString &name) noexcept;
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 
161  Format m_type;
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
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:164
The class of the moving dialog base.
Ui::MusicLrcPosterWidget * m_ui
MusicLrcPosterThemeListWidget * m_themeWidget
#define const
Definition: zconf.h:233
The class of the lrc art poster theme list widget.