Fix palette editor crash
This commit is contained in:
parent
9f8849aced
commit
cd37192657
4 changed files with 9 additions and 9 deletions
|
@ -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;
|
||||
|
|
|
@ -48,7 +48,6 @@ private slots:
|
|||
void onSelectedTilesChanged();
|
||||
void onMetatileLayerTileChanged(int, int);
|
||||
void onMetatileLayerSelectionChanged(QPoint, int, int);
|
||||
void onPaletteEditorClosed();
|
||||
void onPaletteEditorChangedPaletteColor();
|
||||
void onPaletteEditorChangedPalette(int);
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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)));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue