From 176523a606494a1d8cfe7a692ee564785d1b2101 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 18 Oct 2014 08:00:28 +0000 Subject: playlist: added feature to find track by number git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4585 90c681e8-e032-0410-971d-27865f9a5e38 --- src/qmmpui/groupedcontainer.cpp | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'src/qmmpui/groupedcontainer.cpp') diff --git a/src/qmmpui/groupedcontainer.cpp b/src/qmmpui/groupedcontainer.cpp index 4c2849cd0..aebd9f22c 100644 --- a/src/qmmpui/groupedcontainer.cpp +++ b/src/qmmpui/groupedcontainer.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2013 by Ilya Kotov * + * Copyright (C) 2013-2014 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -86,7 +86,7 @@ void GroupedContainer::insertTrack(int index, PlayListTrack *track) addTrack(track); } -QList GroupedContainer::groups() +QList GroupedContainer::groups() const { return m_groups; } @@ -185,6 +185,20 @@ int GroupedContainer::numberOfTrack(int index) const return -1; } +PlayListTrack *GroupedContainer::findTrack(int number) const +{ + int firstNumber = 0; + foreach (PlayListGroup *group, m_groups) + { + if(number >= firstNumber && number < firstNumber + group->count()) + { + return group->tracks().at(number - firstNumber); + } + firstNumber += group->count(); + } + return 0; +} + void GroupedContainer::removeTrack(int index) { PlayListTrack *t = track(index); -- cgit v1.2.3-13-gbd6f