9 m_songsPlayWidget(nullptr)
11 setSelectionMode(QAbstractItemView::ExtendedSelection);
12 setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
15 QHeaderView *headerView = horizontalHeader();
16 headerView->resizeSection(0, 20);
17 headerView->resizeSection(1, 197);
18 headerView->resizeSection(2, 25);
19 headerView->resizeSection(3, 25);
20 headerView->resizeSection(4, 45);
33 const int count = rowCount();
34 setRowCount(songs.count());
36 QHeaderView *headerView = horizontalHeader();
37 for(
int i = count; i < songs.count(); ++i)
41 QTableWidgetItem *item =
new QTableWidgetItem;
44 item =
new QTableWidgetItem;
45 item->setToolTip(v.
name());
46 item->setText(
TTK::Widget::elidedText(font(), item->toolTip(), Qt::ElideRight, headerView->sectionSize(1) - 15));
51 item =
new QTableWidgetItem;
54 item =
new QTableWidgetItem;
57 item =
new QTableWidgetItem(v.
duration());
68 if(index < 0 || rowCount() <= 0)
76 for(
int i = 0; i < columnCount(); ++i)
78 delete takeItem(index, i);
86 setSpan(index, 0, 1, 5);
100 if(row < 0 || row >= rowCount())
105 QTableWidgetItem *it = item(row, 0);
108 it->setIcon(QIcon(
":/tiny/lb_playlater"));
114 for(
int i = 0; i < rowCount(); ++i)
116 QTableWidgetItem *it = item(i, 0);
119 it->setIcon(QIcon());
142 QHeaderView *headerView = horizontalHeader();
143 QTableWidgetItem *item =
new QTableWidgetItem;
146 item =
new QTableWidgetItem;
147 item->setToolTip(name);
148 item->setText(
TTK::Widget::elidedText(font(), item->toolTip(), Qt::ElideRight, headerView->sectionSize(1) - 15));
172 it->setIcon(QIcon());
178 it->setIcon(QIcon());
184 it->setIcon(QIcon());
189 if(it = item(row, 2))
191 it->setIcon(QIcon(
":/contextMenu/btn_download"));
194 if(it = item(row, 3))
196 it->setIcon(QIcon(
":/tiny/btn_delete_normal"));
199 if(it = item(row, 4))
202 it->setIcon(QIcon(
":/tiny/btn_more_normal"));
205 if(column == 2 || column == 3 || column == 4)
207 setCursor(QCursor(Qt::PointingHandCursor));
232 menu.exec(QCursor::pos());
261 if(deletedList.isEmpty())
271 for(
int i = deletedList.count() - 1; i >= 0; --i)
273 const int index = deletedList[i];
287 menu.addAction(QIcon(
":/contextMenu/btn_play"), tr(
"Play"),
this, SLOT(
playClicked()));
295 menu.addAction(QIcon(
":/contextMenu/btn_local_file"), tr(
"Open File Dir"),
this, SLOT(
openFileDir()))->setEnabled(status);
296 menu.addAction(QIcon(
":/contextMenu/btn_ablum"), tr(
"Ablum"),
this, SLOT(
showAlbumQueryWidget()));
299 menu.addAction(QIcon(
":/contextMenu/btn_delete"), tr(
"Delete"),
this, SLOT(
removeItemAt()));
302 menu.exec(QCursor::pos());
#define QtItemSetTextAlignment(p, a)
Item text alignment.
QString duration() const noexcept
QString name() const noexcept
static const QString MenuStyle02
static constexpr unsigned int Color01
Color QRgb.
The class of the music song info.
TTK_MODULE_EXPORT bool isNetworkUrl(const QString &path)