mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-05-07 05:38:38 +02:00
137 lines
3.7 KiB
QML
137 lines
3.7 KiB
QML
//
|
|
// AssetDialog.qml
|
|
//
|
|
// Created by David Rowe on 18 Apr 2017
|
|
// Copyright 2017 High Fidelity, Inc.
|
|
//
|
|
// Distributed under the Apache License, Version 2.0.
|
|
// See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
|
//
|
|
|
|
import QtQuick 2.5
|
|
import QtQuick.Controls 1.4
|
|
import Qt.labs.settings 1.0
|
|
|
|
import "../controls-uit"
|
|
import "../styles-uit"
|
|
import "../windows"
|
|
|
|
ModalWindow {
|
|
id: root
|
|
resizable: true
|
|
implicitWidth: 480
|
|
implicitHeight: 360 + (fileDialogItem.keyboardEnabled && fileDialogItem.keyboardRaised ? keyboard.raisedHeight + hifi.dimensions.contentSpacing.y : 0)
|
|
|
|
minSize: Qt.vector2d(360, 240)
|
|
draggable: true
|
|
|
|
HifiConstants { id: hifi }
|
|
|
|
Settings {
|
|
category: "FileDialog"
|
|
property alias width: root.width
|
|
property alias height: root.height
|
|
property alias x: root.x
|
|
property alias y: root.y
|
|
}
|
|
|
|
// Set from OffscreenUi::assetDialog()
|
|
//property alias caption: root.title;
|
|
property string caption
|
|
//property alias dir: fileTableModel.folder;
|
|
property string dir
|
|
//property alias filter: selectionType.filtersString;
|
|
property string filter
|
|
property int options // Unused
|
|
|
|
// TODO: Other properties
|
|
|
|
signal selectedAsset(var asset);
|
|
signal canceled();
|
|
|
|
Component.onCompleted: {
|
|
// TODO: Required?
|
|
}
|
|
|
|
Item {
|
|
id: assetDialogItem
|
|
clip: true
|
|
width: pane.width
|
|
height: pane.height
|
|
anchors.margins: 0
|
|
|
|
Action {
|
|
id: okAction
|
|
// TODO
|
|
/*
|
|
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
|
|
|| root.selectDirectory && fileTableView.currentRow === -1) {
|
|
okActionTimer.start();
|
|
} else {
|
|
fileTableView.navigateToCurrentRow();
|
|
}
|
|
}
|
|
*/
|
|
text: "Choose"
|
|
|
|
onTriggered: {
|
|
selectedAsset("/recordings/20170417-233012.hfr");
|
|
root.destroy(); // TODO: root.shown = false?
|
|
}
|
|
}
|
|
|
|
Action {
|
|
id: cancelAction
|
|
text: "Cancel"
|
|
onTriggered: {
|
|
canceled();
|
|
root.shown = false;
|
|
}
|
|
}
|
|
|
|
Row {
|
|
id: buttonRow
|
|
anchors {
|
|
right: parent.right
|
|
bottom: parent.bottom
|
|
}
|
|
spacing: hifi.dimensions.contentSpacing.y
|
|
|
|
Button {
|
|
id: openButton
|
|
color: hifi.buttons.blue
|
|
action: okAction
|
|
Keys.onReturnPressed: okAction.trigger()
|
|
KeyNavigation.up: selectionType
|
|
KeyNavigation.left: selectionType
|
|
KeyNavigation.right: cancelButton
|
|
}
|
|
|
|
Button {
|
|
id: cancelButton
|
|
action: cancelAction
|
|
KeyNavigation.up: selectionType
|
|
KeyNavigation.left: openButton
|
|
KeyNavigation.right: fileTableView.contentItem
|
|
Keys.onReturnPressed: { canceled(); root.enabled = false }
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
Keys.onPressed: {
|
|
switch (event.key) {
|
|
case Qt.Key_Backspace:
|
|
event.accepted = d.navigateUp();
|
|
break;
|
|
|
|
case Qt.Key_Home:
|
|
event.accepted = d.navigateHome();
|
|
break;
|
|
|
|
}
|
|
}
|
|
}
|