const QAbstractProxyModel* proxyModel = static_cast<const QAbstractProxyModel*>(index.model());
const KDirModel* dirModel = static_cast<const KDirModel*>(proxyModel->sourceModel());
const QModelIndex dirIndex = proxyModel->mapToSource(index);
const KFileItem item = dirModel->itemForIndex(dirIndex);
if (!item.isNull()) {
const QAbstractProxyModel* proxyModel = static_cast<const QAbstractProxyModel*>(index.model());
const KDirModel* dirModel = static_cast<const KDirModel*>(proxyModel->sourceModel());
const QModelIndex dirIndex = proxyModel->mapToSource(index);
const KFileItem item = dirModel->itemForIndex(dirIndex);
if (!item.isNull()) {