From dea812e69d02f444e906ea28204b206b666a72f7 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 7 Mar 2015 16:56:51 +0000 Subject: fixed some bugs git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4765 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Ui/skinned/listwidget.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/plugins/Ui/skinned/listwidget.cpp') diff --git a/src/plugins/Ui/skinned/listwidget.cpp b/src/plugins/Ui/skinned/listwidget.cpp index 4fe265e8f..b5ec88345 100644 --- a/src/plugins/Ui/skinned/listwidget.cpp +++ b/src/plugins/Ui/skinned/listwidget.cpp @@ -31,6 +31,7 @@ #include #include #include +#include #include "listwidget.h" #include "playlistheader.h" #include "skin.h" @@ -44,6 +45,7 @@ ListWidget::ListWidget(QWidget *parent) { m_skin = Skin::instance(); m_ui_settings = QmmpUiSettings::instance(); + ColumnManager *column_manager = m_ui_settings->columnManager(); m_menu = new QMenu(this); m_timer = new QTimer(this); m_timer->setInterval(50); @@ -67,6 +69,11 @@ ListWidget::ListWidget(QWidget *parent) connect(m_skin, SIGNAL(skinChanged()), SLOT(updateSkin())); connect(m_ui_settings, SIGNAL(repeatableTrackChanged(bool)), SLOT(updateRepeatIndicator())); connect(m_timer, SIGNAL(timeout()), SLOT(autoscroll())); + connect(column_manager, SIGNAL(changed(int)), SLOT(updateColumns())); + connect(column_manager, SIGNAL(resized(int)), SLOT(updateColumns())); + connect(column_manager, SIGNAL(inserted(int)), SLOT(updateColumns())); + connect(column_manager, SIGNAL(removed(int)), SLOT(updateColumns())); + connect(column_manager, SIGNAL(moved(int)), SLOT(updateColumns())); } ListWidget::~ListWidget() @@ -390,6 +397,17 @@ void ListWidget::updateList(int flags) update(); } +void ListWidget::updateColumns() +{ + QList items = m_model->mid(m_first, m_row_count); + for(int i = 0; i < items.count(); ++i) + { + m_rows[i]->titles = items[i]->formattedTitles(); + m_drawer.prepareRow(m_rows[i]); //elide titles + } + update(); +} + void ListWidget::autoscroll() { SimpleSelection sel = m_model->getSelection(m_pressed_index); -- cgit v1.2.3-13-gbd6f