mirror of
https://github.com/AleziaKurdis/overte.git
synced 2025-04-14 01:07:12 +02:00
Add a HMD MultiSelect button
Add a HMD MultiSelect button Since it's impossible in HDM to do a multiple selection This adds a MultiSelect button (available in HMD only) When active, the selection in the list behaves like having CTRL pressed When inactive (default value) the selection in the list behaves as before (on item only)
This commit is contained in:
parent
a394b427d4
commit
427351bcd8
1 changed files with 15 additions and 1 deletions
|
@ -165,6 +165,7 @@ let selectedEntities = [];
|
|||
|
||||
let entityList = null; // The ListView
|
||||
|
||||
let hmdMultiSelectMode = false;
|
||||
/**
|
||||
* @type EntityListContextMenu
|
||||
*/
|
||||
|
@ -199,6 +200,7 @@ let elEntityTable,
|
|||
elRefresh,
|
||||
elToggleLocked,
|
||||
elToggleVisible,
|
||||
elHmdMultiSelect,
|
||||
elHmdCopy,
|
||||
elHmdCut,
|
||||
elHmdPaste,
|
||||
|
@ -249,6 +251,7 @@ function loaded() {
|
|||
elRefresh = document.getElementById("refresh");
|
||||
elToggleLocked = document.getElementById("locked");
|
||||
elToggleVisible = document.getElementById("visible");
|
||||
elHmdMultiSelect = document.getElementById("hmdmultiselect");
|
||||
elHmdCopy = document.getElementById("hmdcopy");
|
||||
elHmdCut = document.getElementById("hmdcut");
|
||||
elHmdPaste = document.getElementById("hmdpaste");
|
||||
|
@ -283,6 +286,15 @@ function loaded() {
|
|||
elExport.onclick = function() {
|
||||
EventBridge.emitWebEvent(JSON.stringify({ type: 'export'}));
|
||||
};
|
||||
elHmdMultiSelect.onclick = function() {
|
||||
if (hmdMultiSelectMode) {
|
||||
elHmdMultiSelect.className = "vglyph";
|
||||
hmdMultiSelectMode = false;
|
||||
} else {
|
||||
elHmdMultiSelect.className = "white vglyph";
|
||||
hmdMultiSelectMode = true;
|
||||
}
|
||||
};
|
||||
elHmdCopy.onclick = function() {
|
||||
EventBridge.emitWebEvent(JSON.stringify({ type: 'copy' }));
|
||||
};
|
||||
|
@ -569,7 +581,7 @@ function loaded() {
|
|||
let selection = [entityID];
|
||||
let controlKey = window.navigator.platform.startsWith("Mac") ? clickEvent.metaKey : clickEvent.ctrlKey;
|
||||
|
||||
if (controlKey) {
|
||||
if (controlKey || hmdMultiSelectMode) {
|
||||
let selectedIndex = selectedEntities.indexOf(entityID);
|
||||
if (selectedIndex >= 0) {
|
||||
selection = [];
|
||||
|
@ -1430,11 +1442,13 @@ function loaded() {
|
|||
setSpaceMode(data.spaceMode);
|
||||
} else if (data.type === "confirmHMDstate") {
|
||||
if (data.isHmd) {
|
||||
document.getElementById("hmdmultiselect").style.display = "inline";
|
||||
document.getElementById("hmdcopy").style.display = "inline";
|
||||
document.getElementById("hmdcut").style.display = "inline";
|
||||
document.getElementById("hmdpaste").style.display = "inline";
|
||||
document.getElementById("hmdduplicate").style.display = "inline";
|
||||
} else {
|
||||
document.getElementById("hmdmultiselect").style.display = "none";
|
||||
document.getElementById("hmdcopy").style.display = "none";
|
||||
document.getElementById("hmdcut").style.display = "none";
|
||||
document.getElementById("hmdpaste").style.display = "none";
|
||||
|
|
Loading…
Reference in a new issue