Summary: | it is not possible anymore to copy a file and get a notification to rename the file | ||
---|---|---|---|
Product: | [Applications] konqueror | Reporter: | Janet <bugzilla> |
Component: | general | Assignee: | Konqueror Developers <konq-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | abhay.kedia, cincaipatron, csanchisb, gerd, jo, logixoul, maxilys, mkopyto, sven.burmeister |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Janet
2006-03-17 19:27:36 UTC
Strange, i definitely *can* do it (both ways) and i get rename dialog. Tested on konqueror 4:3.5.1-ubuntu12 Indeed, very strange. I tested it on another computer with KDE 3.5.1-2 (also a Debian based distribution) and it worked - but only once. After that it was impossible too. I can copy folders but I cannot copy files that way: When I rightclick on a folder, choose copy, click on free space in directory, rightclick and choose paste I get the dialog to rename the pasted folder. When I do the same with a file I only get the message that source and target are the same file. SVN commit 522108 by dfaure: Handle ERR_IDENTICAL_FILES now that kio_file (and its wrappers :) ) emit it. Patch tested by Coolo. BUG: 123796 M +15 -7 job.cpp --- branches/KDE/3.5/kdelibs/kio/kio/job.cpp #522107:522108 @@ -2786,7 +2786,7 @@ { m_conflictError = job->error(); if ( (m_conflictError == ERR_DIR_ALREADY_EXIST) - || (m_conflictError == ERR_FILE_ALREADY_EXIST) ) + || (m_conflictError == ERR_FILE_ALREADY_EXIST) ) // can't happen? { KURL oldURL = ((SimpleJob*)job)->url(); // Should we skip automatically ? @@ -3050,7 +3050,8 @@ m_conflictError = job->error(); // save for later // Existing dest ? if ( ( m_conflictError == ERR_FILE_ALREADY_EXIST ) - || ( m_conflictError == ERR_DIR_ALREADY_EXIST ) ) + || ( m_conflictError == ERR_DIR_ALREADY_EXIST ) + || ( m_conflictError == ERR_IDENTICAL_FILES ) ) { subjobs.remove( job ); assert ( subjobs.isEmpty() ); @@ -3132,7 +3133,8 @@ m_reportTimer->stop(); if ( ( m_conflictError == ERR_FILE_ALREADY_EXIST ) - || ( m_conflictError == ERR_DIR_ALREADY_EXIST ) ) + || ( m_conflictError == ERR_DIR_ALREADY_EXIST ) + || ( m_conflictError == ERR_IDENTICAL_FILES ) ) { // Its modification time: time_t destmtime = (time_t)-1; @@ -3161,6 +3163,7 @@ // Offer overwrite only if the existing thing is a file // If src==dest, use "overwrite-itself" RenameDlg_Mode mode; + bool isDir = true; if( m_conflictError == ERR_DIR_ALREADY_EXIST ) mode = (RenameDlg_Mode) 0; @@ -3172,6 +3175,7 @@ mode = M_OVERWRITE_ITSELF; else mode = M_OVERWRITE; + isDir = false; } if ( m_bSingleFileCopy ) @@ -3179,7 +3183,7 @@ else mode = (RenameDlg_Mode) ( mode | M_MULTI | M_SKIP ); - res = Observer::self()->open_RenameDlg( this, m_conflictError == ERR_FILE_ALREADY_EXIST ? + res = Observer::self()->open_RenameDlg( this, !isDir ? i18n("File Already Exists") : i18n("Already Exists as Folder"), (*it).uSource.url(), (*it).uDest.url(), @@ -3602,7 +3606,9 @@ // In that case it's the _same_ dir, we don't want to copy+del (data loss!) if ( m_currentSrcURL.isLocalFile() && m_currentSrcURL.url(-1) != dest.url(-1) && m_currentSrcURL.url(-1).lower() == dest.url(-1).lower() && - ( err == ERR_FILE_ALREADY_EXIST || err == ERR_DIR_ALREADY_EXIST ) ) + ( err == ERR_FILE_ALREADY_EXIST || + err == ERR_DIR_ALREADY_EXIST || + err == ERR_IDENTICAL_FILES ) ) { kdDebug(7007) << "Couldn't rename directly, dest already exists. Detected special case of lower/uppercase renaming in same dir, try with 2 rename calls" << endl; QCString _src( QFile::encodeName(m_currentSrcURL.path()) ); @@ -3643,7 +3649,9 @@ Q_ASSERT( m_currentSrcURL == *m_currentStatSrc ); // Existing dest? - if ( ( err == ERR_DIR_ALREADY_EXIST || err == ERR_FILE_ALREADY_EXIST ) + if ( ( err == ERR_DIR_ALREADY_EXIST || + err == ERR_FILE_ALREADY_EXIST || + err == ERR_IDENTICAL_FILES ) && isInteractive() ) { if (m_reportTimer) @@ -3693,7 +3701,7 @@ RenameDlg_Result r = Observer::self()->open_RenameDlg( this, - err == ERR_FILE_ALREADY_EXIST ? i18n("File Already Exists") : i18n("Already Exists as Folder"), + err != ERR_DIR_ALREADY_EXIST ? i18n("File Already Exists") : i18n("Already Exists as Folder"), m_currentSrcURL.url(), dest.url(), mode, newPath, *** Bug 124492 has been marked as a duplicate of this bug. *** *** Bug 124533 has been marked as a duplicate of this bug. *** Commit 522108 resolved the problem for me. Thanks, Dick *** Bug 124915 has been marked as a duplicate of this bug. *** *** Bug 124918 has been marked as a duplicate of this bug. *** *** Bug 124993 has been marked as a duplicate of this bug. *** *** Bug 125159 has been marked as a duplicate of this bug. *** *** Bug 125198 has been marked as a duplicate of this bug. *** *** Bug 125227 has been marked as a duplicate of this bug. *** *** Bug 125537 has been marked as a duplicate of this bug. *** I have the same problem, but how can this code from above fix it for me? What do I have to do with it? > how can this code from above fix it for me? What do I have to do
Upgrade your KDE?
I have this bug, too in KDE Version 3.5.2 (KDE 3.5.2 Level "a" , SUSE 10.0 UNSUPPORTED) Application Web Browser/File Manager Operating System Linux (i686) release 2.6.13-15.8-default Compiler Target: i586-suse-linux In which KDE-Version it will be fixed? You would have to write an email to Stephan Binner, or to the suse-kde mailinglist, to request a new build of kdelibs. If he is willing to supply it, it will be available via supplementary. |