From 8e25905b2a6782fd554f13d1b485a7fee3b33790 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Thu, 9 Apr 2015 06:45:09 +0000 Subject: improved column editor behaviour git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4838 90c681e8-e032-0410-971d-27865f9a5e38 --- src/plugins/Ui/skinned/playlistheader.cpp | 5 ++--- src/qmmpui/playlistheadermodel.cpp | 19 ++++++++++++++++++- src/qmmpui/playlistheadermodel.h | 3 ++- 3 files changed, 22 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/plugins/Ui/skinned/playlistheader.cpp b/src/plugins/Ui/skinned/playlistheader.cpp index 3f1958a5a..1f80a34e2 100644 --- a/src/plugins/Ui/skinned/playlistheader.cpp +++ b/src/plugins/Ui/skinned/playlistheader.cpp @@ -142,8 +142,7 @@ void PlayListHeader::addColumn() if(column < 0) return; - m_model->insert(column, tr("Title"), "%t"); - m_model->execEditor(column); + m_model->execInsert(column); } void PlayListHeader::editColumn() @@ -151,7 +150,7 @@ void PlayListHeader::editColumn() if(m_pressed_column < 0) return; - m_model->execEditor(m_pressed_column); + m_model->execEdit(m_pressed_column); } void PlayListHeader::removeColumn() diff --git a/src/qmmpui/playlistheadermodel.cpp b/src/qmmpui/playlistheadermodel.cpp index f6e6ccf7f..c39df388e 100644 --- a/src/qmmpui/playlistheadermodel.cpp +++ b/src/qmmpui/playlistheadermodel.cpp @@ -136,7 +136,7 @@ void PlayListHeaderModel::move(int from, int to) emit moved(from, to); } -void PlayListHeaderModel::execEditor(int index, QWidget *parent) +void PlayListHeaderModel::execEdit(int index, QWidget *parent) { if(index < 0 || index >= m_columns.size()) { @@ -157,6 +157,23 @@ void PlayListHeaderModel::execEditor(int index, QWidget *parent) } } +void PlayListHeaderModel::execInsert(int index, QWidget *parent) +{ + if(index < 0 || index > m_columns.size()) + { + qWarning("ColumnManager: index is out of range"); + return; + } + + if(!parent) + parent = qApp->activeWindow(); + + ColumnEditor editor(tr("Title"),"%t",parent); + editor.setWindowTitle(tr("Add Column")); + if(editor.exec() == QDialog::Accepted) + insert(index, editor.name(), editor.pattern()); +} + int PlayListHeaderModel::count() { return m_columns.count(); diff --git a/src/qmmpui/playlistheadermodel.h b/src/qmmpui/playlistheadermodel.h index 67310a4ef..ac50d0842 100644 --- a/src/qmmpui/playlistheadermodel.h +++ b/src/qmmpui/playlistheadermodel.h @@ -41,7 +41,8 @@ public: void resize(int index, int size); void setAutoResize(int index); void move(int from, int to); - void execEditor(int index, QWidget *parent = 0); + void execEdit(int index, QWidget *parent = 0); + void execInsert(int index, QWidget *parent = 0); int count(); const MetaDataFormatter* titleFormatter(int index) const; -- cgit v1.2.3-13-gbd6f