13 QHeaderView *headerView = horizontalHeader();
14 headerView->resizeSection(0, 10);
15 headerView->resizeSection(1, 40);
16 headerView->resizeSection(2, 315);
17 headerView->resizeSection(3, 90);
18 headerView->resizeSection(4, 105);
19 headerView->resizeSection(5, 110);
40 QHeaderView *headerView = horizontalHeader();
43 for(
int i = 0; i < rowCount(); ++i)
45 QTableWidgetItem *it = item(i, 2);
52 if(column == 2 || column == 3)
54 setCursor(QCursor(Qt::PointingHandCursor));
68 if(row < 0 || row >= items.count())
83 const int index = rowCount();
84 setRowCount(index + 1);
87 QHeaderView *headerView = horizontalHeader();
88 QTableWidgetItem *item =
new QTableWidgetItem;
89 setItem(index, 0, item);
91 item =
new QTableWidgetItem;
92 item->setIcon(QPixmap(
":/image/lb_default_art"));
93 setItem(index, 1, item);
95 item =
new QTableWidgetItem;
96 item->setToolTip(data.
m_name);
97 item->setText(
TTK::Widget::elidedText(font(), item->toolTip(), Qt::ElideRight, headerView->sectionSize(2) - 31));
100 setItem(index, 2, item);
105 setItem(index, 3, item);
107 item =
new QTableWidgetItem(tr(
"Played %1").arg(data.
m_count));
110 setItem(index, 4, item);
112 item =
new QTableWidgetItem(data.
m_time);
115 setItem(index, 5, item);
120 connect(req, SIGNAL(downloadRawDataChanged(QByteArray)), SLOT(
downloadFinished(QByteArray)));
140 QTableWidgetItem *it = item(d->
header(
"id").toInt(), 1);
144 pix.loadFromData(bytes);
155 QVBoxLayout *layout =
new QVBoxLayout(
this);
156 layout->setContentsMargins(0, 0, 0, 0);
159 QWidget *top =
new QWidget(
this);
160 layout->addWidget(top);
161 QHBoxLayout *topLayout =
new QHBoxLayout(top);
162 topLayout->setContentsMargins(10, 20, 10, 0);
163 top->setLayout(topLayout);
166 QFont font = label->font();
167 font.setPixelSize(20);
169 label->setFont(font);
170 topLayout->addWidget(label);
172 QPushButton *backButton =
new QPushButton(tr(
"Back"),
this);
173 backButton->setFixedSize(90, 30);
175 backButton->setCursor(QCursor(Qt::PointingHandCursor));
176 connect(backButton, SIGNAL(clicked()), parent, SLOT(backToMainMenu()));
177 topLayout->addWidget(backButton);
178 layout->addWidget(top);
181 backButton->setFocusPolicy(Qt::NoFocus);
184 QFrame *line =
new QFrame(
this);
185 line->setFrameShape(QFrame::HLine);
187 layout->addWidget(line);
190 connect(
m_tableWidget, SIGNAL(programItemClicked(QString,QString)), parent, SLOT(programItemClicked(QString,QString)));
212 : QStackedWidget(parent),
213 m_recommendWidget(nullptr),
214 m_programWidget(nullptr),
215 m_queryWidget(nullptr)
217 setObjectName(MusicWebDJRadioWidget::metaObject()->className());
288 if(rid ==
"-1" && cid !=
"-1")
308 QWidget *w =
new QWidget(
this);
309 QVBoxLayout *layout =
new QVBoxLayout(w);
310 layout->setSpacing(15);
311 layout->setContentsMargins(30, 30, 30, 0);
312 w->setLayout(layout);
314 QWidget *top =
new QWidget(w);
315 layout->addWidget(top);
316 QHBoxLayout *topLayout =
new QHBoxLayout(top);
317 topLayout->setSpacing(35);
318 topLayout->setContentsMargins(0, 0, 0, 0);
319 top->setLayout(topLayout);
321 QWidget *leftTop =
new QWidget(top);
322 QHBoxLayout *leftTopLayout =
new QHBoxLayout(leftTop);
323 leftTopLayout->setSpacing(0);
324 leftTopLayout->setContentsMargins(0, 0, 0, 0);
326 QFont recommendFont = recommendLabel->font();
327 recommendFont.setPixelSize(20);
328 recommendFont.setBold(
true);
329 recommendLabel->setFont(recommendFont);
330 leftTopLayout->addWidget(recommendLabel);
331 leftTopLayout->addStretch(1);
337 leftTopLayout->addWidget(recommendMoreLabel);
338 topLayout->addWidget(leftTop);
340 QWidget *rightTop =
new QWidget(top);
341 QHBoxLayout *rightTopLayout =
new QHBoxLayout(rightTop);
342 rightTopLayout->setSpacing(0);
343 rightTopLayout->setContentsMargins(0, 0, 0, 0);
345 QFont programFont = programLabel->font();
346 programFont.setPixelSize(20);
347 programFont.setBold(
true);
348 programLabel->setFont(programFont);
349 rightTopLayout->addWidget(programLabel);
350 rightTopLayout->addStretch(1);
356 rightTopLayout->addWidget(programMoreLabel);
357 topLayout->addWidget(rightTop);
359 QFrame *line =
new QFrame(w);
360 line->setFrameShape(QFrame::HLine);
362 layout->addWidget(line);
The class of the search result data item.
const QVariant header(const QString &key) const noexcept
static bool isCoverValid(const QString &url) noexcept
virtual void startToRequest(const QString &url)=0
static const QString ColorStyle04
#define QtItemSetTextAlignment(p, a)
Item text alignment.
static constexpr unsigned int Color02
void setHeader(const QString &key, const QVariant &value) noexcept
The class of the label widget that can click.
const MusicResultDataItemList & items() const noexcept
#define TTK_ITEM_SIZE_2XL
static const QString ScrollBarStyle03
The class of the cover source data download request.
static const QString PushButtonStyle03
The class of the music dj radio program request.
static const QString BackgroundStyle10
void startToRequest(TTK::Program type)
static const QString ColorStyle11
The class of the cover data download request.
#define TTK_ERROR_STREAM(msg)
#define TTKObjectCast(x, y)