diff options
Diffstat (limited to 'src/plugins')
| -rw-r--r-- | src/plugins/Ui/skinned/playlistheader.cpp | 39 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/playlistheader.h | 3 |
2 files changed, 39 insertions, 3 deletions
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) diff --git a/src/plugins/Ui/skinned/playlistheader.h b/src/plugins/Ui/skinned/playlistheader.h index ef4b5298a..3282e3b98 100644 --- a/src/plugins/Ui/skinned/playlistheader.h +++ b/src/plugins/Ui/skinned/playlistheader.h @@ -47,6 +47,9 @@ public: private slots: void updateSkin(); + void addColumn(); + void editColumn(); + void removeColumn(); private: void mousePressEvent(QMouseEvent *e); |
