/usr/include/libtomahawk/viewpages/ArtistViewPage.h is in libtomahawk-dev 0.8.4+dfsg1-0ubuntu1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | /* === This file is part of Tomahawk Player - <http://tomahawk-player.org> ===
*
* Copyright 2010-2014, Christian Muehlhaeuser <muesli@tomahawk-player.org>
* Copyright 2010-2011, Jeff Mitchell <jeff@tomahawk-player.org>
*
* Tomahawk is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Tomahawk is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Tomahawk. If not, see <http://www.gnu.org/licenses/>.
*/
/**
* \class ArtistInfoWidget
* \brief ViewPage, which displays top-hits, related artists and albums for an artist.
*
* This Tomahawk ViewPage displays top-hits, related artists and known albums
* for any given artist. It is our default ViewPage when showing an artist
* via ViewManager.
*
*/
#ifndef ARTISTINFOWIDGET_H
#define ARTISTINFOWIDGET_H
#include <QWidget>
#include "Typedefs.h"
#include "PlaylistInterface.h"
#include "ViewPage.h"
#include "utils/DpiScaler.h"
#include "DllMacro.h"
class QScrollArea;
class QStackedWidget;
class PlayableModel;
class PlaylistModel;
class BasicHeader;
namespace Ui
{
class ArtistInfoWidget;
}
class MetaArtistInfoInterface;
class DLLEXPORT ArtistInfoWidget : public QWidget, public Tomahawk::ViewPage, private TomahawkUtils::DpiScaler
{
Q_OBJECT
public:
ArtistInfoWidget( const Tomahawk::artist_ptr& artist, QWidget* parent = 0 );
~ArtistInfoWidget();
/** \brief Loads information for a given artist.
* \param artist The artist that you want to load information for.
*
* Calling this method will make ArtistInfoWidget load information about
* an artist's top hits, related artists and all available albums. It is
* automatically called by the constructor, but you can use it to load
* another artist's information at any point.
*/
void load( const Tomahawk::artist_ptr& artist );
Tomahawk::artist_ptr artist() const { return m_artist; }
virtual QWidget* widget() { return this; }
virtual Tomahawk::playlistinterface_ptr playlistInterface() const;
virtual QString title() const { return m_title; }
virtual QString description() const { return m_description; }
virtual QString longDescription() const { return m_longDescription; }
virtual QPixmap pixmap() const;
virtual bool isTemporaryPage() const { return true; }
virtual bool jumpToCurrentTrack();
virtual bool isBeingPlayed() const;
signals:
void longDescriptionChanged( const QString& description );
void descriptionChanged( const QString& description );
void pixmapChanged( const QPixmap& pixmap );
protected:
void resizeEvent( QResizeEvent* event );
void changeEvent( QEvent* e );
bool eventFilter( QObject* obj, QEvent* event );
private slots:
void onArtistImageUpdated();
void onBiographyLoaded();
void onAlbumsFound( const QList<Tomahawk::album_ptr>& albums, Tomahawk::ModelMode mode );
void onTracksFound( const QList<Tomahawk::query_ptr>& queries, Tomahawk::ModelMode mode );
void onSimilarArtistsLoaded();
void onBiographyLinkClicked( const QUrl& url );
void onAlbumsMoreClicked();
void onTopHitsMoreClicked();
void onPageClosed();
void onMusicAnchorClicked();
void onBioAnchorClicked();
void onRelatedArtistsAnchorClicked();
void onSliderValueChanged( int value );
private:
Ui::ArtistInfoWidget *ui;
QWidget* m_widget;
BasicHeader* m_headerWidget;
QScrollArea* m_area;
Tomahawk::artist_ptr m_artist;
PlayableModel* m_relatedModel;
PlayableModel* m_albumsModel;
PlayableModel* m_topHitsModel;
Tomahawk::playlistinterface_ptr m_plInterface;
QStackedWidget* m_stackedWidget;
QString m_title;
QString m_description;
QString m_longDescription;
QPixmap m_pixmap;
friend class ::MetaArtistInfoInterface;
};
#endif // ARTISTINFOWIDGET_H
|