From 1bc5d8506515c886c2e638e93cff63677e8ca778 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Mon, 9 Mar 2015 13:37:45 +0000 Subject: added feature to add/remove columns git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4776 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Ui/skinned/playlistheader.cpp | 39 ++++++++++++++++++++++++++++--- 1 file changed, 36 insertions(+), 3 deletions(-) (limited to 'src/plugins/Ui/skinned/playlistheader.cpp') diff --git a/src/plugins/Ui/skinned/playlistheader.cpp b/src/plugins/Ui/skinned/playlistheader.cpp index 6f4c88711..e4320cc7a 100644 --- a/src/plugins/Ui/skinned/playlistheader.cpp +++ b/src/plugins/Ui/skinned/playlistheader.cpp @@ -48,10 +48,10 @@ PlayListHeader::PlayListHeader(QWidget *parent) : m_manager = QmmpUiSettings::instance()->columnManager(); m_skin = Skin::instance(); m_menu = new QMenu(this); - m_menu->addAction(QIcon::fromTheme("list-add"), tr("Add column")); - m_menu->addAction(QIcon::fromTheme("configure"), tr("Edit column")); + m_menu->addAction(QIcon::fromTheme("list-add"), tr("Add column"), this, SLOT(addColumn())); + m_menu->addAction(QIcon::fromTheme("configure"), tr("Edit column"), this, SLOT(editColumn())); m_menu->addSeparator(); - m_menu->addAction(QIcon::fromTheme("list-remove"), tr("Remove column")); + m_menu->addAction(QIcon::fromTheme("list-remove"), tr("Remove column"), this, SLOT(removeColumn())); connect(m_skin, SIGNAL(skinChanged()), this, SLOT(updateSkin())); loadColors(); @@ -126,6 +126,39 @@ void PlayListHeader::updateSkin() update(); } +void PlayListHeader::addColumn() +{ + int column = findColumn(m_pressed_pos); + if(column < 0 && m_pressed_pos.x() > m_rects.last().right()) + column = m_manager->count(); + else if(column < 0 && m_pressed_pos.x() < m_rects.first().x()) + column = 0; + + if(column < 0) + return; + + m_manager->insert(column, "Year", "%y"); + +} + +void PlayListHeader::editColumn() +{ + int column = findColumn(m_pressed_pos); + if(column >= 0) + { + m_manager->execEditor(0); + } +} + +void PlayListHeader::removeColumn() +{ + int column = findColumn(m_pressed_pos); + if(column >= 0) + { + m_manager->remove(column); + } +} + void PlayListHeader::mousePressEvent(QMouseEvent *e) { if(e->button() == Qt::LeftButton) -- cgit v1.2.3-13-gbd6f