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);
165 menu.addAction(tr(
"Search '%1'").arg(info.
m_artistName))->setData(3);
166 menu.addAction(tr(
"Search '%1'").arg(info.
m_songName))->setData(4);
167 menu.addAction(tr(
"Search '%1'").arg(info.
m_albumName))->setData(5);
171 menu.exec(QCursor::pos());
177 if(column == 5 || column == 6 || column == 7)
179 setCursor(QCursor(Qt::PointingHandCursor));
208 const int count = rowCount();
209 setRowCount(count + 1);
211 QHeaderView *headerView = horizontalHeader();
212 QTableWidgetItem *item =
new QTableWidgetItem;
214 setItem(count, 0, item);
216 item =
new QTableWidgetItem;
218 item->setText(
TTK::Widget::elidedText(font(), item->toolTip(), Qt::ElideRight, headerView->sectionSize(1) - 31));
221 setItem(count, 1, item);
223 item =
new QTableWidgetItem;
225 item->setText(
TTK::Widget::elidedText(font(), item->toolTip(), Qt::ElideRight, headerView->sectionSize(2) - 31));
228 setItem(count, 2, item);
230 item =
new QTableWidgetItem(songItem.
m_duration);
233 setItem(count, 3, item);
235 item =
new QTableWidgetItem;
236 item->setIcon(QIcon(
":/tiny/lb_server_type"));
237 item->setToolTip(songItem.
m_type);
238 setItem(count, 4, item);
240 item =
new QTableWidgetItem;
241 item->setIcon(QIcon(
":/contextMenu/btn_play"));
242 setItem(count, 5, item);
244 item =
new QTableWidgetItem;
245 item->setIcon(QIcon(
":/contextMenu/btn_add"));
246 setItem(count, 6, item);
248 item =
new QTableWidgetItem;
249 item->setIcon(QIcon(
":/contextMenu/btn_download"));
250 setItem(count, 7, item);
252 setFixedHeight(rowHeight(0) * (rowCount() + 1));
264 if(row >= songInfos.count())
TTK_MODULE_EXPORT QString generateSongName(const QString &title, const QString &artist)
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
QString queryServer() const
const TTK::MusicSongInformationList & items() const