mirror of
				https://github.com/gyurix1968/guacamole-client.git
				synced 2025-10-31 17:13:21 +00:00 
			
		
		
		
	GUACAMOLE-152: Allow zoom/scale to be manually entered.
This commit is contained in:
		| @@ -0,0 +1,42 @@ | ||||
| /* | ||||
|  * Licensed to the Apache Software Foundation (ASF) under one | ||||
|  * or more contributor license agreements.  See the NOTICE file | ||||
|  * distributed with this work for additional information | ||||
|  * regarding copyright ownership.  The ASF licenses this file | ||||
|  * to you under the Apache License, Version 2.0 (the | ||||
|  * "License"); you may not use this file except in compliance | ||||
|  * with the License.  You may obtain a copy of the License at | ||||
|  * | ||||
|  *   http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  * | ||||
|  * Unless required by applicable law or agreed to in writing, | ||||
|  * software distributed under the License is distributed on an | ||||
|  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||||
|  * KIND, either express or implied.  See the License for the | ||||
|  * specific language governing permissions and limitations | ||||
|  * under the License. | ||||
|  */ | ||||
|  | ||||
| /** | ||||
|  * A directive which converts between human-readable zoom | ||||
|  * percentage and display scale. | ||||
|  */ | ||||
| angular.module('client').directive('guacZoomCtrl', function guacZoomCtrl() { | ||||
|     return { | ||||
|         restrict: 'A', | ||||
|         require: 'ngModel', | ||||
|         priority: 101, | ||||
|         link: function(scope, element, attr, ngModel) { | ||||
|  | ||||
|             // When pushing to the menu, mutiply by 100. | ||||
|             ngModel.$formatters.push(function(value) { | ||||
|                 return Math.round(value * 100); | ||||
|             }); | ||||
|             | ||||
|             // When parsing value from menu, divide by 100. | ||||
|             ngModel.$parsers.push(function(value) { | ||||
|                 return Math.round(value) / 100; | ||||
|             }); | ||||
|         } | ||||
|     } | ||||
| }); | ||||
| @@ -134,6 +134,16 @@ | ||||
|     padding-top: 1em; | ||||
| } | ||||
|  | ||||
| .menu-section .zoom-ctrl { | ||||
|     width: 4em; | ||||
| } | ||||
|  | ||||
| .menu-section .zoom-ctrl::-webkit-inner-spin-button, | ||||
| .menu-section .zoom-ctrl::-webkit-outer-spin-button { | ||||
|     -webkit-appearance: none; | ||||
|     margin: 0; | ||||
| } | ||||
|  | ||||
| .menu, | ||||
| .menu.closed { | ||||
|     left: -480px; | ||||
|   | ||||
| @@ -151,7 +151,7 @@ | ||||
|                     <div class="content"> | ||||
|                         <div id="zoom-settings"> | ||||
|                             <div ng-click="zoomOut()" id="zoom-out"><img src="images/settings/zoom-out.png" alt="-"/></div> | ||||
|                             <div id="zoom-state">{{formattedScale()}}%</div> | ||||
|                             <input type="number" class="zoom-ctrl" guac-zoom-ctrl ng-model="client.clientProperties.scale" ng-model-options="{ debounce: 500 }" />% | ||||
|                             <div ng-click="zoomIn()" id="zoom-in"><img src="images/settings/zoom-in.png" alt="+"/></div> | ||||
|                         </div> | ||||
|                         <div><label><input ng-model="menu.autoFit" ng-change="changeAutoFit()" ng-disabled="autoFitDisabled()" type="checkbox" id="auto-fit"/> {{'CLIENT.TEXT_ZOOM_AUTO_FIT' | translate}}</label></div> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user