EditorSession.revisionChanged is now emitted with a RevisionChanges object instead of the revision ID
This commit is contained in:
parent
ef520d7d9d
commit
1d9c2c65de
@ -39,7 +39,7 @@ from mceditlib.operations import ComposeOperations
|
||||
from mceditlib.operations.entity import RemoveEntitiesOperation
|
||||
from mceditlib.selection import BoundingBox
|
||||
from mceditlib.exceptions import PlayerNotFound
|
||||
from mceditlib.revisionhistory import UndoFolderExists
|
||||
from mceditlib.revisionhistory import UndoFolderExists, RevisionChanges
|
||||
from mceditlib.worldeditor import WorldEditor
|
||||
from mceditlib.blocktypes import BlockType
|
||||
|
||||
@ -653,7 +653,7 @@ class EditorSession(QtCore.QObject):
|
||||
|
||||
# --- Undo support ---
|
||||
|
||||
revisionChanged = QtCore.Signal(int)
|
||||
revisionChanged = QtCore.Signal(RevisionChanges)
|
||||
|
||||
def undoIndexChanged(self, index):
|
||||
self.editorTab.currentView().update()
|
||||
@ -678,20 +678,24 @@ class EditorSession(QtCore.QObject):
|
||||
def commitUndoIter(self):
|
||||
for status in self.worldEditor.commitUndoIter():
|
||||
yield status
|
||||
self.revisionChanged.emit(self.worldEditor.currentRevision)
|
||||
changes = self.worldEditor.getRevisionChanges(self.currentRevision-1, self.currentRevision)
|
||||
self.revisionChanged.emit(changes)
|
||||
|
||||
def undoForward(self):
|
||||
self.worldEditor.redo()
|
||||
self.revisionChanged.emit(self.worldEditor.currentRevision)
|
||||
changes = self.worldEditor.getRevisionChanges(self.currentRevision-1, self.currentRevision)
|
||||
self.revisionChanged.emit(changes)
|
||||
|
||||
def undoBackward(self):
|
||||
self.worldEditor.undo()
|
||||
self.revisionChanged.emit(self.worldEditor.currentRevision)
|
||||
changes = self.worldEditor.getRevisionChanges(self.currentRevision-1, self.currentRevision)
|
||||
self.revisionChanged.emit(changes)
|
||||
|
||||
def gotoRevision(self, index):
|
||||
if index != self.currentRevision:
|
||||
changes = self.worldEditor.getRevisionChanges(self.currentRevision, index)
|
||||
self.worldEditor.gotoRevision(index)
|
||||
self.revisionChanged.emit(self.worldEditor.currentRevision)
|
||||
self.revisionChanged.emit(changes)
|
||||
|
||||
@property
|
||||
def currentRevision(self):
|
||||
|
@ -706,6 +706,9 @@ class AnvilWorldAdapter(object):
|
||||
for ID, node in enumerate(self.revisionHistory.nodes):
|
||||
yield ID, node.getRevisionInfo()
|
||||
|
||||
def getRevisionChanges(self, oldRevision, newRevision):
|
||||
return self.revisionHistory.getRevisionChanges(oldRevision, newRevision)
|
||||
|
||||
# --- Session lock ---
|
||||
|
||||
def acquireSessionLock(self):
|
||||
|
@ -338,6 +338,9 @@ class WorldEditor(object):
|
||||
|
||||
self.recentDirtyFiles.update(changes.files)
|
||||
|
||||
def getRevisionChanges(self, oldIndex, newIndex):
|
||||
return self.adapter.getRevisionChanges(oldIndex, newIndex)
|
||||
|
||||
# --- Save ---
|
||||
def syncToDisk(self):
|
||||
exhaust(self.syncToDiskIter())
|
||||
|
Reference in New Issue
Block a user