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);
93 scrollBar()->setSliderPosition(index * 30);
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()));
300 menu.exec(QCursor::pos());
#define QtItemSetTextAlignment(p, a)
Item text alignment.
TTK_MODULE_EXPORT bool isNetworkUrl(const QString &path) noexcept
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.