Added playlist actions (insert, delete, move up, move down), with only insert working...
[kworship.git] / kworship / songdb / KwSongdbNode.cpp
blob1f53dcba50f80e5fcee90a67be667bc7b96ab9dd
1 /***************************************************************************
2 * This file is part of KWorship. *
3 * Copyright 2008 James Hogan <james@albanarts.com> *
4 * *
5 * KWorship is free software: you can redistribute it and/or modify *
6 * it under the terms of the GNU General Public License as published by *
7 * the Free Software Foundation, either version 2 of the License, or *
8 * (at your option) any later version. *
9 * *
10 * KWorship is distributed in the hope that it will be useful, *
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
13 * GNU General Public License for more details. *
14 * *
15 * You should have received a copy of the GNU General Public License *
16 * along with KWorship. If not, write to the Free Software Foundation, *
17 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
18 ***************************************************************************/
20 /**
21 * @file KwSongdbNode.cpp
22 * @brief A node on a song database tree.
23 * @author James Hogan <james@albanarts.com>
26 #include "KwSongdbNode.h"
27 #include "KwSongdbSong.h"
28 #include "KwSongdbVersion.h"
30 #include <cassert>
33 * Constructors + destructor.
36 /// Primary constructor.
37 KwSongdbNode::KwSongdbNode(KwSongdbNode* parent)
38 : DefaultModelNode(parent)
42 /// Destructor.
43 KwSongdbNode::~KwSongdbNode()
48 * Associated data access
51 /// Get the song associated with this node.
52 KwSongdbSong* KwSongdbNode::associatedSong()
54 if (0 != getParent())
56 KwSongdbNode* parent = dynamic_cast<KwSongdbNode*>(getParent());
57 Q_ASSERT(0 != parent);
58 KwSongdbVersion* version = parent->associatedSongVersion();
59 if (0 != version)
61 return version->song();
64 return 0;
67 /// Get the song version associated with this node.
68 KwSongdbVersion* KwSongdbNode::associatedSongVersion()
70 if (0 != getParent())
72 KwSongdbNode* parent = dynamic_cast<KwSongdbNode*>(getParent());
73 Q_ASSERT(parent);
74 return parent->associatedSongVersion();
76 return 0;
80 * Drag and drop
83 /// Get flags for this item.
84 Qt::ItemFlags KwSongdbNode::getFlags(Qt::ItemFlags defaultFlags) const
86 return defaultFlags;
89 /// Get mime data string for this set of songs.
90 QString KwSongdbNode::mimeData()
92 return QString();