6 #elif defined TTK_WEBKIT
7 # if TTK_QT_VERSION_CHECK(5,0,0)
8 # include <QtWebKitWidgets/QWebView>
9 # include <QtWebKitWidgets/QWebFrame>
11 # include <QtWebKit/QWebView>
12 # include <QtWebKit/QWebFrame>
14 #elif defined TTK_WEBENGINE
15 # include <QtWebEngineWidgets/QWebEngineView>
16 # include <QtWebEngineWidgets/QWebEngineSettings>
22 #include <QPushButton>
23 #include <QButtonGroup>
41 m_buttonGroup(
nullptr)
61 QWebSettings *settings = QWebSettings::globalSettings();
62 settings->setAttribute(QWebSettings::PluginsEnabled,
true);
63 settings->setAttribute(QWebSettings::JavascriptEnabled,
true);
64 settings->setAttribute(QWebSettings::DeveloperExtrasEnabled,
true);
65 settings->setAttribute(QWebSettings::JavascriptCanOpenWindows,
true);
66 #elif defined TTK_WEBENGINE
67 QWebEngineSettings *settings = QWebEngineSettings::defaultSettings();
68 settings->setAttribute(QWebEngineSettings::PluginsEnabled,
true);
69 settings->setAttribute(QWebEngineSettings::JavascriptEnabled,
true);
70 settings->setAttribute(QWebEngineSettings::JavascriptCanOpenWindows,
true);
73 setAlignment(Qt::AlignCenter);
76 if(type != Module::Song && type != Module::None)
95 #elif defined TTK_WEBKIT
101 #elif defined TTK_WEBENGINE
102 QWebEngineView *w =
TTKObjectCast(QWebEngineView*, d->m_webView);
122 #elif defined TTK_WEBKIT
128 #elif defined TTK_WEBENGINE
129 QWebEngineView *w =
TTKObjectCast(QWebEngineView*, d->m_webView);
144 const QList<QAbstractButton*> &buttons = d->m_buttonGroup->buttons();
158 d->m_webView =
nullptr;
165 #elif defined TTK_WEBKIT
166 QWebView *view =
new QWebView(
this);
167 view->page()->mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff);
168 view->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
170 #elif defined TTK_WEBENGINE
171 QWebEngineView *view =
new QWebEngineView(
this);
179 QVBoxLayout *layout =
new QVBoxLayout(
this);
180 layout->setSpacing(0);
181 layout->setContentsMargins(0, 0, 0, 0);
182 #if defined TTK_MINIBLINK || defined TTK_WEBKIT || defined TTK_WEBENGINE
186 layout->addWidget(d->m_webView);
198 QLabel *pix =
new QLabel(
this);
199 pix->setAlignment(Qt::AlignCenter);
200 pix->setPixmap(QPixmap(
":/image/lb_no_module"));
201 layout->addWidget(pix);
205 QLabel *pix =
new QLabel(
this);
206 pix->setAlignment(Qt::AlignCenter);
207 pix->setPixmap(QPixmap(
":/image/lb_no_module"));
208 layout->addWidget(pix);
216 QVBoxLayout *layout =
new QVBoxLayout(
this);
217 layout->setSpacing(0);
218 layout->setContentsMargins(0, 0, 0, 0);
219 #if defined TTK_MINIBLINK || defined TTK_WEBKIT || defined TTK_WEBENGINE
220 d->m_topWidget =
new QWidget(
this);
221 d->m_topWidget->setFixedHeight(25);
223 QHBoxLayout *topLayout =
new QHBoxLayout(d->m_topWidget);
224 topLayout->setContentsMargins(0, 0, 0, 0);
225 topLayout->setSpacing(25);
227 d->m_buttonGroup =
new QButtonGroup(
this);
228 QPushButton *bt =
new QPushButton(tr(
"Discovery"), d->m_topWidget);
229 bt->setCursor(QCursor(Qt::PointingHandCursor));
230 d->m_buttonGroup->addButton(bt, 0);
231 bt =
new QPushButton(tr(
"Recommend"), d->m_topWidget);
232 bt->setCursor(QCursor(Qt::PointingHandCursor));
233 d->m_buttonGroup->addButton(bt, 1);
234 bt =
new QPushButton(tr(
"Toplist"), d->m_topWidget);
235 bt->setCursor(QCursor(Qt::PointingHandCursor));
236 d->m_buttonGroup->addButton(bt, 2);
237 bt =
new QPushButton(tr(
"Artists"), d->m_topWidget);
238 bt->setCursor(QCursor(Qt::PointingHandCursor));
239 d->m_buttonGroup->addButton(bt, 3);
240 bt =
new QPushButton(tr(
"Category"), d->m_topWidget);
241 bt->setCursor(QCursor(Qt::PointingHandCursor));
242 d->m_buttonGroup->addButton(bt, 4);
245 topLayout->addStretch(1);
246 topLayout->addWidget(d->m_buttonGroup->button(0));
247 topLayout->addWidget(d->m_buttonGroup->button(1));
248 topLayout->addWidget(d->m_buttonGroup->button(2));
249 topLayout->addWidget(d->m_buttonGroup->button(3));
250 topLayout->addWidget(d->m_buttonGroup->button(4));
251 topLayout->addStretch(1);
254 d->m_buttonGroup->button(0)->setFocusPolicy(Qt::NoFocus);
255 d->m_buttonGroup->button(1)->setFocusPolicy(Qt::NoFocus);
256 d->m_buttonGroup->button(2)->setFocusPolicy(Qt::NoFocus);
257 d->m_buttonGroup->button(3)->setFocusPolicy(Qt::NoFocus);
258 d->m_buttonGroup->button(4)->setFocusPolicy(Qt::NoFocus);
261 layout->addWidget(d->m_topWidget);
268 layout->addWidget(d->m_webView);
272 QLabel *pix =
new QLabel(
this);
273 pix->setAlignment(Qt::AlignCenter);
274 pix->setPixmap(QPixmap(
":/image/lb_no_module"));
275 layout->addWidget(pix);
280 QLabel *pix =
new QLabel(
this);
281 pix->setAlignment(Qt::AlignCenter);
282 pix->setPixmap(QPixmap(
":/image/lb_no_power_mode"));
283 layout->addWidget(pix);
289 QLabel *pix =
new QLabel(
this);
290 pix->setAlignment(Qt::AlignCenter);
291 pix->setPixmap(QPixmap(
":/image/lb_no_module"));
292 layout->addWidget(pix);
static QString makeRadioPublicUrl() noexcept
~QKugouWindowPrivate() noexcept
static QString makeMovieRecommendUrl() noexcept
void setUrl(const QString &url)
void buttonClicked(int index)
static const QString PushButtonStyle01
PushButton.
wke::CWebView * m_webView
QKugouWindowPrivate() noexcept
static const QString WidgetStyle01
Widget.
QButtonGroup * m_buttonGroup
static const QString PushButtonStyle02
QKugouWindow(Module type, QWidget *parent=nullptr)
The class of the kugou window widget.
void kugouSongIndexChanged(int index)
static QString makeKuiSheUrl() noexcept
#define QtButtonGroupConnect(p, q, f, s)
Button group connect.
The class of the kugou window widget private.
static QString makeSongRecommendUrl() noexcept
void createKugouSongWidget(bool power)
#define TTK_INIT_PRIVATE(Class)
The class of the ttk private base.
void setUrl(const QString &url)
#define TTKObjectCast(x, y)