aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-07-04 10:47:09 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-07-04 10:47:09 +0000
commitee67bf114127ceee18429a70685cd68a2bfd9e53 (patch)
tree3dcfb9cfe12e6430f069f3cc9e5b4dee20af0543
parent640d330c2491dd038cd2092313be8f6e0b252ede (diff)
downloadqmmp-ee67bf114127ceee18429a70685cd68a2bfd9e53.tar.gz
qmmp-ee67bf114127ceee18429a70685cd68a2bfd9e53.tar.bz2
qmmp-ee67bf114127ceee18429a70685cd68a2bfd9e53.zip
refactoring
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3538 90c681e8-e032-0410-971d-27865f9a5e38
-rw-r--r--src/qmmpui/playlistmodel.cpp23
-rw-r--r--src/qmmpui/playlistmodel.h17
-rw-r--r--src/qmmpui/qmmpui.pro6
-rw-r--r--src/qmmpui/tagupdater.cpp42
-rw-r--r--src/qmmpui/tagupdater.h46
5 files changed, 93 insertions, 41 deletions
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp
index bc83eda7d..f3f333409 100644
--- a/src/qmmpui/playlistmodel.cpp
+++ b/src/qmmpui/playlistmodel.cpp
@@ -37,32 +37,11 @@
#include "playlistitem.h"
#include "playstate_p.h"
#include "detailsdialog.h"
+#include "tagupdater.h"
#include "playlistmodel.h"
-
#define INVALID_ROW -1
-TagUpdater::TagUpdater(QObject* o,PlayListItem* item):m_observable(o),m_item(item)
-{
- m_item->setFlag(PlayListItem::EDITING);
- connect(m_observable, SIGNAL(destroyed(QObject *)),SLOT(updateTag()));
- connect(m_observable, SIGNAL(destroyed(QObject *)),SLOT(deleteLater()));
-}
-
-void TagUpdater::updateTag()
-{
- if (m_item->flag() == PlayListItem::SCHEDULED_FOR_DELETION)
- {
- delete m_item;
- m_item = NULL;
- }
- else
- {
- m_item->updateTags();
- m_item->setFlag(PlayListItem::FREE);
- }
-}
-
PlayListModel::PlayListModel(const QString &name, QObject *parent)
: QObject(parent) , m_selection()
{
diff --git a/src/qmmpui/playlistmodel.h b/src/qmmpui/playlistmodel.h
index a4760b93e..33bff51cb 100644
--- a/src/qmmpui/playlistmodel.h
+++ b/src/qmmpui/playlistmodel.h
@@ -74,23 +74,6 @@ struct SimpleSelection
int m_anchor; /*!< Main index of the selection */
QList<int> m_selected_indexes; /*!< Selected items numbers */
};
-/*! @internal
- * @brief Helper class used for tags update after details dialog closing.
- *
- * @author Vladimir Kuznetsov <vovanec@gmail.com>
- */
-class TagUpdater : public QObject
-{
- Q_OBJECT
- QObject* m_observable;
- PlayListItem* m_item;
-
-public:
- TagUpdater(QObject* o, PlayListItem* item);
-
-protected slots:
- void updateTag();
-};
/*! @brief The PlayListModel class provides a data model for the playlist.
*
* @author Vladimir Kuznetsov <vovanec@gmail.com>
diff --git a/src/qmmpui/qmmpui.pro b/src/qmmpui/qmmpui.pro
index f4919a825..18a96660a 100644
--- a/src/qmmpui/qmmpui.pro
+++ b/src/qmmpui/qmmpui.pro
@@ -49,7 +49,8 @@ HEADERS += general.h \
radioitemdelegate_p.h \
playlistdownloader.h \
addurldialog_p.h \
- qmmpuiplugincache_p.h
+ qmmpuiplugincache_p.h \
+ tagupdater.h
SOURCES += general.cpp \
playlistparser.cpp \
commandlinemanager.cpp \
@@ -75,7 +76,8 @@ SOURCES += general.cpp \
radioitemdelegate.cpp \
playlistdownloader.cpp \
addurldialog.cpp \
- qmmpuiplugincache.cpp
+ qmmpuiplugincache.cpp \
+ tagupdater.cpp
FORMS += forms/detailsdialog.ui \
forms/tageditor.ui \
forms/templateeditor.ui \
diff --git a/src/qmmpui/tagupdater.cpp b/src/qmmpui/tagupdater.cpp
new file mode 100644
index 000000000..f07b5cf83
--- /dev/null
+++ b/src/qmmpui/tagupdater.cpp
@@ -0,0 +1,42 @@
+/***************************************************************************
+ * Copyright (C) 2013 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 "tagupdater.h"
+
+TagUpdater::TagUpdater(QObject* o, PlayListItem* item) : m_observable(o), m_item(item)
+{
+ m_item->setFlag(PlayListItem::EDITING);
+ connect(m_observable, SIGNAL(destroyed(QObject *)),SLOT(updateTag()));
+ connect(m_observable, SIGNAL(destroyed(QObject *)),SLOT(deleteLater()));
+}
+
+void TagUpdater::updateTag()
+{
+ if (m_item->flag() == PlayListItem::SCHEDULED_FOR_DELETION)
+ {
+ delete m_item;
+ m_item = NULL;
+ }
+ else
+ {
+ m_item->updateTags();
+ m_item->setFlag(PlayListItem::FREE);
+ }
+}
diff --git a/src/qmmpui/tagupdater.h b/src/qmmpui/tagupdater.h
new file mode 100644
index 000000000..7e1850baf
--- /dev/null
+++ b/src/qmmpui/tagupdater.h
@@ -0,0 +1,46 @@
+/***************************************************************************
+ * Copyright (C) 2013 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. *
+ ***************************************************************************/
+
+#ifndef TAGUPDATER_H
+#define TAGUPDATER_H
+
+#include <QObject>
+#include "playlistitem.h"
+
+/*! @internal
+ * @brief Helper class used for tags update after details dialog closing.
+ *
+ * @author Vladimir Kuznetsov <vovanec@gmail.com>
+ */
+class TagUpdater : public QObject
+{
+ Q_OBJECT
+ QObject* m_observable;
+ PlayListItem* m_item;
+
+public:
+ TagUpdater(QObject* o, PlayListItem* item);
+
+public slots:
+ void updateTag();
+
+};
+
+#endif // TAGUPDATER_H