8 m_songsPlayWidget(nullptr)
10 setSelectionMode(QAbstractItemView::ExtendedSelection);
11 setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
14 QHeaderView *headerView = horizontalHeader();
15 headerView->resizeSection(0, 20);
16 headerView->resizeSection(1, 197);
17 headerView->resizeSection(2, 25);
18 headerView->resizeSection(3, 25);
19 headerView->resizeSection(4, 45);
32 const int count = rowCount();
33 setRowCount(songs.count());
35 QHeaderView *headerView = horizontalHeader();
36 for(
int i = count; i < songs.count(); ++i)
40 QTableWidgetItem *item =
new QTableWidgetItem;
43 item =
new QTableWidgetItem;
44 item->setToolTip(v.
name());
45 item->setText(
TTK::Widget::elidedText(font(), item->toolTip(), Qt::ElideRight, headerView->sectionSize(1) - 15));
50 item =
new QTableWidgetItem;
53 item =
new QTableWidgetItem;
56 item =
new QTableWidgetItem(v.
duration());
67 if(index < 0 || rowCount() <= 0)
75 for(
int i = 0; i < columnCount(); ++i)
77 delete takeItem(index, i);
85 setSpan(index, 0, 1, 5);
99 if(row < 0 || row >= rowCount())
104 QTableWidgetItem *it = item(row, 0);
107 it->setIcon(QIcon(
":/tiny/lb_playlater"));
113 for(
int i = 0; i < rowCount(); ++i)
115 QTableWidgetItem *it = item(i, 0);
118 it->setIcon(QIcon());
141 QHeaderView *headerView = horizontalHeader();
142 QTableWidgetItem *item =
new QTableWidgetItem;
145 item =
new QTableWidgetItem;
146 item->setToolTip(name);
147 item->setText(
TTK::Widget::elidedText(font(), item->toolTip(), Qt::ElideRight, headerView->sectionSize(1) - 15));
171 it->setIcon(QIcon());
177 it->setIcon(QIcon());
183 it->setIcon(QIcon());
188 if(it = item(row, 2))
190 it->setIcon(QIcon(
":/contextMenu/btn_download"));
193 if(it = item(row, 3))
195 it->setIcon(QIcon(
":/tiny/btn_delete_normal"));
198 if(it = item(row, 4))
201 it->setIcon(QIcon(
":/tiny/btn_more_normal"));
204 if(column == 2 || column == 3 || column == 4)
206 setCursor(QCursor(Qt::PointingHandCursor));
231 menu.exec(QCursor::pos());
260 if(deletedList.isEmpty())
270 for(
int i = deletedList.count() - 1; i >= 0; --i)
272 const int index = deletedList[i];
286 menu.addAction(QIcon(
":/contextMenu/btn_play"), tr(
"Play"),
this, SLOT(
playClicked()));
294 menu.addAction(QIcon(
":/contextMenu/btn_local_file"), tr(
"Open File Dir"),
this, SLOT(
openFileDir()))->setEnabled(status);
295 menu.addAction(QIcon(
":/contextMenu/btn_ablum"), tr(
"Ablum"),
this, SLOT(
showAlbumQueryWidget()));
298 menu.addAction(QIcon(
":/contextMenu/btn_delete"), tr(
"Delete"),
this, SLOT(
removeItemAt()));
301 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)