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
This commit is contained in:
Peter Penz 2008-01-28 17:26:25 +00:00
parent 0e31baf9f6
commit 91656a8abc

View file

@ -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);
}
}
}