From a0e1e9c67fd831b70ce5159967913c24ac0c69d4 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Wed, 27 Aug 2014 21:28:34 +0200 Subject: [PATCH] * Added a GridView for albums to FlexibleTreeView. --- src/libtomahawk/playlist/FlexibleTreeView.cpp | 35 ++++++++++++++++--- src/libtomahawk/playlist/FlexibleTreeView.h | 7 ++-- 2 files changed, 36 insertions(+), 6 deletions(-) diff --git a/src/libtomahawk/playlist/FlexibleTreeView.cpp b/src/libtomahawk/playlist/FlexibleTreeView.cpp index bc685146c..242804a1e 100644 --- a/src/libtomahawk/playlist/FlexibleTreeView.cpp +++ b/src/libtomahawk/playlist/FlexibleTreeView.cpp @@ -1,7 +1,7 @@ /* === This file is part of Tomahawk Player - === * - * Copyright 2013, Christian Muehlhaeuser - * Copyright 2014, Teo Mrnjavac + * Copyright 2013-2014, Christian Muehlhaeuser + * Copyright 2014, Teo Mrnjavac * * Tomahawk is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -47,6 +47,7 @@ FlexibleTreeView::FlexibleTreeView( QWidget* parent, QWidget* extraHeader ) , m_columnView( new ColumnView() ) , m_treeView( new TreeView() ) , m_trackView( new TrackView() ) + , m_albumView( new GridView() ) , m_model( 0 ) , m_flatModel( 0 ) , m_temporary( false ) @@ -67,6 +68,21 @@ FlexibleTreeView::FlexibleTreeView( QWidget* parent, QWidget* extraHeader ) m_columnView->setColumnHidden( PlayableModel::Filesize, true ); // Hide filesize column per default m_columnView->setColumnHidden( PlayableModel::Composer, true ); // Hide composer column per default*/ + { + m_albumView->setAutoResize( false ); + m_albumView->setAutoFitItems( true ); +// m_albumView->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); + m_albumView->setHorizontalScrollBarPolicy( Qt::ScrollBarAlwaysOff ); + m_albumView->setItemSize( QSize( 170, 170 + 56 ) ); + + m_albumView->proxyModel()->sort( -1 ); + m_albumView->setEmptyTip( tr( "Sorry, there are no albums in this collection!" ) ); + + TomahawkStyle::stylePageFrame( m_albumView ); + + m_albumView->setStyleSheet( QString( "QListView { background-color: white; }" ) ); + } + m_stack = new QStackedWidget(); setLayout( new QVBoxLayout() ); TomahawkUtils::unmarginLayout( layout() ); @@ -100,7 +116,7 @@ FlexibleTreeView::FlexibleTreeView( QWidget* parent, QWidget* extraHeader ) layout()->addWidget( m_stack ); m_stack->addWidget( m_columnView ); - m_stack->addWidget( m_treeView ); + m_stack->addWidget( m_albumView ); m_stack->addWidget( m_trackView ); connect( m_header, SIGNAL( filterTextChanged( QString ) ), SLOT( setFilter( QString ) ) ); @@ -218,6 +234,17 @@ FlexibleTreeView::setFlatModel( PlayableModel* model ) } +void +FlexibleTreeView::setAlbumModel( PlayableModel* model ) +{ + m_albumModel = model; + m_albumView->setPlayableModel( model ); + + /* connect( model, SIGNAL( changed() ), SLOT( onModelChanged() ), Qt::UniqueConnection ); + * onModelChanged();*/ +} + + void FlexibleTreeView::setCurrentMode( FlexibleTreeViewMode mode ) { @@ -249,7 +276,7 @@ FlexibleTreeView::setCurrentMode( FlexibleTreeViewMode mode ) m_header->ui->anchor1Label->setFont( inactive ); m_header->ui->anchor3Label->setFont( inactive ); - m_stack->setCurrentWidget( m_treeView ); + m_stack->setCurrentWidget( m_albumView ); break; } diff --git a/src/libtomahawk/playlist/FlexibleTreeView.h b/src/libtomahawk/playlist/FlexibleTreeView.h index 57caf3c72..8816b598a 100644 --- a/src/libtomahawk/playlist/FlexibleTreeView.h +++ b/src/libtomahawk/playlist/FlexibleTreeView.h @@ -1,7 +1,7 @@ /* === This file is part of Tomahawk Player - === * - * Copyright 2012, Christian Muehlhaeuser - * Copyright 2014, Teo Mrnjavac + * Copyright 2012-2014, Christian Muehlhaeuser + * Copyright 2014, Teo Mrnjavac * * Tomahawk is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -71,6 +71,7 @@ public: void setTreeModel( TreeModel* model ); void setFlatModel( PlayableModel* model ); + void setAlbumModel( PlayableModel* model ); void setPixmap( const QPixmap& pixmap ); void setEmptyTip( const QString& tip ); @@ -95,9 +96,11 @@ private: ColumnView* m_columnView; TreeView* m_treeView; TrackView* m_trackView; + GridView* m_albumView; TreeModel* m_model; PlayableModel* m_flatModel; + PlayableModel* m_albumModel; QStackedWidget* m_stack; FlexibleTreeViewMode m_mode;