diff --git a/guacamole/src/main/frontend/src/app/client/controllers/clientController.js b/guacamole/src/main/frontend/src/app/client/controllers/clientController.js index 2821146f8a..920d79b3ae 100644 --- a/guacamole/src/main/frontend/src/app/client/controllers/clientController.js +++ b/guacamole/src/main/frontend/src/app/client/controllers/clientController.js @@ -486,6 +486,18 @@ angular.module('client').controller('clientController', ['$scope', '$routeParams }); + // Automatically update connection parameters that have been modified + // for the current focused client + $scope.$on('guacClientArgumentsUpdated', function focusedClientChanged(event, focusedClient) { + + // Update available connection parameters, if the updated arguments are + // for the current focused client - otherwise ignore them + if ($scope.focusedClient && $scope.focusedClient === focusedClient) + $scope.menu.connectionParameters = focusedClient ? + ManagedClient.getArgumentModel(focusedClient) : {}; + + }); + // Update page icon when thumbnail changes $scope.$watch('focusedClient.thumbnail.canvas', function thumbnailChanged(canvas) { iconService.setIcons(canvas); diff --git a/guacamole/src/main/frontend/src/app/client/directives/guacTiledClients.js b/guacamole/src/main/frontend/src/app/client/directives/guacTiledClients.js index 01ecab50dc..e43c2603fd 100644 --- a/guacamole/src/main/frontend/src/app/client/directives/guacTiledClients.js +++ b/guacamole/src/main/frontend/src/app/client/directives/guacTiledClients.js @@ -92,6 +92,11 @@ angular.module('client').directive('guacTiledClients', [function guacTiledClient $scope.$emit('guacClientFocused', focusedClient); }); + // Notify whenever arguments of currently-focused client changes + $scope.$watch('getFocusedClient().arguments', function focusedClientParametersChanged() { + $scope.$emit('guacClientArgumentsUpdated', $scope.getFocusedClient()); + }, true); + /** * Returns a callback for guacClick that assigns or updates keyboard * focus to the given client, allowing that client to receive and