diff options
Diffstat (limited to 'src/ui/listwidget.cpp')
| -rw-r--r-- | src/ui/listwidget.cpp | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/src/ui/listwidget.cpp b/src/ui/listwidget.cpp index 45ec308b0..9c1a94306 100644 --- a/src/ui/listwidget.cpp +++ b/src/ui/listwidget.cpp @@ -51,7 +51,6 @@ ListWidget::ListWidget(QWidget *parent) m_anchor_row = INVALID_ROW; m_player = MediaPlayer::instance(); connect (m_player, SIGNAL(repeatableChanged(bool)), SLOT(updateList())); - connect (m_player, SIGNAL(autoStopChanged(bool)), SLOT(updateList())); m_first = 0; m_rows = 0; m_scroll = false; @@ -131,12 +130,9 @@ void ListWidget::paintEvent(QPaintEvent *) m_painter.drawText(10,14+i*m_metrics->height(),m_titles.at(i)); - if (m_model->isQueued(m_model->item(i + m_first)) || - (m_player->isRepeatable() && (m_model->currentRow() == m_first + i)) || - m_show_protocol || m_player->isAutoStopping()) + QString extra_string = getExtraString(m_first + i); + if(!extra_string.isEmpty()) { - QString extra_string = getExtraString(m_first + i); - int old_size = m_font.pointSize(); m_font.setPointSize(old_size - 1 ); m_painter.setFont(m_font); @@ -151,7 +147,6 @@ void ListWidget::paintEvent(QPaintEvent *) m_painter.drawText(width() - 7 - m_metrics->width(m_times.at(i)), 14+i*m_metrics->height (), m_times.at(i)); } - } void ListWidget::mouseDoubleClickEvent (QMouseEvent *e) @@ -408,21 +403,17 @@ const QString ListWidget::getExtraString(int i) if (m_show_protocol && m_model->item(i)->url().contains("://")) extra_string = "[" + m_model->item(i)->url().split("://").at(0) + "]"; - if ((m_model->currentRow() == i)) - { - if (m_player->isRepeatable() ) - extra_string += "|R|"; - if (m_player->isAutoStopping() && (m_player->isRepeatable() || m_model->isEmptyQueue())) - extra_string += "|S|"; - } - if (m_model->isQueued(m_model->item(i))) { int index = m_model->queuedIndex(m_model->item(i)); - if (m_player->isAutoStopping() && !m_player->isRepeatable() && index + 1== m_model->queueSize()) - extra_string += "|S|"; extra_string += "|"+QString::number(index + 1)+"|"; } + + if(m_model->currentRow() == i && m_player->isRepeatable()) + extra_string += "|R|"; + else if(m_model->isStopAfter(m_model->item(i))) + extra_string += "|S|"; + extra_string = extra_string.trimmed(); //remove white space if(!extra_string.isEmpty()) extra_string.prepend(" "); |
