From: Christoph Feck Date: Thu, 25 Oct 2012 23:58:50 +0000 (+0200) Subject: Merge remote-tracking branch 'origin/KDE/4.9' X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/c1bc83dfdb27b61dbd558ef21e81659f563dae81?hp=-c Merge remote-tracking branch 'origin/KDE/4.9' --- c1bc83dfdb27b61dbd558ef21e81659f563dae81 diff --combined src/kitemviews/kstandarditemlistwidget.cpp index 4d65eb7d6,bdc2859c0..c49031a41 --- a/src/kitemviews/kstandarditemlistwidget.cpp +++ b/src/kitemviews/kstandarditemlistwidget.cpp @@@ -42,7 -42,6 +42,7 @@@ #include #include #include +#include // #define KSTANDARDITEMLISTWIDGET_DEBUG @@@ -1223,6 -1222,7 +1223,7 @@@ void KStandardItemListWidget::drawSibli QRect siblingRect(x, 0, siblingSize, siblingSize); QStyleOption option; + option.palette.setColor(QPalette::Text, option.palette.color(normalTextColorRole())); bool isItemSibling = true; const QBitArray siblings = siblingsInformation(); @@@ -1280,37 -1280,30 +1281,37 @@@ void KStandardItemListWidget::closeRole QPixmap KStandardItemListWidget::pixmapForIcon(const QString& name, int size) { - const KIcon icon(name); - - int requestedSize; - if (size <= KIconLoader::SizeSmall) { - requestedSize = KIconLoader::SizeSmall; - } else if (size <= KIconLoader::SizeSmallMedium) { - requestedSize = KIconLoader::SizeSmallMedium; - } else if (size <= KIconLoader::SizeMedium) { - requestedSize = KIconLoader::SizeMedium; - } else if (size <= KIconLoader::SizeLarge) { - requestedSize = KIconLoader::SizeLarge; - } else if (size <= KIconLoader::SizeHuge) { - requestedSize = KIconLoader::SizeHuge; - } else if (size <= KIconLoader::SizeEnormous) { - requestedSize = KIconLoader::SizeEnormous; - } else if (size <= KIconLoader::SizeEnormous * 2) { - requestedSize = KIconLoader::SizeEnormous * 2; - } else { - requestedSize = size; - } + const QString key = "KStandardItemListWidget:" % name % ":" % QString::number(size); + QPixmap pixmap; + + if (!QPixmapCache::find(key, pixmap)) { + const KIcon icon(name); + + int requestedSize; + if (size <= KIconLoader::SizeSmall) { + requestedSize = KIconLoader::SizeSmall; + } else if (size <= KIconLoader::SizeSmallMedium) { + requestedSize = KIconLoader::SizeSmallMedium; + } else if (size <= KIconLoader::SizeMedium) { + requestedSize = KIconLoader::SizeMedium; + } else if (size <= KIconLoader::SizeLarge) { + requestedSize = KIconLoader::SizeLarge; + } else if (size <= KIconLoader::SizeHuge) { + requestedSize = KIconLoader::SizeHuge; + } else if (size <= KIconLoader::SizeEnormous) { + requestedSize = KIconLoader::SizeEnormous; + } else if (size <= KIconLoader::SizeEnormous * 2) { + requestedSize = KIconLoader::SizeEnormous * 2; + } else { + requestedSize = size; + } + + pixmap = icon.pixmap(requestedSize, requestedSize); + if (requestedSize != size) { + KPixmapModifier::scale(pixmap, QSize(size, size)); + } - QPixmap pixmap = icon.pixmap(requestedSize, requestedSize); - if (requestedSize != size) { - KPixmapModifier::scale(pixmap, QSize(size, size)); + QPixmapCache::insert(key, pixmap); } return pixmap;