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") } } }