PageRenderTime 201ms CodeModel.GetById 47ms app.highlight 66ms RepoModel.GetById 37ms app.codeStats 0ms

/src/libtomahawk/context/pages/TopTracksContext.h

http://github.com/tomahawk-player/tomahawk
C++ Header | 69 lines | 34 code | 17 blank | 18 comment | 0 complexity | 096c5b3973e73d657ebe4a8b1312a1eb MD5 | raw file
 1/* === This file is part of Tomahawk Player - <http://tomahawk-player.org> ===
 2 *
 3 *   Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org>
 4 *   Copyright 2010-2011, Jeff Mitchell <jeff@tomahawk-player.org>
 5 *
 6 *   Tomahawk is free software: you can redistribute it and/or modify
 7 *   it under the terms of the GNU General Public License as published by
 8 *   the Free Software Foundation, either version 3 of the License, or
 9 *   (at your option) any later version.
10 *
11 *   Tomahawk is distributed in the hope that it will be useful,
12 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
13 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 *   GNU General Public License for more details.
15 *
16 *   You should have received a copy of the GNU General Public License
17 *   along with Tomahawk. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef TOPTRACKSCONTEXT_H
21#define TOPTRACKSCONTEXT_H
22
23#include <QGraphicsProxyWidget>
24
25#include "DllMacro.h"
26
27#include "Artist.h"
28#include "Album.h"
29#include "Query.h"
30#include "context/ContextPage.h"
31
32class PlaylistModel;
33class PlaylistView;
34
35class DLLEXPORT TopTracksContext : public Tomahawk::ContextPage
36{
37Q_OBJECT
38
39public:
40    TopTracksContext();
41    ~TopTracksContext();
42
43    virtual QGraphicsWidget* widget() { return m_proxy; }
44
45    virtual Tomahawk::playlistinterface_ptr playlistInterface() const { return Tomahawk::playlistinterface_ptr(); }
46
47    virtual QString title() const { return tr( "Top Hits" ); }
48    virtual QString description() const { return QString(); }
49
50    virtual bool jumpToCurrentTrack() { return false; }
51
52public slots:
53    virtual void setArtist( const Tomahawk::artist_ptr& artist );
54    virtual void setAlbum( const Tomahawk::album_ptr& album );
55    virtual void setQuery( const Tomahawk::query_ptr& query );
56
57private slots:
58    void onTracksFound( const QList<Tomahawk::query_ptr>& queries, Tomahawk::ModelMode mode );
59
60private:
61    PlaylistView* m_topHitsView;
62    PlaylistModel* m_topHitsModel;
63
64    QGraphicsProxyWidget* m_proxy;
65
66    Tomahawk::artist_ptr m_artist;
67};
68
69#endif // TOPTRACKSCONTEXT_H