PageRenderTime 102ms CodeModel.GetById 41ms app.highlight 4ms RepoModel.GetById 56ms app.codeStats 0ms

/src/libtomahawk/context/pages/RelatedArtistsContext.h

http://github.com/tomahawk-player/tomahawk
C++ Header | 69 lines | 34 code | 17 blank | 18 comment | 0 complexity | 7a640dc549da35702b8b379424c56fdb 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 RELATEDARTISTSCONTEXT_H
21#define RELATEDARTISTSCONTEXT_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 TreeModel;
33class TreeView;
34
35class DLLEXPORT RelatedArtistsContext : public Tomahawk::ContextPage
36{
37Q_OBJECT
38
39public:
40    RelatedArtistsContext();
41    ~RelatedArtistsContext();
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( "Related Artists" ); }
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 onSimilarArtistsLoaded();
59
60private:
61    TreeView* m_relatedView;
62    TreeModel* m_relatedModel;
63
64    QGraphicsProxyWidget* m_proxy;
65
66    Tomahawk::artist_ptr m_artist;
67};
68
69#endif // RELATEDARTISTSCONTEXT_H