11 setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
14 QHeaderView *headerView = horizontalHeader();
15 headerView->resizeSection(0, 30);
16 headerView->resizeSection(1, 342);
17 headerView->resizeSection(2, 110);
18 headerView->resizeSection(3, 47);
19 headerView->resizeSection(4, 26);
20 headerView->resizeSection(5, 26);
21 headerView->resizeSection(6, 26);
22 headerView->resizeSection(7, 26);
25 G_CONNECTION_PTR->connect(MusicQueryTableWidget::className(), MusicSongsContainerWidget::className());
60 if(column <= 0 || row < 0 || row >= rowCount() - 1)
78 for(
int i = 0; i < list.count(); ++i)
104 QHeaderView *headerView = horizontalHeader();
108 for(
int i = 0; i < rowCount(); ++i)
110 QTableWidgetItem *it = item(i, 1);
120 const int row = currentRow();
122 if(!
isValid(row) || row >= songInfos.count())
128 switch(action->data().toInt())
149 MusicQueryTableWidget::contextMenuEvent(event);
154 const int row = currentRow();
156 if(!
isValid(row) || row >= songInfos.count())
161 menu.addAction(QIcon(
":/contextMenu/btn_play"), tr(
"Play"))->setData(0);
162 menu.addAction(tr(
"Add to list"))->setData(1);
163 menu.addAction(tr(
"Download More..."))->setData(2);
168 menu.addAction(tr(
"Search '%1'").arg(info.
m_artistName))->setData(3);
169 menu.addAction(tr(
"Search '%1'").arg(info.
m_songName))->setData(4);
170 menu.addAction(tr(
"Search '%1'").arg(info.
m_albumName))->setData(5);
174 menu.exec(QCursor::pos());
180 if(column == 5 || column == 6 || column == 7)
182 setCursor(QCursor(Qt::PointingHandCursor));
211 const int count = rowCount();
212 setRowCount(count + 1);
214 QHeaderView *headerView = horizontalHeader();
215 QTableWidgetItem *item =
new QTableWidgetItem;
217 setItem(count, 0, item);
219 item =
new QTableWidgetItem;
221 item->setText(
TTK::Widget::elidedText(font(), item->toolTip(), Qt::ElideRight, headerView->sectionSize(1) - 31));
224 setItem(count, 1, item);
226 item =
new QTableWidgetItem;
228 item->setText(
TTK::Widget::elidedText(font(), item->toolTip(), Qt::ElideRight, headerView->sectionSize(2) - 31));
231 setItem(count, 2, item);
233 item =
new QTableWidgetItem(songItem.
m_duration);
236 setItem(count, 3, item);
238 item =
new QTableWidgetItem;
239 item->setIcon(QIcon(
":/tiny/lb_server_type"));
240 item->setToolTip(songItem.
m_type);
241 setItem(count, 4, item);
243 item =
new QTableWidgetItem;
244 item->setIcon(QIcon(
":/contextMenu/btn_play"));
245 setItem(count, 5, item);
247 item =
new QTableWidgetItem;
248 item->setIcon(QIcon(
":/contextMenu/btn_add"));
249 setItem(count, 6, item);
251 item =
new QTableWidgetItem;
252 item->setIcon(QIcon(
":/contextMenu/btn_download"));
253 setItem(count, 7, item);
255 setFixedHeight(rowHeight(0) * (rowCount() + 1));
267 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)
void setQueryType(QueryType type)
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