This file is indexed.

/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