Abt to cutscene
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QVBoxLayout, QHBoxLayout, QLabel, QPushButton, QListWidget, QListWidgetItem
|
||||
from editortool.cutscene.cutsceneitem import CutsceneItemEditor
|
||||
from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QVBoxLayout, QHBoxLayout, QLabel, QPushButton, QListWidget, QListWidgetItem, QMenuBar, QAction, QFileDialog, QMessageBox
|
||||
from PyQt5.QtGui import QKeySequence
|
||||
from editortool.cutscene.cutsceneitemeditor import CutsceneItemEditor
|
||||
from editortool.cutscene.cutscenemenubar import CutsceneMenuBar
|
||||
import sys
|
||||
|
||||
class CutsceneToolWindow(QMainWindow):
|
||||
@@ -8,6 +10,12 @@ class CutsceneToolWindow(QMainWindow):
|
||||
self.setWindowTitle("Dusk Cutscene Editor")
|
||||
self.setGeometry(100, 100, 800, 600)
|
||||
self.nextItemNumber = 1 # Track next available number
|
||||
self.currentFile = None
|
||||
self.dirty = False # Track unsaved changes
|
||||
|
||||
# File menu (handled by CutsceneMenuBar)
|
||||
menubar = CutsceneMenuBar(self)
|
||||
self.setMenuBar(menubar)
|
||||
|
||||
# Main layout: horizontal split
|
||||
central = QWidget()
|
||||
@@ -44,21 +52,34 @@ class CutsceneToolWindow(QMainWindow):
|
||||
|
||||
def addCutsceneItem(self):
|
||||
name = f"Cutscene item {self.nextItemNumber}"
|
||||
item = QListWidgetItem(name)
|
||||
self.timelineList.addItem(item)
|
||||
self.timelineList.setCurrentItem(item)
|
||||
timelineItem = QListWidgetItem(name)
|
||||
self.timelineList.addItem(timelineItem)
|
||||
self.timelineList.setCurrentItem(timelineItem)
|
||||
self.nextItemNumber += 1
|
||||
self.dirty = True
|
||||
|
||||
def removeCutsceneItem(self):
|
||||
row = self.timelineList.currentRow()
|
||||
if row >= 0:
|
||||
self.timelineList.takeItem(row)
|
||||
# Remove editor if nothing selected
|
||||
if self.timelineList.currentItem() is None:
|
||||
if self.itemEditor:
|
||||
self.editorLayout.removeWidget(self.itemEditor)
|
||||
self.itemEditor.deleteLater()
|
||||
self.itemEditor = None
|
||||
if row < 0:
|
||||
return
|
||||
self.timelineList.takeItem(row)
|
||||
self.dirty = True
|
||||
|
||||
# Remove editor if nothing selected
|
||||
if self.timelineList.currentItem() is None or self.itemEditor is None:
|
||||
return
|
||||
|
||||
self.editorLayout.removeWidget(self.itemEditor)
|
||||
self.itemEditor.deleteLater()
|
||||
self.itemEditor = None
|
||||
|
||||
def clearCutscene(self):
|
||||
self.timelineList.clear()
|
||||
self.nextItemNumber = 1
|
||||
self.currentFile = None
|
||||
self.dirty = False
|
||||
if self.itemEditor:
|
||||
self.editorLayout.removeWidget(self.itemEditor)
|
||||
|
||||
def onItemSelected(self, current, previous):
|
||||
if current:
|
||||
|
||||
Reference in New Issue
Block a user