From 596da1628eb0dd24d03ea33a60dfcebb4d298867 Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser Date: Wed, 12 Jun 2013 11:36:07 +0200 Subject: [PATCH] * Make FlexibleView use new header style - to be consolidated. --- src/libtomahawk/playlist/FlexibleView.cpp | 34 +++++++++++++++++++++-- src/libtomahawk/playlist/FlexibleView.h | 6 ++-- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/src/libtomahawk/playlist/FlexibleView.cpp b/src/libtomahawk/playlist/FlexibleView.cpp index a3d73815c..ad91c5d96 100644 --- a/src/libtomahawk/playlist/FlexibleView.cpp +++ b/src/libtomahawk/playlist/FlexibleView.cpp @@ -22,14 +22,17 @@ #include #include -#include "playlist/FlexibleHeader.h" +#include "widgets/FilterHeader.h" +#include "playlist/ModeHeader.h" #include "playlist/PlayableModel.h" #include "playlist/PlaylistModel.h" #include "playlist/TrackView.h" #include "playlist/GridView.h" #include "playlist/PlaylistLargeItemDelegate.h" #include "PlayableProxyModelPlaylistInterface.h" +#include "utils/TomahawkStyle.h" #include "utils/TomahawkUtilsGui.h" +#include "utils/Closure.h" #include "utils/Logger.h" using namespace Tomahawk; @@ -37,7 +40,8 @@ using namespace Tomahawk; FlexibleView::FlexibleView( QWidget* parent, QWidget* extraHeader ) : QWidget( parent ) - , m_header( new FlexibleHeader( this ) ) + , m_header( new FilterHeader( this ) ) + , m_modeHeader( new ModeHeader( this ) ) , m_trackView( new TrackView() ) , m_detailedView( new TrackView() ) , m_gridView( new GridView() ) @@ -62,9 +66,31 @@ FlexibleView::FlexibleView( QWidget* parent, QWidget* extraHeader ) setLayout( new QVBoxLayout() ); TomahawkUtils::unmarginLayout( layout() ); + QFrame* lineAbove = new QFrame( this ); + lineAbove->setStyleSheet( QString( "QFrame { border: 1px solid %1; }" ).arg( TomahawkStyle::HEADER_UPPER.name() ) ); + lineAbove->setFrameShape( QFrame::HLine ); + lineAbove->setMaximumHeight( 1 ); + QFrame* lineAbove2 = new QFrame( this ); + lineAbove2->setStyleSheet( QString( "QFrame { border: 1px solid black; }" ) ); + lineAbove2->setFrameShape( QFrame::HLine ); + lineAbove2->setMaximumHeight( 1 ); + QFrame* lineBelow = new QFrame( this ); + lineBelow->setStyleSheet( QString( "QFrame { border: 1px solid %1; }" ).arg( TomahawkStyle::HEADER_UPPER.name() ) ); + lineBelow->setFrameShape( QFrame::HLine ); + lineBelow->setMaximumHeight( 1 ); + QFrame* lineBelow2 = new QFrame( this ); + lineBelow2->setStyleSheet( QString( "QFrame { border: 1px solid black; }" ) ); + lineBelow2->setFrameShape( QFrame::HLine ); + lineBelow2->setMaximumHeight( 1 ); + layout()->addWidget( m_header ); + layout()->addWidget( lineAbove ); + layout()->addWidget( lineAbove2 ); + layout()->addWidget( m_modeHeader ); if ( extraHeader ) layout()->addWidget( extraHeader ); + layout()->addWidget( lineBelow ); + layout()->addWidget( lineBelow2 ); layout()->addWidget( m_stack ); m_stack->addWidget( m_trackView ); @@ -74,6 +100,10 @@ FlexibleView::FlexibleView( QWidget* parent, QWidget* extraHeader ) setCurrentMode( Flat ); connect( m_header, SIGNAL( filterTextChanged( QString ) ), SLOT( setFilter( QString ) ) ); + + NewClosure( m_modeHeader, SIGNAL( flatClicked() ), const_cast< FlexibleView* >( this ), SLOT( setCurrentMode( FlexibleViewMode ) ), FlexibleView::Flat )->setAutoDelete( false ); + NewClosure( m_modeHeader, SIGNAL( detailedClicked() ), const_cast< FlexibleView* >( this ), SLOT( setCurrentMode( FlexibleViewMode ) ), FlexibleView::Detailed )->setAutoDelete( false ); + NewClosure( m_modeHeader, SIGNAL( gridClicked() ), const_cast< FlexibleView* >( this ), SLOT( setCurrentMode( FlexibleViewMode ) ), FlexibleView::Grid )->setAutoDelete( false ); } diff --git a/src/libtomahawk/playlist/FlexibleView.h b/src/libtomahawk/playlist/FlexibleView.h index 9a4abaf4e..bc367265b 100644 --- a/src/libtomahawk/playlist/FlexibleView.h +++ b/src/libtomahawk/playlist/FlexibleView.h @@ -29,7 +29,8 @@ class GridView; class TrackView; class PlayableModel; class PlaylistModel; -class FlexibleHeader; +class FilterHeader; +class ModeHeader; class DLLEXPORT FlexibleView : public QWidget, public Tomahawk::ViewPage { @@ -83,7 +84,8 @@ private slots: void onWidgetDestroyed( QWidget* widget ); private: - FlexibleHeader* m_header; + FilterHeader* m_header; + ModeHeader* m_modeHeader; QPixmap m_pixmap; TrackView* m_trackView;