Sfoglia il codice sorgente

Bug 1494: Colored session icon does not display on high DPI

https://winscp.net/tracker/1494
(cherry picked from commit 15db50660a775a427bf9cd306723650d87634efa)

Source commit: cd05d42ea8a6e65debe38092579186c4bfe9077d
Martin Prikryl 8 anni fa
parent
commit
4ae4e630a2
2 ha cambiato i file con 16 aggiunte e 0 eliminazioni
  1. 15 0
      source/forms/Login.cpp
  2. 1 0
      source/forms/Login.h

+ 15 - 0
source/forms/Login.cpp

@@ -140,6 +140,8 @@ void __fastcall TLoginDialog::InitControls()
   CenterButtonImage(LoginButton);
 
   SelectScaledImageList(SessionImageList);
+  // have to recreate the site images
+  UpdateNodeImages();
   SelectScaledImageList(ActionImageList);
 
   // Generate button images.
@@ -319,6 +321,19 @@ TTreeNode * __fastcall TLoginDialog::AddSession(TSessionData * Data)
   return Node;
 }
 //---------------------------------------------------------------------------
+void __fastcall TLoginDialog::UpdateNodeImages()
+{
+  TTreeNode * Node = SessionTree->Items->GetFirstNode();
+  while (Node != NULL)
+  {
+    if (IsSiteNode(Node))
+    {
+      UpdateNodeImage(Node);
+    }
+    Node = Node->GetNext();
+  }
+}
+//---------------------------------------------------------------------------
 void __fastcall TLoginDialog::UpdateNodeImage(TTreeNode * Node)
 {
   SetNodeImage(Node, GetSessionImageIndex(GetNodeSession(Node)));

+ 1 - 0
source/forms/Login.h

@@ -377,6 +377,7 @@ private:
   bool __fastcall IsCloneToNewSiteDefault();
   bool __fastcall IsDefaultResult(TModalResult Result);
   void __fastcall UpdateNodeImage(TTreeNode * Node);
+  void __fastcall UpdateNodeImages();
   int __fastcall GetSessionImageIndex(TSessionData * Data);
   void __fastcall SetNodeImage(TTreeNode * Node, int ImageIndex);
   void __fastcall CancelEditing();