oboy/src/qt/main.qml

98 lines
2.4 KiB
QML

import QtQuick 2.5
import QtQuick.Controls 1.4
import QtQuick.Dialogs 1.2
import com.oboy.oboy 1.0
ApplicationWindow {
id: root
visible: true
width: 256
height: 128
title: qsTr("OBoy")
menuBar: MenuBar {
Menu {
title: qsTr("File")
MenuItem {
text: qsTr("&Open")
onTriggered: fileDialog.open();
}
MenuItem {
text: qsTr("Exit")
onTriggered: Qt.quit();
}
}
Menu {
title: qsTr("View")
MenuItem {
text: qsTr("Background maps")
enabled: oboy.loaded
onTriggered: {
console.log("Background maps");
var component = Qt.createComponent("BackgroundMap.qml")
var bgMap = component.createObject(root)
bgMap.show()
}
}
MenuItem {
text: qsTr("VRAM Explorer")
enabled: oboy.loaded
onTriggered: {
var component = Qt.createComponent("vram_explorer.qml")
var vram_explorer = component.createObject(root)
vram_explorer.show()
}
}
}
Menu {
title: qsTr("Help")
MenuItem {
text: qsTr("About")
onTriggered: {
var component = Qt.createComponent("About.qml")
var about = component.createObject(root)
about.show()
}
}
}
}
OBoy {
id: oboy
objectName: "qml_oboy"
}
MainForm {
anchors.fill: parent
openButton.onClicked: fileDialog.open()
openButton.text: oboy.loaded ? "Loaded" : "Open ROM"
}
MessageDialog {
id: messageDialog
title: qsTr("May I have your attention, please?")
function show(caption) {
messageDialog.text = caption;
messageDialog.open();
}
}
FileDialog {
id: fileDialog
nameFilters: [ "Game Boy ROMs (*.gb)" ]
title: "Please choose a file"
folder: shortcuts.home
onAccepted: {
console.log("You chose: " + fileDialog.fileUrl)
oboy.load(fileDialog.fileUrl)
}
onRejected: {
console.log("Canceled")
}
}
}