void MusicSongsListWidget::replacePlayWidgetRow() { if(m_playRowIndex >= rowCount() || m_playRowIndex < 0) { m_playRowIndex = 0; } QString name = !m_musicSongs->isEmpty() ? m_musicSongs->at(m_playRowIndex).getMusicName() : QString(); setRowHeight(m_playRowIndex, 30); removeCellWidget(m_playRowIndex, 0); removeCellWidget(m_playRowIndex, 1); removeCellWidget(m_playRowIndex, 2); delete takeItem(m_playRowIndex, 0); delete takeItem(m_playRowIndex, 1); delete takeItem(m_playRowIndex, 2); QTableWidgetItem *item = new QTableWidgetItem; setItem(m_playRowIndex, 0, item); item = new QTableWidgetItem(QFontMetrics(font()).elidedText(name, Qt::ElideRight, 242)); item->setTextColor(QColor(50, 50, 50)); item->setTextAlignment(Qt::AlignLeft | Qt::AlignVCenter); setItem(m_playRowIndex, 1, item); item = new QTableWidgetItem( (*m_musicSongs)[m_playRowIndex].getMusicTime() ); item->setTextColor(QColor(50, 50, 50)); item->setTextAlignment(Qt::AlignLeft | Qt::AlignVCenter); setItem(m_playRowIndex, 2, item); delete m_musicSongsPlayWidget; m_musicSongsPlayWidget = nullptr; }
void MusicSongsListWidget::clearAllItems() { //Remove play widget setRowHeight(m_playRowIndex, 30); removeCellWidget(m_playRowIndex, 0); removeCellWidget(m_playRowIndex, 1); removeCellWidget(m_playRowIndex, 2); delete m_musicSongsPlayWidget; m_musicSongsPlayWidget = nullptr; m_playRowIndex = 0; //Remove all the original item MusicAbstractTableWidget::clear(); setColumnCount(3); }
void pTableWidget::removeRow(int row) { if(rowCount() == 1) clearContents(); for(int column = 0; column < columnCount(); column++) { QWidget *w = cellWidget(row, column); if(w != 0) { removeCellWidget(row, column); delete w; } } QTableWidget::removeRow(row); updateToolButtonNumber(); }