Add rdp reconnect button

This commit is contained in:
crschnick committed 2026-10-02 09:53:33 +00:00
1 parent 88e6cb3a29
commit f5823af210
20 files changed
+42 -5

No files matched your search

@@ -11,6 +11,7 @@ import io.xpipe.app.platform.LabelGraphic;
import io.xpipe.app.platform.PlatformThread;
import javafx.application.Platform;
import javafx.beans.binding.Bindings;
import javafx.beans.property.SimpleBooleanProperty;
import javafx.beans.value.ObservableBooleanValue;
import javafx.collections.ListChangeListener;
@@ -149,11 +150,17 @@ public class RemoteDesktopDockComp extends SimpleRegionBuilder {
buttons.setSpacing(6);
bar.getItems().add(buttons);
var restartButton =
new ButtonComp(AppI18n.observable("reloadSizes"), new LabelGraphic.IconGraphic("mdi2r-restart"), () -> {
w.reconnectResize();
});
restartButton.visible(requiresRestart);
var restartName = Bindings.createStringBinding(() -> {
return requiresRestart.get() ? AppI18n.get("reloadSizes") : AppI18n.get("reconnect");
}, requiresRestart, AppI18n.activeLanguage());
var restartButton = new ButtonComp(restartName, new LabelGraphic.IconGraphic("mdi2r-restart"), () -> {
if (requiresRestart.get()) {
w.reconnectResize();
} else {
w.reconnect();
}
});
restartButton.visible(w.getSelected().isNotNull());
buttons.getChildren().add(restartButton.build());
}
@@ -197,6 +197,18 @@ public class RemoteDesktopWindow {
}
}
public void reconnect() {
var toRestart = getSelected().getValue();
if (toRestart == null) {
return;
}
ThreadHelper.runFailableAsync(() -> {
close(toRestart, false);
toRestart.getEntry().getProvider().launch(toRestart.getEntry()).run();
});
}
public void reconnectResize() {
var rect = getDockBounds();
var toRestart = getProcesses().stream()
+1
View File
@@ -2047,6 +2047,7 @@ unsyncedIdentityContent=Denne forbindelse er markeret til synkronisering på tv
rdpDock=Dock-vindue
rdpDockDescription=Hvis denne funktion er aktiveret, vil ethvert åbnet RDP-vindue blive fastgjort til det indbyggede fjernskrivebordsvindue med faner.
reloadSizes=Opret forbindelse igen for at ændre størrelsen
reconnect=Genopret forbindelse
certificateFile=Certifikatfil
checkValidity=Kontroller gyldigheden
certificatePublicKey=Certifikatets offentlige nøgle
+1
View File
@@ -2043,6 +2043,7 @@ unsyncedIdentityContent=Diese Verbindung ist für die Synchronisierung über meh
rdpDock=Fenster andocken
rdpDockDescription=Wenn diese Option aktiviert ist, wird jedes geöffnete RDP-Fenster an das integrierte Remote-Desktop-Fenster mit Registerkarten angeheftet.
reloadSizes=Erneut verbinden, um die Größe anzupassen
reconnect=Erneut verbinden
certificateFile=Zertifikatsdatei
checkValidity=Gültigkeit prüfen
certificatePublicKey=Öffentlicher Schlüssel eines Zertifikats
+1
View File
@@ -2092,6 +2092,7 @@ unsyncedIdentityContent=This connection is marked to sync across multiple system
rdpDock=Dock window
rdpDockDescription=If enabled, any opened RDP window will be docked to the built-in tabbed remote desktop window.
reloadSizes=Reconnect to resize
reconnect=Reconnect
certificateFile=Certificate file
checkValidity=Check validity
certificatePublicKey=Certificate public key
+1
View File
@@ -2009,6 +2009,7 @@ unsyncedIdentityContent=Esta conexión está configurada para sincronizarse entr
rdpDock=Ajustar ventana
rdpDockDescription=Si está activada esta opción, cualquier ventana RDP que abras se acoplará a la ventana integrada de escritorio remoto con pestañas.
reloadSizes=Vuelve a conectar para cambiar el tamaño
reconnect=Volver a conectarse
certificateFile=Archivo de certificado
checkValidity=Comprueba la validez
certificatePublicKey=Clave pública del certificado
+1
View File
@@ -2046,6 +2046,7 @@ unsyncedIdentityContent=Cette connexion est configurée pour être synchronisée
rdpDock=Ancrer une fenêtre
rdpDockDescription=Si cette option est activée, toute fenêtre RDP ouverte sera ancrée à la fenêtre intégrée du bureau à distance à onglets.
reloadSizes=Se reconnecter pour redimensionner
reconnect=Se reconnecter
certificateFile=Fichier de certificat
checkValidity=Vérifier la validité
certificatePublicKey=Clé publique de certificat
+1
View File
@@ -2009,6 +2009,7 @@ unsyncedIdentityContent=Koneksi ini ditandai untuk disinkronkan di beberapa sist
rdpDock=Jendela dock
rdpDockDescription=Jika diaktifkan, setiap jendela RDP yang dibuka akan ditambatkan ke jendela desktop jarak jauh bertab bawaan.
reloadSizes=Hubungkan kembali untuk mengubah ukuran
reconnect=Sambungkan kembali
certificateFile=Berkas sertifikat
checkValidity=Periksa keabsahan
certificatePublicKey=Kunci publik sertifikat
+1
View File
@@ -2009,6 +2009,7 @@ unsyncedIdentityContent=Questa connessione è contrassegnata per la sincronizzaz
rdpDock=Ancorare la finestra
rdpDockDescription=Se abilitata, qualsiasi finestra RDP aperta verrà agganciata alla finestra integrata del desktop remoto a schede.
reloadSizes=Riconnetiti per ridimensionare
reconnect=Riconnetti
certificateFile=File di certificato
checkValidity=Verifica la validità
certificatePublicKey=Chiave pubblica del certificato
+1
View File
@@ -2009,6 +2009,7 @@ unsyncedIdentityContent=この接続は複数のシステム間で同期され
rdpDock=ウィンドウをドックする
rdpDockDescription=この機能を有効にすると、開かれたRDPウィンドウはすべて、組み込みのタブ付きリモートデスクトップウィンドウにドッキングされる。
reloadSizes=サイズ変更するには再接続する
reconnect=再接続
certificateFile=証明書ファイル
checkValidity=有効性を確認する
certificatePublicKey=証明書の公開鍵
+1
View File
@@ -2056,6 +2056,7 @@ unsyncedIdentityContent=이 연결은 여러 시스템 간에 동기화되도록
rdpDock=창 고정
rdpDockDescription=이 기능을 활성화하면, 열린 모든 RDP 창이 기본 제공되는 탭 형식의 원격 데스크톱 창에 도킹됩니다.
reloadSizes=크기 조정을 위해 다시 연결
reconnect=다시 연결
certificateFile=인증서 파일
checkValidity=유효성 확인
certificatePublicKey=인증서의 공개 키
+1
View File
@@ -2009,6 +2009,7 @@ unsyncedIdentityContent=Deze verbinding is gemarkeerd om tussen meerdere systeme
rdpDock=Venster vastzetten
rdpDockDescription=Als deze optie is ingeschakeld, wordt elk geopend RDP-venster gekoppeld aan het ingebouwde venster met tabbladen voor het externe bureaublad.
reloadSizes=Maak opnieuw verbinding om het formaat aan te passen
reconnect=Opnieuw verbinden
certificateFile=Certificaatbestand
checkValidity=Controleer of het klopt
certificatePublicKey=Openbare sleutel van een certificaat
+1
View File
@@ -2010,6 +2010,7 @@ unsyncedIdentityContent=To połączenie jest oznaczone do synchronizacji między
rdpDock=Dokuj okno
rdpDockDescription=Jeśli ta opcja jest włączona, każde otwarte okno RDP zostanie zadokowane do wbudowanego okna pulpitu zdalnego z zakładkami.
reloadSizes=Połącz się ponownie, żeby zmienić rozmiar
reconnect=Ponowne połączenie
certificateFile=Plik certyfikatu
checkValidity=Sprawdź poprawność
certificatePublicKey=Klucz publiczny certyfikatu
+1
View File
@@ -2009,6 +2009,7 @@ unsyncedIdentityContent=Esta ligação está marcada para sincronização entre
rdpDock=Anexar janela
rdpDockDescription=Se estiver ativada, qualquer janela RDP aberta será acoplada à janela integrada da área de trabalho remota com separadores.
reloadSizes=Reconecta para ajustar o tamanho
reconnect=Reconectar
certificateFile=Ficheiro de certificado
checkValidity=Verificar a validade
certificatePublicKey=Chave pública do certificado
+1
View File
@@ -2111,6 +2111,7 @@ unsyncedIdentityContent=Это соединение помечено для си
rdpDock=Закрепить окно
rdpDockDescription=Если эта опция включена, любое открытое окно RDP будет прикреплено к встроенному окну удалённого рабочего стола с вкладками.
reloadSizes=Переподключись, чтобы изменить размер
reconnect=Повторное подключение
certificateFile=Файл сертификата
checkValidity=Проверить правильность
certificatePublicKey=Открытый ключ сертификата
+1
View File
@@ -2009,6 +2009,7 @@ unsyncedIdentityContent=Denna anslutning är markerad för synkronisering mellan
rdpDock=Dockningsfönster
rdpDockDescription=Om denna funktion är aktiverad kommer alla öppnade RDP-fönster att dockas till det inbyggda fjärrskrivbordsfönstret med flikar.
reloadSizes=Anslut på nytt för att ändra storlek
reconnect=Återanslut
certificateFile=Certifikatfil
checkValidity=Kontrollera giltigheten
certificatePublicKey=Certifikatets publika nyckel
+1
View File
@@ -2009,6 +2009,7 @@ unsyncedIdentityContent=Bu bağlantı, birden fazla sistem arasında senkronize
rdpDock=Pencereyi sabitlemek
rdpDockDescription=Bu özellik etkinleştirildiğinde, açılan tüm RDP pencereleri yerleşik sekmeli uzak masaüstü penceresine sabitlenecektir.
reloadSizes=Yeniden bağlanarak boyutunu değiştirin
reconnect=Yeniden bağlan
certificateFile=Sertifika dosyası
checkValidity=Geçerliliği kontrol et
certificatePublicKey=Sertifikanın açık anahtarı
+1
View File
@@ -2009,6 +2009,7 @@ unsyncedIdentityContent=Kết nối này được đánh dấu để đồng b
rdpDock=Ghim cửa sổ
rdpDockDescription=Nếu bật tính năng này, bất kỳ cửa sổ RDP nào đang mở sẽ được gắn vào cửa sổ máy tính từ xa có tab tích hợp sẵn.
reloadSizes=Kết nối lại để thay đổi kích thước
reconnect=Kết nối lại
certificateFile=Tệp chứng chỉ
checkValidity=Kiểm tra tính hợp lệ
certificatePublicKey=Khóa công khai của chứng chỉ
+1
View File
@@ -2568,6 +2568,7 @@ unsyncedIdentityContent=此连接已标记为在多个系统间进行同步,
rdpDock=窗口停靠
rdpDockDescription=如果启用此功能,任何已打开的 RDP 窗口都将停靠在内置的标签式远程桌面窗口中。
reloadSizes=重新连接以调整大小
reconnect=重新连接
certificateFile=证书文件
checkValidity=检查有效性
certificatePublicKey=证书公钥
+1
View File
@@ -2009,6 +2009,7 @@ unsyncedIdentityContent=此連線已標記為需在多個系統間同步,但
rdpDock=停靠視窗
rdpDockDescription=若啟用此功能,任何開啟的 RDP 視窗都會停靠至內建的分頁式遠端桌面視窗中。
reloadSizes=重新連線以調整大小
reconnect=重新連線
certificateFile=憑證檔案
checkValidity=檢查有效性
certificatePublicKey=憑證公鑰