mirror of
https://invent.kde.org/system/dolphin
synced 2024-09-20 00:41:23 +00:00
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:
parent
0e31baf9f6
commit
91656a8abc
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue