From fd467caf86ea55b2558575cf6ebe7e1390e415c8 Mon Sep 17 00:00:00 2001 From: David Rowe Date: Mon, 30 May 2016 14:19:25 +1200 Subject: [PATCH] Add "Open Folder" button to file browser dialog --- .../resources/qml/dialogs/FileDialog.qml | 27 ++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/interface/resources/qml/dialogs/FileDialog.qml b/interface/resources/qml/dialogs/FileDialog.qml index 00a66c01cc..b10917222d 100644 --- a/interface/resources/qml/dialogs/FileDialog.qml +++ b/interface/resources/qml/dialogs/FileDialog.qml @@ -203,6 +203,7 @@ ModalWindow { var row = fileTableView.currentRow; if (row === -1) { + openFolderButton.enabled = false; return; } @@ -213,6 +214,7 @@ ModalWindow { } else { currentSelection.text = ""; } + openFolderButton.enabled = currentSelectionIsFolder } function navigateUp() { @@ -389,6 +391,13 @@ ModalWindow { rows++; } + + fileTableView.selection.clear(); + if (model.count > 0 && fileTableView.activeFocus) { + fileTableView.currentRow = 0; + fileTableView.selection.select(0); + d.update(); + } } } @@ -617,6 +626,16 @@ ModalWindow { Keys.onReturnPressed: okAction.trigger() KeyNavigation.up: selectionType KeyNavigation.left: selectionType + KeyNavigation.right: openFolderButton + } + + Button { + id: openFolderButton + text: "Open Folder" + enabled: false + action: openFolderAction + KeyNavigation.up: selectionType + KeyNavigation.left: openButton KeyNavigation.right: cancelButton } @@ -624,7 +643,7 @@ ModalWindow { id: cancelButton action: cancelAction KeyNavigation.up: selectionType - KeyNavigation.left: openButton + KeyNavigation.left: openFolderButton KeyNavigation.right: fileTableView.contentItem Keys.onReturnPressed: { canceled(); root.enabled = false } } @@ -694,6 +713,12 @@ ModalWindow { } } + Action { + id: openFolderAction + text: "Open Folder" + onTriggered: { fileTableView.navigateToCurrentRow(); } + } + Action { id: cancelAction text: "Cancel"