mirror of
https://github.com/overte-org/overte.git
synced 2025-04-08 05:52:38 +02:00
Fix toolbar button activation states
This commit is contained in:
parent
209a4f33b5
commit
de88a34e97
6 changed files with 19 additions and 43 deletions
|
@ -15,6 +15,7 @@
|
|||
|
||||
var TABLET_BUTTON_NAME = "AUDIO";
|
||||
var HOME_BUTTON_TEXTURE = "http://hifi-content.s3.amazonaws.com/alan/dev/tablet-with-home-button.fbx/tablet-with-home-button.fbm/button-root.png";
|
||||
var AUDIO_QML_SOURCE = "../audio/Audio.qml";
|
||||
|
||||
var MUTE_ICONS = {
|
||||
icon: "icons/tablet-icons/mic-mute-i.svg",
|
||||
|
@ -34,7 +35,6 @@ function onMuteToggled() {
|
|||
}
|
||||
}
|
||||
|
||||
var shouldActivateButton = false;
|
||||
var onAudioScreen = false;
|
||||
|
||||
function onClicked() {
|
||||
|
@ -44,18 +44,14 @@ function onClicked() {
|
|||
} else {
|
||||
var entity = HMD.tabletID;
|
||||
Entities.editEntity(entity, { textures: JSON.stringify({ "tex.close": HOME_BUTTON_TEXTURE }) });
|
||||
shouldActivateButton = true;
|
||||
shouldActivateButton = true;
|
||||
tablet.loadQMLSource("../audio/Audio.qml");
|
||||
onAudioScreen = true;
|
||||
tablet.loadQMLSource(AUDIO_QML_SOURCE);
|
||||
}
|
||||
}
|
||||
|
||||
function onScreenChanged(type, url) {
|
||||
onAudioScreen = (type === "QML" && url === AUDIO_QML_SOURCE);
|
||||
// for toolbar mode: change button to active when window is first openend, false otherwise.
|
||||
button.editProperties({isActive: shouldActivateButton});
|
||||
shouldActivateButton = false;
|
||||
onAudioScreen = false;
|
||||
button.editProperties({isActive: onAudioScreen});
|
||||
}
|
||||
|
||||
var tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system");
|
||||
|
|
|
@ -40,7 +40,8 @@
|
|||
}
|
||||
|
||||
function onScreenChanged(type, url) {
|
||||
onHelpScreen = false;
|
||||
onHelpScreen = type === "Web" && url.startsWith("../../../html/tabletHelp.html");
|
||||
button.editProperties({ isActive: onHelpScreen });
|
||||
}
|
||||
|
||||
button.clicked.connect(onClicked);
|
||||
|
|
|
@ -52,17 +52,11 @@ function onMessageBoxClosed(id, button) {
|
|||
|
||||
Window.messageBoxClosed.connect(onMessageBoxClosed);
|
||||
|
||||
var shouldActivateButton = false;
|
||||
var onMarketplaceScreen = false;
|
||||
|
||||
function showMarketplace() {
|
||||
UserActivityLogger.openedMarketplace();
|
||||
|
||||
shouldActivateButton = true;
|
||||
|
||||
tablet.gotoWebScreen(MARKETPLACE_URL_INITIAL, MARKETPLACES_INJECT_SCRIPT_URL);
|
||||
onMarketplaceScreen = true;
|
||||
|
||||
tablet.webEventReceived.connect(function (message) {
|
||||
|
||||
if (message === GOTO_DIRECTORY) {
|
||||
|
@ -122,7 +116,6 @@ function onClick() {
|
|||
if (onMarketplaceScreen) {
|
||||
// for toolbar-mode: go back to home screen, this will close the window.
|
||||
tablet.gotoHomeScreen();
|
||||
onMarketplaceScreen = false;
|
||||
} else {
|
||||
var entity = HMD.tabletID;
|
||||
Entities.editEntity(entity, {textures: JSON.stringify({"tex.close": HOME_BUTTON_TEXTURE})});
|
||||
|
@ -131,10 +124,9 @@ function onClick() {
|
|||
}
|
||||
|
||||
function onScreenChanged(type, url) {
|
||||
onMarketplaceScreen = type === "Web" && url === MARKETPLACE_URL_INITIAL
|
||||
// for toolbar mode: change button to active when window is first openend, false otherwise.
|
||||
marketplaceButton.editProperties({isActive: shouldActivateButton});
|
||||
shouldActivateButton = false;
|
||||
onMarketplaceScreen = false;
|
||||
marketplaceButton.editProperties({isActive: onMarketplaceScreen});
|
||||
}
|
||||
|
||||
marketplaceButton.clicked.connect(onClick);
|
||||
|
|
|
@ -21,7 +21,6 @@ var HOME_BUTTON_TEXTURE = "http://hifi-content.s3.amazonaws.com/alan/dev/tablet-
|
|||
sortOrder: 3
|
||||
});
|
||||
|
||||
var shouldActivateButton = false;
|
||||
var onMenuScreen = false;
|
||||
|
||||
function onClicked() {
|
||||
|
@ -31,17 +30,13 @@ var HOME_BUTTON_TEXTURE = "http://hifi-content.s3.amazonaws.com/alan/dev/tablet-
|
|||
} else {
|
||||
var entity = HMD.tabletID;
|
||||
Entities.editEntity(entity, {textures: JSON.stringify({"tex.close": HOME_BUTTON_TEXTURE})});
|
||||
shouldActivateButton = true;
|
||||
tablet.gotoMenuScreen();
|
||||
onMenuScreen = true;
|
||||
}
|
||||
}
|
||||
|
||||
function onScreenChanged(type, url) {
|
||||
// for toolbar mode: change button to active when window is first openend, false otherwise.
|
||||
button.editProperties({isActive: shouldActivateButton});
|
||||
shouldActivateButton = false;
|
||||
onMenuScreen = false;
|
||||
onMenuScreen = type === "Menu";
|
||||
button.editProperties({isActive: onMenuScreen});
|
||||
}
|
||||
|
||||
button.clicked.connect(onClicked);
|
||||
|
|
|
@ -40,7 +40,7 @@ var HOVER_TEXTURES = {
|
|||
var UNSELECTED_COLOR = { red: 0x1F, green: 0xC6, blue: 0xA6};
|
||||
var SELECTED_COLOR = {red: 0xF3, green: 0x91, blue: 0x29};
|
||||
var HOVER_COLOR = {red: 0xD0, green: 0xD0, blue: 0xD0}; // almost white for now
|
||||
|
||||
var PAL_QML_SOURCE = "../Pal.qml";
|
||||
var conserveResources = true;
|
||||
|
||||
Script.include("/~/system/libraries/controllers.js");
|
||||
|
@ -727,17 +727,14 @@ function tabletVisibilityChanged() {
|
|||
}
|
||||
|
||||
var onPalScreen = false;
|
||||
var shouldActivateButton = false;
|
||||
|
||||
function onTabletButtonClicked() {
|
||||
if (onPalScreen) {
|
||||
// for toolbar-mode: go back to home screen, this will close the window.
|
||||
tablet.gotoHomeScreen();
|
||||
} else {
|
||||
shouldActivateButton = true;
|
||||
tablet.loadQMLSource("../Pal.qml");
|
||||
tablet.loadQMLSource(PAL_QML_SOURCE);
|
||||
tablet.tabletShownChanged.connect(tabletVisibilityChanged);
|
||||
onPalScreen = true;
|
||||
Users.requestsDomainListData = true;
|
||||
populateNearbyUserList();
|
||||
isWired = true;
|
||||
|
@ -765,14 +762,13 @@ function wireEventBridge(on) {
|
|||
}
|
||||
|
||||
function onTabletScreenChanged(type, url) {
|
||||
wireEventBridge(shouldActivateButton);
|
||||
onPalScreen = (type === "QML" && url === PAL_QML_SOURCE);
|
||||
wireEventBridge(onPalScreen);
|
||||
// for toolbar mode: change button to active when window is first openend, false otherwise.
|
||||
button.editProperties({isActive: shouldActivateButton});
|
||||
shouldActivateButton = false;
|
||||
onPalScreen = false;
|
||||
button.editProperties({isActive: onPalScreen});
|
||||
|
||||
// disable sphere overlays when not on pal screen.
|
||||
if (type !== "QML" || url !== "../Pal.qml") {
|
||||
if (!onPalScreen) {
|
||||
off();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -377,18 +377,15 @@ function fillImageDataFromPrevious() {
|
|||
|
||||
var SNAPSHOT_REVIEW_URL = Script.resolvePath("html/SnapshotReview.html");
|
||||
var isInSnapshotReview = false;
|
||||
var shouldActivateButton = false;
|
||||
function onButtonClicked() {
|
||||
if (isInSnapshotReview){
|
||||
// for toolbar-mode: go back to home screen, this will close the window.
|
||||
tablet.gotoHomeScreen();
|
||||
} else {
|
||||
shouldActivateButton = true;
|
||||
fillImageDataFromPrevious();
|
||||
tablet.gotoWebScreen(SNAPSHOT_REVIEW_URL);
|
||||
tablet.webEventReceived.connect(onMessage);
|
||||
HMD.openTablet();
|
||||
isInSnapshotReview = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -662,11 +659,10 @@ function maybeDeleteSnapshotStories() {
|
|||
storyIDsToMaybeDelete = [];
|
||||
}
|
||||
function onTabletScreenChanged(type, url) {
|
||||
button.editProperties({ isActive: shouldActivateButton });
|
||||
shouldActivateButton = false;
|
||||
if (isInSnapshotReview) {
|
||||
isInSnapshotReview = (type === "Web" && url === SNAPSHOT_REVIEW_URL);
|
||||
button.editProperties({ isActive: isInSnapshotReview });
|
||||
if (!isInSnapshotReview) {
|
||||
tablet.webEventReceived.disconnect(onMessage);
|
||||
isInSnapshotReview = false;
|
||||
}
|
||||
}
|
||||
function onUsernameChanged() {
|
||||
|
|
Loading…
Reference in a new issue