瀏覽代碼

Bug fix: Queue status was not shown on task bar button, when WinSCP was minimized by clicking on the task bar button.

Source commit: 353b8d462c9eebc0b39f88db7928a624d9dc93cd
Martin Prikryl 8 年之前
父節點
當前提交
867bf6472e
共有 2 個文件被更改,包括 14 次插入1 次删除
  1. 13 1
      source/windows/TerminalManager.cpp
  2. 1 0
      source/windows/TerminalManager.h

+ 13 - 1
source/windows/TerminalManager.cpp

@@ -631,6 +631,18 @@ void __fastcall TTerminalManager::QueueStatusUpdated()
   UpdateAppTitle();
 }
 //---------------------------------------------------------------------------
+bool __fastcall TTerminalManager::ShouldDisplayQueueStatusOnAppTitle()
+{
+  bool Result = IsApplicationMinimized();
+  if (!Result && (ScpExplorer != NULL))
+  {
+    HWND Window = GetActiveWindow();
+    Window = GetAncestor(Window, GA_ROOTOWNER);
+    Result = (ScpExplorer->Handle != Window);
+  }
+  return Result;
+}
+//---------------------------------------------------------------------------
 void __fastcall TTerminalManager::UpdateAppTitle()
 {
   if (ScpExplorer)
@@ -654,7 +666,7 @@ void __fastcall TTerminalManager::UpdateAppTitle()
     {
       NewTitle = FProgressTitle + L" - " + NewTitle;
     }
-    else if ((ScpExplorer != NULL) && (ScpExplorer->Handle != GetAncestor(GetActiveWindow(), GA_ROOTOWNER)) &&
+    else if (ShouldDisplayQueueStatusOnAppTitle() &&
              !(QueueProgressTitle = ScpExplorer->GetQueueProgressTitle()).IsEmpty())
     {
       NewTitle = QueueProgressTitle + L" - " + NewTitle;

+ 1 - 0
source/windows/TerminalManager.h

@@ -168,6 +168,7 @@ private:
   void __fastcall ApplicationModalEnd(TObject * Sender);
   bool __fastcall HandleMouseWheel(WPARAM WParam, LPARAM LParam);
   void __fastcall DoConfigurationChange();
+  bool __fastcall ShouldDisplayQueueStatusOnAppTitle();
 };
 //---------------------------------------------------------------------------
 #endif