diff --git a/include/ui/paletteeditor.h b/include/ui/paletteeditor.h index 827aaad0..679e2872 100644 --- a/include/ui/paletteeditor.h +++ b/include/ui/paletteeditor.h @@ -26,6 +26,7 @@ public: explicit PaletteEditor(Project*, Tileset*, Tileset*, QWidget *parent = nullptr); ~PaletteEditor(); void setPaletteId(int); + void setTilesets(Tileset*, Tileset*); private: Ui::PaletteEditor *ui; diff --git a/include/ui/tileseteditor.h b/include/ui/tileseteditor.h index f57ea79c..0a58c30c 100644 --- a/include/ui/tileseteditor.h +++ b/include/ui/tileseteditor.h @@ -48,7 +48,6 @@ private slots: void onSelectedTilesChanged(); void onMetatileLayerTileChanged(int, int); void onMetatileLayerSelectionChanged(QPoint, int, int); - void onPaletteEditorClosed(); void onPaletteEditorChangedPaletteColor(); void onPaletteEditorChangedPalette(int); diff --git a/src/ui/paletteeditor.cpp b/src/ui/paletteeditor.cpp index 82c2b4ba..fa195d7c 100644 --- a/src/ui/paletteeditor.cpp +++ b/src/ui/paletteeditor.cpp @@ -188,6 +188,13 @@ void PaletteEditor::setPaletteId(int paletteId) { this->ui->spinBox_PaletteId->blockSignals(false); } +void PaletteEditor::setTilesets(Tileset *primaryTileset, Tileset *secondaryTileset) { + this->primaryTileset = primaryTileset; + this->secondaryTileset = secondaryTileset; + this->refreshColorSliders(); + this->refreshColors(); +} + void PaletteEditor::setColor(int colorIndex) { int paletteNum = this->ui->spinBox_PaletteId->value(); int red = this->sliders[colorIndex][0]->value() * 8; diff --git a/src/ui/tileseteditor.cpp b/src/ui/tileseteditor.cpp index 829d19f1..99c98584 100644 --- a/src/ui/tileseteditor.cpp +++ b/src/ui/tileseteditor.cpp @@ -313,6 +313,7 @@ void TilesetEditor::on_actionSave_Tileset_triggered() { this->project->saveTilesets(this->primaryTileset, this->secondaryTileset); emit this->tilesetsSaved(this->primaryTileset->name, this->secondaryTileset->name); + this->paletteEditor->setTilesets(this->primaryTileset, this->secondaryTileset); this->ui->statusbar->showMessage(QString("Saved primary and secondary Tilesets!"), 5000); this->hasUnsavedChanges = false; } @@ -483,18 +484,10 @@ void TilesetEditor::on_actionChange_Metatiles_Count_triggered() } } -void TilesetEditor::onPaletteEditorClosed() { - if (this->paletteEditor) { - delete this->paletteEditor; - this->paletteEditor = nullptr; - } -} - void TilesetEditor::on_actionChange_Palettes_triggered() { if (!this->paletteEditor) { this->paletteEditor = new PaletteEditor(this->project, this->primaryTileset, this->secondaryTileset, this); - connect(this->paletteEditor, SIGNAL(closed()), this, SLOT(onPaletteEditorClosed())); connect(this->paletteEditor, SIGNAL(changedPaletteColor()), this, SLOT(onPaletteEditorChangedPaletteColor())); connect(this->paletteEditor, SIGNAL(changedPalette(int)), this, SLOT(onPaletteEditorChangedPalette(int))); }