10 setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
13 QHeaderView *headerView = horizontalHeader();
14 headerView->resizeSection(0, 30);
15 headerView->resizeSection(1, 342);
16 headerView->resizeSection(2, 110);
17 headerView->resizeSection(3, 47);
18 headerView->resizeSection(4, 26);
19 headerView->resizeSection(5, 26);
20 headerView->resizeSection(6, 26);
21 headerView->resizeSection(7, 26);
55 QHeaderView *headerView = horizontalHeader();
59 for(
int i = 0; i < rowCount(); ++i)
61 QTableWidgetItem *it = item(i, 1);
71 if(column <= 0 || row < 0 || row >= rowCount() - 1)
89 for(
int i = 0; i < rows.count(); ++i)
91 const int row = rows[i];
92 if(row >= songInfos.count())
117 const int row = currentRow();
119 if(!
isValid(row) || row >= songInfos.count())
125 switch(action->data().toInt())
146 MusicQueryTableWidget::contextMenuEvent(event);
151 const int row = currentRow();
153 if(!
isValid(row) || row >= songInfos.count())
158 menu.addAction(QIcon(
":/contextMenu/btn_play"), tr(
"Play"))->setData(0);
159 menu.addAction(tr(
"Add to list"))->setData(1);
160 menu.addAction(tr(
"Download More..."))->setData(2);
164 menu.addAction(tr(
"Search '%1'").arg(info.
m_artistName))->setData(3);
165 menu.addAction(tr(
"Search '%1'").arg(info.
m_songName))->setData(4);
166 menu.addAction(tr(
"Search '%1'").arg(info.
m_albumName))->setData(5);
169 menu.exec(QCursor::pos());
176 if(column == 5 || column == 6 || column == 7)
178 setCursor(QCursor(Qt::PointingHandCursor));
207 const int count = rowCount();
208 setRowCount(count + 1);
210 QHeaderView *headerView = horizontalHeader();
211 QTableWidgetItem *item =
new QTableWidgetItem;
213 setItem(count, 0, item);
215 item =
new QTableWidgetItem;
217 item->setText(
TTK::Widget::elidedText(font(), item->toolTip(), Qt::ElideRight, headerView->sectionSize(1) - 31));
220 setItem(count, 1, item);
222 item =
new QTableWidgetItem;
224 item->setText(
TTK::Widget::elidedText(font(), item->toolTip(), Qt::ElideRight, headerView->sectionSize(2) - 31));
227 setItem(count, 2, item);
229 item =
new QTableWidgetItem(result.
m_duration);
232 setItem(count, 3, item);
234 item =
new QTableWidgetItem;
235 item->setIcon(QIcon(
":/tiny/lb_server_type"));
236 item->setToolTip(result.
m_type);
237 setItem(count, 4, item);
239 item =
new QTableWidgetItem;
240 item->setIcon(QIcon(
":/contextMenu/btn_play"));
241 setItem(count, 5, item);
243 item =
new QTableWidgetItem;
244 item->setIcon(QIcon(
":/contextMenu/btn_add"));
245 setItem(count, 6, item);
247 item =
new QTableWidgetItem;
248 item->setIcon(QIcon(
":/contextMenu/btn_download"));
249 setItem(count, 7, item);
251 setFixedHeight(rowHeight(0) * (rowCount() + 1));
263 if(row >= songInfos.count())
const TTK::MusicSongInformationList & items() const noexcept
The class of the search result data item.
The class of the music song property.
#define QtItemSetTextAlignment(p, a)
Item text alignment.
static constexpr unsigned int Color02
static void popup(const QString &text)
virtual void startToQueryResult(TTK::MusicSongInformation *info, int bitrate)
static const QString MenuStyle02
The class of the search result info item.
virtual void startToSearch(const QString &value)=0
TTK_MODULE_EXPORT QString generateSongName(const QString &title, const QString &artist) noexcept
QString queryServer() const noexcept