diff --git a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp index 98a802bae..bdcdac9e2 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp +++ b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.cpp @@ -65,7 +65,7 @@ DynamicWidget::DynamicWidget( const Tomahawk::dynplaylist_ptr& playlist, QWidget m_layout->addWidget( m_view, 1 ); connect( m_model, SIGNAL( collapseFromTo( int, int ) ), m_view, SLOT( collapseEntries( int, int ) ) ); - connect( m_model, SIGNAL( trackGenerationFailure( QString ) ), m_view, SLOT( showMessage( QString ) ) ); + connect( m_model, SIGNAL( trackGenerationFailure( QString ) ), this, SLOT( stationFailed( QString ) ) ); m_setup = new DynamicSetupWidget( playlist, this ); @@ -227,6 +227,17 @@ DynamicWidget::generate( int num ) } } +void +DynamicWidget::stationFailed( const QString& msg ) +{ + m_view->showMessage( msg ); + + if( m_runningOnDemand ) { + stopStation(); + } +} + + void DynamicWidget::pausePressed() { @@ -256,6 +267,7 @@ DynamicWidget::stopStation() // TODO until i add a qwidget interface QMetaObject::invokeMethod( m_steering, "fadeOut", Qt::DirectConnection ); + m_setup->fadeIn(); } void diff --git a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.h b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.h index 30469c813..4cb0778f6 100644 --- a/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.h +++ b/src/libtomahawk/playlist/dynamic/widgets/DynamicWidget.h @@ -81,6 +81,7 @@ public slots: void playPressed(); void pausePressed(); + void stationFailed( const QString& ); private slots: void generate( int = -1 );