From aabd84a9abd7ebb56cfde5526edffae34e78f02b Mon Sep 17 00:00:00 2001 From: Christian Muehlhaeuser <muesli@gmail.com> Date: Thu, 20 Dec 2012 11:28:35 +0100 Subject: [PATCH] * Updated album page to new style. --- .../widgets/infowidgets/AlbumInfoWidget.cpp | 32 +- .../widgets/infowidgets/AlbumInfoWidget.ui | 487 +++++++----------- 2 files changed, 192 insertions(+), 327 deletions(-) diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp index 4633ee4d1..f1e5d6b52 100644 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.cpp @@ -26,6 +26,7 @@ #include "database/Database.h" #include "playlist/TreeModel.h" #include "playlist/PlayableModel.h" +#include "playlist/AlbumItemDelegate.h" #include "playlist/GridItemDelegate.h" #include "Source.h" #include "MetaPlaylistInterface.h" @@ -61,10 +62,14 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par m_tracksModel = new TreeModel( ui->tracks ); m_tracksModel->setMode( Mixed ); - ui->tracks->setTreeModel( m_tracksModel ); ui->tracks->setRootIsDecorated( false ); ui->tracks->setEmptyTip( tr( "Sorry, we could not find any tracks for this album!" ) ); - ui->tracks->proxyModel()->setStyle( PlayableProxyModel::Collection ); + ui->tracks->proxyModel()->setStyle( PlayableProxyModel::Large ); + ui->tracks->setAutoResize( true ); + ui->tracks->setPlayableModel( m_tracksModel ); + + AlbumItemDelegate* del = new AlbumItemDelegate( ui->tracks, ui->tracks->proxyModel() ); + ui->tracks->setPlaylistItemDelegate( del ); ui->albums->setAutoFitItems( false ); ui->albums->setWrapping( false ); @@ -77,33 +82,21 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par ui->tracks->setAttribute( Qt::WA_MacShowFocusRect, 0 ); m_pixmap = TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultArtistImage, TomahawkUtils::Original, QSize( 48, 48 ) ); - ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultAlbumCover, TomahawkUtils::Original, QSize( ui->cover->sizeHint() ) ) ); + ui->cover->setPixmap( TomahawkUtils::defaultPixmap( TomahawkUtils::DefaultAlbumCover, TomahawkUtils::Grid ) ); + ui->cover->setShowText( true ); ui->biography->setFrameShape( QFrame::NoFrame ); ui->biography->setAttribute( Qt::WA_MacShowFocusRect, 0 ); TomahawkUtils::styleScrollBar( ui->biography->verticalScrollBar() ); - QFont f = font(); - f.setBold( true ); - f.setPointSize( TomahawkUtils::defaultFontSize() + 7 ); - ui->albumLabel->setFont( f ); -// ui->similarTracksLabel->setFont( f ); - - f.setPointSize( TomahawkUtils::defaultFontSize() + 4 ); - ui->artistLabel->setFont( f ); - QPalette p = ui->biography->palette(); p.setColor( QPalette::Foreground, Qt::white ); p.setColor( QPalette::Text, Qt::white ); - ui->albumLabel->setPalette( p ); - ui->artistLabel->setPalette( p ); ui->biography->setPalette( p ); ui->label->setPalette( p ); ui->label_2->setPalette( p ); - ui->artistLabel->setType( QueryLabel::Artist ); - QScrollArea* area = new QScrollArea(); area->setWidgetResizable( true ); area->setWidget( widget ); @@ -128,7 +121,6 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par "border-image: url(" RESPATH "images/scrollbar-vertical-handle.png) 3 3 3 3 stretch stretch;" "border-top: 3px transparent; border-bottom: 3px transparent; border-right: 3px transparent; border-left: 3px transparent; }" ); -// ui->topHits->setStyleSheet( "QTreeView#topHits { background-color: transparent; }" ); ui->trackFrame->setStyleSheet( "QFrame#trackFrame { background-color: transparent; }" "QFrame#trackFrame { " "border-image: url(" RESPATH "images/scrollbar-vertical-handle.png) 3 3 3 3 stretch stretch;" @@ -140,8 +132,6 @@ AlbumInfoWidget::AlbumInfoWidget( const Tomahawk::album_ptr& album, QWidget* par m_playlistInterface = playlistinterface_ptr( mpl ); load( album ); - - connect( ui->artistLabel, SIGNAL( clickedArtist() ), SLOT( onArtistClicked() ) ); } @@ -197,10 +187,8 @@ AlbumInfoWidget::load( const album_ptr& album ) m_album = album; m_title = album->name(); - connect( m_album.data(), SIGNAL( updated() ), SLOT( onArtistImageUpdated() ) ); + connect( m_album.data(), SIGNAL( updated() ), SLOT( onAlbumImageUpdated() ) ); - ui->artistLabel->setArtist( album->artist() ); - ui->albumLabel->setText( album->name() ); ui->label_2->setText( tr( "Other Albums by %1" ).arg( album->artist()->name() ) ); ui->cover->setAlbum( album ); diff --git a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.ui b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.ui index 01e71ae4e..d565c3776 100644 --- a/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.ui +++ b/src/libtomahawk/widgets/infowidgets/AlbumInfoWidget.ui @@ -13,318 +13,200 @@ <property name="windowTitle"> <string>Form</string> </property> - <layout class="QVBoxLayout" name="verticalLayout_3"> + <layout class="QVBoxLayout" name="verticalLayout"> + <property name="spacing"> + <number>16</number> + </property> + <property name="margin"> + <number>12</number> + </property> <item> - <layout class="QHBoxLayout" name="horizontalLayout_3"> - <property name="leftMargin"> - <number>12</number> - </property> - <property name="topMargin"> - <number>12</number> - </property> - <property name="rightMargin"> + <layout class="QHBoxLayout" name="horizontalLayout"> + <property name="spacing"> <number>16</number> </property> - <property name="bottomMargin"> - <number>12</number> + <property name="margin"> + <number>0</number> </property> <item> - <layout class="QVBoxLayout" name="verticalLayout"> - <property name="margin"> - <number>0</number> + <widget class="PlayableCover" name="cover"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Fixed" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> </property> - <item> - <widget class="QFrame" name="trackFrame"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>0</height> - </size> - </property> - <property name="frameShape"> - <enum>QFrame::StyledPanel</enum> - </property> - <property name="frameShadow"> - <enum>QFrame::Raised</enum> - </property> - <layout class="QVBoxLayout" name="verticalLayout_6"> - <property name="spacing"> - <number>4</number> - </property> - <property name="leftMargin"> - <number>8</number> - </property> - <property name="topMargin"> - <number>4</number> - </property> - <property name="rightMargin"> - <number>8</number> - </property> - <property name="bottomMargin"> - <number>8</number> - </property> - <item> - <widget class="QLabel" name="label"> - <property name="font"> - <font> - <pointsize>18</pointsize> - <weight>75</weight> - <bold>true</bold> - </font> - </property> - <property name="text"> - <string>Tracklist</string> - </property> - <property name="margin"> - <number>0</number> - </property> - </widget> - </item> - <item> - <widget class="TreeView" name="tracks"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>300</height> - </size> - </property> - <property name="headerHidden"> - <bool>true</bool> - </property> - </widget> - </item> - </layout> - </widget> - </item> - <item> - <spacer name="verticalSpacer"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeType"> - <enum>QSizePolicy::Fixed</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>16</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QFrame" name="albumFrame"> - <property name="minimumSize"> - <size> - <width>0</width> - <height>0</height> - </size> - </property> - <property name="frameShape"> - <enum>QFrame::StyledPanel</enum> - </property> - <property name="frameShadow"> - <enum>QFrame::Raised</enum> - </property> - <layout class="QVBoxLayout" name="verticalLayout_4"> - <property name="spacing"> - <number>4</number> - </property> - <property name="leftMargin"> - <number>8</number> - </property> - <property name="topMargin"> - <number>4</number> - </property> - <property name="rightMargin"> - <number>8</number> - </property> - <property name="bottomMargin"> - <number>4</number> - </property> - <item> - <widget class="QLabel" name="label_2"> - <property name="font"> - <font> - <family>Arial</family> - <pointsize>18</pointsize> - <weight>75</weight> - <bold>true</bold> - </font> - </property> - <property name="text"> - <string>Other Albums</string> - </property> - <property name="margin"> - <number>0</number> - </property> - </widget> - </item> - <item> - <widget class="GridView" name="albums"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>0</width> - <height>190</height> - </size> - </property> - </widget> - </item> - </layout> - </widget> - </item> - </layout> + <property name="minimumSize"> + <size> + <width>260</width> + <height>260</height> + </size> + </property> + <property name="text"> + <string>Cover</string> + </property> + <property name="alignment"> + <set>Qt::AlignCenter</set> + </property> + </widget> </item> <item> - <layout class="QVBoxLayout" name="verticalLayout_8"> - <property name="spacing"> - <number>-1</number> + <widget class="QTextBrowser" name="biography"> + <property name="sizePolicy"> + <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> </property> - <property name="leftMargin"> - <number>16</number> + <property name="minimumSize"> + <size> + <width>0</width> + <height>240</height> + </size> </property> - <property name="topMargin"> - <number>0</number> + <property name="horizontalScrollBarPolicy"> + <enum>Qt::ScrollBarAlwaysOff</enum> </property> - <property name="rightMargin"> - <number>0</number> - </property> - <property name="bottomMargin"> - <number>0</number> - </property> - <item> - <widget class="PlayableCover" name="cover"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Minimum" vsizetype="Fixed"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>220</width> - <height>220</height> - </size> - </property> - <property name="text"> - <string>Cover</string> - </property> - <property name="alignment"> - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - <item> - <spacer name="verticalSpacer_4"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeType"> - <enum>QSizePolicy::Fixed</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>13</height> - </size> - </property> - </spacer> - </item> - <item> - <layout class="QVBoxLayout" name="verticalLayout_7"> - <property name="spacing"> - <number>4</number> - </property> - <property name="margin"> - <number>0</number> - </property> - <item> - <layout class="QHBoxLayout" name="horizontalLayout"> - <property name="spacing"> - <number>4</number> - </property> - <property name="margin"> - <number>0</number> - </property> - <item> - <widget class="QLabel" name="albumLabel"> - <property name="text"> - <string>Album</string> - </property> - <property name="alignment"> - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - </layout> - </item> - <item> - <layout class="QHBoxLayout" name="horizontalLayout_2"> - <property name="spacing"> - <number>4</number> - </property> - <property name="margin"> - <number>0</number> - </property> - <item> - <widget class="QueryLabel" name="artistLabel"> - <property name="text"> - <string>Artist</string> - </property> - <property name="alignment"> - <set>Qt::AlignCenter</set> - </property> - </widget> - </item> - </layout> - </item> - </layout> - </item> - <item> - <spacer name="verticalSpacer_3"> - <property name="orientation"> - <enum>Qt::Vertical</enum> - </property> - <property name="sizeType"> - <enum>QSizePolicy::Fixed</enum> - </property> - <property name="sizeHint" stdset="0"> - <size> - <width>20</width> - <height>13</height> - </size> - </property> - </spacer> - </item> - <item> - <widget class="QTextBrowser" name="biography"> - <property name="sizePolicy"> - <sizepolicy hsizetype="Minimum" vsizetype="MinimumExpanding"> - <horstretch>0</horstretch> - <verstretch>0</verstretch> - </sizepolicy> - </property> - <property name="minimumSize"> - <size> - <width>0</width> - <height>240</height> - </size> - </property> - <property name="horizontalScrollBarPolicy"> - <enum>Qt::ScrollBarAlwaysOff</enum> - </property> - </widget> - </item> - </layout> + </widget> </item> </layout> </item> + <item> + <widget class="QFrame" name="trackFrame"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>0</height> + </size> + </property> + <property name="frameShape"> + <enum>QFrame::StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Raised</enum> + </property> + <layout class="QVBoxLayout" name="verticalLayout_6"> + <property name="spacing"> + <number>4</number> + </property> + <property name="leftMargin"> + <number>8</number> + </property> + <property name="topMargin"> + <number>4</number> + </property> + <property name="rightMargin"> + <number>8</number> + </property> + <property name="bottomMargin"> + <number>8</number> + </property> + <item> + <widget class="QLabel" name="label"> + <property name="font"> + <font> + <pointsize>18</pointsize> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="text"> + <string>Tracklist</string> + </property> + <property name="margin"> + <number>0</number> + </property> + </widget> + </item> + <item> + <widget class="TrackView" name="tracks"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="MinimumExpanding"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>300</height> + </size> + </property> + <property name="headerHidden"> + <bool>true</bool> + </property> + </widget> + </item> + </layout> + </widget> + </item> + <item> + <widget class="QFrame" name="albumFrame"> + <property name="minimumSize"> + <size> + <width>0</width> + <height>0</height> + </size> + </property> + <property name="frameShape"> + <enum>QFrame::StyledPanel</enum> + </property> + <property name="frameShadow"> + <enum>QFrame::Raised</enum> + </property> + <layout class="QVBoxLayout" name="verticalLayout_4"> + <property name="spacing"> + <number>4</number> + </property> + <property name="leftMargin"> + <number>8</number> + </property> + <property name="topMargin"> + <number>4</number> + </property> + <property name="rightMargin"> + <number>8</number> + </property> + <property name="bottomMargin"> + <number>4</number> + </property> + <item> + <widget class="QLabel" name="label_2"> + <property name="font"> + <font> + <family>Arial</family> + <pointsize>18</pointsize> + <weight>75</weight> + <bold>true</bold> + </font> + </property> + <property name="text"> + <string>Other Albums</string> + </property> + <property name="margin"> + <number>0</number> + </property> + </widget> + </item> + <item> + <widget class="GridView" name="albums"> + <property name="sizePolicy"> + <sizepolicy hsizetype="Expanding" vsizetype="Fixed"> + <horstretch>0</horstretch> + <verstretch>0</verstretch> + </sizepolicy> + </property> + <property name="minimumSize"> + <size> + <width>0</width> + <height>190</height> + </size> + </property> + </widget> + </item> + </layout> + </widget> + </item> </layout> </widget> <customwidgets> @@ -334,14 +216,9 @@ <header location="global">playlist/GridView.h</header> </customwidget> <customwidget> - <class>TreeView</class> + <class>TrackView</class> <extends>QTreeView</extends> - <header>playlist/TreeView.h</header> - </customwidget> - <customwidget> - <class>QueryLabel</class> - <extends>QLabel</extends> - <header>widgets/QueryLabel.h</header> + <header>playlist/TrackView.h</header> </customwidget> <customwidget> <class>PlayableCover</class>