aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/columnmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qmmpui/columnmanager.cpp')
-rw-r--r--src/qmmpui/columnmanager.cpp238
1 files changed, 0 insertions, 238 deletions
diff --git a/src/qmmpui/columnmanager.cpp b/src/qmmpui/columnmanager.cpp
deleted file mode 100644
index f798f48f6..000000000
--- a/src/qmmpui/columnmanager.cpp
+++ /dev/null
@@ -1,238 +0,0 @@
-/***************************************************************************
- * Copyright (C) 2015 by Ilya Kotov *
- * forkotov02@hotmail.ru *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
- ***************************************************************************/
-
-#include <QSettings>
-#include <QApplication>
-#include <qmmp/qmmp.h>
-#include "columneditor_p.h"
-#include "columnmanager.h"
-
-ColumnManager::ColumnManager(QObject *parent) :
- QObject(parent)
-{
- QSettings s (Qmmp::configFile(), QSettings::IniFormat);
- s.beginGroup("PlayList");
- int c = qMax(1, s.value("column_count", 1).toInt());
- for(int i = 0; i < c; ++i)
- {
- s.beginGroup(QString("column%1").arg(i));
- Column col;
- col.name = s.value("name", tr("Album - Title")).toString();
- col.pattern = s.value("pattern", "%p%if(%p&%t, - ,)%t").toString();
- col.size = s.value("size", 150).toInt();
- col.titleFormatter = new MetaDataFormatter(col.pattern);
- col.autoResize = s.value("autoresize", false).toBool();
- m_columns.append(col);
- s.endGroup();
- }
- s.endGroup();
-}
-
-ColumnManager::~ColumnManager()
-{
- sync();
- foreach (Column col, m_columns)
- {
- delete col.titleFormatter;
- col.titleFormatter = 0;
- }
- m_columns.clear();
-}
-
-void ColumnManager::insert(int index, const QString &name, const QString &pattern)
-{
- if(index < 0 || index > m_columns.size())
- {
- qWarning("ColumnManager: index is out of range");
- return;
- }
-
- Column col;
- col.name = name;
- col.pattern = pattern;
- col.titleFormatter = new MetaDataFormatter(pattern);
- col.size = 50;
- col.autoResize = false;
- m_columns.insert(index, col);
- sync();
- emit inserted(index);
-}
-
-void ColumnManager::remove(int index)
-{
- if(index < 0 || index >= m_columns.size())
- {
- qWarning("ColumnManager: index is out of range");
- return;
- }
-
- if(m_columns.count() == 1)
- return;
-
- delete m_columns.takeAt(index).titleFormatter;
- sync();
- emit removed(index);
-}
-
-void ColumnManager::resize(int index, int size)
-{
- if(index < 0 || index >= m_columns.size())
- {
- qWarning("ColumnManager: index is out of range");
- return;
- }
-
- m_columns[index].size = qMax(size, 30);
- //sync();
- emit resized(index);
-}
-
-void ColumnManager::setAutoResize(int index, bool autoResize)
-{
- if(index < 0 || index >= m_columns.size())
- {
- qWarning("ColumnManager: index is out of range");
- return;
- }
-
- if(m_columns[index].autoResize != autoResize)
- {
- m_columns[index].autoResize = autoResize;
- emit changed(index);
- }
-}
-
-void ColumnManager::move(int from, int to)
-{
- if(from < 0 || from >= m_columns.size())
- {
- qWarning("ColumnManager: index is out of range");
- return;
- }
-
- if(to < 0 || to >= m_columns.size())
- {
- qWarning("ColumnManager: index is out of range");
- return;
- }
-
- m_columns.move(from, to);
- emit moved(from, to);
-}
-
-void ColumnManager::execEditor(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(m_columns[index].name, m_columns[index].pattern, parent);
- if(editor.exec() == QDialog::Accepted)
- {
- m_columns[index].name = editor.name();
- m_columns[index].pattern = editor.pattern();
- m_columns[index].titleFormatter->setPattern(editor.pattern());
- emit changed(index);
- }
-}
-
-int ColumnManager::count()
-{
- return m_columns.count();
-}
-
-const MetaDataFormatter *ColumnManager::titleFormatter(int index) const
-{
- if(index < 0 || index >= m_columns.size())
- {
- qWarning("ColumnManager: index is out of range");
- return 0;
- }
- return m_columns[index].titleFormatter;
-}
-
-int ColumnManager::size(int index) const
-{
- if(index < 0 || index >= m_columns.size())
- {
- qWarning("ColumnManager: index is out of range");
- return 0;
- }
- return m_columns[index].size;
-}
-
-const QString ColumnManager::name(int index) const
-{
- if(index < 0 || index >= m_columns.size())
- {
- qWarning("ColumnManager: index is out of range");
- return QString();
- }
- return m_columns[index].name;
-}
-const QString ColumnManager::pattern(int index) const
-{
- if(index < 0 || index >= m_columns.size())
- {
- qWarning("ColumnManager: index is out of range");
- return QString();
- }
- return m_columns[index].pattern;
-}
-
-QList<int> ColumnManager::autoResizeColumns() const
-{
- QList<int> columns;
- for(int i = 0; i < m_columns.count(); ++i)
- {
- if(m_columns[i].autoResize)
- columns.append(i);
- }
- return columns;
-}
-
-void ColumnManager::sync()
-{
- QSettings s (Qmmp::configFile(), QSettings::IniFormat);
- s.beginGroup("PlayList");
- int old_count = s.value("column_count", 1).toInt();
- s.setValue("column_count", m_columns.count());
- for(int i = 0; i < m_columns.count(); ++i)
- {
- s.beginGroup(QString("column%1").arg(i));
- Column col = m_columns.at(i);
- s.setValue("name", col.name);
- s.setValue("pattern", col.pattern);
- s.setValue("size", col.size);
- s.setValue("autoresize", col.autoResize);
- s.endGroup();
- }
- s.setValue("column_count", m_columns.count());
- for(int i = m_columns.count(); i < old_count; ++i)
- {
- s.remove(QString("column%1").arg(i));
- }
- s.endGroup();
-}