mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-03-21 08:19:42 +01:00
update the playlistview when a playlist is renamed, fixes TWK-168
This commit is contained in:
parent
b37127858f
commit
e9b991e4c0
@ -138,6 +138,7 @@ DynamicWidget::loadDynamicPlaylist( const Tomahawk::dynplaylist_ptr& playlist )
|
||||
disconnect( m_playlist.data(), SIGNAL( dynamicRevisionLoaded( Tomahawk::DynamicPlaylistRevision) ), this, SLOT(onRevisionLoaded( Tomahawk::DynamicPlaylistRevision) ) );
|
||||
disconnect( m_playlist->generator().data(), SIGNAL( error( QString, QString ) ), this, SLOT( generatorError( QString, QString ) ) );
|
||||
disconnect( m_playlist.data(), SIGNAL( deleted( Tomahawk::dynplaylist_ptr ) ), this, SLOT( onDeleted() ) );
|
||||
disconnect( m_playlist.data(), SIGNAL( changed() ), this, SLOT( onChanged() ) );
|
||||
}
|
||||
|
||||
|
||||
@ -165,6 +166,7 @@ DynamicWidget::loadDynamicPlaylist( const Tomahawk::dynplaylist_ptr& playlist )
|
||||
connect( m_playlist.data(), SIGNAL( dynamicRevisionLoaded( Tomahawk::DynamicPlaylistRevision ) ), this, SLOT( onRevisionLoaded( Tomahawk::DynamicPlaylistRevision ) ) );
|
||||
connect( m_playlist->generator().data(), SIGNAL( error( QString, QString ) ), this, SLOT( generatorError( QString, QString ) ) );
|
||||
connect( m_playlist.data(), SIGNAL( deleted( Tomahawk::dynplaylist_ptr ) ), this, SLOT( onDeleted() ) );
|
||||
connect( m_playlist.data(), SIGNAL( changed() ), this, SLOT( onChanged() ) );
|
||||
}
|
||||
|
||||
|
||||
@ -418,3 +420,10 @@ DynamicWidget::onDeleted()
|
||||
emit destroyed( widget() );
|
||||
deleteLater();
|
||||
}
|
||||
|
||||
void
|
||||
DynamicWidget::onChanged()
|
||||
{
|
||||
if( !m_playlist.isNull() )
|
||||
emit nameChanged( m_playlist->title() );
|
||||
}
|
||||
|
@ -95,6 +95,7 @@ public slots:
|
||||
void tracksAdded();
|
||||
|
||||
signals:
|
||||
void nameChanged( const QString& name );
|
||||
void descriptionChanged( const QString& caption );
|
||||
void destroyed( QWidget* widget );
|
||||
|
||||
@ -109,6 +110,7 @@ private slots:
|
||||
|
||||
void layoutFloatingWidgets();
|
||||
void onDeleted();
|
||||
void onChanged();
|
||||
|
||||
private:
|
||||
dynplaylist_ptr m_playlist;
|
||||
|
@ -74,6 +74,7 @@ PlaylistView::setPlaylistModel( PlaylistModel* model )
|
||||
|
||||
connect( m_model, SIGNAL( trackCountChanged( unsigned int ) ), SLOT( onTrackCountChanged( unsigned int ) ) );
|
||||
connect( m_model, SIGNAL( playlistDeleted() ), SLOT( onDeleted() ) );
|
||||
connect( m_model->playlist().data(), SIGNAL( changed() ), SLOT( onChanged() ) );
|
||||
}
|
||||
|
||||
|
||||
@ -181,3 +182,10 @@ PlaylistView::onDeleted()
|
||||
emit destroyed( widget() );
|
||||
deleteLater();
|
||||
}
|
||||
|
||||
void
|
||||
PlaylistView::onChanged()
|
||||
{
|
||||
if ( m_model && !m_model->playlist().isNull() )
|
||||
emit nameChanged( m_model->playlist()->title() );
|
||||
}
|
||||
|
@ -54,6 +54,7 @@ public:
|
||||
virtual bool jumpToCurrentTrack();
|
||||
|
||||
signals:
|
||||
void nameChanged( const QString& title );
|
||||
void destroyed( QWidget* widget );
|
||||
|
||||
protected:
|
||||
@ -67,6 +68,7 @@ private slots:
|
||||
void deleteItems();
|
||||
|
||||
void onDeleted();
|
||||
void onChanged();
|
||||
private:
|
||||
void setupMenus();
|
||||
|
||||
|
@ -158,10 +158,10 @@ ViewManager::createPageForPlaylist( const playlist_ptr& pl )
|
||||
PlaylistView* view = new PlaylistView();
|
||||
|
||||
PlaylistModel* model = new PlaylistModel();
|
||||
model->loadPlaylist( pl );
|
||||
view->setPlaylistModel( model );
|
||||
view->setFrameShape( QFrame::NoFrame );
|
||||
view->setAttribute( Qt::WA_MacShowFocusRect, 0 );
|
||||
model->loadPlaylist( pl );
|
||||
pl->resolve();
|
||||
|
||||
m_playlistViews.insert( pl, view );
|
||||
@ -626,10 +626,10 @@ ViewManager::setPage( ViewPage* page, bool trackHistory )
|
||||
// if the signal exists (just to hide the qobject runtime warning...)
|
||||
if( obj->metaObject()->indexOfSignal( "descriptionChanged(QString)" ) > -1 )
|
||||
connect( obj, SIGNAL( descriptionChanged( QString ) ), m_infobar, SLOT( setDescription( QString ) ), Qt::UniqueConnection );
|
||||
}
|
||||
if ( QObject* obj = dynamic_cast< QObject* >( currentPage() ) )
|
||||
{
|
||||
// if the signal exists (just to hide the qobject runtime warning...)
|
||||
|
||||
if( obj->metaObject()->indexOfSignal( "nameChanged(QString)" ) > -1 )
|
||||
connect( obj, SIGNAL( nameChanged( QString ) ), m_infobar, SLOT( setCaption( QString ) ), Qt::UniqueConnection );
|
||||
|
||||
if( obj->metaObject()->indexOfSignal( "destroyed(QWidget*)" ) > -1 )
|
||||
connect( obj, SIGNAL( destroyed( QWidget* ) ), SLOT( onWidgetDestroyed( QWidget* ) ), Qt::UniqueConnection );
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user