Bläddra i källkod

Bug 81: Optionally keep symbolic link name in path instead of resolving it with SFTP protocol

https://winscp.net/tracker/81
(cherry picked from commit 1659052497c5e006915186133675093951b3797d)

Source commit: 76740ebfbe4a61b2895d7c48dc1b822f4a895c58
Martin Prikryl 4 år sedan
förälder
incheckning
28e4d16601
3 ändrade filer med 27 tillägg och 5 borttagningar
  1. 3 0
      source/forms/SiteAdvanced.cpp
  2. 22 5
      source/forms/SiteAdvanced.dfm
  3. 2 0
      source/forms/SiteAdvanced.h

+ 3 - 0
source/forms/SiteAdvanced.cpp

@@ -72,6 +72,7 @@ void __fastcall TSiteAdvancedDialog::InitControls()
   ComboAutoSwitchInitialize(BugIgnore2Combo);
   ComboAutoSwitchInitialize(BugIgnore2Combo);
   ComboAutoSwitchInitialize(BugWinAdjCombo);
   ComboAutoSwitchInitialize(BugWinAdjCombo);
 
 
+  ComboAutoSwitchInitialize(SFTPRealPathCombo);
   ComboAutoSwitchInitialize(SFTPBugSymlinkCombo);
   ComboAutoSwitchInitialize(SFTPBugSymlinkCombo);
   ComboAutoSwitchInitialize(SFTPBugSignedTSCombo);
   ComboAutoSwitchInitialize(SFTPBugSignedTSCombo);
 
 
@@ -198,6 +199,7 @@ void __fastcall TSiteAdvancedDialog::LoadSession()
 
 
     SFTPMaxVersionCombo->ItemIndex = FSessionData->SFTPMaxVersion;
     SFTPMaxVersionCombo->ItemIndex = FSessionData->SFTPMaxVersion;
 
 
+    ComboAutoSwitchLoad(SFTPRealPathCombo, FSessionData->SFTPRealPath);
     #define LOAD_SFTP_BUG_COMBO(BUG) \
     #define LOAD_SFTP_BUG_COMBO(BUG) \
       ComboAutoSwitchLoad(SFTPBug ## BUG ## Combo, FSessionData->SFTPBug[sb ## BUG])
       ComboAutoSwitchLoad(SFTPBug ## BUG ## Combo, FSessionData->SFTPBug[sb ## BUG])
     LOAD_SFTP_BUG_COMBO(Symlink);
     LOAD_SFTP_BUG_COMBO(Symlink);
@@ -604,6 +606,7 @@ void __fastcall TSiteAdvancedDialog::SaveSession(TSessionData * SessionData)
     }
     }
   }
   }
 
 
+  FSessionData->SFTPRealPath = ComboAutoSwitchSave(SFTPRealPathCombo);
   #define SAVE_SFTP_BUG_COMBO(BUG) SessionData->SFTPBug[sb ## BUG] = ComboAutoSwitchSave(SFTPBug ## BUG ## Combo);
   #define SAVE_SFTP_BUG_COMBO(BUG) SessionData->SFTPBug[sb ## BUG] = ComboAutoSwitchSave(SFTPBug ## BUG ## Combo);
   SAVE_SFTP_BUG_COMBO(Symlink);
   SAVE_SFTP_BUG_COMBO(Symlink);
   SAVE_SFTP_BUG_COMBO(SignedTS);
   SAVE_SFTP_BUG_COMBO(SignedTS);

+ 22 - 5
source/forms/SiteAdvanced.dfm

@@ -556,7 +556,7 @@ object SiteAdvancedDialog: TSiteAdvancedDialog
           382)
           382)
         object SFTPBugsGroupBox: TGroupBox
         object SFTPBugsGroupBox: TGroupBox
           Left = 0
           Left = 0
-          Top = 108
+          Top = 130
           Width = 393
           Width = 393
           Height = 70
           Height = 70
           Anchors = [akLeft, akTop, akRight]
           Anchors = [akLeft, akTop, akRight]
@@ -604,13 +604,13 @@ object SiteAdvancedDialog: TSiteAdvancedDialog
           Left = 0
           Left = 0
           Top = 6
           Top = 6
           Width = 393
           Width = 393
-          Height = 96
+          Height = 118
           Anchors = [akLeft, akTop, akRight]
           Anchors = [akLeft, akTop, akRight]
           Caption = 'Protocol options'
           Caption = 'Protocol options'
           TabOrder = 0
           TabOrder = 0
           DesignSize = (
           DesignSize = (
             393
             393
-            96)
+            118)
           object Label34: TLabel
           object Label34: TLabel
             Left = 12
             Left = 12
             Top = 44
             Top = 44
@@ -627,6 +627,14 @@ object SiteAdvancedDialog: TSiteAdvancedDialog
             Caption = 'SFTP ser&ver:'
             Caption = 'SFTP ser&ver:'
             FocusControl = SftpServerEdit
             FocusControl = SftpServerEdit
           end
           end
+          object Label5: TLabel
+            Left = 12
+            Top = 68
+            Width = 157
+            Height = 13
+            Caption = '&Canonicalize paths on the server'
+            FocusControl = SFTPRealPathCombo
+          end
           object SFTPMaxVersionCombo: TComboBox
           object SFTPMaxVersionCombo: TComboBox
             Left = 320
             Left = 320
             Top = 39
             Top = 39
@@ -662,14 +670,23 @@ object SiteAdvancedDialog: TSiteAdvancedDialog
           end
           end
           object AllowScpFallbackCheck: TCheckBox
           object AllowScpFallbackCheck: TCheckBox
             Left = 12
             Left = 12
-            Top = 68
+            Top = 90
             Width = 369
             Width = 369
             Height = 17
             Height = 17
             Anchors = [akLeft, akTop, akRight]
             Anchors = [akLeft, akTop, akRight]
             Caption = 'Allow SCP &fallback'
             Caption = 'Allow SCP &fallback'
-            TabOrder = 2
+            TabOrder = 3
             OnClick = DataChange
             OnClick = DataChange
           end
           end
+          object SFTPRealPathCombo: TComboBox
+            Left = 320
+            Top = 63
+            Width = 61
+            Height = 21
+            Style = csDropDownList
+            Anchors = [akTop, akRight]
+            TabOrder = 2
+          end
         end
         end
       end
       end
       object ScpSheet: TTabSheet
       object ScpSheet: TTabSheet

+ 2 - 0
source/forms/SiteAdvanced.h

@@ -279,6 +279,8 @@ __published:
   TLabel *S3SessionTokenLabel;
   TLabel *S3SessionTokenLabel;
   TMemo *S3SessionTokenMemo;
   TMemo *S3SessionTokenMemo;
   TCheckBox *VMSAllRevisionsCheck;
   TCheckBox *VMSAllRevisionsCheck;
+  TLabel *Label5;
+  TComboBox *SFTPRealPathCombo;
   void __fastcall DataChange(TObject *Sender);
   void __fastcall DataChange(TObject *Sender);
   void __fastcall FormShow(TObject *Sender);
   void __fastcall FormShow(TObject *Sender);
   void __fastcall PageControlChange(TObject *Sender);
   void __fastcall PageControlChange(TObject *Sender);