fix branching

This commit is contained in:
James B. Pollack 2016-06-13 16:43:33 -07:00
parent b14f9cd312
commit 5ac9460592

View file

@ -9,7 +9,7 @@
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
// //
var PopUpMenu = function (properties) { var PopUpMenu = function(properties) {
var value = properties.value, var value = properties.value,
promptOverlay, promptOverlay,
valueOverlay, valueOverlay,
@ -217,7 +217,7 @@ var PopUpMenu = function (properties) {
}; };
}; };
var usersWindow = (function () { var usersWindow = (function() {
var baseURL = Script.resolvePath("assets/images/tools/"), var baseURL = Script.resolvePath("assets/images/tools/"),
WINDOW_WIDTH = 260, WINDOW_WIDTH = 260,
@ -253,7 +253,11 @@ var usersWindow = (function () {
WINDOW_BORDER_BOTTOM_MARGIN = WINDOW_BASE_MARGIN, WINDOW_BORDER_BOTTOM_MARGIN = WINDOW_BASE_MARGIN,
WINDOW_BORDER_LEFT_MARGIN = WINDOW_BASE_MARGIN, WINDOW_BORDER_LEFT_MARGIN = WINDOW_BASE_MARGIN,
WINDOW_BORDER_RADIUS = 4, WINDOW_BORDER_RADIUS = 4,
WINDOW_BORDER_COLOR = { red: 255, green: 255, blue: 255 }, WINDOW_BORDER_COLOR = {
red: 255,
green: 255,
blue: 255
},
WINDOW_BORDER_ALPHA = 0.5, WINDOW_BORDER_ALPHA = 0.5,
windowBorder, windowBorder,
@ -377,9 +381,12 @@ var usersWindow = (function () {
isMirrorDisplay = false, isMirrorDisplay = false,
isFullscreenMirror = false, isFullscreenMirror = false,
windowPosition = { }, // Bottom left corner of window pane. windowPosition = {}, // Bottom left corner of window pane.
isMovingWindow = false, isMovingWindow = false,
movingClickOffset = { x: 0, y: 0 }, movingClickOffset = {
x: 0,
y: 0
},
isUsingScrollbars = false, isUsingScrollbars = false,
isMovingScrollbar = false, isMovingScrollbar = false,
@ -401,9 +408,7 @@ var usersWindow = (function () {
} }
// Reserve space for title, friends button, and option controls // Reserve space for title, friends button, and option controls
nonUsersHeight = WINDOW_MARGIN + windowLineHeight + FRIENDS_BUTTON_SPACER + FRIENDS_BUTTON_HEIGHT + DISPLAY_SPACER nonUsersHeight = WINDOW_MARGIN + windowLineHeight + FRIENDS_BUTTON_SPACER + FRIENDS_BUTTON_HEIGHT + DISPLAY_SPACER + windowLineHeight + VISIBILITY_SPACER + windowLineHeight + WINDOW_BASE_MARGIN;
+ windowLineHeight + VISIBILITY_SPACER
+ windowLineHeight + WINDOW_BASE_MARGIN;
// Limit window to height of viewport above window position minus VU meter and mirror if displayed // Limit window to height of viewport above window position minus VU meter and mirror if displayed
windowHeight = linesOfUsers.length * windowLineHeight - windowLineSpacing + nonUsersHeight; windowHeight = linesOfUsers.length * windowLineHeight - windowLineSpacing + nonUsersHeight;
@ -456,17 +461,14 @@ var usersWindow = (function () {
x: scrollbarBackgroundPosition.x, x: scrollbarBackgroundPosition.x,
y: scrollbarBackgroundPosition.y y: scrollbarBackgroundPosition.y
}); });
scrollbarBarPosition.y = scrollbarBackgroundPosition.y + 1 scrollbarBarPosition.y = scrollbarBackgroundPosition.y + 1 + scrollbarValue * (scrollbarBackgroundHeight - scrollbarBarHeight - 2);
+ scrollbarValue * (scrollbarBackgroundHeight - scrollbarBarHeight - 2);
Overlays.editOverlay(scrollbarBar, { Overlays.editOverlay(scrollbarBar, {
x: scrollbarBackgroundPosition.x + 1, x: scrollbarBackgroundPosition.x + 1,
y: scrollbarBarPosition.y y: scrollbarBarPosition.y
}); });
x = windowLeft + WINDOW_MARGIN; x = windowLeft + WINDOW_MARGIN;
y = windowPosition.y - FRIENDS_BUTTON_HEIGHT - DISPLAY_SPACER y = windowPosition.y - FRIENDS_BUTTON_HEIGHT - DISPLAY_SPACER - windowLineHeight - VISIBILITY_SPACER - windowLineHeight - WINDOW_BASE_MARGIN;
- windowLineHeight - VISIBILITY_SPACER
- windowLineHeight - WINDOW_BASE_MARGIN;
Overlays.editOverlay(friendsButton, { Overlays.editOverlay(friendsButton, {
x: x, x: x,
y: y y: y
@ -554,9 +556,34 @@ var usersWindow = (function () {
usersRequest.ontimeout = pollUsersTimedOut; usersRequest.ontimeout = pollUsersTimedOut;
usersRequest.onreadystatechange = processUsers; usersRequest.onreadystatechange = processUsers;
usersRequest.send(); usersRequest.send();
checkLoggedIn();
} }
processUsers = function () { var loggedIn = false;
function checkLoggedIn() {
loggedIn = Account.isLoggedIn();
if (loggedIn === false) {
Overlays.editOverlay(friendsButton, {
visible: false
});
visibilityControl.setVisible(false);
displayControl.setVisible(false);
} else {
Overlays.editOverlay(friendsButton, {
visible: true
});
visibilityControl.setVisible(true);
displayControl.setVisible(true);
loggedIn = true;
}
}
processUsers = function() {
var response, var response,
myUsername, myUsername,
user, user,
@ -609,7 +636,7 @@ var usersWindow = (function () {
} }
}; };
pollUsersTimedOut = function () { pollUsersTimedOut = function() {
print("Error: Request for users status timed out"); print("Error: Request for users status timed out");
usersTimer = Script.setTimeout(pollUsers, HTTP_GET_TIMEOUT); // Try again after a longer delay. usersTimer = Script.setTimeout(pollUsers, HTTP_GET_TIMEOUT); // Try again after a longer delay.
}; };
@ -730,8 +757,7 @@ var usersWindow = (function () {
userClicked = firstUserToDisplay + lineClicked; userClicked = firstUserToDisplay + lineClicked;
if (0 <= userClicked && userClicked < linesOfUsers.length && 0 <= overlayX if (0 <= userClicked && userClicked < linesOfUsers.length && 0 <= overlayX && overlayX <= usersOnline[linesOfUsers[userClicked]].textWidth) {
&& overlayX <= usersOnline[linesOfUsers[userClicked]].textWidth) {
//print("Go to " + usersOnline[linesOfUsers[userClicked]].username); //print("Go to " + usersOnline[linesOfUsers[userClicked]].username);
location.goToUser(usersOnline[linesOfUsers[userClicked]].username); location.goToUser(usersOnline[linesOfUsers[userClicked]].username);
} }
@ -800,12 +826,8 @@ var usersWindow = (function () {
var isVisible; var isVisible;
if (isMovingScrollbar) { if (isMovingScrollbar) {
if (scrollbarBackgroundPosition.x - WINDOW_MARGIN <= event.x if (scrollbarBackgroundPosition.x - WINDOW_MARGIN <= event.x && event.x <= scrollbarBackgroundPosition.x + SCROLLBAR_BACKGROUND_WIDTH + WINDOW_MARGIN && scrollbarBackgroundPosition.y - WINDOW_MARGIN <= event.y && event.y <= scrollbarBackgroundPosition.y + scrollbarBackgroundHeight + WINDOW_MARGIN) {
&& event.x <= scrollbarBackgroundPosition.x + SCROLLBAR_BACKGROUND_WIDTH + WINDOW_MARGIN scrollbarValue = (event.y - scrollbarBarClickedAt * scrollbarBarHeight - scrollbarBackgroundPosition.y) / (scrollbarBackgroundHeight - scrollbarBarHeight - 2);
&& scrollbarBackgroundPosition.y - WINDOW_MARGIN <= event.y
&& event.y <= scrollbarBackgroundPosition.y + scrollbarBackgroundHeight + WINDOW_MARGIN) {
scrollbarValue = (event.y - scrollbarBarClickedAt * scrollbarBarHeight - scrollbarBackgroundPosition.y)
/ (scrollbarBackgroundHeight - scrollbarBarHeight - 2);
scrollbarValue = Math.min(Math.max(scrollbarValue, 0.0), 1.0); scrollbarValue = Math.min(Math.max(scrollbarValue, 0.0), 1.0);
firstUserToDisplay = Math.floor(scrollbarValue * (linesOfUsers.length - numUsersToDisplay)); firstUserToDisplay = Math.floor(scrollbarValue * (linesOfUsers.length - numUsersToDisplay));
updateOverlayPositions(); updateOverlayPositions();
@ -831,13 +853,9 @@ var usersWindow = (function () {
isVisible = isBorderVisible; isVisible = isBorderVisible;
if (isVisible) { if (isVisible) {
isVisible = windowPosition.x - WINDOW_BORDER_LEFT_MARGIN <= event.x isVisible = windowPosition.x - WINDOW_BORDER_LEFT_MARGIN <= event.x && event.x <= windowPosition.x - WINDOW_BORDER_LEFT_MARGIN + WINDOW_BORDER_WIDTH && windowPosition.y - windowHeight - WINDOW_BORDER_TOP_MARGIN <= event.y && event.y <= windowPosition.y + WINDOW_BORDER_BOTTOM_MARGIN;
&& event.x <= windowPosition.x - WINDOW_BORDER_LEFT_MARGIN + WINDOW_BORDER_WIDTH
&& windowPosition.y - windowHeight - WINDOW_BORDER_TOP_MARGIN <= event.y
&& event.y <= windowPosition.y + WINDOW_BORDER_BOTTOM_MARGIN;
} else { } else {
isVisible = windowPosition.x <= event.x && event.x <= windowPosition.x + WINDOW_WIDTH isVisible = windowPosition.x <= event.x && event.x <= windowPosition.x + WINDOW_WIDTH && windowPosition.y - windowHeight <= event.y && event.y <= windowPosition.y;
&& windowPosition.y - windowHeight <= event.y && event.y <= windowPosition.y;
} }
if (isVisible !== isBorderVisible) { if (isVisible !== isBorderVisible) {
isBorderVisible = isVisible; isBorderVisible = isVisible;
@ -878,8 +896,7 @@ var usersWindow = (function () {
isMirrorDisplay = Menu.isOptionChecked(MIRROR_MENU_ITEM); isMirrorDisplay = Menu.isOptionChecked(MIRROR_MENU_ITEM);
isFullscreenMirror = Menu.isOptionChecked(FULLSCREEN_MIRROR_MENU_ITEM); isFullscreenMirror = Menu.isOptionChecked(FULLSCREEN_MIRROR_MENU_ITEM);
if (viewport.y !== oldViewport.y || isMirrorDisplay !== oldIsMirrorDisplay if (viewport.y !== oldViewport.y || isMirrorDisplay !== oldIsMirrorDisplay || isFullscreenMirror !== oldIsFullscreenMirror) {
|| isFullscreenMirror !== oldIsFullscreenMirror) {
calculateWindowHeight(); calculateWindowHeight();
updateUsersDisplay(); updateUsersDisplay();
} }
@ -929,8 +946,8 @@ var usersWindow = (function () {
} else { } else {
hmdViewport = Controller.getRecommendedOverlayRect(); hmdViewport = Controller.getRecommendedOverlayRect();
windowPosition = { windowPosition = {
x: (viewport.x - hmdViewport.width) / 2, // HMD viewport is narrower than screen. x: (viewport.x - hmdViewport.width) / 2, // HMD viewport is narrower than screen.
y: hmdViewport.height // HMD viewport starts at top of screen but only extends down so far. y: hmdViewport.height // HMD viewport starts at top of screen but only extends down so far.
}; };
} }
@ -938,7 +955,7 @@ var usersWindow = (function () {
windowBorder = Overlays.addOverlay("rectangle", { windowBorder = Overlays.addOverlay("rectangle", {
x: 0, x: 0,
y: viewport.y, // Start up off-screen y: viewport.y, // Start up off-screen
width: WINDOW_BORDER_WIDTH, width: WINDOW_BORDER_WIDTH,
height: windowBorderHeight, height: windowBorderHeight,
radius: WINDOW_BORDER_RADIUS, radius: WINDOW_BORDER_RADIUS,
@ -1101,6 +1118,11 @@ var usersWindow = (function () {
visible: isVisible && !isMinimized visible: isVisible && !isMinimized
}); });
Script.setTimeout(function() {
checkLoggedIn()
}, 0);
Controller.mousePressEvent.connect(onMousePressEvent); Controller.mousePressEvent.connect(onMousePressEvent);
Controller.mouseMoveEvent.connect(onMouseMoveEvent); Controller.mouseMoveEvent.connect(onMouseMoveEvent);
Controller.mouseReleaseEvent.connect(onMouseReleaseEvent); Controller.mouseReleaseEvent.connect(onMouseReleaseEvent);
@ -1143,4 +1165,4 @@ var usersWindow = (function () {
setUp(); setUp();
Script.scriptEnding.connect(tearDown); Script.scriptEnding.connect(tearDown);
}()); }());