GUAC-634: Allow default value for local properties. Use default values within client and root UI.

This commit is contained in:
Michael Jumper
2014-04-14 18:59:58 -07:00
parent ce4174ffba
commit a049d2d0bf
4 changed files with 13 additions and 14 deletions

View File

@@ -841,7 +841,7 @@ GuacUI.Client.updateDisplayScale = function() {
// If auto-fit is enabled, scale display
if (!GuacUI.Client.overrideAutoFit
&& GuacUI.sessionState.getProperty("auto-fit")) {
&& GuacUI.sessionState.getProperty("auto-fit", true)) {
// Calculate scale to fit screen
var fit_scale = Math.min(

View File

@@ -186,7 +186,7 @@ GuacUI.Audio = new (function() {
this.supported = [];
// If sound disabled, we're done now.
if (GuacUI.sessionState.getProperty("disable-sound"))
if (GuacUI.sessionState.getProperty("disable-sound", false))
return;
// Build array of supported audio formats

View File

@@ -423,25 +423,18 @@ if (GuacamoleRootUI.session_state.getProperty("clipboard"))
GuacamoleRootUI.fields.clipboard.value =
GuacamoleRootUI.session_state.getProperty("clipboard");
/*
* Default to true if auto-fit not specified
*/
if (GuacamoleRootUI.session_state.getProperty("auto-fit") === undefined)
GuacamoleRootUI.session_state.setProperty("auto-fit", true);
/*
* Initialize auto-fit setting in UI
*/
GuacamoleRootUI.settings.auto_fit.checked =
GuacamoleRootUI.session_state.getProperty("auto-fit");
GuacamoleRootUI.session_state.getProperty("auto-fit", true);
/*
* Initialize disable-sound setting in UI
*/
GuacamoleRootUI.settings.disable_sound.checked =
GuacamoleRootUI.session_state.getProperty("disable-sound");
GuacamoleRootUI.session_state.getProperty("disable-sound", false);
/*
* Set handler for logout

View File

@@ -72,7 +72,7 @@ function GuacamoleSessionState() {
* Sets the given property to the given value.
*
* @param {String} name The name of the property to change.
* @param value An arbitrary value.
* @param [value] An arbitrary value.
*/
this.setProperty = function(name, value) {
state[name] = value;
@@ -83,10 +83,16 @@ function GuacamoleSessionState() {
* Returns the value stored under the property having the given name.
*
* @param {String} name The name of the property to read.
* @param value The default value, if any.
* @return The value of the given property.
*/
this.getProperty = function(name) {
return state[name];
this.getProperty = function(name, value) {
var current = state[name];
if (current === undefined)
return value;
return current;
};
/**