TTKMusicPlayer  4.3.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musicbackgroundremotewidget.h
Go to the documentation of this file.
1 #ifndef MUSICBACKGROUNDREMOTEWIDGET_H
2 #define MUSICBACKGROUNDREMOTEWIDGET_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 <QComboBox>
25 
26 class QPushButton;
28 
33 {
34  Q_OBJECT
35 public:
39  explicit MusicBackgroundRemoteWidget(QWidget *parent = nullptr);
44 
48  void abort();
49 
54  virtual void outputRemoteSkin(MusicBackgroundImage &image, const QString &data) = 0;
55 
56 public Q_SLOTS:
60  void downloadDataChanged(const QString &bytes);
64  virtual void downloadFinished(const MusicSkinRemoteGroupList &bytes);
65 
66 protected:
70  void startToRequest(const QString &suffix);
71 
74  MusicSkinRemoteGroupList m_groups;
78 
79 };
80 
81 
82 
87 {
88  Q_OBJECT
89 public:
93  explicit MusicBackgroundDailyWidget(QWidget *parent = nullptr);
94 
98  void initialize();
99 
103  virtual void outputRemoteSkin(MusicBackgroundImage &image, const QString &data) override final;
104 
105 public Q_SLOTS:
109  virtual void downloadFinished(const MusicSkinRemoteGroupList &bytes) override final;
110 
111 };
112 
113 
114 
119 {
120  Q_OBJECT
121 public:
125  explicit MusicBackgroundOnlineWidget(QWidget *parent = nullptr);
130 
134  void initialize();
135 
139  QWidget* createFunctionsWidget(bool revert, QWidget *object = nullptr);
143  virtual void outputRemoteSkin(MusicBackgroundImage &image, const QString &data) override final;
144 
145 public Q_SLOTS:
149  void currentTypeChanged(int index);
153  virtual void downloadFinished(const MusicSkinRemoteGroupList &bytes) override final;
154 
155 private:
156  QComboBox *m_typeBox;
158 
159 };
160 
161 #endif // MUSICBACKGROUNDREMOTEWIDGET_H
#define TTK_MODULE_EXPORT
The class of the remote background widget.
MusicDownloadQueueRequest * m_networkRequest
The class of the daily background widget.
The class of the download data from queue request.
The class of the background list widget.
The class of the download skin remote background.
The class of the skin backgroud image.
TTK_MODULE_EXPORT QString suffix(const QString &name)
virtual void outputRemoteSkin(MusicBackgroundImage &image, const QString &data)=0
virtual void downloadFinished(const MusicSkinRemoteGroupList &bytes)
TTK_MODULE_EXPORT void initialize(TTK::Attribute attr)
MusicAbstractDownloadSkinRequest * m_downloadRequest
The class of the online background widget.
MusicBackgroundListWidget * m_backgroundList