TTKMusicPlayer  3.7.0.0
TTKMusicPlayer imitates Kugou UI, the music player uses of qmmp core library based on Qt for windows and linux
musicconnecttransfertablewidget.cpp
Go to the documentation of this file.
2 
5 {
6  setAttribute(Qt::WA_TranslucentBackground, false);
7  setSelectionMode(QAbstractItemView::ExtendedSelection);
8  setColumnCount(3);
9 
10  QHeaderView *headerView = horizontalHeader();
11  headerView->resizeSection(0, 30);
12  headerView->resizeSection(1, 280);
13  headerView->resizeSection(2, 43);
14 
15  connect(m_checkBoxDelegate, SIGNAL(buttonChecked()), parent->parent(), SLOT(itemSelectedChanged()));
16 }
17 
18 void MusicConnectTransferTableWidget::addCellItems(const MusicSongList &songs)
19 {
20  setRowCount(songs.count());
21  QHeaderView *headerView = horizontalHeader();
22 
23  for(int i = 0; i < songs.count(); ++i)
24  {
25  const MusicSong &v = songs[i];
26 
27  QTableWidgetItem *item = new QTableWidgetItem;
28  item->setData(TTK_CHECKED_ROLE, Qt::Unchecked);
29  setItem(i, 0, item);
30 
31  item = new QTableWidgetItem;
32  item->setToolTip(v.path());
33  item->setText(TTK::Widget::elidedText(font(), item->toolTip(), Qt::ElideRight, headerView->sectionSize(1) - 20));
34  QtItemSetTextAlignment(item, Qt::AlignLeft | Qt::AlignVCenter);
35  setItem(i, 1, item);
36 
37  item = new QTableWidgetItem;
38  item->setToolTip(v.duration());
39  item->setText(TTK::Widget::elidedText(font(), item->toolTip(), Qt::ElideRight, headerView->sectionSize(2) - 5));
40  QtItemSetTextAlignment(item, Qt::AlignLeft | Qt::AlignVCenter);
41  setItem(i, 2, item);
42  }
43 }
44 
45 
46 
48  : MusicAbstractTableWidget(parent)
49 {
50  setAttribute(Qt::WA_TranslucentBackground, false);
51  setColumnCount(2);
52 
53  QHeaderView *headerView = horizontalHeader();
54  headerView->resizeSection(0, 20);
55  headerView->resizeSection(1, 305);
56 }
57 
59 {
60  const int index = rowCount();
61  setRowCount(index + 1);
62 
63  QHeaderView *headerView = horizontalHeader();
64  QTableWidgetItem *item = new QTableWidgetItem;
65  item->setIcon(QPixmap(":/tiny/lb_right"));
66  setItem(index, 0, item);
67 
68  item = new QTableWidgetItem;
69  item->setToolTip(name);
70  item->setText(TTK::Widget::elidedText(font(), item->toolTip(), Qt::ElideRight, headerView->sectionSize(1) - 20));
71  QtItemSetTextAlignment(item, Qt::AlignLeft | Qt::AlignVCenter);
72  setItem(index, 1, item);
73 }
QString path() const noexcept
Definition: musicsong.h:90
The class of the table widget base.
TTKCheckBoxItemDelegate * m_checkBoxDelegate
#define QtItemSetTextAlignment(p, a)
Item text alignment.
Definition: ttkqtcompat.h:45
The class of the fill item table widget.
void addCellItems(const MusicSongList &songs)
const char * name
Definition: http_parser.c:458
TTK_MODULE_EXPORT QString elidedText(const QFont &font, const QString &text, Qt::TextElideMode mode, int width)
MusicConnectTransferTableWidget(QWidget *parent=nullptr)
QString duration() const noexcept
Definition: musicsong.h:106
The class of the music song info.
Definition: musicsong.h:28
#define TTK_CHECKED_ROLE