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);
|
explicit PaletteEditor(Project*, Tileset*, Tileset*, QWidget *parent = nullptr);
|
||||||
~PaletteEditor();
|
~PaletteEditor();
|
||||||
void setPaletteId(int);
|
void setPaletteId(int);
|
||||||
|
void setTilesets(Tileset*, Tileset*);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::PaletteEditor *ui;
|
Ui::PaletteEditor *ui;
|
||||||
|
|
|
@ -48,7 +48,6 @@ private slots:
|
||||||
void onSelectedTilesChanged();
|
void onSelectedTilesChanged();
|
||||||
void onMetatileLayerTileChanged(int, int);
|
void onMetatileLayerTileChanged(int, int);
|
||||||
void onMetatileLayerSelectionChanged(QPoint, int, int);
|
void onMetatileLayerSelectionChanged(QPoint, int, int);
|
||||||
void onPaletteEditorClosed();
|
|
||||||
void onPaletteEditorChangedPaletteColor();
|
void onPaletteEditorChangedPaletteColor();
|
||||||
void onPaletteEditorChangedPalette(int);
|
void onPaletteEditorChangedPalette(int);
|
||||||
|
|
||||||
|
|
|
@ -188,6 +188,13 @@ void PaletteEditor::setPaletteId(int paletteId) {
|
||||||
this->ui->spinBox_PaletteId->blockSignals(false);
|
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) {
|
void PaletteEditor::setColor(int colorIndex) {
|
||||||
int paletteNum = this->ui->spinBox_PaletteId->value();
|
int paletteNum = this->ui->spinBox_PaletteId->value();
|
||||||
int red = this->sliders[colorIndex][0]->value() * 8;
|
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);
|
this->project->saveTilesets(this->primaryTileset, this->secondaryTileset);
|
||||||
emit this->tilesetsSaved(this->primaryTileset->name, this->secondaryTileset->name);
|
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->ui->statusbar->showMessage(QString("Saved primary and secondary Tilesets!"), 5000);
|
||||||
this->hasUnsavedChanges = false;
|
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()
|
void TilesetEditor::on_actionChange_Palettes_triggered()
|
||||||
{
|
{
|
||||||
if (!this->paletteEditor) {
|
if (!this->paletteEditor) {
|
||||||
this->paletteEditor = new PaletteEditor(this->project, this->primaryTileset, this->secondaryTileset, this);
|
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(changedPaletteColor()), this, SLOT(onPaletteEditorChangedPaletteColor()));
|
||||||
connect(this->paletteEditor, SIGNAL(changedPalette(int)), this, SLOT(onPaletteEditorChangedPalette(int)));
|
connect(this->paletteEditor, SIGNAL(changedPalette(int)), this, SLOT(onPaletteEditorChangedPalette(int)));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue