aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Ui/skinned
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Ui/skinned')
-rw-r--r--src/plugins/Ui/skinned/playlistheader.cpp39
-rw-r--r--src/plugins/Ui/skinned/playlistheader.h3
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);