diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-05-30 13:41:50 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-05-30 13:41:50 +0000 |
| commit | 195d573dfd2a1b20b0e61aa5612aafeee852c352 (patch) | |
| tree | a3e9e1cb7b576a5d602146560f5f41e77f4caf03 /src/plugins/Ui | |
| parent | 08545e3aedf6c46db79e7e513a9d1aaa35254884 (diff) | |
| download | qmmp-195d573dfd2a1b20b0e61aa5612aafeee852c352.tar.gz qmmp-195d573dfd2a1b20b0e61aa5612aafeee852c352.tar.bz2 qmmp-195d573dfd2a1b20b0e61aa5612aafeee852c352.zip | |
prepare for api changes
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@5043 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Ui')
| -rw-r--r-- | src/plugins/Ui/skinned/listwidget.cpp | 6 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/listwidgetdrawer.cpp | 16 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/listwidgetdrawer.h | 2 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/playlistheader.cpp | 35 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/playlistheader.h | 3 |
5 files changed, 36 insertions, 26 deletions
diff --git a/src/plugins/Ui/skinned/listwidget.cpp b/src/plugins/Ui/skinned/listwidget.cpp index 64b796456..040f70404 100644 --- a/src/plugins/Ui/skinned/listwidget.cpp +++ b/src/plugins/Ui/skinned/listwidget.cpp @@ -32,6 +32,7 @@ #include <qmmpui/playlistmodel.h> #include <qmmpui/qmmpuisettings.h> #include <qmmpui/playlistheadermodel.h> +#include <qmmpui/playlistmanager.h> #include "listwidget.h" #include "playlistheader.h" #include "actionmanager.h" @@ -48,7 +49,7 @@ ListWidget::ListWidget(QWidget *parent) m_skin = Skin::instance(); m_ui_settings = QmmpUiSettings::instance(); - PlayListHeaderModel *headerModel = m_ui_settings->headerModel(); + PlayListHeaderModel *headerModel = PlayListManager::instance()->headerModel(); m_menu = new QMenu(this); m_timer = new QTimer(this); m_timer->setInterval(50); @@ -72,7 +73,7 @@ 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(headerModel, SIGNAL(headerChanged()), SLOT(updateColumns())); + //connect(headerModel, SIGNAL(headerChanged()), SLOT(updateColumns())); SET_ACTION(ActionManager::PL_SHOW_HEADER, this, SLOT(readSettings())); } @@ -356,6 +357,7 @@ void ListWidget::updateList(int flags) row->rect = QRect(5, (m_header->isVisibleTo(this) ? m_header->height() : 0) + i * m_drawer.rowHeight(), width() - 10, m_drawer.rowHeight() - 1); row->titles = items[i]->formattedTitles(); + row->sizes = m_header->sizes(); (m_first + i) == m_model->currentIndex() ? row->flags |= ListWidgetRow::CURRENT : row->flags &= ~ListWidgetRow::CURRENT; diff --git a/src/plugins/Ui/skinned/listwidgetdrawer.cpp b/src/plugins/Ui/skinned/listwidgetdrawer.cpp index db0ff3f1d..4320cff03 100644 --- a/src/plugins/Ui/skinned/listwidgetdrawer.cpp +++ b/src/plugins/Ui/skinned/listwidgetdrawer.cpp @@ -22,7 +22,6 @@ #include <QPainter> #include <QApplication> #include <qmmp/qmmp.h> -#include <qmmpui/qmmpuisettings.h> #include "skin.h" #include "listwidgetdrawer.h" @@ -31,7 +30,6 @@ ListWidgetDrawer::ListWidgetDrawer() { m_skin = Skin::instance(); - m_header_model = QmmpUiSettings::instance()->headerModel(); m_update = false; m_show_anchor = false; m_show_number = false; @@ -148,7 +146,7 @@ void ListWidgetDrawer::prepareRow(ListWidgetRow *row) for(int i = 0; i < row->titles.count() && visible_width > 0; ++i) { - int size = m_header_model->size(i); + int size = row->sizes[i]; if(i == 0 && row->numberColumnWidth) size -= row->numberColumnWidth; @@ -248,12 +246,12 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1); } - for(int i = 0; i < m_header_model->count(); i++) + for(int i = 0; i < row->titles.count(); i++) { if(sx - m_padding <= row->rect.x() + row->lengthColumnWidth) break; - int size = m_header_model->size(i); + int size = row->sizes[i]; if(i == 0 && row->numberColumnWidth) size -= row->numberColumnWidth; @@ -261,7 +259,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl painter->drawText(sx - m_padding - m_metrics->width(row->titles[i]), sy, row->titles[i]); sx -= size; - if(m_header_model->count() > 1 && sx > row->rect.x() + row->lengthColumnWidth) + if(row->titles.count() > 1 && sx > row->rect.x() + row->lengthColumnWidth) { painter->setPen(m_normal); painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1); @@ -296,12 +294,12 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1); } - for(int i = 0; i < m_header_model->count(); i++) + for(int i = 0; i < row->sizes.count(); i++) { if(sx + m_padding >= row->rect.right() - row->lengthColumnWidth) break; - int size = m_header_model->size(i); + int size = row->sizes[i]; if(i == 0 && row->numberColumnWidth) size -= row->numberColumnWidth; @@ -309,7 +307,7 @@ void ListWidgetDrawer::drawTrack(QPainter *painter, ListWidgetRow *row, bool rtl painter->drawText(sx + m_padding, sy, row->titles[i]); sx += size; - if(m_header_model->count() > 1 && sx < row->rect.right() - row->lengthColumnWidth) + if(row->titles.count() > 1 && sx < row->rect.right() - row->lengthColumnWidth) { painter->setPen(m_normal); painter->drawLine(sx, row->rect.top(), sx, row->rect.bottom() + 1); diff --git a/src/plugins/Ui/skinned/listwidgetdrawer.h b/src/plugins/Ui/skinned/listwidgetdrawer.h index 118d9e37b..4429fa12b 100644 --- a/src/plugins/Ui/skinned/listwidgetdrawer.h +++ b/src/plugins/Ui/skinned/listwidgetdrawer.h @@ -41,6 +41,7 @@ struct ListWidgetRow lengthColumnWidth = 0; } QStringList titles; + QList<int> sizes; QString length; QString extraString; int number; @@ -85,7 +86,6 @@ private: Skin *m_skin; QFontMetrics *m_metrics; QFontMetrics *m_extra_metrics; - PlayListHeaderModel *m_header_model; QFont m_font, m_extra_font; bool m_update; bool m_show_number; diff --git a/src/plugins/Ui/skinned/playlistheader.cpp b/src/plugins/Ui/skinned/playlistheader.cpp index 4134b6607..b566ffe55 100644 --- a/src/plugins/Ui/skinned/playlistheader.cpp +++ b/src/plugins/Ui/skinned/playlistheader.cpp @@ -31,7 +31,7 @@ #include <QInputDialog> #include <QIcon> #include <qmmp/qmmp.h> -#include <qmmpui/qmmpuisettings.h> +#include <qmmpui/playlistmanager.h> #include <qmmpui/playlistheadermodel.h> #include <qmmpui/playlistmanager.h> #include "skin.h" @@ -69,7 +69,7 @@ PlayListHeader::PlayListHeader(QWidget *parent) : m_number_width = 0; m_sorting_column = -1; m_task = NO_TASK; - m_model = QmmpUiSettings::instance()->headerModel(); + m_model = PlayListManager::instance()->headerModel(); m_skin = Skin::instance(); m_menu = new QMenu(this); m_menu->addAction(QIcon::fromTheme("list-add"), tr("Add Column"), this, SLOT(addColumn())); @@ -80,6 +80,8 @@ PlayListHeader::PlayListHeader(QWidget *parent) : m_menu->addSeparator(); m_menu->addAction(QIcon::fromTheme("list-remove"), tr("Remove Column"), this, SLOT(removeColumn())); + m_sizes << 50; + m_minimal_sizes << 50; connect(m_skin, SIGNAL(skinChanged()), this, SLOT(updateSkin())); loadColors(); readSettings(); @@ -120,7 +122,7 @@ void PlayListHeader::setNumberWidth(int width) if(width != m_number_width) { m_number_width = width; - m_model->setMinimalSize(0, 30 + (m_number_width ? (m_number_width + 2 * m_pl_padding) : 0)); + m_minimal_sizes[0] = 30 + (m_number_width ? (m_number_width + 2 * m_pl_padding) : 0); updateColumns(); } } @@ -153,7 +155,7 @@ void PlayListHeader::updateColumns() for(int i = 0; i < m_model->count(); ++i) { - int size = m_model->size(i); + int size = m_sizes[i]; //add number width to the first column if(i == 0 && m_number_width) @@ -184,6 +186,11 @@ int PlayListHeader::requiredHeight() const return m_metrics->lineSpacing() + 1; } +QList<int> PlayListHeader::sizes() const +{ + return m_sizes; +} + void PlayListHeader::showSortIndicator(int column, bool reverted) { if(m_sorting_column == column && m_reverted == reverted) @@ -244,7 +251,7 @@ void PlayListHeader::setAutoResize(bool yes) if(m_pressed_column < 0) return; - m_model->setAutoResize(yes ? m_pressed_column : -1); + //m_model->setAutoResize(yes ? m_pressed_column : -1); } void PlayListHeader::restoreSize() @@ -252,7 +259,7 @@ void PlayListHeader::restoreSize() if(m_pressed_column < 0) return; - m_model->resize(m_pressed_column, 100); + m_sizes[m_pressed_column] = 100; } void PlayListHeader::mousePressEvent(QMouseEvent *e) @@ -271,7 +278,7 @@ void PlayListHeader::mousePressEvent(QMouseEvent *e) { if(e->pos().x() < m_rects[m_pressed_column].x() + m_metrics->width("9")) { - m_old_size = m_model->size(m_pressed_column); + m_old_size = m_sizes[m_pressed_column]; m_task = RESIZE; } else @@ -284,7 +291,7 @@ void PlayListHeader::mousePressEvent(QMouseEvent *e) { if(e->pos().x() > m_rects[m_pressed_column].right() - m_metrics->width("9")) { - m_old_size = m_model->size(m_pressed_column); + m_old_size = m_sizes[m_pressed_column]; m_task = RESIZE; } else @@ -323,9 +330,9 @@ void PlayListHeader::mouseMoveEvent(QMouseEvent *e) if(m_task == RESIZE && m_model->count() > 1) { if(rtl) - m_model->resize(m_pressed_column, m_old_size - e->pos().x() + m_pressed_pos.x()); + m_sizes[m_pressed_column] = m_old_size - e->pos().x() + m_pressed_pos.x(); else - m_model->resize(m_pressed_column, m_old_size + e->pos().x() - m_pressed_pos.x()); + m_sizes[m_pressed_column] = m_old_size + e->pos().x() - m_pressed_pos.x(); } else if(m_task == MOVE) { @@ -389,7 +396,7 @@ void PlayListHeader::mouseMoveEvent(QMouseEvent *e) void PlayListHeader::resizeEvent(QResizeEvent *e) { - if(m_model->count() == 1) + /*if(m_model->count() == 1) { updateColumns(); return; @@ -409,13 +416,13 @@ void PlayListHeader::resizeEvent(QResizeEvent *e) { updateColumns(); return; - } + }*/ } void PlayListHeader::contextMenuEvent(QContextMenuEvent *e) { m_pressed_pos = e->pos(); - m_pressed_column = findColumn(e->pos()); + /*m_pressed_column = findColumn(e->pos()); if(m_pressed_column >= 0) { m_autoResize->setChecked(m_model->autoResizeColumn() == m_pressed_column); @@ -432,7 +439,7 @@ void PlayListHeader::contextMenuEvent(QContextMenuEvent *e) action->setVisible(false); } } - m_menu->exec(e->globalPos()); + m_menu->exec(e->globalPos());*/ } void PlayListHeader::paintEvent(QPaintEvent *) diff --git a/src/plugins/Ui/skinned/playlistheader.h b/src/plugins/Ui/skinned/playlistheader.h index 05607831b..b773de749 100644 --- a/src/plugins/Ui/skinned/playlistheader.h +++ b/src/plugins/Ui/skinned/playlistheader.h @@ -23,6 +23,7 @@ #include <QWidget> #include <QPixmap> +#include <QList> class QFontMetrics; class QFont; @@ -47,6 +48,7 @@ public: void setNumberWidth(int width); void updateColumns(); int requiredHeight() const; + QList<int> sizes() const; public slots: void showSortIndicator(int column, bool reverted); @@ -82,6 +84,7 @@ private: PlayListHeaderModel *m_model; QAction *m_autoResize; QPixmap m_arrow_up, m_arrow_down; + QList<int> m_sizes, m_minimal_sizes; bool m_reverted; int m_number_width; int m_pressed_column; |
