TTKMusicPlayer  4.3.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musicwebdjradiowidget.h
Go to the documentation of this file.
1 #ifndef MUSICWEBDJRADIOWIDGET_H
2 #define MUSICWEBDJRADIOWIDGET_H
3 
4 /***************************************************************************
5  * This file is part of the TTK Music Player project
6  * Copyright (C) 2015 - 2026 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 
28 
33 {
34  Q_OBJECT
35 public:
39  explicit MusicWebDJRadioProgramTableWidget(QWidget *parent = nullptr);
44 
48  void initialize(TTK::Program type);
52  void resizeGeometry() const;
53 
54 Q_SIGNALS:
58  void programItemClicked(const QString &rid, const QString &cid);
59 
60 public Q_SLOTS:
64  virtual void itemCellEntered(int row, int column) override final;
68  virtual void itemCellClicked(int row, int column) override final;
72  void createProgramItem(const MusicResultDataItem &item);
76  void downloadFinished(const QByteArray &bytes);
77 
78 private:
80 
81 };
82 
83 
88 {
89  Q_OBJECT
90 public:
94  explicit MusicWebDJRadioProgramWidget(TTK::Program type, QWidget *parent = nullptr);
99 
103  void initialize();
107  void resizeGeometry();
108 
109 private:
112 
113 };
114 
115 
120 {
121  Q_OBJECT
122 public:
126  explicit MusicWebDJRadioWidget(QWidget *parent = nullptr);
131 
135  void initialize();
139  virtual void resizeGeometry() override final;
140 
141 public Q_SLOTS:
145  void backToMainMenu();
149  void createRecommendWidget();
153  void createProgramWidget();
157  void programItemClicked(const QString &rid, const QString &cid);
161  void currentItemClicked(const MusicResultDataItem &item);
162 
163 private:
167  void createFirstWidget();
168 
172 
173 };
174 
175 #endif // MUSICWEBDJRADIOWIDGET_H
The class of the dj radio music query widget.
#define TTK_MODULE_EXPORT
The class of the search result data item.
The class of the table widget base.
MusicWebDJRadioCategoryWidget * m_categoryWidget
MusicWebDJRadioProgramTableWidget * m_tableWidget
The class of the music dj radio widget.
The class of the music dj radio program widget.
virtual void itemCellClicked(int row, int column)
virtual void itemCellEntered(int row, int column)
The class of the music dj radio category widget.
TTK_MODULE_EXPORT void initialize(TTK::Attribute attr)
The class of the music dj radio program request.
MusicDJRadioProgramRequest * m_networkRequest
The class of the widget resize interface.
The class of the music dj radio program table widget.
MusicWebDJRadioProgramWidget * m_recommendWidget
MusicWebDJRadioQueryWidget * m_queryWidget
virtual void resizeGeometry()=0