From 358355cfbf1597e97f84d576a06724b0bec57173 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Thu, 9 Jun 2016 14:55:03 +1200 Subject: [PATCH 1/9] Clear file selection and disabled Open button when change directory --- interface/resources/qml/dialogs/FileDialog.qml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/interface/resources/qml/dialogs/FileDialog.qml b/interface/resources/qml/dialogs/FileDialog.qml index 015a192185..fb50279ed6 100644 --- a/interface/resources/qml/dialogs/FileDialog.qml +++ b/interface/resources/qml/dialogs/FileDialog.qml @@ -215,6 +215,10 @@ ModalWindow { openButton.text = root.selectDirectory && row === -1 ? "Choose" : "Open" if (row === -1) { + if (!root.selectDirectory) { + currentSelection.text = ""; + currentSelectionIsFolder = false; + } return; } From 4ae018400d45283a9c1b27e6554277a13d888827 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Thu, 9 Jun 2016 14:55:30 +1200 Subject: [PATCH 2/9] Give table focus after using dropdown --- interface/resources/qml/dialogs/FileDialog.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/interface/resources/qml/dialogs/FileDialog.qml b/interface/resources/qml/dialogs/FileDialog.qml index fb50279ed6..89c788a57c 100644 --- a/interface/resources/qml/dialogs/FileDialog.qml +++ b/interface/resources/qml/dialogs/FileDialog.qml @@ -187,6 +187,7 @@ ModalWindow { if (helper.urlToPath(folder).toLowerCase() !== helper.urlToPath(fileTableModel.folder).toLowerCase()) { fileTableModel.folder = folder; + fileTableView.forceActiveFocus(); } } } From 0ef13e6c01280b9e16d486b889330e272ac9c3fd Mon Sep 17 00:00:00 2001 From: David Rowe Date: Thu, 9 Jun 2016 14:56:11 +1200 Subject: [PATCH 3/9] Fix action button label to be "Save" when saving a file --- interface/resources/qml/dialogs/FileDialog.qml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/interface/resources/qml/dialogs/FileDialog.qml b/interface/resources/qml/dialogs/FileDialog.qml index 89c788a57c..b4558c306b 100644 --- a/interface/resources/qml/dialogs/FileDialog.qml +++ b/interface/resources/qml/dialogs/FileDialog.qml @@ -213,8 +213,6 @@ ModalWindow { function update() { var row = fileTableView.currentRow; - openButton.text = root.selectDirectory && row === -1 ? "Choose" : "Open" - if (row === -1) { if (!root.selectDirectory) { currentSelection.text = ""; @@ -657,7 +655,7 @@ ModalWindow { Action { id: okAction - text: root.saveDialog ? "Save" : (root.selectDirectory ? "Choose" : "Open") + text: currentSelection.text ? (root.selectDirectory && fileTableView.currentRow === -1 ? "Choose" : (root.saveDialog ? "Save" : "Open")) : "Open" enabled: currentSelection.text || !root.selectDirectory && d.currentSelectionIsFolder ? true : false onTriggered: { if (!root.selectDirectory && !d.currentSelectionIsFolder @@ -681,7 +679,6 @@ ModalWindow { return; } - // Handle the ambiguity between different cases // * typed name (with or without extension) // * full path vs relative vs filename only From 3780b18cc07efc1dc2696c9a64ce7999024abcef Mon Sep 17 00:00:00 2001 From: David Rowe Date: Thu, 9 Jun 2016 15:14:14 +1200 Subject: [PATCH 4/9] Fix a QML error --- interface/resources/qml/controls-uit/ComboBox.qml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interface/resources/qml/controls-uit/ComboBox.qml b/interface/resources/qml/controls-uit/ComboBox.qml index cd6dc8ede0..df3210a20d 100755 --- a/interface/resources/qml/controls-uit/ComboBox.qml +++ b/interface/resources/qml/controls-uit/ComboBox.qml @@ -199,7 +199,7 @@ FocusScope { anchors.leftMargin: hifi.dimensions.textPadding anchors.verticalCenter: parent.verticalCenter id: popupText - text: listView.model[index] + text: listView.model[index] ? listView.model[index] : "" size: hifi.fontSizes.textFieldInput color: hifi.colors.baseGray } From 0fe93a1e89fdd1638549f699ed23fc41a167f675 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Thu, 9 Jun 2016 16:12:11 +1200 Subject: [PATCH 5/9] Fix capitalization of import and export dialog titles --- scripts/system/edit.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/system/edit.js b/scripts/system/edit.js index afbc679ec4..1232c8d94d 100644 --- a/scripts/system/edit.js +++ b/scripts/system/edit.js @@ -1222,7 +1222,7 @@ function handeMenuEvent(menuItem) { Window.alert("No entities have been selected."); } else { var filename = "entities__" + Window.location.hostname + ".svo.json"; - filename = Window.save("Select where to save", filename, "*.json") + filename = Window.save("Select Where to Save", filename, "*.json") if (filename) { var success = Clipboard.exportEntities(filename, selectionManager.selections); if (!success) { @@ -1234,7 +1234,7 @@ function handeMenuEvent(menuItem) { var importURL = null; if (menuItem == "Import Entities") { - var fullPath = Window.browse("Select models to import", "", "*.json"); + var fullPath = Window.browse("Select Model to Import", "", "*.json"); if (fullPath) { importURL = "file:///" + fullPath; } From b4543cc579001968114f4d1bddec712452737853 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Thu, 9 Jun 2016 16:29:15 +1200 Subject: [PATCH 6/9] Unhighlight directory in table when type filename to save --- interface/resources/qml/dialogs/FileDialog.qml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/interface/resources/qml/dialogs/FileDialog.qml b/interface/resources/qml/dialogs/FileDialog.qml index b4558c306b..dc1d7ab340 100644 --- a/interface/resources/qml/dialogs/FileDialog.qml +++ b/interface/resources/qml/dialogs/FileDialog.qml @@ -610,6 +610,12 @@ ModalWindow { readOnly: !root.saveDialog activeFocusOnTab: !readOnly onActiveFocusChanged: if (activeFocus) { selectAll(); } + onTextChanged: { + if (root.saveDialog && text !== "") { + fileTableView.selection.clear(); + fileTableView.currentRow = -1; + } + } onAccepted: okAction.trigger(); } From d346d4c7310fb3dbdc1587f72adb7165e09d5e82 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Thu, 9 Jun 2016 16:41:51 +1200 Subject: [PATCH 7/9] When choosing a directory make the dropdown update the path value --- interface/resources/qml/dialogs/FileDialog.qml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/interface/resources/qml/dialogs/FileDialog.qml b/interface/resources/qml/dialogs/FileDialog.qml index dc1d7ab340..eee52161b6 100644 --- a/interface/resources/qml/dialogs/FileDialog.qml +++ b/interface/resources/qml/dialogs/FileDialog.qml @@ -186,6 +186,9 @@ ModalWindow { } if (helper.urlToPath(folder).toLowerCase() !== helper.urlToPath(fileTableModel.folder).toLowerCase()) { + if (root.selectDirectory) { + currentSelection.text = currentText !== "This PC" ? currentText : ""; + } fileTableModel.folder = folder; fileTableView.forceActiveFocus(); } From 4176940e248bab158d2585d370d8d67b7d518521 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Thu, 9 Jun 2016 17:02:43 +1200 Subject: [PATCH 8/9] Don't highlight first drive in table when choose "This PC" from dropdown --- interface/resources/qml/dialogs/FileDialog.qml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/interface/resources/qml/dialogs/FileDialog.qml b/interface/resources/qml/dialogs/FileDialog.qml index eee52161b6..5f8d8c7bbb 100644 --- a/interface/resources/qml/dialogs/FileDialog.qml +++ b/interface/resources/qml/dialogs/FileDialog.qml @@ -451,12 +451,6 @@ ModalWindow { onSortIndicatorOrderChanged: { updateSort(); } - onActiveFocusChanged: { - if (activeFocus && currentRow == -1) { - fileTableView.selection.select(0) - } - } - itemDelegate: Item { clip: true From cf6945b40363a1879c0e27b6cf34eb968fbda1fb Mon Sep 17 00:00:00 2001 From: David Rowe Date: Thu, 9 Jun 2016 17:11:00 +1200 Subject: [PATCH 9/9] Fix selecting directory directly from dropdown --- interface/resources/qml/dialogs/FileDialog.qml | 1 + 1 file changed, 1 insertion(+) diff --git a/interface/resources/qml/dialogs/FileDialog.qml b/interface/resources/qml/dialogs/FileDialog.qml index 5f8d8c7bbb..93ccbc0b8c 100644 --- a/interface/resources/qml/dialogs/FileDialog.qml +++ b/interface/resources/qml/dialogs/FileDialog.qml @@ -188,6 +188,7 @@ ModalWindow { if (helper.urlToPath(folder).toLowerCase() !== helper.urlToPath(fileTableModel.folder).toLowerCase()) { if (root.selectDirectory) { currentSelection.text = currentText !== "This PC" ? currentText : ""; + d.currentSelectionUrl = helper.pathToUrl(currentText); } fileTableModel.folder = folder; fileTableView.forceActiveFocus();