Pārlūkot izejas kodu

Duplicate and Rename session commands work even for disconnected sessions (as the commands will ultimately be Duplicate/Rename tab and they should work anytime)

Source commit: 6c40db0dd1435dd8402dc3d0caedb3dd8068817d
Martin Prikryl 5 gadi atpakaļ
vecāks
revīzija
2d0664c2ba
2 mainītis faili ar 9 papildinājumiem un 4 dzēšanām
  1. 7 2
      source/forms/CustomScpExplorer.cpp
  2. 2 2
      source/forms/NonVisual.cpp

+ 7 - 2
source/forms/CustomScpExplorer.cpp

@@ -4892,8 +4892,13 @@ void __fastcall TCustomScpExplorerForm::DuplicateSession()
     std::unique_ptr<TSessionData> SessionData(CloneCurrentSessionData());
 
     TTerminalManager * Manager = TTerminalManager::Instance();
-    TManagedTerminal * Terminal = Manager->NewManagedTerminal(SessionData.get());
-    Manager->ActiveSession = Terminal;
+    TManagedTerminal * ATerminal = Manager->NewManagedTerminal(SessionData.get());
+    // We definitelly want this
+    ATerminal->Disconnected = Terminal->Disconnected;
+    // Not sure about these two
+    ATerminal->Permanent = Terminal->Permanent;
+    ATerminal->DisconnectedTemporarily = Terminal->DisconnectedTemporarily; // maybe
+    Manager->ActiveSession = ATerminal;
   }
 }
 //---------------------------------------------------------------------------

+ 2 - 2
source/forms/NonVisual.cpp

@@ -413,8 +413,8 @@ void __fastcall TNonVisualDataModule::ExplorerActionsUpdate(
   // SESSION
   UPD(NewSessionAction, true)
   UPD(SiteManagerAction, true)
-  UPD(DuplicateSessionAction, HasTerminal)
-  UPD(RenameSessionAction, HasTerminal)
+  UPD(DuplicateSessionAction, (ScpExplorer->Terminal != NULL))
+  UPD(RenameSessionAction, (ScpExplorer->Terminal != NULL))
   UPD(CloseSessionAction2, (ScpExplorer->Terminal != NULL))
   UPDEX1(DisconnectSessionAction, HasTerminal, DisconnectSessionAction->Visible = (ScpExplorer->Terminal == NULL) || !ScpExplorer->Terminal->Disconnected)
   UPDEX1(ReconnectSessionAction, (ScpExplorer->Terminal != NULL) && ScpExplorer->Terminal->Disconnected, ReconnectSessionAction->Visible = ReconnectSessionAction->Enabled)