diff -Naur kdebase-3.5.8.orig/kicker/libkicker/panelbutton.cpp kdebase-3.5.8/kicker/libkicker/panelbutton.cpp --- kdebase-3.5.8.orig/kicker/libkicker/panelbutton.cpp 2006-07-22 10:15:18.000000000 +0200 +++ kdebase-3.5.8/kicker/libkicker/panelbutton.cpp 2007-11-21 06:50:46.000000000 +0100 @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -39,6 +40,7 @@ #include #include #include +#include #include #include #include @@ -487,6 +489,9 @@ if (e->button() == LeftButton) { m_isLeftMouseButtonDown = false; + + QPixmap pix = labelIcon(); + KIconEffect::visualActivate(this, this->geometry(), &pix); } QButton::mouseReleaseEvent(e); } diff -Naur kdebase-3.5.8.orig/konqueror/listview/konq_listviewwidget.cc kdebase-3.5.8/konqueror/listview/konq_listviewwidget.cc --- kdebase-3.5.8.orig/konqueror/listview/konq_listviewwidget.cc 2006-10-01 19:32:03.000000000 +0200 +++ kdebase-3.5.8/konqueror/listview/konq_listviewwidget.cc 2007-11-21 06:50:46.000000000 +0100 @@ -33,6 +33,7 @@ #include #include #include +#include #include #include @@ -904,7 +905,42 @@ url.cleanPath(); bool isIntoTrash = url.isLocalFile() && url.path(1).startsWith(KGlobalSettings::trashPath()); if ( !isIntoTrash || (isIntoTrash && fileItem->isDir()) ) - m_pBrowserView->lmbClicked( fileItem ); + { + m_pBrowserView->lmbClicked( fileItem ); + + if (_item->pixmap(0) != 0) + { + // Rect of the QListViewItem's pixmap area. + QRect rect = _item->listView()->itemRect(_item); + + // calculate nesting depth + int nestingDepth = 0; + for (QListViewItem *currentItem = _item->parent(); + currentItem != 0; + currentItem = currentItem->parent()) + nestingDepth++; + + // no parent no indent + if (_item->parent() == 0) + nestingDepth = 0; + + // Root decoration means additional indent + if (_item->listView()->rootIsDecorated()) + nestingDepth++; + + // set recalculated rect + rect.setLeft(_item->listView()->itemMargin() + _item->listView()->treeStepSize() * nestingDepth); + rect.setWidth(_item->pixmap(0)->width()); + + // gather pixmap + QPixmap *pix = new QPixmap(*(_item->pixmap(0))); + + // call the icon effect + KIconEffect::visualActivate(viewport(), rect, pix); + + delete(pix); + } + } else KMessageBox::information( 0, i18n("You must take the file out of the trash before being able to use it.") ); } diff -Naur kdebase-3.5.8.orig/libkonq/konq_iconviewwidget.cc kdebase-3.5.8/libkonq/konq_iconviewwidget.cc --- kdebase-3.5.8.orig/libkonq/konq_iconviewwidget.cc 2007-05-14 09:55:47.000000000 +0200 +++ kdebase-3.5.8/libkonq/konq_iconviewwidget.cc 2007-11-21 06:50:46.000000000 +0100 @@ -1848,7 +1848,7 @@ // Adjust for scrolling (David) rect.moveBy( -contentsX(), -contentsY() ); - KIconEffect::visualActivate(viewport(), rect); + KIconEffect::visualActivate(viewport(), rect, item->pixmap()); } void KonqIconViewWidget::backgroundPixmapChange( const QPixmap & )