diff --git a/interface/resources/qml/dialogs/FileDialog.qml b/interface/resources/qml/dialogs/FileDialog.qml index c8748443ef..41f8db3dba 100644 --- a/interface/resources/qml/dialogs/FileDialog.qml +++ b/interface/resources/qml/dialogs/FileDialog.qml @@ -79,6 +79,9 @@ ModalWindow { fileTableModel.folder = initialFolder; iconText = root.title !== "" ? hifi.glyphs.scriptUpload : ""; + + // Clear selection when click on external frame. + frameClicked.connect(function() { d.clearSelection(); }); } Item { @@ -87,6 +90,13 @@ ModalWindow { height: pane.height anchors.margins: 0 + MouseArea { + // Clear selection when click on internal unused area. + anchors.fill: parent + drag.target: root + onClicked: d.clearSelection() + } + Row { id: navControls anchors { @@ -228,6 +238,12 @@ ModalWindow { fileTableModel.folder = homeDestination; return true; } + + function clearSelection() { + fileTableView.selection.clear(); + fileTableView.currentRow = -1; + update(); + } } FolderListModel { @@ -392,9 +408,7 @@ ModalWindow { rows++; } - fileTableView.selection.clear(); - fileTableView.currentRow = -1; - d.update(); + d.clearSelection(); } } diff --git a/interface/resources/qml/windows-uit/ModalFrame.qml b/interface/resources/qml/windows-uit/ModalFrame.qml index 44c0b6a456..211353b5f3 100644 --- a/interface/resources/qml/windows-uit/ModalFrame.qml +++ b/interface/resources/qml/windows-uit/ModalFrame.qml @@ -27,6 +27,8 @@ Frame { readonly property int frameMarginTop: hifi.dimensions.modalDialogMargin.y + (frameContent.hasTitle ? hifi.dimensions.modalDialogTitleHeight + 10 : 0) readonly property int frameMarginBottom: hifi.dimensions.modalDialogMargin.y + signal frameClicked(); + anchors { fill: parent topMargin: -frameMarginTop @@ -47,6 +49,7 @@ Frame { anchors.fill: parent drag.target: window enabled: window.draggable + onClicked: window.frameClicked(); } Item { diff --git a/interface/resources/qml/windows-uit/ModalWindow.qml b/interface/resources/qml/windows-uit/ModalWindow.qml index f429e98ac3..144165e4e1 100644 --- a/interface/resources/qml/windows-uit/ModalWindow.qml +++ b/interface/resources/qml/windows-uit/ModalWindow.qml @@ -22,5 +22,7 @@ Window { property int colorScheme: hifi.colorSchemes.light property bool draggable: false + signal frameClicked(); + anchors.centerIn: draggable ? undefined : parent }