*** kdebase-3.4.2/konqueror/iconview/konq_iconview.cc 2005-05-23 14:14:39.000000000 +0200 --- kdebase-3.4.2/konqueror/iconview/konq_iconview.cc.new 2005-08-23 17:48:43.000000000 +0200 *************** *** 42,47 **** --- 42,48 ---- #include <kivdirectoryoverlay.h> #include <kmessagebox.h> #include <kstaticdeleter.h> + #include <kdesktopfile.h> #include <qregexp.h> #include <qdatetime.h> *************** *** 160,166 **** void IconViewBrowserExtension::setNameFilter( const QString &nameFilter ) { ! //kdDebug(1202) << "IconViewBrowserExtension::setNameFilter " << nameFilter << endl; m_iconView->m_nameFilter = nameFilter; } --- 161,167 ---- void IconViewBrowserExtension::setNameFilter( const QString &nameFilter ) { ! kdDebug(1202) << "IconViewBrowserExtension::setNameFilter " << nameFilter << endl; m_iconView->m_nameFilter = nameFilter; } *************** *** 969,977 **** m_pIconView->setUpdatesEnabled( false ); for (KFileItemListIterator it(entries); it.current(); ++it) { ! //kdDebug(1202) << "KonqKfmIconView::slotNewItem(...)" << _fileitem->url().url() << endl; KFileIVI* item = new KFileIVI( m_pIconView, *it, m_pIconView->iconSize() ); ! item->setRenameEnabled( false ); KFileItem* fileItem = item->item(); --- 970,987 ---- m_pIconView->setUpdatesEnabled( false ); for (KFileItemListIterator it(entries); it.current(); ++it) { ! if ( (*it)->mimetype() == "application/x-desktop" ) ! { ! KDesktopFile df( (*it)->url().path(), true ); ! if ( df.readType() == "Link" ) ! { ! (*it)->setName( df.readName() ); ! } ! } ! KFileIVI* item = new KFileIVI( m_pIconView, *it, m_pIconView->iconSize() ); ! ! item->setRenameEnabled( false ); KFileItem* fileItem = item->item(); *************** *** 1037,1043 **** return; } ! //kdDebug(1202) << "KonqKfmIconView::slotDeleteItem(...)" << endl; // we need to find out the iconcontainer item containing the fileitem KFileIVI * ivi = m_itemDict[ _fileitem ]; // It can be that we know nothing about this item, e.g. because it's filtered out --- 1047,1053 ---- return; } ! kdDebug(1202) << "KonqKfmIconView::slotDeleteItem(...)" << endl; // we need to find out the iconcontainer item containing the fileitem KFileIVI * ivi = m_itemDict[ _fileitem ]; // It can be that we know nothing about this item, e.g. because it's filtered out *** kdebase-3.4.2/libkonq/konq_dirpart.cc 2005-05-23 14:14:49.000000000 +0200 --- kdebase-3.4.2/libkonq/konq_dirpart.cc.new 2005-08-23 17:48:28.000000000 +0200 *************** *** 36,41 **** --- 36,42 ---- #include <kuserprofile.h> #include <kurifilter.h> #include <kglobalsettings.h> + #include <kdesktopfile.h> #include <qapplication.h> #include <qclipboard.h> *************** *** 298,303 **** --- 299,319 ---- void KonqDirPart::lmbClicked( KFileItem * fileItem ) { + bool is_local = fileItem->isLocalFile(); + + if ( fileItem->mimetype() == "application/x-desktop" ) + { + KDesktopFile df( fileItem->url().path(), true ); + if ( df.readType() == "Link" ) + { + KURL lu( df.readURL() ); + if ( is_local ) + { + fileItem = new KFileItem( KURL( df.readURL() ), "inode/directory", S_IFDIR ); + } + } + } + KURL url = fileItem->url(); if ( !fileItem->isReadable() ) { *************** *** 312,324 **** } KParts::URLArgs args; fileItem->determineMimeType(); ! if ( fileItem->isMimeTypeKnown() ) ! args.serviceType = fileItem->mimetype(); ! args.trustedSource = true; - bool is_local = fileItem->isLocalFile(); - if ( fileItem->isLink() && is_local ) // see KFileItem::run url = KURL( url, KURL::encode_string( fileItem->linkDest() ) ); --- 328,339 ---- } KParts::URLArgs args; + fileItem->determineMimeType(); ! if ( fileItem->isMimeTypeKnown() ) ! args.serviceType = fileItem->mimetype(); ! args.trustedSource = true; if ( fileItem->isLink() && is_local ) // see KFileItem::run url = KURL( url, KURL::encode_string( fileItem->linkDest() ) );