mirror of
https://github.com/AleziaKurdis/overte.git
synced 2025-06-20 20:19:46 +02:00
Merge pull request #12929 from misslivirose/fix/misc-edit-bugs
Fix edit icon behavior
This commit is contained in:
commit
eedc8a8c0a
1 changed files with 31 additions and 21 deletions
|
@ -452,6 +452,25 @@ var toolBar = (function () {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Handles any edit mode updates required when domains have switched
|
||||||
|
function checkEditPermissionsAndUpdate() {
|
||||||
|
if ((createButton === null) || (createButton === undefined)) {
|
||||||
|
//--EARLY EXIT--( nothing to safely update )
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
var hasRezPermissions = (Entities.canRez() || Entities.canRezTmp() || Entities.canRezCertified() || Entities.canRezTmpCertified());
|
||||||
|
createButton.editProperties({
|
||||||
|
icon: (hasRezPermissions ? CREATE_ENABLED_ICON : CREATE_DISABLED_ICON),
|
||||||
|
captionColor: (hasRezPermissions ? "#ffffff" : "#888888"),
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!hasRezPermissions && isActive) {
|
||||||
|
that.setActive(false);
|
||||||
|
tablet.gotoHomeScreen();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function initialize() {
|
function initialize() {
|
||||||
Script.scriptEnding.connect(cleanup);
|
Script.scriptEnding.connect(cleanup);
|
||||||
Window.domainChanged.connect(function () {
|
Window.domainChanged.connect(function () {
|
||||||
|
@ -460,14 +479,21 @@ var toolBar = (function () {
|
||||||
}
|
}
|
||||||
that.setActive(false);
|
that.setActive(false);
|
||||||
that.clearEntityList();
|
that.clearEntityList();
|
||||||
|
checkEditPermissionsAndUpdate();
|
||||||
});
|
});
|
||||||
|
|
||||||
Entities.canAdjustLocksChanged.connect(function (canAdjustLocks) {
|
Entities.canAdjustLocksChanged.connect(function (canAdjustLocks) {
|
||||||
if (isActive && !canAdjustLocks) {
|
if (isActive && !canAdjustLocks) {
|
||||||
that.setActive(false);
|
that.setActive(false);
|
||||||
}
|
}
|
||||||
|
checkEditPermissionsAndUpdate();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Entities.canRezChanged.connect(checkEditPermissionsAndUpdate);
|
||||||
|
Entities.canRezTmpChanged.connect(checkEditPermissionsAndUpdate);
|
||||||
|
Entities.canRezCertifiedChanged.connect(checkEditPermissionsAndUpdate);
|
||||||
|
Entities.canRezTmpCertifiedChanged.connect(checkEditPermissionsAndUpdate);
|
||||||
|
|
||||||
var hasRezPermissions = (Entities.canRez() || Entities.canRezTmp() || Entities.canRezCertified() || Entities.canRezTmpCertified());
|
var hasRezPermissions = (Entities.canRez() || Entities.canRezTmp() || Entities.canRezCertified() || Entities.canRezTmpCertified());
|
||||||
var createButtonIconRsrc = (hasRezPermissions ? CREATE_ENABLED_ICON : CREATE_DISABLED_ICON);
|
var createButtonIconRsrc = (hasRezPermissions ? CREATE_ENABLED_ICON : CREATE_DISABLED_ICON);
|
||||||
tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system");
|
tablet = Tablet.getTablet("com.highfidelity.interface.tablet.system");
|
||||||
|
@ -853,37 +879,18 @@ function handleOverlaySelectionToolUpdates(channel, message, sender) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handles any edit mode updates required when domains have switched
|
|
||||||
function handleDomainChange() {
|
|
||||||
if ( (createButton === null) || (createButton === undefined) ){
|
|
||||||
//--EARLY EXIT--( nothing to safely update )
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
var hasRezPermissions = (Entities.canRez() || Entities.canRezTmp() || Entities.canRezCertified() || Entities.canRezTmpCertified());
|
|
||||||
createButton.editProperties({
|
|
||||||
icon: (hasRezPermissions ? CREATE_ENABLED_ICON : CREATE_DISABLED_ICON),
|
|
||||||
captionColor: (hasRezPermissions ? "#ffffff" : "#888888"),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function handleMessagesReceived(channel, message, sender) {
|
function handleMessagesReceived(channel, message, sender) {
|
||||||
switch( channel ){
|
switch( channel ){
|
||||||
case 'entityToolUpdates': {
|
case 'entityToolUpdates': {
|
||||||
handleOverlaySelectionToolUpdates( channel, message, sender );
|
handleOverlaySelectionToolUpdates( channel, message, sender );
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'Toolbar-DomainChanged': {
|
|
||||||
handleDomainChange();
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
default: {
|
default: {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Messages.subscribe('Toolbar-DomainChanged');
|
|
||||||
Messages.subscribe("entityToolUpdates");
|
Messages.subscribe("entityToolUpdates");
|
||||||
Messages.messageReceived.connect(handleMessagesReceived);
|
Messages.messageReceived.connect(handleMessagesReceived);
|
||||||
|
|
||||||
|
@ -1317,8 +1324,6 @@ Script.scriptEnding.connect(function () {
|
||||||
|
|
||||||
Messages.messageReceived.disconnect(handleMessagesReceived);
|
Messages.messageReceived.disconnect(handleMessagesReceived);
|
||||||
Messages.unsubscribe("entityToolUpdates");
|
Messages.unsubscribe("entityToolUpdates");
|
||||||
// Messages.unsubscribe("Toolbar-DomainChanged"); // Do not unsubscribe because the shapes.js app also subscribes and
|
|
||||||
// Messages.subscribe works script engine-wide which would mess things up if they're both run in the same engine.
|
|
||||||
createButton = null;
|
createButton = null;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -2334,6 +2339,11 @@ var PopupMenu = function () {
|
||||||
Controller.mousePressEvent.disconnect(self.mousePressEvent);
|
Controller.mousePressEvent.disconnect(self.mousePressEvent);
|
||||||
Controller.mouseMoveEvent.disconnect(self.mouseMoveEvent);
|
Controller.mouseMoveEvent.disconnect(self.mouseMoveEvent);
|
||||||
Controller.mouseReleaseEvent.disconnect(self.mouseReleaseEvent);
|
Controller.mouseReleaseEvent.disconnect(self.mouseReleaseEvent);
|
||||||
|
|
||||||
|
Entities.canRezChanged.disconnect(checkEditPermissionsAndUpdate);
|
||||||
|
Entities.canRezTmpChanged.disconnect(checkEditPermissionsAndUpdate);
|
||||||
|
Entities.canRezCertifiedChanged.disconnect(checkEditPermissionsAndUpdate);
|
||||||
|
Entities.canRezTmpCertifiedChanged.disconnect(checkEditPermissionsAndUpdate);
|
||||||
}
|
}
|
||||||
|
|
||||||
Controller.mousePressEvent.connect(self.mousePressEvent);
|
Controller.mousePressEvent.connect(self.mousePressEvent);
|
||||||
|
|
Loading…
Reference in a new issue