1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-03-20 15:59:42 +01:00

Trying to add albums to whatshotview

This commit is contained in:
Hugo Lindström 2011-10-06 19:52:51 +02:00
parent 2ee085d13d
commit 049184bdfd
3 changed files with 58 additions and 16 deletions

View File

@ -58,6 +58,8 @@ WhatsHotWidget::WhatsHotWidget( QWidget* parent )
TomahawkUtils::unmarginLayout( ui->horizontalLayout->layout() );
TomahawkUtils::unmarginLayout( ui->horizontalLayout_2->layout() );
TomahawkUtils::unmarginLayout( ui->breadCrumbLeft->layout() );
TomahawkUtils::unmarginLayout( ui->verticalLayout2->layout() );
//set crumb widgets
@ -79,9 +81,8 @@ WhatsHotWidget::WhatsHotWidget( QWidget* parent )
ui->breadCrumbRight->setUseAnimation(true);*/
m_tracksModel = new TreeModel( ui->tracksViewLeft );
ui->tracksViewLeft->setTreeModel( m_tracksModel );
m_tracksModel = new PlaylistModel( ui->tracksViewLeft );
m_tracksModel->setStyle( TrackModel::ShortWithAvatars );
ui->tracksViewLeft->setFrameShape( QFrame::NoFrame );
@ -110,6 +111,12 @@ WhatsHotWidget::WhatsHotWidget( QWidget* parent )
ui->artistsViewLeft->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff );
ui->artistsViewLeft->header()->setVisible( false );
ui->albumsViewLeft->setFrameShape( QFrame::NoFrame );
ui->albumsViewLeft->setAttribute( Qt::WA_MacShowFocusRect, 0 );
m_albumsModel = new AlbumModel( ui->albumsViewLeft );
ui->albumsViewLeft->setAlbumModel( m_albumsModel );
m_timer = new QTimer( this );
connect( m_timer, SIGNAL( timeout() ), SLOT( checkQueries() ) );
@ -210,21 +217,23 @@ WhatsHotWidget::infoSystemInfo( Tomahawk::InfoSystem::InfoRequestData requestDat
}
else if( type == "albums" )
{
setLeftViewArtists();
m_artistsModel->clear();
setLeftViewAlbums();
m_albumsModel->clear();
QList<album_ptr> al;
const QList<Tomahawk::InfoSystem::ArtistAlbumPair> albums = returnedData["albums"].value<QList<Tomahawk::InfoSystem::ArtistAlbumPair> >();
tDebug( LOGVERBOSE ) << "WhatsHot: got albums! " << albums.size();
foreach ( const Tomahawk::InfoSystem::ArtistAlbumPair& album, albums )
{
//query_ptr query = Query::get( album.artist, QString(), album.album, uuid() );
artist_ptr artistPtr = Artist::get( album.artist );
//album_ptr albumPtr = Album::get( 0, album.album, artistPtr );
qDebug() << "Getting album" << album.album << "By" << album.artist;
album_ptr albumPtr = Album::get( 0, album.album, Artist::get( album.artist ) );
al << albumPtr;
m_artistsModel->addArtists( artistPtr );
//m_albumsModel->append( query );
}
qDebug() << "Adding albums to model";
m_albumsModel->addAlbums( al );
qDebug() << "Added albums";
}
else if( type == "tracks" )
{
@ -354,6 +363,13 @@ WhatsHotWidget::parseNode(QStandardItem* parentItem, const QString &label, const
}
void
WhatsHotWidget::setLeftViewAlbums()
{
ui->stackLeft->setCurrentIndex(2);
}
void
WhatsHotWidget::setLeftViewArtists()
{

View File

@ -37,6 +37,7 @@ class TreeModel;
class PlaylistModel;
class OverlayWidget;
class TreeProxyModel;
class AlbumModel;
namespace Ui
{
@ -83,8 +84,10 @@ private slots:
private:
void setLeftViewArtists();
void setLeftViewAlbums();
void setLeftViewTracks();
QStandardItem* parseNode( QStandardItem* parentItem, const QString &label, const QVariant &data );
Ui::WhatsHotWidget *ui;
@ -92,7 +95,7 @@ private:
TreeModel* m_artistsModel;
TreeProxyModel* m_artistsProxy;
QStandardItemModel* m_crumbModelLeft;
TreeModel* m_albumsModel;
AlbumModel* m_albumsModel;
QTimer* m_timer;
};

View File

@ -44,20 +44,43 @@
</item>
</layout>
</widget>
<widget class="QWidget" name="page2">
<layout class="QVBoxLayout" name="verticalLayout2">
<item>
<layout class="QVBoxLayout" name="verticalLayout_2"/>
<widget class="AlbumView" name="albumsViewLeft">
<property name="minimumSize">
<size>
<width>320</width>
<height>0</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>PlaylistView</class>
<extends>QTreeView</extends>
<header>playlist/playlistview.h</header>
<class>AlbumView</class>
<extends>QListView</extends>
<header location="global">playlist/albumview.h</header>
</customwidget>
<customwidget>
<class>ArtistView</class>
<extends>QTreeView</extends>
<header location="global">artistview.h</header>
<header>artistview.h</header>
</customwidget>
<customwidget>
<class>PlaylistView</class>
<extends>QTreeView</extends>
<header>playlist/playlistview.h</header>
</customwidget>
<customwidget>
<class>HeaderBreadCrumb</class>