From 4c49bdc00a4e71f191e036fd5b1e70de5c1035c9 Mon Sep 17 00:00:00 2001 From: "craig.p.drummond" Date: Fri, 15 Jun 2012 19:40:41 +0000 Subject: [PATCH] Adjust images when change sizes. --- gui/mainwindow.cpp | 17 ++++++++++++++--- widgets/itemview.cpp | 3 +++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/gui/mainwindow.cpp b/gui/mainwindow.cpp index d592d1e73..0b5bd97c0 100644 --- a/gui/mainwindow.cpp +++ b/gui/mainwindow.cpp @@ -71,6 +71,7 @@ #include "config.h" #include "utils.h" #include "musiclibrarymodel.h" +#include "musiclibraryitemartist.h" #include "musiclibraryitemalbum.h" #include "librarypage.h" #include "albumspage.h" @@ -1653,8 +1654,9 @@ void MainWindow::updateSettings() connectToMpd(); Settings::self()->save(); bool useLibSizeForAl=Settings::self()->albumsView()!=ItemView::Mode_IconTop; - bool diffLibCovers=((int)MusicLibraryItemAlbum::currentCoverSize())!=Settings::self()->libraryCoverSize() || - (libraryPage->viewMode()==ItemView::Mode_IconTop || Settings::self()->libraryView()!=ItemView::Mode_IconTop) || + bool diffLibCovers=((int)MusicLibraryItemAlbum::currentCoverSize())!=Settings::self()->libraryCoverSize(); + bool diffLibArtistImages=diffLibCovers || + (libraryPage->viewMode()==ItemView::Mode_IconTop && Settings::self()->libraryView()!=ItemView::Mode_IconTop) || (libraryPage->viewMode()!=ItemView::Mode_IconTop && Settings::self()->libraryView()==ItemView::Mode_IconTop) || Settings::self()->libraryArtistImage()!=MusicLibraryModel::self()->useArtistImages(); bool diffAlCovers=((int)AlbumsModel::currentCoverSize())!=Settings::self()->albumsCoverSize() || @@ -1666,6 +1668,10 @@ void MainWindow::updateSettings() readSettings(); + if (diffLibArtistImages) { + MusicLibraryItemArtist::clearDefaultCover(); + libraryPage->setView(libraryPage->viewMode()); + } if (diffLibCovers) { MusicLibraryItemAlbum::setCoverSize((MusicLibraryItemAlbum::CoverSize)Settings::self()->libraryCoverSize()); } @@ -1678,10 +1684,15 @@ void MainWindow::updateSettings() AlbumsModel::setUseLibrarySizes(useLibSizeForAl); if (diffAlCovers || diffGrouping) { + albumsPage->setView(albumsPage->viewMode()); albumsPage->clear(); } - if (diffLibCovers || diffAlCovers || diffLibYear || diffGrouping) { + + if (diffGrouping) { refresh(); + } else if (diffLibCovers || diffLibYear || diffLibArtistImages || diffAlCovers) { + libraryPage->clear(); + libraryPage->refresh(); } bool wasAutoExpand=playQueue->isAutoExpand(); diff --git a/widgets/itemview.cpp b/widgets/itemview.cpp index 17ea0b260..849f1c25b 100644 --- a/widgets/itemview.cpp +++ b/widgets/itemview.cpp @@ -681,6 +681,9 @@ void ItemView::setDragDropMode(QAbstractItemView::DragDropMode v) void ItemView::setGridSize(const QSize &sz) { iconGridSize=sz; + if (Mode_IconTop==mode && 0==currentLevel) { + listView->setGridSize(listGridSize); + } } void ItemView::update()