Browse Source

Not showing "Operation was successfully completed" when canceling Synchronization Checklist window opened from command-line

Source commit: ad2bff132bb970b1b63200029b18fe8efb77b706
Martin Prikryl 7 years ago
parent
commit
f2a12117c4

+ 4 - 2
source/forms/CustomScpExplorer.cpp

@@ -5448,8 +5448,10 @@ bool __fastcall TCustomScpExplorerForm::DoFullSynchronizeDirectories(
         SynchronizeParams.StartTime = &StartTime;
         if (FLAGSET(Params, TTerminal::spPreviewChanges))
         {
-          DoSynchronizeChecklistDialog(
-            Checklist, Mode, Params, LocalDirectory, RemoteDirectory, CustomCommandMenu, DoFullSynchronize, &SynchronizeParams);
+          Result =
+            DoSynchronizeChecklistDialog(
+              Checklist, Mode, Params, LocalDirectory, RemoteDirectory, CustomCommandMenu, DoFullSynchronize,
+              &SynchronizeParams);
         }
         else
         {

+ 3 - 3
source/forms/SynchronizeChecklist.cpp

@@ -27,14 +27,14 @@
 //---------------------------------------------------------------------
 const int ImageColumnIndex = 4;
 //---------------------------------------------------------------------
-void __fastcall DoSynchronizeChecklistDialog(TSynchronizeChecklist * Checklist,
+bool __fastcall DoSynchronizeChecklistDialog(TSynchronizeChecklist * Checklist,
   TSynchronizeMode Mode, int Params,
   const UnicodeString LocalDirectory, const UnicodeString RemoteDirectory,
   TCustomCommandMenuEvent OnCustomCommandMenu, TFullSynchronizeEvent OnSynchronize, void * Token)
 {
   std::unique_ptr<TSynchronizeChecklistDialog> Dialog(
     new TSynchronizeChecklistDialog(Application, Mode, Params, LocalDirectory, RemoteDirectory, OnCustomCommandMenu, OnSynchronize, Token));
-  Dialog->Execute(Checklist);
+  return Dialog->Execute(Checklist);
 }
 //---------------------------------------------------------------------
 __fastcall TSynchronizeChecklistDialog::TSynchronizeChecklistDialog(
@@ -80,7 +80,7 @@ __fastcall TSynchronizeChecklistDialog::~TSynchronizeChecklistDialog()
   ListView->WindowProc = FOrigListViewWindowProc;
 }
 //---------------------------------------------------------------------
-void __fastcall TSynchronizeChecklistDialog::Execute(TSynchronizeChecklist * Checklist)
+bool __fastcall TSynchronizeChecklistDialog::Execute(TSynchronizeChecklist * Checklist)
 {
   FChecklist = Checklist;
 

+ 1 - 1
source/forms/SynchronizeChecklist.h

@@ -94,7 +94,7 @@ public:
     TFullSynchronizeEvent OnSynchronize, void * Token);
   virtual __fastcall ~TSynchronizeChecklistDialog();
 
-  void __fastcall Execute(TSynchronizeChecklist * Checklist);
+  bool __fastcall Execute(TSynchronizeChecklist * Checklist);
 
 protected:
   bool FFormRestored;

+ 1 - 1
source/windows/WinInterface.h

@@ -352,7 +352,7 @@ class TSynchronizeChecklist;
 typedef void __fastcall (__closure *TCustomCommandMenuEvent)
   (TAction * Action, TStrings * LocalFileList, TStrings * RemoteFileList);
 typedef void __fastcall (__closure *TFullSynchronizeEvent)(void * Token, TProcessedItem OnProcessedItem);
-void __fastcall DoSynchronizeChecklistDialog(TSynchronizeChecklist * Checklist,
+bool __fastcall DoSynchronizeChecklistDialog(TSynchronizeChecklist * Checklist,
   TSynchronizeMode Mode, int Params,
   const UnicodeString LocalDirectory, const UnicodeString RemoteDirectory,
   TCustomCommandMenuEvent OnCustomCommandMenu, TFullSynchronizeEvent OnSynchronize, void * Token);