aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-08-27 14:08:49 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2013-08-27 14:08:49 +0000
commitb94095cd8d42e6e75518ed9a0436da95e0fc7ec6 (patch)
tree1bfbabed14580cd1d48ab409063b67e2de95951c /src
parent0b80094719507653ddaf29e76439d2ab018bba17 (diff)
downloadqmmp-b94095cd8d42e6e75518ed9a0436da95e0fc7ec6.tar.gz
qmmp-b94095cd8d42e6e75518ed9a0436da95e0fc7ec6.tar.bz2
qmmp-b94095cd8d42e6e75518ed9a0436da95e0fc7ec6.zip
added some api functions
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@3670 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
-rw-r--r--src/qmmpui/groupedcontainer.cpp8
-rw-r--r--src/qmmpui/groupedcontainer_p.h1
-rw-r--r--src/qmmpui/normalcontainer.cpp8
-rw-r--r--src/qmmpui/normalcontainer_p.h1
-rw-r--r--src/qmmpui/playlistcontainer_p.h1
-rw-r--r--src/qmmpui/playlistmodel.cpp17
-rw-r--r--src/qmmpui/playlistmodel.h3
7 files changed, 37 insertions, 2 deletions
diff --git a/src/qmmpui/groupedcontainer.cpp b/src/qmmpui/groupedcontainer.cpp
index 52f86a301..6e6b2d6c0 100644
--- a/src/qmmpui/groupedcontainer.cpp
+++ b/src/qmmpui/groupedcontainer.cpp
@@ -142,6 +142,14 @@ PlayListTrack *GroupedContainer::track(int index) const
return dynamic_cast<PlayListTrack *> (i);
}
+PlayListGroup *GroupedContainer::group(int index) const
+{
+ PlayListItem *i = item(index);
+ if(i && i->isGroup())
+ return dynamic_cast<PlayListGroup *> (i);
+ return 0;
+}
+
bool GroupedContainer::contains(PlayListItem *item) const
{
return m_items.contains(item);
diff --git a/src/qmmpui/groupedcontainer_p.h b/src/qmmpui/groupedcontainer_p.h
index 89f42a705..86357de8c 100644
--- a/src/qmmpui/groupedcontainer_p.h
+++ b/src/qmmpui/groupedcontainer_p.h
@@ -47,6 +47,7 @@ public:
int indexOf(PlayListItem *item) const;
PlayListItem *item(int index) const;
PlayListTrack *track(int index) const;
+ PlayListGroup *group(int index) const;
bool contains(PlayListItem *item) const;
int numberOfTrack(int index) const;
void removeTrack(int index);
diff --git a/src/qmmpui/normalcontainer.cpp b/src/qmmpui/normalcontainer.cpp
index 1be508521..3cd8fa07b 100644
--- a/src/qmmpui/normalcontainer.cpp
+++ b/src/qmmpui/normalcontainer.cpp
@@ -95,7 +95,7 @@ PlayListItem *NormalContainer::item(int index) const
{
if(index >= count() || index < 0)
{
- qWarning("NormalContainer index is out of range");
+ qWarning("NormalContainer: index is out of range");
return 0;
}
return m_items.at(index);
@@ -107,6 +107,12 @@ PlayListTrack *NormalContainer::track(int index) const
return dynamic_cast<PlayListTrack *> (i);
}
+PlayListGroup *NormalContainer::group(int index) const
+{
+ Q_UNUSED(index);
+ return 0;
+}
+
bool NormalContainer::contains(PlayListItem *item) const
{
return m_items.contains(item);
diff --git a/src/qmmpui/normalcontainer_p.h b/src/qmmpui/normalcontainer_p.h
index c0117c3e5..f64787cb5 100644
--- a/src/qmmpui/normalcontainer_p.h
+++ b/src/qmmpui/normalcontainer_p.h
@@ -47,6 +47,7 @@ public:
int indexOf(PlayListItem *item) const;
PlayListItem *item(int index) const;
PlayListTrack *track(int index) const;
+ PlayListGroup *group(int index) const;
bool contains(PlayListItem *item) const;
int numberOfTrack(int index) const;
void removeTrack(int index);
diff --git a/src/qmmpui/playlistcontainer_p.h b/src/qmmpui/playlistcontainer_p.h
index 00bebb680..9710585aa 100644
--- a/src/qmmpui/playlistcontainer_p.h
+++ b/src/qmmpui/playlistcontainer_p.h
@@ -52,6 +52,7 @@ public:
virtual int indexOf(PlayListItem *item) const = 0;
virtual PlayListItem *item(int index) const = 0;
virtual PlayListTrack *track(int index) const = 0;
+ virtual PlayListGroup *group(int index) const = 0;
virtual bool contains(PlayListItem *item) const = 0;
virtual int numberOfTrack(int index) const = 0;
virtual void removeTrack(int index) = 0;
diff --git a/src/qmmpui/playlistmodel.cpp b/src/qmmpui/playlistmodel.cpp
index 828c914de..2646b71ed 100644
--- a/src/qmmpui/playlistmodel.cpp
+++ b/src/qmmpui/playlistmodel.cpp
@@ -179,6 +179,11 @@ PlayListTrack* PlayListModel::track(int index) const
return m_container->track(index);
}
+PlayListGroup* PlayListModel::group(int index) const
+{
+ return m_container->group(index);
+}
+
int PlayListModel::currentIndex() const
{
return m_current;
@@ -190,7 +195,10 @@ bool PlayListModel::setCurrent(int index)
return false;
PlayListItem *item = m_container->item(index);
if(item->isGroup())
- return false;
+ {
+ index++;
+ item = m_container->item(index);
+ }
m_current = index;
m_current_track = dynamic_cast<PlayListTrack*> (item);
emit currentChanged();
@@ -212,6 +220,13 @@ bool PlayListModel::isTrack(int index) const
return !m_container->item(index)->isGroup();
}
+bool PlayListModel::isGroup(int index) const
+{
+ if (index > count()-1 || index < 0)
+ return false;
+ return !m_container->item(index)->isGroup();
+}
+
bool PlayListModel::next()
{
if(m_stop_track == currentTrack())
diff --git a/src/qmmpui/playlistmodel.h b/src/qmmpui/playlistmodel.h
index 2bd81eea4..769b55dc8 100644
--- a/src/qmmpui/playlistmodel.h
+++ b/src/qmmpui/playlistmodel.h
@@ -128,6 +128,7 @@ public:
*/
PlayListItem* item(int index) const;
PlayListTrack* track(int index) const;
+ PlayListGroup* group(int index) const;
/*!
* Returns index of the current item.
*/
@@ -147,6 +148,8 @@ public:
bool isTrack(int index) const;
+ bool isGroup(int index) const;
+
/*!
* Returns \b true if item with \b index is selected, otherwise returns \b false
*/