Only set playlist view item delegates once
This commit is contained in:
@@ -189,7 +189,6 @@ void PlaylistContainer::SetViewModel(Playlist *playlist) {
|
|||||||
// Set the view
|
// Set the view
|
||||||
playlist->IgnoreSorting(true);
|
playlist->IgnoreSorting(true);
|
||||||
view()->setModel(playlist->proxy());
|
view()->setModel(playlist->proxy());
|
||||||
view()->SetItemDelegates(manager_->collection_backend());
|
|
||||||
view()->SetPlaylist(playlist);
|
view()->SetPlaylist(playlist);
|
||||||
view()->selectionModel()->select(manager_->current_selection(), QItemSelectionModel::ClearAndSelect);
|
view()->selectionModel()->select(manager_->current_selection(), QItemSelectionModel::ClearAndSelect);
|
||||||
playlist->IgnoreSorting(false);
|
playlist->IgnoreSorting(false);
|
||||||
|
|||||||
@@ -219,6 +219,9 @@ void PlaylistView::SetApplication(Application *app) {
|
|||||||
|
|
||||||
Q_ASSERT(app);
|
Q_ASSERT(app);
|
||||||
app_ = app;
|
app_ = app;
|
||||||
|
|
||||||
|
SetItemDelegates();
|
||||||
|
|
||||||
connect(app_->playlist_manager(), SIGNAL(CurrentSongChanged(Song)), this, SLOT(SongChanged(Song)));
|
connect(app_->playlist_manager(), SIGNAL(CurrentSongChanged(Song)), this, SLOT(SongChanged(Song)));
|
||||||
connect(app_->current_albumcover_loader(), SIGNAL(AlbumCoverLoaded(Song, AlbumCoverLoaderResult)), SLOT(AlbumCoverLoaded(Song, AlbumCoverLoaderResult)));
|
connect(app_->current_albumcover_loader(), SIGNAL(AlbumCoverLoaded(Song, AlbumCoverLoaderResult)), SLOT(AlbumCoverLoaded(Song, AlbumCoverLoaderResult)));
|
||||||
connect(app_->player(), SIGNAL(Playing()), SLOT(StartGlowing()));
|
connect(app_->player(), SIGNAL(Playing()), SLOT(StartGlowing()));
|
||||||
@@ -227,18 +230,18 @@ void PlaylistView::SetApplication(Application *app) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void PlaylistView::SetItemDelegates(CollectionBackend *backend) {
|
void PlaylistView::SetItemDelegates() {
|
||||||
|
|
||||||
setItemDelegate(new PlaylistDelegateBase(this));
|
setItemDelegate(new PlaylistDelegateBase(this));
|
||||||
|
|
||||||
setItemDelegateForColumn(Playlist::Column_Title, new TextItemDelegate(this));
|
setItemDelegateForColumn(Playlist::Column_Title, new TextItemDelegate(this));
|
||||||
setItemDelegateForColumn(Playlist::Column_Album, new TagCompletionItemDelegate(this, backend, Playlist::Column_Album));
|
setItemDelegateForColumn(Playlist::Column_Album, new TagCompletionItemDelegate(this, app_->collection_backend(), Playlist::Column_Album));
|
||||||
setItemDelegateForColumn(Playlist::Column_Artist, new TagCompletionItemDelegate(this, backend, Playlist::Column_Artist));
|
setItemDelegateForColumn(Playlist::Column_Artist, new TagCompletionItemDelegate(this, app_->collection_backend(), Playlist::Column_Artist));
|
||||||
setItemDelegateForColumn(Playlist::Column_AlbumArtist, new TagCompletionItemDelegate(this, backend, Playlist::Column_AlbumArtist));
|
setItemDelegateForColumn(Playlist::Column_AlbumArtist, new TagCompletionItemDelegate(this, app_->collection_backend(), Playlist::Column_AlbumArtist));
|
||||||
setItemDelegateForColumn(Playlist::Column_Genre, new TagCompletionItemDelegate(this, backend, Playlist::Column_Genre));
|
setItemDelegateForColumn(Playlist::Column_Genre, new TagCompletionItemDelegate(this, app_->collection_backend(), Playlist::Column_Genre));
|
||||||
setItemDelegateForColumn(Playlist::Column_Composer, new TagCompletionItemDelegate(this, backend, Playlist::Column_Composer));
|
setItemDelegateForColumn(Playlist::Column_Composer, new TagCompletionItemDelegate(this, app_->collection_backend(), Playlist::Column_Composer));
|
||||||
setItemDelegateForColumn(Playlist::Column_Performer, new TagCompletionItemDelegate(this, backend, Playlist::Column_Performer));
|
setItemDelegateForColumn(Playlist::Column_Performer, new TagCompletionItemDelegate(this, app_->collection_backend(), Playlist::Column_Performer));
|
||||||
setItemDelegateForColumn(Playlist::Column_Grouping, new TagCompletionItemDelegate(this, backend, Playlist::Column_Grouping));
|
setItemDelegateForColumn(Playlist::Column_Grouping, new TagCompletionItemDelegate(this, app_->collection_backend(), Playlist::Column_Grouping));
|
||||||
setItemDelegateForColumn(Playlist::Column_Length, new LengthItemDelegate(this));
|
setItemDelegateForColumn(Playlist::Column_Length, new LengthItemDelegate(this));
|
||||||
setItemDelegateForColumn(Playlist::Column_Filesize, new SizeItemDelegate(this));
|
setItemDelegateForColumn(Playlist::Column_Filesize, new SizeItemDelegate(this));
|
||||||
setItemDelegateForColumn(Playlist::Column_Filetype, new FileTypeItemDelegate(this));
|
setItemDelegateForColumn(Playlist::Column_Filetype, new FileTypeItemDelegate(this));
|
||||||
|
|||||||
@@ -99,7 +99,7 @@ class PlaylistView : public QTreeView {
|
|||||||
static ColumnAlignmentMap DefaultColumnAlignment();
|
static ColumnAlignmentMap DefaultColumnAlignment();
|
||||||
|
|
||||||
void SetApplication(Application *app);
|
void SetApplication(Application *app);
|
||||||
void SetItemDelegates(CollectionBackend *backend);
|
void SetItemDelegates();
|
||||||
void SetPlaylist(Playlist *playlist);
|
void SetPlaylist(Playlist *playlist);
|
||||||
void RemoveSelected();
|
void RemoveSelected();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user