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);
54 if(column <= 0 || row < 0 || row >= rowCount() - 1)
72 for(
int i = 0; i < list.count(); ++i)
74 const int index = list[i];
75 if(index >= songInfos.count())
101 QHeaderView *headerView = horizontalHeader();
105 for(
int i = 0; i < rowCount(); ++i)
107 QTableWidgetItem *it = item(i, 1);
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());
175 if(column == 5 || column == 6 || column == 7)
177 setCursor(QCursor(Qt::PointingHandCursor));
206 const int count = rowCount();
207 setRowCount(count + 1);
209 QHeaderView *headerView = horizontalHeader();
210 QTableWidgetItem *item =
new QTableWidgetItem;
212 setItem(count, 0, item);
214 item =
new QTableWidgetItem;
216 item->setText(
TTK::Widget::elidedText(font(), item->toolTip(), Qt::ElideRight, headerView->sectionSize(1) - 31));
219 setItem(count, 1, item);
221 item =
new QTableWidgetItem;
223 item->setText(
TTK::Widget::elidedText(font(), item->toolTip(), Qt::ElideRight, headerView->sectionSize(2) - 31));
226 setItem(count, 2, item);
228 item =
new QTableWidgetItem(result.
m_duration);
231 setItem(count, 3, item);
233 item =
new QTableWidgetItem;
234 item->setIcon(QIcon(
":/tiny/lb_server_type"));
235 item->setToolTip(result.
m_type);
236 setItem(count, 4, item);
238 item =
new QTableWidgetItem;
239 item->setIcon(QIcon(
":/contextMenu/btn_play"));
240 setItem(count, 5, item);
242 item =
new QTableWidgetItem;
243 item->setIcon(QIcon(
":/contextMenu/btn_add"));
244 setItem(count, 6, item);
246 item =
new QTableWidgetItem;
247 item->setIcon(QIcon(
":/contextMenu/btn_download"));
248 setItem(count, 7, item);
250 setFixedHeight(rowHeight(0) * (rowCount() + 1));
262 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