1
/***************************************************************************
2
 *   Copyright (c) 2009  Nikolaj Hald Nielsen <nhnFreespirit@gmail.com>    *
3
 *                                                                         *
4
 *   This program is free software; you can redistribute it and/or modify  *
5
 *   it under the terms of the GNU General Public License as published by  *
6
 *   the Free Software Foundation; either version 2 of the License, or     *
7
 *   (at your option) any later version.                                   *
8
 *                                                                         *
9
 *   This program is distributed in the hope that it will be useful,       *
10
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
11
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
12
 *   GNU General Public License for more details.                          *
13
 *                                                                         *
14
 *   You should have received a copy of the GNU General Public License     *
15
 *   along with this program; if not, write to the                         *
16
 *   Free Software Foundation, Inc.,                                       *
17
 *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.         *
18
 ***************************************************************************/
19
20
#ifndef GLOBALCURRENTTRACKACTIONS_H
21
#define GLOBALCURRENTTRACKACTIONS_H
22
23
#include "amarok_export.h"
24
#include "Meta.h"
25
#include "SmartPointerList.h"
26
27
#include <QAction>
28
29
30
class GlobalCurrentTrackActions;
31
32
namespace The {
33
    AMAROK_EXPORT GlobalCurrentTrackActions* globalCurrentTrackActions();
34
}
35
36
/**
37
A global list of actions that is made available to all playing tracks.
38
39
	@author Nikolaj Hald Nielsen <nhnFreespirit@gmail.com> 
40
*/
41
class AMAROK_EXPORT GlobalCurrentTrackActions
42
{
43
    friend GlobalCurrentTrackActions* The::globalCurrentTrackActions();
44
    
45
public:
46
    void addAction( QAction * action );
47
    QList<QAction *> actions();
48
    
49
private:
50
    GlobalCurrentTrackActions();
51
    ~GlobalCurrentTrackActions();
52
    
53
    SmartPointerList<QAction> m_actions;
54
};
55
56
#endif