55 lines
1.7 KiB
Python
55 lines
1.7 KiB
Python
from PyQt5.QtWidgets import QMenuBar, QAction, QFileDialog, QMessageBox
|
|
from PyQt5.QtGui import QKeySequence
|
|
|
|
class CutsceneMenuBar(QMenuBar):
|
|
def __init__(self, parent):
|
|
super().__init__(parent)
|
|
self.parent = parent
|
|
fileMenu = self.addMenu("File")
|
|
|
|
self.newAction = QAction("New", self)
|
|
self.newAction.setShortcut(QKeySequence.New)
|
|
self.newAction.triggered.connect(self.newFile)
|
|
fileMenu.addAction(self.newAction)
|
|
|
|
self.openAction = QAction("Open", self)
|
|
self.openAction.setShortcut(QKeySequence.Open)
|
|
self.openAction.triggered.connect(self.openFile)
|
|
fileMenu.addAction(self.openAction)
|
|
|
|
self.saveAction = QAction("Save", self)
|
|
self.saveAction.setShortcut(QKeySequence.Save)
|
|
self.saveAction.triggered.connect(self.saveFile)
|
|
fileMenu.addAction(self.saveAction)
|
|
|
|
self.saveAsAction = QAction("Save As", self)
|
|
self.saveAsAction.setShortcut(QKeySequence.SaveAs)
|
|
self.saveAsAction.triggered.connect(self.saveFileAs)
|
|
fileMenu.addAction(self.saveAsAction)
|
|
|
|
def newFile(self):
|
|
self.parent.clearCutscene()
|
|
|
|
def openFile(self):
|
|
path, _ = QFileDialog.getOpenFileName(self.parent, "Open Cutscene File", "", "JSON Files (*.json);;All Files (*)")
|
|
if not path:
|
|
return
|
|
|
|
# TODO: Load file contents into timeline
|
|
self.parent.currentFile = path
|
|
pass
|
|
|
|
def saveFile(self):
|
|
if not self.parent.currentFile:
|
|
self.saveFileAs()
|
|
return
|
|
|
|
# TODO: Save timeline to self.parent.currentFile
|
|
pass
|
|
|
|
def saveFileAs(self):
|
|
path, _ = QFileDialog.getSaveFileName(self.parent, "Save Cutscene File As", "", "JSON Files (*.json);;All Files (*)")
|
|
if path:
|
|
self.parent.currentFile = path
|
|
self.saveFile()
|