┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2008-01-28 17:26:25 +0000
committerPeter Penz <[email protected]>2008-01-28 17:26:25 +0000
commit91656a8abc3aadc78630341079d3c2ca9f2533c0 (patch)
treee552fd498349b7e24053107ecfef7d51fdcdc1c3 /src
parent0e31baf9f65be83174348a7014cba7ded1a2a2c9 (diff)
fixed issue that previews of hidden files had no semitransparent effect (the semi-transparent effect requires having an alpha mask)
svn path=/trunk/KDE/kdebase/apps/; revision=767742
Diffstat (limited to 'src')
-rw-r--r--src/iconmanager.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/src/iconmanager.cpp b/src/iconmanager.cpp
index 5f9bd5134..5940c909e 100644
--- a/src/iconmanager.cpp
+++ b/src/iconmanager.cpp
@@ -126,18 +126,24 @@ void IconManager::replaceIcon(const KFileItem& item, const QPixmap& pixmap)
const QModelIndex idx = m_dolphinModel->indexForItem(item);
if (idx.isValid() && (idx.column() == 0)) {
- QPixmap newPixmap = pixmap;
+ QPixmap icon = pixmap;
if (item.isHidden()) {
- KIconEffect::semiTransparent(newPixmap);
+ if (!icon.hasAlpha()) {
+ // the semitransparent operation requires having an alpha mask
+ QPixmap alphaMask(icon.width(), icon.height());
+ alphaMask.fill();
+ icon.setAlphaChannel(alphaMask);
+ }
+ KIconEffect::semiTransparent(icon);
}
const QMimeData* mimeData = QApplication::clipboard()->mimeData();
if (KonqMimeData::decodeIsCutSelection(mimeData) && isCutItem(item)) {
KIconEffect iconEffect;
- newPixmap = iconEffect.apply(newPixmap, KIconLoader::Desktop, KIconLoader::DisabledState);
- m_dolphinModel->setData(idx, QIcon(newPixmap), Qt::DecorationRole);
+ icon = iconEffect.apply(icon, KIconLoader::Desktop, KIconLoader::DisabledState);
+ m_dolphinModel->setData(idx, QIcon(icon), Qt::DecorationRole);
} else {
- m_dolphinModel->setData(idx, QIcon(newPixmap), Qt::DecorationRole);
+ m_dolphinModel->setData(idx, QIcon(icon), Qt::DecorationRole);
}
}
}