diff --git a/src/audiocontrols.cpp b/src/audiocontrols.cpp index ce9dc0357..7961669f9 100644 --- a/src/audiocontrols.cpp +++ b/src/audiocontrols.cpp @@ -298,9 +298,11 @@ AudioControls::onPlaybackLoading( const Tomahawk::result_ptr& result ) ui->pauseButton->setVisible( true ); ui->playPauseButton->setVisible( false ); ui->playPauseButton->setEnabled( false ); + ui->loveButton->setEnabled( true ); + ui->loveButton->setVisible( true ); result->loadSocialActions(); - ui->loveButton->setVisible( true ); + if ( result->loved() ) { ui->loveButton->setPixmap( RESPATH "images/loved.png" ); diff --git a/src/libtomahawk/CMakeLists.txt b/src/libtomahawk/CMakeLists.txt index da15df272..a02545d1e 100644 --- a/src/libtomahawk/CMakeLists.txt +++ b/src/libtomahawk/CMakeLists.txt @@ -171,7 +171,9 @@ set( libSources widgets/welcomewidget.cpp widgets/welcomeplaylistmodel.cpp widgets/overlaywidget.cpp + widgets/HeaderLabel.cpp widgets/infowidgets/sourceinfowidget.cpp +# widgets/infowidgets/ArtistInfoWidget.cpp kdsingleapplicationguard/kdsingleapplicationguard.cpp kdsingleapplicationguard/kdsharedmemorylocker.cpp @@ -338,7 +340,9 @@ set( libHeaders widgets/welcomewidget.h widgets/welcomeplaylistmodel.h widgets/overlaywidget.h + widgets/HeaderLabel.h widgets/infowidgets/sourceinfowidget.h +# widgets/infowidgets/ArtistInfoWidget.h kdsingleapplicationguard/kdsingleapplicationguard.h ) @@ -360,6 +364,7 @@ set( libUI ${libUI} widgets/searchwidget.ui widgets/welcomewidget.ui widgets/infowidgets/sourceinfowidget.ui +# widgets/infowidgets/ArtistInfoWidget.ui playlist/topbar/topbar.ui playlist/infobar/infobar.ui ) diff --git a/src/libtomahawk/audio/audioengine.cpp b/src/libtomahawk/audio/audioengine.cpp index 0ee4a37da..5ef2d8e70 100644 --- a/src/libtomahawk/audio/audioengine.cpp +++ b/src/libtomahawk/audio/audioengine.cpp @@ -154,9 +154,9 @@ AudioEngine::stop() sendWaitingNotification(); else if ( TomahawkSettings::instance()->verboseNotifications() ) { - Tomahawk::InfoSystem::InfoCriteriaHash stopInfo; + Tomahawk::InfoSystem::InfoCustomData stopInfo; stopInfo["message"] = QString( "Tomahawk is stopped." ); - map[ Tomahawk::InfoSystem::InfoNotifyUser ] = QVariant::fromValue< Tomahawk::InfoSystem::InfoCriteriaHash >( stopInfo ); + map[ Tomahawk::InfoSystem::InfoNotifyUser ] = QVariant::fromValue< Tomahawk::InfoSystem::InfoCustomData >( stopInfo ); } Tomahawk::InfoSystem::InfoSystem::instance()->pushInfo( s_aeInfoIdentifier, map ); @@ -240,11 +240,11 @@ AudioEngine::mute() void AudioEngine::sendWaitingNotification() const { - Tomahawk::InfoSystem::InfoCriteriaHash retryInfo; + Tomahawk::InfoSystem::InfoCustomData retryInfo; retryInfo["message"] = QString( "The current track could not be resolved. Tomahawk will pick back up with the next resolvable track from this source." ); Tomahawk::InfoSystem::InfoSystem::instance()->pushInfo( s_aeInfoIdentifier, Tomahawk::InfoSystem::InfoNotifyUser, - QVariant::fromValue< Tomahawk::InfoSystem::InfoCriteriaHash >( retryInfo ) ); + QVariant::fromValue< Tomahawk::InfoSystem::InfoCustomData >( retryInfo ) ); } @@ -329,12 +329,13 @@ AudioEngine::loadTrack( const Tomahawk::result_ptr& result ) if ( TomahawkSettings::instance()->verboseNotifications() ) { - Tomahawk::InfoSystem::InfoCriteriaHash playInfo; + Tomahawk::InfoSystem::InfoCustomData playInfo; playInfo["message"] = QString( "Tomahawk is playing \"%1\" by %2 on album %3." ) .arg( m_currentTrack->track() ) .arg( m_currentTrack->artist()->name() ) .arg( m_currentTrack->album()->name() ); - map[ Tomahawk::InfoSystem::InfoNotifyUser ] = QVariant::fromValue< Tomahawk::InfoSystem::InfoCriteriaHash >( playInfo ); + playInfo["image"] = QVariant( m_currentTrack->collection()->source()->avatar().toImage() ); + map[ Tomahawk::InfoSystem::InfoNotifyUser ] = QVariant::fromValue< Tomahawk::InfoSystem::InfoCustomData >( playInfo ); } Tomahawk::InfoSystem::InfoSystem::instance()->pushInfo( s_aeInfoIdentifier, map ); diff --git a/src/libtomahawk/infosystem/infoplugins/unix/fdonotifyplugin.cpp b/src/libtomahawk/infosystem/infoplugins/unix/fdonotifyplugin.cpp index c0b7f9d0d..7e38e615f 100644 --- a/src/libtomahawk/infosystem/infoplugins/unix/fdonotifyplugin.cpp +++ b/src/libtomahawk/infosystem/infoplugins/unix/fdonotifyplugin.cpp @@ -63,12 +63,12 @@ FdoNotifyPlugin::pushInfo( const QString caller, const Tomahawk::InfoSystem::Inf { Q_UNUSED( caller ); qDebug() << Q_FUNC_INFO; - if ( type != Tomahawk::InfoSystem::InfoNotifyUser || !pushData.canConvert< Tomahawk::InfoSystem::InfoCriteriaHash >() ) + if ( type != Tomahawk::InfoSystem::InfoNotifyUser || !pushData.canConvert< Tomahawk::InfoSystem::InfoCustomData >() ) { qDebug() << Q_FUNC_INFO << " not the right type or could not convert the hash"; return; } - Tomahawk::InfoSystem::InfoCriteriaHash hash = pushData.value< Tomahawk::InfoSystem::InfoCriteriaHash >(); + Tomahawk::InfoSystem::InfoCustomData hash = pushData.value< Tomahawk::InfoSystem::InfoCustomData >(); if ( !hash.contains( "message" ) ) { qDebug() << Q_FUNC_INFO << " hash did not contain a message"; @@ -81,11 +81,18 @@ FdoNotifyPlugin::pushInfo( const QString caller, const Tomahawk::InfoSystem::Inf arguments << quint32( 0 ); //notification_id arguments << QString(); //app_icon arguments << QString( "Tomahawk" ); //summary - arguments << hash["message"]; //body + arguments << hash["message"].toString(); //body arguments << QStringList(); //actions QVariantMap dict; dict["desktop-entry"] = QString( "tomahawk" ); - dict["image_data"] = ImageConverter::variantForImage( QImage( RESPATH "icons/tomahawk-icon-128x128.png" ) ); + if ( hash.contains( "image" ) ) + { + QVariant tempVariant = hash["image"]; + QImage tempImage = tempVariant.value< QImage >(); + dict["image_data"] = ImageConverter::variantForImage( tempImage ); + } + else + dict["image_data"] = ImageConverter::variantForImage( QImage( RESPATH "icons/tomahawk-icon-128x128.png" ) ); arguments << dict; //hints arguments << qint32( -1 ); //expire_timeout message.setArguments( arguments ); diff --git a/src/libtomahawk/playlist/playlistitemdelegate.cpp b/src/libtomahawk/playlist/playlistitemdelegate.cpp index 9bfc69445..68fe42143 100644 --- a/src/libtomahawk/playlist/playlistitemdelegate.cpp +++ b/src/libtomahawk/playlist/playlistitemdelegate.cpp @@ -205,16 +205,16 @@ PlaylistItemDelegate::paintShort( QPainter* painter, const QStyleOptionViewItem& QFont boldFont = opt.font; boldFont.setBold( true ); - r.adjust( ir.width() + 12, 0, 0, 0 ); + r.adjust( ir.width() + 12, 0, -12, 0 ); QTextOption to( Qt::AlignTop ); to.setWrapMode( QTextOption::NoWrap ); painter->setFont( boldFont ); - QString text = painter->fontMetrics().elidedText( upperText, Qt::ElideRight, r.width() - 3 ); + QString text = painter->fontMetrics().elidedText( upperText, Qt::ElideRight, r.width() ); painter->drawText( r.adjusted( 0, 1, 0, 0 ), text, to ); to.setAlignment( Qt::AlignBottom ); painter->setFont( opt.font ); - text = painter->fontMetrics().elidedText( lowerText, Qt::ElideRight, r.width() - 3 ); + text = painter->fontMetrics().elidedText( lowerText, Qt::ElideRight, r.width() ); painter->drawText( r.adjusted( 0, 1, 0, 0 ), text, to ); } painter->restore(); diff --git a/src/libtomahawk/sourceplaylistinterface.cpp b/src/libtomahawk/sourceplaylistinterface.cpp index bf1836228..bf3fafb66 100644 --- a/src/libtomahawk/sourceplaylistinterface.cpp +++ b/src/libtomahawk/sourceplaylistinterface.cpp @@ -103,16 +103,6 @@ SourcePlaylistInterface::onSourcePlaybackStarted( const Tomahawk::query_ptr& que } -void -SourcePlaylistInterface::resolveResultsAdded( const QList<Tomahawk::result_ptr>& results ) const -{ - qDebug() << Q_FUNC_INFO; - foreach ( Tomahawk::result_ptr ptr, results ) - { -// qDebug() << "Found result:" << ptr->track(); - } -} - void SourcePlaylistInterface::resolvingFinished( bool hasResults ) { diff --git a/src/libtomahawk/sourceplaylistinterface.h b/src/libtomahawk/sourceplaylistinterface.h index 7eb8d179d..097d1a4be 100644 --- a/src/libtomahawk/sourceplaylistinterface.h +++ b/src/libtomahawk/sourceplaylistinterface.h @@ -74,7 +74,6 @@ signals: private slots: void onSourcePlaybackStarted( const Tomahawk::query_ptr& query ); - void resolveResultsAdded( const QList<Tomahawk::result_ptr>& results ) const; void resolvingFinished( bool hasResults ); private: diff --git a/src/libtomahawk/utils/tomahawkutils.cpp b/src/libtomahawk/utils/tomahawkutils.cpp index 8cb25944b..6cf01c787 100644 --- a/src/libtomahawk/utils/tomahawkutils.cpp +++ b/src/libtomahawk/utils/tomahawkutils.cpp @@ -24,6 +24,7 @@ #include <QDateTime> #include <QDebug> #include <QDir> +#include <QLayout> #include <QPainter> #include <QPixmap> #include <QNetworkAccessManager> @@ -338,6 +339,22 @@ createDragPixmap( int itemCount ) } +void +unmarginLayout( QLayout* layout ) +{ + layout->setContentsMargins( 0, 0, 0, 0 ); + layout->setMargin( 0 ); + layout->setSpacing( 0 ); + + for ( int i = 0; i < layout->count(); i++ ) + { + QLayout* childLayout = layout->itemAt( i )->layout(); + if ( childLayout ) + unmarginLayout( childLayout ); + } +} + + QWeakPointer< QNetworkAccessManager > s_nam; NetworkProxyFactory* s_proxyFactory = 0; diff --git a/src/libtomahawk/utils/tomahawkutils.h b/src/libtomahawk/utils/tomahawkutils.h index e4d461e99..581252bf7 100644 --- a/src/libtomahawk/utils/tomahawkutils.h +++ b/src/libtomahawk/utils/tomahawkutils.h @@ -24,7 +24,6 @@ #include <QThread> #include <QNetworkProxy> #include <QStringList> -#include <QDir> #define RESPATH ":/data/" @@ -33,8 +32,8 @@ class QDir; class QDateTime; class QString; class QPixmap; +class QLayout; class QNetworkAccessManager; -class QNetworkProxy; namespace TomahawkUtils { @@ -72,6 +71,8 @@ namespace TomahawkUtils DLLEXPORT QColor alphaBlend( const QColor& colorFrom, const QColor& colorTo, float opacity ); DLLEXPORT QPixmap createDragPixmap( int itemCount = 1 ); + DLLEXPORT void unmarginLayout( QLayout* layout ); + DLLEXPORT NetworkProxyFactory* proxyFactory(); DLLEXPORT QNetworkAccessManager* nam(); diff --git a/src/libtomahawk/widgets/HeaderLabel.cpp b/src/libtomahawk/widgets/HeaderLabel.cpp new file mode 100644 index 000000000..208abed60 --- /dev/null +++ b/src/libtomahawk/widgets/HeaderLabel.cpp @@ -0,0 +1,86 @@ +/* === This file is part of Tomahawk Player - <http://tomahawk-player.org> === + * + * Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org> + * + * Tomahawk is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Tomahawk is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Tomahawk. If not, see <http://www.gnu.org/licenses/>. + */ + +#include "HeaderLabel.h" + +#include <QDebug> +#include <QPainter> + +#define FONT_SIZE 16 + + +HeaderLabel::HeaderLabel( QWidget* parent ) + : QLabel( parent ) + , m_parent( parent ) +{ + QFont f( font() ); + f.setBold( true ); + f.setPointSize( 11 ); + +#ifdef Q_WS_MAC + f.setPointSize( f.pointSize() - 2 ); +#endif + + setFont( f ); + setFixedHeight( sizeHint().height() + 8 ); +} + + +HeaderLabel::~HeaderLabel() +{ +} + + +QSize +HeaderLabel::sizeHint() const +{ + return QLabel::sizeHint(); +} + + +void +HeaderLabel::paintEvent( QPaintEvent* event ) +{ + QPainter p( this ); + QRect r = contentsRect(); + +// p.setRenderHint( QPainter::Antialiasing ); + + QRect upperHalf( 0, 0, r.width(), r.height() / 2 ); + QRect lowerHalf( 0, upperHalf.height(), r.width(), r.height() ); + p.fillRect( upperHalf, QColor( 80, 80, 80 ) ); + p.fillRect( lowerHalf, QColor( 72, 72, 72 ) ); + + { + QColor lineColor( 100, 100, 100 ); + QLine line( 0, 0, r.width(), 0 ); + p.setPen( lineColor ); + p.drawLine( line ); + } + { + QColor lineColor( 30, 30, 30 ); + QLine line( 0, r.height() - 1, r.width(), r.height() - 1 ); + p.setPen( lineColor ); + p.drawLine( line ); + } + + QTextOption to( Qt::AlignVCenter ); + r.adjust( 8, 0, -8, 0 ); + p.setPen( Qt::white ); + p.drawText( r, text(), to ); +} diff --git a/src/libtomahawk/widgets/HeaderLabel.h b/src/libtomahawk/widgets/HeaderLabel.h new file mode 100644 index 000000000..3333dabf6 --- /dev/null +++ b/src/libtomahawk/widgets/HeaderLabel.h @@ -0,0 +1,47 @@ +/* === This file is part of Tomahawk Player - <http://tomahawk-player.org> === + * + * Copyright 2010-2011, Christian Muehlhaeuser <muesli@tomahawk-player.org> + * + * Tomahawk is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Tomahawk is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Tomahawk. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef HEADERLABEL_H +#define HEADERLABEL_H + +#include <QLabel> + +#include "dllmacro.h" + +class DLLEXPORT HeaderLabel : public QLabel +{ +Q_OBJECT + +public: + HeaderLabel( QWidget* parent ); + ~HeaderLabel(); + + QSize minimumSizeHint() const { return sizeHint(); } + QSize sizeHint() const; + +public slots: + +protected: +// void changeEvent( QEvent* e ); + void paintEvent( QPaintEvent* event ); + +private: + QWidget* m_parent; +}; + +#endif // HEADERLABEL_H diff --git a/src/libtomahawk/widgets/infowidgets/sourceinfowidget.cpp b/src/libtomahawk/widgets/infowidgets/sourceinfowidget.cpp index 77912e92a..228284d19 100644 --- a/src/libtomahawk/widgets/infowidgets/sourceinfowidget.cpp +++ b/src/libtomahawk/widgets/infowidgets/sourceinfowidget.cpp @@ -38,6 +38,15 @@ SourceInfoWidget::SourceInfoWidget( const Tomahawk::source_ptr& source, QWidget* { ui->setupUi( this ); + ui->historyView->setFrameShape( QFrame::NoFrame ); + ui->historyView->setAttribute( Qt::WA_MacShowFocusRect, 0 ); + ui->recentAlbumView->setFrameShape( QFrame::NoFrame ); + ui->recentAlbumView->setAttribute( Qt::WA_MacShowFocusRect, 0 ); + ui->recentCollectionView->setFrameShape( QFrame::NoFrame ); + ui->recentCollectionView->setAttribute( Qt::WA_MacShowFocusRect, 0 ); + + TomahawkUtils::unmarginLayout( layout() ); + ui->historyView->overlay()->setEnabled( false ); m_recentCollectionModel = new CollectionFlatModel( ui->recentCollectionView ); diff --git a/src/libtomahawk/widgets/infowidgets/sourceinfowidget.ui b/src/libtomahawk/widgets/infowidgets/sourceinfowidget.ui index cfb416fcb..bde48ccbc 100644 --- a/src/libtomahawk/widgets/infowidgets/sourceinfowidget.ui +++ b/src/libtomahawk/widgets/infowidgets/sourceinfowidget.ui @@ -6,7 +6,7 @@ <rect> <x>0</x> <y>0</y> - <width>985</width> + <width>831</width> <height>460</height> </rect> </property> @@ -14,14 +14,7 @@ <item> <layout class="QVBoxLayout" name="verticalLayout"> <item> - <widget class="QLabel" name="label_2"> - <property name="font"> - <font> - <pointsize>13</pointsize> - <weight>75</weight> - <bold>true</bold> - </font> - </property> + <widget class="HeaderLabel" name="label_2"> <property name="text"> <string>Recent Albums</string> </property> @@ -56,14 +49,7 @@ <item> <layout class="QVBoxLayout" name="verticalLayout_3"> <item> - <widget class="QLabel" name="label"> - <property name="font"> - <font> - <pointsize>13</pointsize> - <weight>75</weight> - <bold>true</bold> - </font> - </property> + <widget class="HeaderLabel" name="label"> <property name="text"> <string>Latest Additions to their Collection</string> </property> @@ -77,14 +63,7 @@ <item> <layout class="QVBoxLayout" name="verticalLayout_2"> <item> - <widget class="QLabel" name="label_3"> - <property name="font"> - <font> - <pointsize>13</pointsize> - <weight>75</weight> - <bold>true</bold> - </font> - </property> + <widget class="HeaderLabel" name="label_3"> <property name="text"> <string>Recently played Tracks</string> </property> @@ -100,21 +79,26 @@ </layout> </widget> <customwidgets> + <customwidget> + <class>HeaderLabel</class> + <extends>QLabel</extends> + <header location="global">widgets/HeaderLabel.h</header> + </customwidget> <customwidget> <class>PlaylistView</class> <extends>QTreeView</extends> <header>playlist/playlistview.h</header> </customwidget> - <customwidget> - <class>CollectionView</class> - <extends>QTreeView</extends> - <header>playlist/collectionview.h</header> - </customwidget> <customwidget> <class>AlbumView</class> <extends>QListView</extends> <header>playlist/albumview.h</header> </customwidget> + <customwidget> + <class>CollectionView</class> + <extends>QTreeView</extends> + <header>playlist/collectionview.h</header> + </customwidget> </customwidgets> <resources/> <connections/> diff --git a/src/libtomahawk/widgets/welcomewidget.cpp b/src/libtomahawk/widgets/welcomewidget.cpp index f288f6714..8ec1d4d1a 100644 --- a/src/libtomahawk/widgets/welcomewidget.cpp +++ b/src/libtomahawk/widgets/welcomewidget.cpp @@ -48,10 +48,26 @@ WelcomeWidget::WelcomeWidget( QWidget* parent ) ui->setupUi( this ); ui->splitter->setHandleWidth( 1 ); + ui->splitter_2->setHandleWidth( 1 ); + ui->splitter_2->setStretchFactor( 0, 2 ); + ui->splitter_2->setStretchFactor( 0, 1 ); WelcomePlaylistModel* model = new WelcomePlaylistModel( this ); model->setMaxPlaylists( HISTORY_PLAYLIST_ITEMS ); + ui->playlistWidget->setFrameShape( QFrame::NoFrame ); + ui->playlistWidget->setAttribute( Qt::WA_MacShowFocusRect, 0 ); + ui->tracksView->setFrameShape( QFrame::NoFrame ); + ui->tracksView->setAttribute( Qt::WA_MacShowFocusRect, 0 ); + ui->additionsView->setFrameShape( QFrame::NoFrame ); + ui->additionsView->setAttribute( Qt::WA_MacShowFocusRect, 0 ); + + TomahawkUtils::unmarginLayout( layout() ); + TomahawkUtils::unmarginLayout( ui->verticalLayout->layout() ); + TomahawkUtils::unmarginLayout( ui->verticalLayout_2->layout() ); + TomahawkUtils::unmarginLayout( ui->verticalLayout_3->layout() ); + TomahawkUtils::unmarginLayout( ui->verticalLayout_4->layout() ); + ui->playlistWidget->setItemDelegate( new PlaylistDelegate() ); ui->playlistWidget->setModel( model ); ui->playlistWidget->overlay()->resize( 380, 86 ); diff --git a/src/libtomahawk/widgets/welcomewidget.ui b/src/libtomahawk/widgets/welcomewidget.ui index d55ca2ff7..489ff9fb2 100644 --- a/src/libtomahawk/widgets/welcomewidget.ui +++ b/src/libtomahawk/widgets/welcomewidget.ui @@ -6,106 +6,95 @@ <rect> <x>0</x> <y>0</y> - <width>985</width> - <height>459</height> + <width>875</width> + <height>513</height> </rect> </property> - <layout class="QHBoxLayout" name="horizontalLayout" stretch="2,1"> + <layout class="QVBoxLayout" name="verticalLayout_4"> <item> - <widget class="QSplitter" name="splitter"> + <widget class="QSplitter" name="splitter_2"> <property name="orientation"> - <enum>Qt::Vertical</enum> + <enum>Qt::Horizontal</enum> </property> - <widget class="QWidget" name=""> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <widget class="QLabel" name="label_4"> - <property name="font"> - <font> - <pointsize>14</pointsize> - </font> - </property> - <property name="text"> - <string>Recent Additions</string> - </property> - </widget> - </item> - <item> - <widget class="AlbumView" name="additionsView"/> - </item> - </layout> + <widget class="QSplitter" name="splitter"> + <property name="orientation"> + <enum>Qt::Vertical</enum> + </property> + <widget class="QWidget" name="layoutWidget1"> + <layout class="QVBoxLayout" name="verticalLayout"> + <item> + <widget class="HeaderLabel" name="label_4"> + <property name="text"> + <string>Recent Additions</string> + </property> + </widget> + </item> + <item> + <widget class="AlbumView" name="additionsView"/> + </item> + </layout> + </widget> + <widget class="QWidget" name="layoutWidget2"> + <layout class="QVBoxLayout" name="verticalLayout_3"> + <item> + <widget class="HeaderLabel" name="label_2"> + <property name="text"> + <string>Newest Stations & Playlists</string> + </property> + </widget> + </item> + <item> + <widget class="PlaylistWidget" name="playlistWidget"/> + </item> + </layout> + </widget> </widget> <widget class="QWidget" name=""> - <layout class="QVBoxLayout" name="verticalLayout_3"> + <layout class="QVBoxLayout" name="verticalLayout_2"> <item> - <widget class="QLabel" name="label_2"> - <property name="font"> - <font> - <pointsize>14</pointsize> - </font> - </property> + <widget class="HeaderLabel" name="label_3"> <property name="text"> - <string>Newest Stations & Playlists</string> + <string>Recently Played Tracks</string> </property> </widget> </item> <item> - <widget class="PlaylistWidget" name="playlistWidget"/> + <widget class="PlaylistView" name="tracksView"> + <property name="minimumSize"> + <size> + <width>320</width> + <height>0</height> + </size> + </property> + </widget> </item> </layout> </widget> </widget> </item> - <item> - <layout class="QVBoxLayout" name="verticalLayout_2"> - <item> - <widget class="QLabel" name="label_3"> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>16777215</height> - </size> - </property> - <property name="font"> - <font> - <pointsize>14</pointsize> - </font> - </property> - <property name="text"> - <string>Recently Played Tracks</string> - </property> - </widget> - </item> - <item> - <widget class="PlaylistView" name="tracksView"> - <property name="maximumSize"> - <size> - <width>16777215</width> - <height>16777215</height> - </size> - </property> - </widget> - </item> - </layout> - </item> </layout> </widget> <customwidgets> + <customwidget> + <class>HeaderLabel</class> + <extends>QLabel</extends> + <header location="global">widgets/HeaderLabel.h</header> + </customwidget> <customwidget> <class>PlaylistView</class> <extends>QTreeView</extends> <header>playlist/playlistview.h</header> </customwidget> - <customwidget> - <class>PlaylistWidget</class> - <extends>QListWidget</extends> - <header>widgets/welcomewidget.h</header> - </customwidget> <customwidget> <class>AlbumView</class> <extends>QListView</extends> <header>playlist/albumview.h</header> </customwidget> + <customwidget> + <class>PlaylistWidget</class> + <extends>QListWidget</extends> + <header>widgets/welcomewidget.h</header> + </customwidget> </customwidgets> <resources/> <connections/> diff --git a/src/resolvers/qtscriptresolver.h b/src/resolvers/qtscriptresolver.h index 86475df4f..6ea58c5e0 100644 --- a/src/resolvers/qtscriptresolver.h +++ b/src/resolvers/qtscriptresolver.h @@ -26,6 +26,7 @@ #include <QApplication> #include <QDebug> +#include <QDir> #include <QFile> #include <QThread> #include <QtWebKit/QWebPage>