Skip to content

Commit

Permalink
history for all view actions
Browse files Browse the repository at this point in the history
  • Loading branch information
danielmeinert committed Jul 24, 2023
1 parent 4412aed commit 50445a0
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 6 deletions.
10 changes: 5 additions & 5 deletions editor_app/app.py
Expand Up @@ -153,15 +153,15 @@ def __init__(self, app_data_path, opening_objects = None):
self.actionCopySprite.triggered.connect(self.spriteCopy)

self.actionSettings.triggered.connect(lambda x: self.changeSettings(update_widgets = True))

self.actionBlackImport.triggered.connect(lambda x, mode=0: self.setCurrentImportColor(mode))
self.actionWhiteImport.triggered.connect(lambda x, mode=1: self.setCurrentImportColor(mode))
self.actionUpperLeftPixelImport.triggered.connect(lambda x, mode=2: self.setCurrentImportColor(mode))
self.actionCustomColorImport.triggered.connect(lambda x, mode=3: self.setCurrentImportColor(mode))

self.actionPaletteOpenRCT.triggered.connect(lambda x, palette=0: self.setCurrentPalette(palette))
self.actionPaletteOld.triggered.connect(lambda x, palette=1: self.setCurrentPalette(palette))

self.actionBlackBackground.triggered.connect(lambda x, mode=0: self.setCurrentBackgroundColor(mode))
self.actionWhiteBackground.triggered.connect(lambda x, mode=1: self.setCurrentBackgroundColor(mode))
self.actionCustomColorBackground.triggered.connect(lambda x, mode=2: self.setCurrentBackgroundColor(mode))
Expand Down Expand Up @@ -322,7 +322,7 @@ def setCurrentPalette(self, palette, update_widgets = True):
tab = self.object_tabs.widget(index)
tab.o.switchPalette(self.current_palette)
tab.sprites_tab.updateAllViews()

def setCurrentBackgroundColor(self, mode, update_widgets = True):
if mode == 0:
self.current_background_color = (0,0,0)
Expand All @@ -339,14 +339,14 @@ def setCurrentBackgroundColor(self, mode, update_widgets = True):
self.actionBlackBackground.setChecked(False)
self.actionWhiteBackground.setChecked(False)
self.actionCustomColorBackground.setChecked(True)

if update_widgets:
for index in range(self.sprite_tabs.count()):
tab = self.sprite_tabs.widget(index)
tab.view.setStyleSheet("QLabel{"
f"background-color : rgb{self.current_background_color};"
"}")

for index in range(self.object_tabs.count()):
tab = self.object_tabs.widget(index)
tab.sprites_tab.sprite_view_main.setStyleSheet("QLabel{"
Expand Down
29 changes: 28 additions & 1 deletion editor_app/widgets.py
Expand Up @@ -120,20 +120,31 @@ def setCurrentSprite(self, sprite):
self.updateCurrentMainView()

def colorRemapToAll(self, color_remap, selected_colors):
if self.locked:
self.locked_sprite_tab.addSpriteToHistoryAllViews()

for _, sprite in self.o.sprites.items():
for color in selected_colors:
sprite.remapColor(color, color_remap)

self.sprites_tab.updateAllViews()

def colorChangeBrightnessAll(self, step, selected_colors):
if self.locked:
self.locked_sprite_tab.addSpriteToHistoryAllViews()


for _, sprite in self.o.sprites.items():
for color in selected_colors:
sprite.changeBrightnessColor(step, color)

self.sprites_tab.updateAllViews()

def colorRemoveAll(self, selected_colors):
if self.locked:
self.locked_sprite_tab.addSpriteToHistoryAllViews()


for _, sprite in self.o.sprites.items():
for color in selected_colors:
sprite.removeColor(color)
Expand Down Expand Up @@ -743,7 +754,7 @@ def __init__(self, main_window, object_tab = None, filepath = None):
self.canvas_size = 200

self.lastpos = (0,0)

self.view.setStyleSheet("QLabel{"
f"background-color : rgb{self.main_window.current_background_color};"
"}")
Expand Down Expand Up @@ -1293,6 +1304,21 @@ def addSpriteToHistory(self):
self.history[index].append(sprite)
self.history_redo[index] = []

def addSpriteToHistoryAllViews(self):
if not self.locked:
return

for index, sprite_import in enumerate(self.object_tab.o.sprites.items()):
sprite = copy(sprite_import[1])

if len(self.history[index]) == self.main_window.settings['history_maximum']:
self.history[index].pop(0)


self.history[index].append(sprite)
self.history_redo[index] = []


def undo(self):
sprite_old, index = self.giveSprite()

Expand Down Expand Up @@ -1327,6 +1353,7 @@ def redo(self):
self.updateView()

def paste(self):
self.addSpriteToHistory()
if self.locked:
self.object_tab.sprites_tab.pasteSpriteFromClipboard()
else:
Expand Down

0 comments on commit 50445a0

Please sign in to comment.