diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-03-09 13:37:45 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2015-03-09 13:37:45 +0000 |
| commit | 1bc5d8506515c886c2e638e93cff63677e8ca778 (patch) | |
| tree | 1552195104bf1cbc9f481bf9fe60d26345330d02 /src | |
| parent | 8fcd773cbc2d72d0765bfd88971e40f7b47ce247 (diff) | |
| download | qmmp-1bc5d8506515c886c2e638e93cff63677e8ca778.tar.gz qmmp-1bc5d8506515c886c2e638e93cff63677e8ca778.tar.bz2 qmmp-1bc5d8506515c886c2e638e93cff63677e8ca778.zip | |
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
Diffstat (limited to 'src')
| -rw-r--r-- | src/plugins/Ui/skinned/playlistheader.cpp | 39 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/playlistheader.h | 3 | ||||
| -rw-r--r-- | src/qmmpui/columnmanager.cpp | 5 |
3 files changed, 43 insertions, 4 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); diff --git a/src/qmmpui/columnmanager.cpp b/src/qmmpui/columnmanager.cpp index 2699bc3f5..c9cdd3491 100644 --- a/src/qmmpui/columnmanager.cpp +++ b/src/qmmpui/columnmanager.cpp @@ -19,6 +19,7 @@ ***************************************************************************/ #include <QSettings> +#include <QApplication> #include <qmmp/qmmp.h> #include "columnmanager.h" @@ -62,6 +63,7 @@ void ColumnManager::insert(int index, const QString &name, const QString &patter col.name = name; col.pattern = pattern; col.titleFormatter = new MetaDataFormatter(pattern); + col.size = 50; m_columns.insert(index, col); sync(); emit inserted(index); @@ -103,7 +105,8 @@ void ColumnManager::move(int from, int to) void ColumnManager::execEditor(int index, QWidget *parent) { - + if(!parent) + parent = qApp->activeWindow(); } int ColumnManager::count() |
