aboutsummaryrefslogtreecommitdiff
path: root/src/ui/listwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/listwidget.cpp')
-rw-r--r--src/ui/listwidget.cpp25
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(" ");