1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-07-31 03:10:12 +02:00

* Added home button to toolbar and linked it to PlaylistManager's showWelcomePage().

This commit is contained in:
Christian Muehlhaeuser
2011-02-26 03:11:58 +01:00
parent fa6a2533d0
commit f9c4eac734
9 changed files with 46 additions and 32 deletions

BIN
data/images/home.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@@ -70,6 +70,7 @@
<file>./data/images/volume-slider-level.png</file> <file>./data/images/volume-slider-level.png</file>
<file>./data/images/echonest_logo.png</file> <file>./data/images/echonest_logo.png</file>
<file>./data/images/loading-animation.gif</file> <file>./data/images/loading-animation.gif</file>
<file>./data/images/home.png</file>
<file>./data/topbar-radiobuttons.css</file> <file>./data/topbar-radiobuttons.css</file>
<file>./data/icons/tomahawk-icon-16x16.png</file> <file>./data/icons/tomahawk-icon-16x16.png</file>
<file>./data/icons/tomahawk-icon-32x32.png</file> <file>./data/icons/tomahawk-icon-32x32.png</file>

View File

@@ -104,7 +104,7 @@ ControlConnection::registerSource()
void void
ControlConnection::setupDbSyncConnection( bool ondemand ) ControlConnection::setupDbSyncConnection( bool ondemand )
{ {
if( m_dbsyncconn != NULL || ! m_registered ) if( m_dbsyncconn != NULL || !m_registered )
return; return;
qDebug() << Q_FUNC_INFO << ondemand << m_source->id(); qDebug() << Q_FUNC_INFO << ondemand << m_source->id();
@@ -115,12 +115,6 @@ ControlConnection::setupDbSyncConnection( bool ondemand )
qDebug() << "Connecting to DBSync offer from peer..."; qDebug() << "Connecting to DBSync offer from peer...";
m_dbsyncconn = new DBSyncConnection( m_servent, m_source ); m_dbsyncconn = new DBSyncConnection( m_servent, m_source );
connect( m_dbsyncconn, SIGNAL( finished() ),
m_dbsyncconn, SLOT( deleteLater() ) );
connect( m_dbsyncconn, SIGNAL( destroyed( QObject* ) ),
SLOT( dbSyncConnFinished( QObject* ) ), Qt::DirectConnection );
m_servent->createParallelConnection( this, m_dbsyncconn, m_dbconnkey ); m_servent->createParallelConnection( this, m_dbsyncconn, m_dbconnkey );
m_dbconnkey.clear(); m_dbconnkey.clear();
} }
@@ -129,12 +123,6 @@ ControlConnection::setupDbSyncConnection( bool ondemand )
qDebug() << "Offering a DBSync key to peer..."; qDebug() << "Offering a DBSync key to peer...";
m_dbsyncconn = new DBSyncConnection( m_servent, m_source ); m_dbsyncconn = new DBSyncConnection( m_servent, m_source );
connect( m_dbsyncconn, SIGNAL( finished() ),
m_dbsyncconn, SLOT( deleteLater()) );
connect( m_dbsyncconn, SIGNAL( destroyed(QObject* ) ),
SLOT( dbSyncConnFinished( QObject* ) ), Qt::DirectConnection );
QString key = uuid(); QString key = uuid();
m_servent->registerOffer( key, m_dbsyncconn ); m_servent->registerOffer( key, m_dbsyncconn );
QVariantMap m; QVariantMap m;
@@ -142,6 +130,12 @@ ControlConnection::setupDbSyncConnection( bool ondemand )
m.insert( "key", key ); m.insert( "key", key );
sendMsg( m ); sendMsg( m );
} }
connect( m_dbsyncconn, SIGNAL( finished() ),
m_dbsyncconn, SLOT( deleteLater() ) );
connect( m_dbsyncconn, SIGNAL( destroyed( QObject* ) ),
SLOT( dbSyncConnFinished( QObject* ) ), Qt::DirectConnection );
} }

View File

@@ -92,7 +92,7 @@ DBSyncConnection::trigger()
qDebug() << Q_FUNC_INFO; qDebug() << Q_FUNC_INFO;
// if we're still setting up the connection, do nothing - we sync on first connect anyway: // if we're still setting up the connection, do nothing - we sync on first connect anyway:
if ( !this->isRunning() ) if ( !isRunning() )
return; return;
QMetaObject::invokeMethod( this, "sendMsg", Qt::QueuedConnection, QMetaObject::invokeMethod( this, "sendMsg", Qt::QueuedConnection,

View File

@@ -707,8 +707,8 @@ Servent::triggerDBSync()
QList<source_ptr> sources = SourceList::instance()->sources(); QList<source_ptr> sources = SourceList::instance()->sources();
foreach( const source_ptr& src, sources ) foreach( const source_ptr& src, sources )
{ {
// local src doesnt have a control connection, skip it: // skip local source
if( src.isNull() || src->isLocal() ) if ( src.isNull() || src->isLocal() )
continue; continue;
if ( src->controlConnection() ) // source online? if ( src->controlConnection() ) // source online?

View File

@@ -7,6 +7,8 @@
#include "utils/tomahawkutils.h" #include "utils/tomahawkutils.h"
#define IMAGE_HEIGHT 64
InfoBar::InfoBar( QWidget* parent ) InfoBar::InfoBar( QWidget* parent )
: QWidget( parent ) : QWidget( parent )
@@ -58,7 +60,7 @@ InfoBar::setDescription( const QString& s )
void void
InfoBar::setPixmap( const QPixmap& p ) InfoBar::setPixmap( const QPixmap& p )
{ {
ui->imageLabel->setPixmap( p.scaledToHeight( ui->imageLabel->height(), Qt::SmoothTransformation ) ); ui->imageLabel->setPixmap( p.scaledToHeight( IMAGE_HEIGHT, Qt::SmoothTransformation ) );
} }

View File

@@ -7,6 +7,7 @@
#include "infobar/infobar.h" #include "infobar/infobar.h"
#include "topbar/topbar.h" #include "topbar/topbar.h"
#include "widgets/infowidgets/sourceinfowidget.h" #include "widgets/infowidgets/sourceinfowidget.h"
#include "widgets/welcomewidget.h"
#include "collectionmodel.h" #include "collectionmodel.h"
#include "collectionflatmodel.h" #include "collectionflatmodel.h"
@@ -42,6 +43,7 @@ PlaylistManager::instance()
PlaylistManager::PlaylistManager( QObject* parent ) PlaylistManager::PlaylistManager( QObject* parent )
: QObject( parent ) : QObject( parent )
, m_widget( new QWidget() ) , m_widget( new QWidget() )
, m_welcomeWidget( new WelcomeWidget() )
, m_currentInterface( 0 ) , m_currentInterface( 0 )
, m_currentMode( 0 ) , m_currentMode( 0 )
, m_superCollectionVisible( true ) , m_superCollectionVisible( true )
@@ -100,7 +102,7 @@ PlaylistManager::PlaylistManager( QObject* parent )
m_widget->layout()->setContentsMargins( 0, 0, 0, 0 ); m_widget->layout()->setContentsMargins( 0, 0, 0, 0 );
m_widget->layout()->setMargin( 0 ); m_widget->layout()->setMargin( 0 );
m_widget->layout()->setSpacing( 0 ); m_widget->layout()->setSpacing( 0 );
connect( &m_filterTimer, SIGNAL( timeout() ), SLOT( applyFilter() ) ); connect( &m_filterTimer, SIGNAL( timeout() ), SLOT( applyFilter() ) );
connect( m_topbar, SIGNAL( filterTextChanged( QString ) ), connect( m_topbar, SIGNAL( filterTextChanged( QString ) ),
@@ -424,14 +426,16 @@ PlaylistManager::show( QWidget* widget, const QString& title, const QString& des
{ {
unlinkPlaylist(); unlinkPlaylist();
connect( widget, SIGNAL( destroyed( QWidget* ) ), SLOT( onWidgetDestroyed( QWidget* ) ) ); if ( m_stack->indexOf( widget ) < 0 )
{
connect( widget, SIGNAL( destroyed( QWidget* ) ), SLOT( onWidgetDestroyed( QWidget* ) ) );
m_stack->addWidget( widget );
}
m_stack->addWidget( widget );
m_stack->setCurrentWidget( widget ); m_stack->setCurrentWidget( widget );
m_infobar->setCaption( title ); m_infobar->setCaption( title );
m_infobar->setDescription( desc ); m_infobar->setDescription( desc );
m_infobar->setPixmap( pixmap ); m_infobar->setPixmap( pixmap.isNull() ? QPixmap( RESPATH "icons/tomahawk-icon-128x128.png" ) : pixmap );
m_queueView->show(); m_queueView->show();
m_superCollectionVisible = false; m_superCollectionVisible = false;
@@ -483,6 +487,14 @@ PlaylistManager::showSuperCollection()
} }
void
PlaylistManager::showWelcomePage()
{
qDebug() << Q_FUNC_INFO;
show( m_welcomeWidget, tr( "Welcome to Tomahawk!" ) );
}
void void
PlaylistManager::setTableMode() PlaylistManager::setTableMode()
{ {

View File

@@ -25,6 +25,7 @@ class TrackView;
class SourceInfoWidget; class SourceInfoWidget;
class InfoBar; class InfoBar;
class TopBar; class TopBar;
class WelcomeWidget;
namespace Tomahawk { namespace Tomahawk {
class DynamicWidget; class DynamicWidget;
@@ -56,9 +57,6 @@ public:
bool show( QWidget* widget, const QString& title = QString(), const QString& desc = QString(), const QPixmap& pixmap = QPixmap() ); bool show( QWidget* widget, const QString& title = QString(), const QString& desc = QString(), const QPixmap& pixmap = QPixmap() );
bool showSuperCollection();
void showCurrentTrack();
signals: signals:
void numSourcesChanged( unsigned int sources ); void numSourcesChanged( unsigned int sources );
void numTracksChanged( unsigned int tracks ); void numTracksChanged( unsigned int tracks );
@@ -73,7 +71,12 @@ signals:
void playClicked(); void playClicked();
void pauseClicked(); void pauseClicked();
public slots: public slots:
bool showSuperCollection();
void showWelcomePage();
void showCurrentTrack();
void setTreeMode(); void setTreeMode();
void setTableMode(); void setTableMode();
void setAlbumMode(); void setAlbumMode();
@@ -115,7 +118,8 @@ private:
AlbumModel* m_superAlbumModel; AlbumModel* m_superAlbumModel;
AlbumView* m_superAlbumView; AlbumView* m_superAlbumView;
CollectionFlatModel* m_superCollectionFlatModel; CollectionFlatModel* m_superCollectionFlatModel;
CollectionView* m_superCollectionView; CollectionView* m_superCollectionView;
WelcomeWidget* m_welcomeWidget;
QList< Tomahawk::collection_ptr > m_superCollections; QList< Tomahawk::collection_ptr > m_superCollections;

View File

@@ -29,7 +29,6 @@
#include "utils/widgetdragfilter.h" #include "utils/widgetdragfilter.h"
#include "utils/xspfloader.h" #include "utils/xspfloader.h"
#include "widgets/newplaylistwidget.h" #include "widgets/newplaylistwidget.h"
#include "widgets/welcomewidget.h"
#include "audiocontrols.h" #include "audiocontrols.h"
#include "settingsdialog.h" #include "settingsdialog.h"
@@ -115,12 +114,15 @@ TomahawkWindow::TomahawkWindow( QWidget* parent )
ui->splitter->setCollapsible( 1, false ); ui->splitter->setCollapsible( 1, false );
ui->splitter->setHandleWidth( 1 ); ui->splitter->setHandleWidth( 1 );
/* QToolBar* toolbar = addToolBar( "TomahawkToolbar" ); QToolBar* toolbar = addToolBar( "TomahawkToolbar" );
toolbar->setObjectName( "TomahawkToolbar" ); toolbar->setObjectName( "TomahawkToolbar" );
toolbar->addWidget( m_topbar );
toolbar->setMovable( false ); toolbar->setMovable( false );
toolbar->setFloatable( false ); toolbar->setFloatable( false );
toolbar->installEventFilter( new WidgetDragFilter( toolbar ) );*/ toolbar->setIconSize( QSize( 32, 32 ) );
toolbar->setToolButtonStyle( Qt::ToolButtonTextUnderIcon );
toolbar->installEventFilter( new WidgetDragFilter( toolbar ) );
toolbar->addAction( QIcon( RESPATH "images/home.png" ), tr( "Home" ), PlaylistManager::instance(), SLOT( showWelcomePage() ) );
statusBar()->addPermanentWidget( m_audioControls, 1 ); statusBar()->addPermanentWidget( m_audioControls, 1 );
@@ -135,8 +137,7 @@ TomahawkWindow::TomahawkWindow( QWidget* parent )
loadSettings(); loadSettings();
setupSignals(); setupSignals();
PlaylistManager::instance()->showWelcomePage();
PlaylistManager::instance()->show( new WelcomeWidget(), tr( "Welcome to Tomahawk!" ), QString(), QPixmap( RESPATH "icons/tomahawk-icon-128x128.png" ) );
} }