Просмотр исходного кода

Bug 1482: Use WinSCP site name for PuTTY window title

https://winscp.net/tracker/1482

Source commit: 2ac1f267ed01b1d7cf009f3a31748349f850f1eb
Martin Prikryl 8 лет назад
Родитель
Сommit
e18a6663a2
3 измененных файлов с 12 добавлено и 0 удалено
  1. 8 0
      source/core/SessionData.cpp
  2. 3 0
      source/core/SessionData.h
  3. 1 0
      source/windows/GUITools.cpp

+ 8 - 0
source/core/SessionData.cpp

@@ -147,6 +147,7 @@ void __fastcall TSessionData::Default()
   FingerprintScan = false;
   FOverrideCachedHostKey = true;
   Note = L"";
+  WinTitle = L"";
 
   ProxyMethod = ::pmNone;
   ProxyHost = L"proxy";
@@ -397,6 +398,7 @@ void __fastcall TSessionData::NonPersistant()
   PROPERTY(MinTlsVersion); \
   PROPERTY(MaxTlsVersion); \
   \
+  PROPERTY(WinTitle); \
   PROPERTY(CustomParam1); \
   PROPERTY(CustomParam2);
 #define META_PROPERTIES \
@@ -992,6 +994,7 @@ void __fastcall TSessionData::DoSave(THierarchicalStorage * Storage,
   if (PuttyExport)
   {
     WRITE_DATA_EX(String, L"Protocol", GetNormalizedPuttyProtocol(), );
+    WRITE_DATA_EX(String, L"WinTitle", WinTitle, );
   }
 
   if (!PuttyExport)
@@ -3622,6 +3625,11 @@ void __fastcall TSessionData::SetNote(UnicodeString value)
   SET_SESSION_PROPERTY(Note);
 }
 //---------------------------------------------------------------------
+void __fastcall TSessionData::SetWinTitle(UnicodeString value)
+{
+  SET_SESSION_PROPERTY(WinTitle);
+}
+//---------------------------------------------------------------------
 UnicodeString __fastcall TSessionData::GetInfoTip()
 {
   if (UsesSsh)

+ 3 - 0
source/core/SessionData.h

@@ -206,6 +206,7 @@ private:
   bool FFingerprintScan;
   bool FOverrideCachedHostKey;
   UnicodeString FNote;
+  UnicodeString FWinTitle;
 
   UnicodeString FOrigHostName;
   int FOrigPortNumber;
@@ -368,6 +369,7 @@ private:
   void __fastcall SetLink(UnicodeString value);
   void __fastcall SetHostKey(UnicodeString value);
   void __fastcall SetNote(UnicodeString value);
+  void __fastcall SetWinTitle(UnicodeString value);
   TDateTime __fastcall GetTimeoutDT();
   void __fastcall SavePasswords(THierarchicalStorage * Storage, bool PuttyExport, bool DoNotEncryptPasswords);
   UnicodeString __fastcall GetLocalName();
@@ -602,6 +604,7 @@ public:
   __property bool FingerprintScan = { read = FFingerprintScan, write = FFingerprintScan };
   __property bool OverrideCachedHostKey = { read = FOverrideCachedHostKey };
   __property UnicodeString Note = { read = FNote, write = SetNote };
+  __property UnicodeString WinTitle = { read = FWinTitle, write = SetWinTitle };
   __property UnicodeString StorageKey = { read = GetStorageKey };
   __property UnicodeString SiteKey = { read = GetSiteKey };
   __property UnicodeString OrigHostName = { read = FOrigHostName };

+ 1 - 0
source/windows/GUITools.cpp

@@ -103,6 +103,7 @@ void __fastcall OpenSessionInPutty(const UnicodeString PuttyPath,
             ExportData->Assign(SessionData);
             ExportData->Modified = true;
             ExportData->Name = GUIConfiguration->PuttySession;
+            ExportData->WinTitle = SessionData->SessionName;
             ExportData->Password = L"";
 
             if (SessionData->FSProtocol == fsFTP)