mirror of
https://github.com/overte-org/overte.git
synced 2025-04-25 23:36:41 +02:00
Merge branch 'master' of https://github.com/highfidelity/hifi into orange
This commit is contained in:
commit
8aa5c17bf1
4 changed files with 59 additions and 30 deletions
|
@ -171,7 +171,7 @@ void DomainMetadata::maybeUpdateUsers() {
|
||||||
if (linkedData) {
|
if (linkedData) {
|
||||||
auto nodeData = static_cast<DomainServerNodeData*>(linkedData);
|
auto nodeData = static_cast<DomainServerNodeData*>(linkedData);
|
||||||
|
|
||||||
if (!nodeData->wasAssigned()) {
|
if (!nodeData->wasAssigned() && node->getType() == NodeType::Agent) {
|
||||||
++numConnected;
|
++numConnected;
|
||||||
|
|
||||||
if (nodeData->getUsername().isEmpty()) {
|
if (nodeData->getUsername().isEmpty()) {
|
||||||
|
|
|
@ -34,6 +34,8 @@ ModalWindow {
|
||||||
|
|
||||||
HifiConstants { id: hifi }
|
HifiConstants { id: hifi }
|
||||||
|
|
||||||
|
property var filesModel: ListModel { }
|
||||||
|
|
||||||
Settings {
|
Settings {
|
||||||
category: "FileDialog"
|
category: "FileDialog"
|
||||||
property alias width: root.width
|
property alias width: root.width
|
||||||
|
@ -253,7 +255,9 @@ ModalWindow {
|
||||||
}
|
}
|
||||||
|
|
||||||
currentSelectionUrl = helper.pathToUrl(fileTableView.model.get(row).filePath);
|
currentSelectionUrl = helper.pathToUrl(fileTableView.model.get(row).filePath);
|
||||||
currentSelectionIsFolder = fileTableView.model.isFolder(row);
|
currentSelectionIsFolder = fileTableView.model !== filesModel ?
|
||||||
|
fileTableView.model.isFolder(row) :
|
||||||
|
fileTableModel.isFolder(row);
|
||||||
if (root.selectDirectory || !currentSelectionIsFolder) {
|
if (root.selectDirectory || !currentSelectionIsFolder) {
|
||||||
currentSelection.text = capitalizeDrive(helper.urlToPath(currentSelectionUrl));
|
currentSelection.text = capitalizeDrive(helper.urlToPath(currentSelectionUrl));
|
||||||
} else {
|
} else {
|
||||||
|
@ -331,7 +335,12 @@ ModalWindow {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ListModel {
|
Component {
|
||||||
|
id: filesModelBuilder
|
||||||
|
ListModel { }
|
||||||
|
}
|
||||||
|
|
||||||
|
QtObject {
|
||||||
id: fileTableModel
|
id: fileTableModel
|
||||||
|
|
||||||
// FolderListModel has a couple of problems:
|
// FolderListModel has a couple of problems:
|
||||||
|
@ -383,7 +392,11 @@ ModalWindow {
|
||||||
if (row === -1) {
|
if (row === -1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return get(row).fileIsDir;
|
return filesModel.get(row).fileIsDir;
|
||||||
|
}
|
||||||
|
|
||||||
|
function get(row) {
|
||||||
|
return filesModel.get(row)
|
||||||
}
|
}
|
||||||
|
|
||||||
function update() {
|
function update() {
|
||||||
|
@ -401,7 +414,7 @@ ModalWindow {
|
||||||
rows = 0,
|
rows = 0,
|
||||||
i;
|
i;
|
||||||
|
|
||||||
clear();
|
var newFilesModel = filesModelBuilder.createObject(root);
|
||||||
|
|
||||||
comparisonFunction = sortOrder === Qt.AscendingOrder
|
comparisonFunction = sortOrder === Qt.AscendingOrder
|
||||||
? function(a, b) { return a < b; }
|
? function(a, b) { return a < b; }
|
||||||
|
@ -423,7 +436,7 @@ ModalWindow {
|
||||||
while (lower < upper) {
|
while (lower < upper) {
|
||||||
middle = Math.floor((lower + upper) / 2);
|
middle = Math.floor((lower + upper) / 2);
|
||||||
var lessThan;
|
var lessThan;
|
||||||
if (comparisonFunction(sortValue, get(middle)[sortField])) {
|
if (comparisonFunction(sortValue, newFilesModel.get(middle)[sortField])) {
|
||||||
lessThan = true;
|
lessThan = true;
|
||||||
upper = middle;
|
upper = middle;
|
||||||
} else {
|
} else {
|
||||||
|
@ -432,7 +445,7 @@ ModalWindow {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
insert(lower, {
|
newFilesModel.insert(lower, {
|
||||||
fileName: fileName,
|
fileName: fileName,
|
||||||
fileModified: (fileIsDir ? new Date(0) : model.getItem(i, "fileModified")),
|
fileModified: (fileIsDir ? new Date(0) : model.getItem(i, "fileModified")),
|
||||||
fileSize: model.getItem(i, "fileSize"),
|
fileSize: model.getItem(i, "fileSize"),
|
||||||
|
@ -443,6 +456,7 @@ ModalWindow {
|
||||||
|
|
||||||
rows++;
|
rows++;
|
||||||
}
|
}
|
||||||
|
filesModel = newFilesModel;
|
||||||
|
|
||||||
d.clearSelection();
|
d.clearSelection();
|
||||||
}
|
}
|
||||||
|
@ -469,7 +483,7 @@ ModalWindow {
|
||||||
sortIndicatorOrder: Qt.AscendingOrder
|
sortIndicatorOrder: Qt.AscendingOrder
|
||||||
sortIndicatorVisible: true
|
sortIndicatorVisible: true
|
||||||
|
|
||||||
model: fileTableModel
|
model: filesModel
|
||||||
|
|
||||||
function updateSort() {
|
function updateSort() {
|
||||||
model.sortOrder = sortIndicatorOrder;
|
model.sortOrder = sortIndicatorOrder;
|
||||||
|
@ -561,11 +575,12 @@ ModalWindow {
|
||||||
}
|
}
|
||||||
|
|
||||||
function navigateToCurrentRow() {
|
function navigateToCurrentRow() {
|
||||||
|
var currentModel = fileTableView.model !== filesModel ? fileTableView.model : fileTableModel
|
||||||
var row = fileTableView.currentRow
|
var row = fileTableView.currentRow
|
||||||
var isFolder = model.isFolder(row);
|
var isFolder = currentModel.isFolder(row);
|
||||||
var file = model.get(row).filePath;
|
var file = currentModel.get(row).filePath;
|
||||||
if (isFolder) {
|
if (isFolder) {
|
||||||
fileTableView.model.folder = helper.pathToUrl(file);
|
currentModel.folder = helper.pathToUrl(file);
|
||||||
} else {
|
} else {
|
||||||
okAction.trigger();
|
okAction.trigger();
|
||||||
}
|
}
|
||||||
|
@ -580,7 +595,8 @@ ModalWindow {
|
||||||
var newPrefix = prefix + event.text.toLowerCase();
|
var newPrefix = prefix + event.text.toLowerCase();
|
||||||
var matchedIndex = -1;
|
var matchedIndex = -1;
|
||||||
for (var i = 0; i < model.count; ++i) {
|
for (var i = 0; i < model.count; ++i) {
|
||||||
var name = model.get(i).fileName.toLowerCase();
|
var name = model !== filesModel ? model.get(i).fileName.toLowerCase() :
|
||||||
|
filesModel.get(i).fileName.toLowerCase();
|
||||||
if (0 === name.indexOf(newPrefix)) {
|
if (0 === name.indexOf(newPrefix)) {
|
||||||
matchedIndex = i;
|
matchedIndex = i;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -25,11 +25,14 @@ import "fileDialog"
|
||||||
//FIXME implement shortcuts for favorite location
|
//FIXME implement shortcuts for favorite location
|
||||||
TabletModalWindow {
|
TabletModalWindow {
|
||||||
id: root
|
id: root
|
||||||
|
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
width: parent.width
|
width: parent.width
|
||||||
height: parent.height
|
height: parent.height
|
||||||
HifiConstants { id: hifi }
|
HifiConstants { id: hifi }
|
||||||
|
|
||||||
|
property var filesModel: ListModel { }
|
||||||
|
|
||||||
Settings {
|
Settings {
|
||||||
category: "FileDialog"
|
category: "FileDialog"
|
||||||
property alias width: root.width
|
property alias width: root.width
|
||||||
|
@ -250,7 +253,9 @@ TabletModalWindow {
|
||||||
}
|
}
|
||||||
|
|
||||||
currentSelectionUrl = helper.pathToUrl(fileTableView.model.get(row).filePath);
|
currentSelectionUrl = helper.pathToUrl(fileTableView.model.get(row).filePath);
|
||||||
currentSelectionIsFolder = fileTableView.model.isFolder(row);
|
currentSelectionIsFolder = fileTableView.model !== filesModel ?
|
||||||
|
fileTableView.model.isFolder(row) :
|
||||||
|
fileTableModel.isFolder(row);
|
||||||
if (root.selectDirectory || !currentSelectionIsFolder) {
|
if (root.selectDirectory || !currentSelectionIsFolder) {
|
||||||
currentSelection.text = capitalizeDrive(helper.urlToPath(currentSelectionUrl));
|
currentSelection.text = capitalizeDrive(helper.urlToPath(currentSelectionUrl));
|
||||||
} else {
|
} else {
|
||||||
|
@ -288,7 +293,7 @@ TabletModalWindow {
|
||||||
}
|
}
|
||||||
|
|
||||||
onFolderChanged: {
|
onFolderChanged: {
|
||||||
fileTableModel.update(); // Update once the data from the folder change is available.
|
fileTableModel.update()
|
||||||
}
|
}
|
||||||
|
|
||||||
function getItem(index, field) {
|
function getItem(index, field) {
|
||||||
|
@ -328,7 +333,12 @@ TabletModalWindow {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ListModel {
|
Component {
|
||||||
|
id: filesModelBuilder
|
||||||
|
ListModel { }
|
||||||
|
}
|
||||||
|
|
||||||
|
QtObject {
|
||||||
id: fileTableModel
|
id: fileTableModel
|
||||||
|
|
||||||
// FolderListModel has a couple of problems:
|
// FolderListModel has a couple of problems:
|
||||||
|
@ -359,17 +369,16 @@ TabletModalWindow {
|
||||||
}
|
}
|
||||||
|
|
||||||
onFolderChanged: {
|
onFolderChanged: {
|
||||||
|
|
||||||
if (folder === rootFolder) {
|
if (folder === rootFolder) {
|
||||||
model = driveListModel;
|
model = driveListModel;
|
||||||
helper.monitorDirectory("");
|
helper.monitorDirectory("");
|
||||||
update();
|
update();
|
||||||
} else {
|
} else {
|
||||||
var needsUpdate = model === driveListModel && folder === folderListModel.folder;
|
var needsUpdate = model === driveListModel && folder === folderListModel.folder;
|
||||||
|
|
||||||
model = folderListModel;
|
model = folderListModel;
|
||||||
folderListModel.folder = folder;
|
folderListModel.folder = folder;
|
||||||
helper.monitorDirectory(helper.urlToPath(folder));
|
helper.monitorDirectory(helper.urlToPath(folder));
|
||||||
|
|
||||||
if (needsUpdate) {
|
if (needsUpdate) {
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
@ -380,7 +389,11 @@ TabletModalWindow {
|
||||||
if (row === -1) {
|
if (row === -1) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return get(row).fileIsDir;
|
return filesModel.get(row).fileIsDir;
|
||||||
|
}
|
||||||
|
|
||||||
|
function get(row) {
|
||||||
|
return filesModel.get(row)
|
||||||
}
|
}
|
||||||
|
|
||||||
function update() {
|
function update() {
|
||||||
|
@ -398,7 +411,7 @@ TabletModalWindow {
|
||||||
rows = 0,
|
rows = 0,
|
||||||
i;
|
i;
|
||||||
|
|
||||||
clear();
|
var newFilesModel = filesModelBuilder.createObject(root);
|
||||||
|
|
||||||
comparisonFunction = sortOrder === Qt.AscendingOrder
|
comparisonFunction = sortOrder === Qt.AscendingOrder
|
||||||
? function(a, b) { return a < b; }
|
? function(a, b) { return a < b; }
|
||||||
|
@ -420,7 +433,7 @@ TabletModalWindow {
|
||||||
while (lower < upper) {
|
while (lower < upper) {
|
||||||
middle = Math.floor((lower + upper) / 2);
|
middle = Math.floor((lower + upper) / 2);
|
||||||
var lessThan;
|
var lessThan;
|
||||||
if (comparisonFunction(sortValue, get(middle)[sortField])) {
|
if (comparisonFunction(sortValue, newFilesModel.get(middle)[sortField])) {
|
||||||
lessThan = true;
|
lessThan = true;
|
||||||
upper = middle;
|
upper = middle;
|
||||||
} else {
|
} else {
|
||||||
|
@ -429,7 +442,7 @@ TabletModalWindow {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
insert(lower, {
|
newFilesModel.insert(lower, {
|
||||||
fileName: fileName,
|
fileName: fileName,
|
||||||
fileModified: (fileIsDir ? new Date(0) : model.getItem(i, "fileModified")),
|
fileModified: (fileIsDir ? new Date(0) : model.getItem(i, "fileModified")),
|
||||||
fileSize: model.getItem(i, "fileSize"),
|
fileSize: model.getItem(i, "fileSize"),
|
||||||
|
@ -440,6 +453,7 @@ TabletModalWindow {
|
||||||
|
|
||||||
rows++;
|
rows++;
|
||||||
}
|
}
|
||||||
|
filesModel = newFilesModel;
|
||||||
|
|
||||||
d.clearSelection();
|
d.clearSelection();
|
||||||
}
|
}
|
||||||
|
@ -467,7 +481,7 @@ TabletModalWindow {
|
||||||
sortIndicatorOrder: Qt.AscendingOrder
|
sortIndicatorOrder: Qt.AscendingOrder
|
||||||
sortIndicatorVisible: true
|
sortIndicatorVisible: true
|
||||||
|
|
||||||
model: fileTableModel
|
model: filesModel
|
||||||
|
|
||||||
function updateSort() {
|
function updateSort() {
|
||||||
model.sortOrder = sortIndicatorOrder;
|
model.sortOrder = sortIndicatorOrder;
|
||||||
|
@ -559,11 +573,12 @@ TabletModalWindow {
|
||||||
}
|
}
|
||||||
|
|
||||||
function navigateToCurrentRow() {
|
function navigateToCurrentRow() {
|
||||||
|
var currentModel = fileTableView.model !== filesModel ? fileTableView.model : fileTableModel
|
||||||
var row = fileTableView.currentRow
|
var row = fileTableView.currentRow
|
||||||
var isFolder = model.isFolder(row);
|
var isFolder = currentModel.isFolder(row);
|
||||||
var file = model.get(row).filePath;
|
var file = currentModel.get(row).filePath;
|
||||||
if (isFolder) {
|
if (isFolder) {
|
||||||
fileTableView.model.folder = helper.pathToUrl(file);
|
currentModel.folder = helper.pathToUrl(file);
|
||||||
} else {
|
} else {
|
||||||
okAction.trigger();
|
okAction.trigger();
|
||||||
}
|
}
|
||||||
|
@ -578,7 +593,8 @@ TabletModalWindow {
|
||||||
var newPrefix = prefix + event.text.toLowerCase();
|
var newPrefix = prefix + event.text.toLowerCase();
|
||||||
var matchedIndex = -1;
|
var matchedIndex = -1;
|
||||||
for (var i = 0; i < model.count; ++i) {
|
for (var i = 0; i < model.count; ++i) {
|
||||||
var name = model.get(i).fileName.toLowerCase();
|
var name = model !== filesModel ? model.get(i).fileName.toLowerCase() :
|
||||||
|
filesModel.get(i).fileName.toLowerCase();
|
||||||
if (0 === name.indexOf(newPrefix)) {
|
if (0 === name.indexOf(newPrefix)) {
|
||||||
matchedIndex = i;
|
matchedIndex = i;
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1978,7 +1978,7 @@ JointData jointDataFromJsonValue(const QJsonValue& json) {
|
||||||
result.rotation = quatFromJsonValue(array[0]);
|
result.rotation = quatFromJsonValue(array[0]);
|
||||||
result.rotationSet = true;
|
result.rotationSet = true;
|
||||||
result.translation = vec3FromJsonValue(array[1]);
|
result.translation = vec3FromJsonValue(array[1]);
|
||||||
result.translationSet = false;
|
result.translationSet = true;
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -2146,12 +2146,9 @@ void AvatarData::fromJson(const QJsonObject& json, bool useFrameSkeleton) {
|
||||||
QVector<JointData> jointArray;
|
QVector<JointData> jointArray;
|
||||||
QJsonArray jointArrayJson = json[JSON_AVATAR_JOINT_ARRAY].toArray();
|
QJsonArray jointArrayJson = json[JSON_AVATAR_JOINT_ARRAY].toArray();
|
||||||
jointArray.reserve(jointArrayJson.size());
|
jointArray.reserve(jointArrayJson.size());
|
||||||
int i = 0;
|
|
||||||
for (const auto& jointJson : jointArrayJson) {
|
for (const auto& jointJson : jointArrayJson) {
|
||||||
auto joint = jointDataFromJsonValue(jointJson);
|
auto joint = jointDataFromJsonValue(jointJson);
|
||||||
jointArray.push_back(joint);
|
jointArray.push_back(joint);
|
||||||
setJointData(i, joint.rotation, joint.translation);
|
|
||||||
i++;
|
|
||||||
}
|
}
|
||||||
setRawJointData(jointArray);
|
setRawJointData(jointArray);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue