Fix users window minimized state not being remembered

This commit is contained in:
David Rowe 2016-06-25 13:12:16 +12:00
parent 1c1d81ae25
commit 8b0f59c9cf

View file

@ -370,7 +370,7 @@ var usersWindow = (function () {
// +ve x, y values are offset from left, top of screen; -ve from right, bottom. // +ve x, y values are offset from left, top of screen; -ve from right, bottom.
isVisible = true, isVisible = true,
isMinimized = false, isMinimized = true,
isBorderVisible = false, isBorderVisible = false,
viewport, viewport,
@ -388,6 +388,12 @@ var usersWindow = (function () {
scrollbarBarClickedAt, // 0.0 .. 1.0 scrollbarBarClickedAt, // 0.0 .. 1.0
scrollbarValue = 0.0; // 0.0 .. 1.0 scrollbarValue = 0.0; // 0.0 .. 1.0
function isValueTrue(value) {
// Work around Boolean Settings values being read as string when Interface starts up but as Booleans when re-read after
// Being written if refresh script.
return value === true || value === "true";
}
function calculateWindowHeight() { function calculateWindowHeight() {
var AUDIO_METER_HEIGHT = 52, var AUDIO_METER_HEIGHT = 52,
MIRROR_HEIGHT = 220, MIRROR_HEIGHT = 220,
@ -664,6 +670,7 @@ var usersWindow = (function () {
} }
}); });
updateOverlayVisibility(); updateOverlayVisibility();
Settings.setValue(SETTING_USERS_WINDOW_MINIMIZED, isMinimized);
} }
function onMenuItemEvent(event) { function onMenuItemEvent(event) {
@ -1121,12 +1128,10 @@ var usersWindow = (function () {
pollUsers(); pollUsers();
// Set minimized at end - setup code does not handle `minimized == false` correctly // Set minimized at end - setup code does not handle `minimized == false` correctly
setMinimized(Settings.getValue(SETTING_USERS_WINDOW_MINIMIZED, false)); setMinimized(isValueTrue(Settings.getValue(SETTING_USERS_WINDOW_MINIMIZED, false)));
} }
function tearDown() { function tearDown() {
Settings.setValue(SETTING_USERS_WINDOW_MINIMIZED, isMinimized);
Menu.removeMenuItem(MENU_NAME, MENU_ITEM); Menu.removeMenuItem(MENU_NAME, MENU_ITEM);
Script.clearTimeout(usersTimer); Script.clearTimeout(usersTimer);