Bug 55155

Summary: copy to (kuickcopy) does not allow copying to remote (sftp/fish/ftp) URLS
Product: [Applications] konqueror Reporter: Moritz Moeller-Herrmann <moritz-kdebugs>
Component: generalAssignee: Konqueror Developers <konq-bugs>
Status: RESOLVED FIXED    
Severity: major    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Very quick hack, comments?

Description Moritz Moeller-Herrmann 2003-02-25 13:46:58 UTC
Version:            (using KDE KDE 3.1)
Installed from:    SuSE RPMs
OS:          Linux

It is not possible to copy a file to a remote location using copy/move to action in konqueror. This breaks the kioslave principle.

You get a confused message after choosing a remote directory: You can only choose local FILEs.
Comment 1 Moritz Moeller-Herrmann 2003-11-14 13:52:20 UTC
The bug has not been fixed, but has become WORSE. Now if I copy to an sftp/fish-ioslave dir (I had to add a link to the choose folder dialog), the file gets copied to $HOME for some reason.

This might cause unintended data loss therefore it should be fixed for KDE-3.2. I have set severity to major.
Comment 2 Teemu Rytilahti 2004-04-12 03:13:47 UTC
Created attachment 5598 [details]
Very quick hack, comments?

Seems to work here with this patch, but please test and comment.
Comment 3 Waldo Bastian 2004-04-15 14:23:19 UTC
CVS commit by waba: 

Add support for copying/moving to remote URLs (BR55155)
Based on a patch by Teemu Rytilahti
CCMAIL: 55155-done@bugs.kde.org


  M +2 -2      kmetamenu.cpp   1.21.2.1
  M +2 -2      kuick_plugin.cpp   1.28.2.1


--- kdeaddons/konq-plugins/kuick/kmetamenu.cpp  #1.21:1.21.2.1
@@ -135,6 +135,6 @@ void KMetaMenu::writeConfig( const QStri
 }
 void KMetaMenu::slotBrowse() {
-     QString dest = KFileDialog::getExistingDirectory();
+     KURL dest = KFileDialog::getExistingURL();
      if( dest.isEmpty() ) return;
-     slotFileChosen( dest );
+     slotFileChosen( dest.isLocalFile() ? dest.path() : dest.url() );
 }

--- kdeaddons/konq-plugins/kuick/kuick_plugin.cpp  #1.28:1.28.2.1
@@ -58,5 +58,5 @@ void KTestMenu::slotPopupMaeh( ){
 }
 void KTestMenu::slotStartCopyJob( const QString &path ) {
-     KURL url( path );
+     KURL url = KURL::fromPathOrURL( path );
      KIO::CopyJob *copy;
      copy = KIO::copy( popup->popupURLList(), url);
@@ -64,5 +64,5 @@ void KTestMenu::slotStartCopyJob( const 
 }
 void KTestMenu::slotStartMoveJob( const QString &path) {
-     KURL url( path );
+     KURL url = KURL::fromPathOrURL( path );
      KIO::CopyJob *move;
      move = KIO::move( popup->popupURLList(), url );