diff options
| -rw-r--r-- | UCore.pas | 6 | ||||
| -rw-r--r-- | UMain.pas | 12 |
2 files changed, 11 insertions, 7 deletions
@@ -1102,8 +1102,10 @@ begin PDataItemSL(List[i])^.IsDir and (not PDataItemSL(List[i])^.IsLnk)); // DebugMsg(['s2 = ', Copy(PDataItemSL(List[i])^.AName, Length(CurrPath) + 1, Length(PDataItemSL(List[i])^.AName) - Length(CurrPath)), ', s = ', s]); end; - UpdateCaption1(Format(LANGFromS, [string(PDataItemSL(List[i])^.FDisplayName)])); - UpdateCaption2(Format(LANGToS, [StrToUTF8(s)])); + if SrcEngine is TVFSEngine then UpdateCaption1(Format(LANGFromS, [Format(ConstFullPathFormatStr, [SrcEngine.GetPrefix, string(PDataItemSL(List[i])^.FDisplayName)])])) + else UpdateCaption1(Format(LANGFromS, [string(PDataItemSL(List[i])^.FDisplayName)])); + if DestEngine is TVFSEngine then UpdateCaption2(Format(LANGToS, [Format(ConstFullPathFormatStr, [DestEngine.GetPrefix, StrToUTF8(s)])])) + else UpdateCaption2(Format(LANGToS, [StrToUTF8(s)])); CommitGUIUpdate; if TwoSameFiles(s, string(PDataItemSL(List[i])^.FName), ParamBool3) and (not PDataItemSL(List[i])^.IsDir) then begin FCancelMessage := LANGCannotCopyFileToItself; @@ -2549,9 +2549,9 @@ begin end; end; end else FCopyMove.Entry.Text := '*.*'; - end else - if OppositeEngine is TLocalTreeEngine then FCopyMove.Entry.Text := OppositeEngine.Path - else FCopyMove.Entry.Text := Format(ConstFullPathFormatStr, [OppositeEngine.GetPrefix, OppositeEngine.Path]); + end else FCopyMove.Entry.Text := OppositeEngine.Path; +{ if OppositeEngine is TLocalTreeEngine then FCopyMove.Entry.Text := OppositeEngine.Path + else FCopyMove.Entry.Text := Format(ConstFullPathFormatStr, [OppositeEngine.GetPrefix, OppositeEngine.Path]); } if not BypassSelAll then FCopyMove.Entry.SelectAll; if FCopyMove.Run <> mbOK then Exit; NewPathx := FCopyMove.Entry.Text; @@ -2582,10 +2582,11 @@ begin AFProgress.ProgressBar.Value := 0; AWorkingThread.ProgressForm := AFProgress; if Assigned(ListView.Selected) then AWorkingThread.SelectedItem := ListView.Selected.Data; - AWorkingThread.DestEngine := nil; + AWorkingThread.DestEngine := OppositeEngine; AWorkingThread.SrcEngine := Engine; // Determine on which engine the entered path is +{ if Pos(ConstPathDelim, NewPath) = 0 then begin if OppositeEngine is TLocalTreeEngine then AWorkingThread.DestEngine := OppositeEngine else if CurrentEngine is TLocalTreeEngine then AWorkingThread.DestEngine := CurrentEngine @@ -2602,13 +2603,14 @@ begin Exit; end; end; +} if AWorkingThread = nil then begin // Something went terribly wrong Application.MessageBox(LANGCannotDetermineDestinationEngine, [mbOK], mbError, mbOK, mbOK); Exit; end; // Strip the engine prefix - if Pos(ConstPathDelim, NewPath) > 0 then Delete(NewPath, 1, Pos(ConstPathDelim, NewPath)); +// if Pos(ConstPathDelim, NewPath) > 0 then Delete(NewPath, 1, Pos(ConstPathDelim, NewPath)); AWorkingThread.LeftPanel := LeftPanel; AWorkingThread.DataList := DataList; |
