--- /home/ishai/temp/kdebase-3.2.2/libkonq/konq_operations.cc 2004-04-04 09:43:56.000000000 +0200 +++ konq_operations.cc 2004-09-04 17:52:26.969144512 +0300 @@ -526,6 +526,7 @@ delete this; } + void KonqOperations::doFileCopy() { assert(m_info); // setDropInfo - and asyncDrop - should have been called before asyncDrop @@ -574,22 +575,6 @@ else if ( (((m_info->keybstate & ControlMask) == 0) && ((m_info->keybstate & ShiftMask) == 0)) || linkOnly ) { - KonqIconViewWidget *iconView = dynamic_cast(parent()); - bool bSetWallpaper = false; - if (iconView && iconView->maySetWallpaper() && - (lst.count() == 1) && - ((!KImageIO::type(lst.first().path()).isEmpty()) || - (KImageIO::isSupported(KMimeType::findByURL(lst.first())->name(), - KImageIO::Reading)))) - { - bSetWallpaper = true; - } - - // Check what the source can do - KURL url = lst.first(); // we'll assume it's the same for all URLs (hack) - bool sReading = KProtocolInfo::supportsReading( url ); - bool sDeleting = KProtocolInfo::supportsDeleting( url ); - bool sMoving = KProtocolInfo::supportsMoving( url ); // Check what the destination can do bool dWriting = KProtocolInfo::supportsWriting( m_destURL ); if ( !dWriting ) @@ -597,37 +582,13 @@ delete this; return; } - //bool sTrash = url.path(1) == KGlobalSettings::trashPath(); - // Nor control nor shift are pressed => show popup menu - - QPopupMenu popup; - if (!mlst.isEmpty() && (sMoving || (sReading && sDeleting)) && !linkOnly ) - popup.insertItem( i18n( "&Move Here" ), 2 ); - if ( sReading && !linkOnly) - popup.insertItem(SmallIconSet("editcopy"), i18n( "&Copy Here" ), 1 ); - popup.insertItem(SmallIconSet("www"), i18n( "&Link Here" ), 3 ); - if (bSetWallpaper) - popup.insertItem(SmallIconSet("background"), i18n( "Set as &Wallpaper" ), 4 ); - popup.insertSeparator(); - popup.insertItem(SmallIconSet("cancel"), i18n( "C&ancel" ), 5); - - int result = popup.exec( m_info->mousePos ); - - switch (result) { - case 1 : action = QDropEvent::Copy; break; - case 2 : action = QDropEvent::Move; break; - case 3 : action = QDropEvent::Link; break; - case 4 : - { - kdDebug(1203) << "setWallpaper iconView=" << iconView << " url=" << lst.first().url() << endl; - if (iconView && iconView->isDesktop() ) iconView->setWallpaper(lst.first()); - delete this; - return; - } - case 5 : - default : delete this; return; - } + action = QDropEvent::Move; } + else if (m_info->keybstate & ControlMask != 0 && m_info->keybstate & ShiftMask == 0) { + action = QDropEvent::Copy; + } else if (m_info->keybstate & ControlMask != 0 && m_info->keybstate & ShiftMask != 0) { + action = QDropEvent::Link; + } KIO::Job * job = 0; switch ( action ) {