1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-06 14:16:32 +02:00

* Display track charts as a Grid.

This commit is contained in:
Christian Muehlhaeuser
2014-09-26 08:19:07 +02:00
parent 2e04ed35d2
commit 0e3d82a92d
3 changed files with 14 additions and 24 deletions

View File

@@ -74,15 +74,12 @@ ChartsWidget::ChartsWidget( QWidget* parent )
ui->breadCrumbLeft->setRootIcon( TomahawkUtils::defaultPixmap( TomahawkUtils::Charts, TomahawkUtils::Original ) ); ui->breadCrumbLeft->setRootIcon( TomahawkUtils::defaultPixmap( TomahawkUtils::Charts, TomahawkUtils::Original ) );
connect( ui->breadCrumbLeft, SIGNAL( activateIndex( QModelIndex ) ), SLOT( leftCrumbIndexChanged( QModelIndex ) ) ); connect( ui->breadCrumbLeft, SIGNAL( activateIndex( QModelIndex ) ), SLOT( leftCrumbIndexChanged( QModelIndex ) ) );
ui->tracksViewLeft->setHeaderHidden( true ); ui->artistsView->setItemSize( TomahawkUtils::DpiScaler::scaled( this, QSize( 190, 190 + 38 ) ) );
ui->tracksViewLeft->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); ui->albumsView->setItemSize( TomahawkUtils::DpiScaler::scaled( this, QSize( 190, 190 + 56 ) ) );
PlaylistChartItemDelegate* del = new PlaylistChartItemDelegate( ui->tracksViewLeft, ui->tracksViewLeft->proxyModel() ); ui->tracksView->setItemSize( TomahawkUtils::DpiScaler::scaled( this, QSize( 190, 190 + 56 ) ) );
ui->tracksViewLeft->setPlaylistItemDelegate( del );
ui->tracksViewLeft->setUniformRowHeights( false );
ui->artistsView->setItemSize( TomahawkUtils::DpiScaler::scaled( this, QSize( 170, 170 + 38 ) ) );
ui->artistsView->delegate()->setShowPosition( true ); ui->artistsView->delegate()->setShowPosition( true );
ui->albumsView->delegate()->setShowPosition( true ); ui->albumsView->delegate()->setShowPosition( true );
ui->tracksView->delegate()->setShowPosition( true );
m_workerThread = new QThread( this ); m_workerThread = new QThread( this );
m_workerThread->start(); m_workerThread->start();
@@ -98,7 +95,7 @@ ChartsWidget::ChartsWidget( QWidget* parent )
tDebug( LOGVERBOSE ) << "Reloading last chartIds:" << m_currentVIds; tDebug( LOGVERBOSE ) << "Reloading last chartIds:" << m_currentVIds;
MetaPlaylistInterface* mpl = new MetaPlaylistInterface(); MetaPlaylistInterface* mpl = new MetaPlaylistInterface();
mpl->addChildInterface( ui->tracksViewLeft->playlistInterface() ); mpl->addChildInterface( ui->tracksView->playlistInterface() );
mpl->addChildInterface( ui->artistsView->playlistInterface() ); mpl->addChildInterface( ui->artistsView->playlistInterface() );
mpl->addChildInterface( ui->albumsView->playlistInterface() ); mpl->addChildInterface( ui->albumsView->playlistInterface() );
m_playlistInterface = playlistinterface_ptr( mpl ); m_playlistInterface = playlistinterface_ptr( mpl );
@@ -149,7 +146,7 @@ ChartsWidget::jumpToCurrentTrack()
if ( ui->artistsView->model() && ui->artistsView->jumpToCurrentTrack() ) if ( ui->artistsView->model() && ui->artistsView->jumpToCurrentTrack() )
return true; return true;
if ( ui->tracksViewLeft->model() && ui->tracksViewLeft->jumpToCurrentTrack() ) if ( ui->tracksView->model() && ui->tracksView->jumpToCurrentTrack() )
return true; return true;
if ( ui->albumsView->model() && ui->albumsView->jumpToCurrentTrack() ) if ( ui->albumsView->model() && ui->albumsView->jumpToCurrentTrack() )
@@ -276,7 +273,7 @@ ChartsWidget::infoSystemInfo( Tomahawk::InfoSystem::InfoRequestData requestData,
connect( loader, SIGNAL( tracks( Tomahawk::ChartDataLoader*, QList< Tomahawk::query_ptr > ) ), SLOT( chartTracksLoaded( Tomahawk::ChartDataLoader*, QList< Tomahawk::query_ptr > ) ) ); connect( loader, SIGNAL( tracks( Tomahawk::ChartDataLoader*, QList< Tomahawk::query_ptr > ) ), SLOT( chartTracksLoaded( Tomahawk::ChartDataLoader*, QList< Tomahawk::query_ptr > ) ) );
PlaylistModel* trackModel = new PlaylistModel( ui->tracksViewLeft ); PlayableModel* trackModel = new PlayableModel( ui->tracksView );
trackModel->startLoading(); trackModel->startLoading();
m_trackModels[ chartId ] = trackModel; m_trackModels[ chartId ] = trackModel;
@@ -540,11 +537,10 @@ ChartsWidget::setLeftViewArtists( PlayableModel* model )
void void
ChartsWidget::setLeftViewTracks( PlaylistModel* model ) ChartsWidget::setLeftViewTracks( PlayableModel* model )
{ {
ui->tracksViewLeft->proxyModel()->setStyle( PlayableProxyModel::Large ); ui->tracksView->setPlayableModel( model );
ui->tracksViewLeft->setPlaylistModel( model ); ui->tracksView->proxyModel()->sort( -1 );
ui->tracksViewLeft->proxyModel()->sort( -1 );
ui->stackLeft->setCurrentIndex( 0 ); ui->stackLeft->setCurrentIndex( 0 );
} }
@@ -573,7 +569,7 @@ ChartsWidget::chartTracksLoaded( ChartDataLoader* loader, const QList< query_ptr
if ( m_trackModels.contains( chartId ) ) if ( m_trackModels.contains( chartId ) )
{ {
Pipeline::instance()->resolve( tracks ); // Pipeline::instance()->resolve( tracks );
m_trackModels[ chartId ]->appendQueries( tracks ); m_trackModels[ chartId ]->appendQueries( tracks );
} }

View File

@@ -87,7 +87,7 @@ private slots:
private: private:
void setLeftViewArtists( PlayableModel* artistModel ); void setLeftViewArtists( PlayableModel* artistModel );
void setLeftViewAlbums( PlayableModel* albumModel ); void setLeftViewAlbums( PlayableModel* albumModel );
void setLeftViewTracks( PlaylistModel* trackModel ); void setLeftViewTracks( PlayableModel* trackModel );
void setViewData( const QVariantMap& data ); void setViewData( const QVariantMap& data );
QStandardItem* parseNode( QStandardItem* parentItem, const QString& label, const QVariant& data ); QStandardItem* parseNode( QStandardItem* parentItem, const QString& label, const QVariant& data );
@@ -107,7 +107,7 @@ private:
// Cache our model data // Cache our model data
QHash< QString, PlayableModel* > m_albumModels; QHash< QString, PlayableModel* > m_albumModels;
QHash< QString, PlayableModel* > m_artistModels; QHash< QString, PlayableModel* > m_artistModels;
QHash< QString, PlaylistModel* > m_trackModels; QHash< QString, PlayableModel* > m_trackModels;
QString m_queueItemToShow; QString m_queueItemToShow;
QSet< QString > m_queuedFetches; QSet< QString > m_queuedFetches;
QMap<QString, QVariant> m_currentVIds; QMap<QString, QVariant> m_currentVIds;

View File

@@ -19,13 +19,7 @@
<widget class="QWidget" name="page"> <widget class="QWidget" name="page">
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item> <item>
<widget class="PlaylistView" name="tracksViewLeft"> <widget class="GridView" name="tracksView">
<property name="minimumSize">
<size>
<width>320</width>
<height>0</height>
</size>
</property>
</widget> </widget>
</item> </item>
</layout> </layout>