|
1 | 1 | import QtQuick 2.8
|
| 2 | +import QtQuick.Window 2.2 |
| 3 | +import Qt.labs.platform 1.0 |
2 | 4 | import de.skycoder42.androidutils 1.0
|
3 | 5 |
|
4 |
| -QtObject { |
| 6 | +FileChooser { |
5 | 7 | id: fileDialog
|
6 | 8 |
|
| 9 | + property bool linkFileMode: true |
| 10 | + |
| 11 | + default property var data |
| 12 | + property int flags: Qt.Dialog |
| 13 | + property int modality: Qt.NonModal |
| 14 | + property Window parentWindow: null |
| 15 | + property int result: Dialog.Rejected |
| 16 | + property bool visible: false |
| 17 | + property string acceptLabel |
| 18 | + property string rejectLabel |
| 19 | + property alias currentFile: fileDialog.contentUrl |
| 20 | + property var currentFiles: [currentFile] |
7 | 21 | property string defaultSuffix
|
| 22 | + property alias file: fileDialog.contentUrl |
| 23 | + property int fileMode: FileDialog.OpenFile |
| 24 | + property var files: [file] |
| 25 | + property alias folder: fileDialog.contentUrl |
| 26 | + property var nameFilters |
| 27 | + property int options |
| 28 | + |
| 29 | + onAccepted: result = Dialog.Accepted |
| 30 | + onRejected: result = Dialog.Rejected |
| 31 | + |
| 32 | + function accept() {} |
| 33 | + function reject() {} |
| 34 | + function close() {} |
| 35 | + function done(result) { |
| 36 | + fileDialog.result = result; |
| 37 | + } |
| 38 | + |
| 39 | + onTypeChanged: { |
| 40 | + if(!linkFileMode) |
| 41 | + return; |
| 42 | + |
| 43 | + switch(type) { |
| 44 | + case FileChooser.GetContent: |
| 45 | + case FileChooser.OpenDocument: |
| 46 | + fileMode = FileDialog.OpenFile; |
| 47 | + break; |
| 48 | + case FileChooser.CreateDocument: |
| 49 | + fileMode = FileDialog.SaveFile |
| 50 | + break; |
| 51 | + } |
| 52 | + } |
| 53 | + |
| 54 | + onFileModeChanged: { |
| 55 | + if(!linkFileMode) |
| 56 | + return; |
| 57 | + |
| 58 | + switch(fileMode) { |
| 59 | + case FileDialog.OpenFile: |
| 60 | + case FileDialog.OpenFiles: |
| 61 | + fileMode = FileChooser.OpenDocument; |
| 62 | + break; |
| 63 | + case FileDialog.SaveFile: |
| 64 | + fileMode = FileChooser.CreateDocument; |
| 65 | + break; |
| 66 | + } |
| 67 | + } |
8 | 68 | }
|
0 commit comments