From 03186e4591e420a66b0dae6a7c3105447d0c6c20 Mon Sep 17 00:00:00 2001 From: Phlosioneer Date: Mon, 8 Apr 2019 00:13:55 -0400 Subject: [PATCH] Fix metatile label bug while saving The metatile label only saved when the text field lost focus. But saving doesn't cause the lineEdit to lose focus. This forces a check whenever the tileset is saved. --- include/ui/tileseteditor.h | 1 + src/ui/tileseteditor.cpp | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/include/ui/tileseteditor.h b/include/ui/tileseteditor.h index 663fcbdb..1095b0be 100644 --- a/include/ui/tileseteditor.h +++ b/include/ui/tileseteditor.h @@ -95,6 +95,7 @@ private: void importTilesetTiles(Tileset*, bool); void importTilesetMetatiles(Tileset*, bool); void refresh(); + void saveMetatileLabel(); Ui::TilesetEditor *ui; History metatileHistory; TilesetEditorMetatileSelector *metatileSelector = nullptr; diff --git a/src/ui/tileseteditor.cpp b/src/ui/tileseteditor.cpp index ca6f89ab..49119430 100644 --- a/src/ui/tileseteditor.cpp +++ b/src/ui/tileseteditor.cpp @@ -318,6 +318,11 @@ void TilesetEditor::on_comboBox_metatileBehaviors_activated(const QString &metat } void TilesetEditor::on_lineEdit_metatileLabel_editingFinished() +{ + saveMetatileLabel(); +} + +void TilesetEditor::saveMetatileLabel() { if (this->metatile) { Metatile *prevMetatile = this->metatile->copy(); @@ -339,6 +344,12 @@ void TilesetEditor::on_comboBox_layerType_activated(int layerType) void TilesetEditor::on_actionSave_Tileset_triggered() { + if (this->metatile) { + if (this->metatile->label != this->ui->lineEdit_metatileLabel->text()) { + saveMetatileLabel(); + } + } + this->project->saveTilesets(this->primaryTileset, this->secondaryTileset); emit this->tilesetsSaved(this->primaryTileset->name, this->secondaryTileset->name); if (this->paletteEditor) {