Skip to content

Commit e186fd3

Browse files
Remove unnecessary QGraphicsScene/item tracking from Tileset Editor
1 parent 0c6f901 commit e186fd3

File tree

2 files changed

+16
-29
lines changed

2 files changed

+16
-29
lines changed

include/ui/tileseteditor.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -176,11 +176,6 @@ private slots:
176176
bool hasUnsavedChanges;
177177
Tileset *primaryTileset = nullptr;
178178
Tileset *secondaryTileset = nullptr;
179-
QGraphicsScene *metatilesScene = nullptr;
180-
QGraphicsScene *tilesScene = nullptr;
181-
QGraphicsScene *selectedTileScene = nullptr;
182-
QGraphicsPixmapItem *selectedTilePixmapItem = nullptr;
183-
QGraphicsScene *metatileLayersScene = nullptr;
184179
bool lockSelection = false;
185180
QSet<uint16_t> metatileReloadQueue;
186181
MetatileImageExporter::Settings *metatileImageExportSettings = nullptr;

src/ui/tileseteditor.cpp

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -81,17 +81,9 @@ TilesetEditor::TilesetEditor(Project *project, Layout *layout, QWidget *parent)
8181
TilesetEditor::~TilesetEditor()
8282
{
8383
delete ui;
84-
delete metatileSelector;
85-
delete tileSelector;
86-
delete metatileLayersItem;
8784
delete paletteEditor;
8885
delete primaryTileset;
8986
delete secondaryTileset;
90-
delete metatilesScene;
91-
delete tilesScene;
92-
delete selectedTilePixmapItem;
93-
delete selectedTileScene;
94-
delete metatileLayersScene;
9587
delete copiedMetatile;
9688
delete metatileImageExportSettings;
9789
this->metatileHistory.clear();
@@ -224,11 +216,11 @@ void TilesetEditor::initMetatileSelector()
224216
this->metatileSelector->showGrid = showGrid;
225217
this->metatileSelector->showDivider = this->ui->actionShow_Tileset_Divider->isChecked();
226218

227-
this->metatilesScene = new QGraphicsScene;
228-
this->metatilesScene->addItem(this->metatileSelector);
219+
auto scene = new QGraphicsScene(this);
220+
scene->addItem(this->metatileSelector);
229221
this->metatileSelector->draw();
230222

231-
this->ui->graphicsView_Metatiles->setScene(this->metatilesScene);
223+
this->ui->graphicsView_Metatiles->setScene(scene);
232224
this->ui->graphicsView_Metatiles->setResizeAnchor(QGraphicsView::AnchorViewCenter);
233225
this->ui->horizontalSlider_MetatilesZoom->setValue(porymapConfig.tilesetEditorMetatilesZoom);
234226
}
@@ -320,9 +312,9 @@ void TilesetEditor::initMetatileLayersItem() {
320312
this->ui->actionLayer_Grid->setChecked(showGrid);
321313
this->metatileLayersItem->showGrid = showGrid;
322314

323-
this->metatileLayersScene = new QGraphicsScene;
324-
this->metatileLayersScene->addItem(this->metatileLayersItem);
325-
this->ui->graphicsView_MetatileLayers->setScene(this->metatileLayersScene);
315+
auto scene = new QGraphicsScene(this);
316+
scene->addItem(this->metatileLayersItem);
317+
this->ui->graphicsView_MetatileLayers->setScene(scene);
326318
}
327319

328320
void TilesetEditor::initTileSelector() {
@@ -335,20 +327,19 @@ void TilesetEditor::initTileSelector() {
335327

336328
this->tileSelector->showDivider = this->ui->actionShow_Tileset_Divider->isChecked();
337329

338-
this->tilesScene = new QGraphicsScene;
339-
this->tilesScene->addItem(this->tileSelector);
330+
auto scene = new QGraphicsScene(this);
331+
scene->addItem(this->tileSelector);
340332
this->tileSelector->select(0);
341333
this->tileSelector->draw();
342334

343-
this->ui->graphicsView_Tiles->setScene(this->tilesScene);
335+
this->ui->graphicsView_Tiles->setScene(scene);
344336
this->ui->graphicsView_Tiles->setResizeAnchor(QGraphicsView::AnchorViewCenter);
345337
this->ui->horizontalSlider_TilesZoom->setValue(porymapConfig.tilesetEditorTilesZoom);
346338
}
347339

348340
void TilesetEditor::initSelectedTileItem() {
349-
this->selectedTileScene = new QGraphicsScene;
341+
ui->graphicsView_selectedTile->setScene(new QGraphicsScene(this));
350342
this->drawSelectedTiles();
351-
this->ui->graphicsView_selectedTile->setScene(this->selectedTileScene);
352343
}
353344

354345
void TilesetEditor::initShortcuts() {
@@ -444,13 +435,14 @@ void TilesetEditor::refresh() {
444435
}
445436

446437
void TilesetEditor::drawSelectedTiles() {
447-
if (!this->selectedTileScene) {
438+
QGraphicsScene *scene = ui->graphicsView_selectedTile->scene();
439+
if (!scene) {
448440
return;
449441
}
450442

451443
const int imgTileWidth = 16;
452444
const int imgTileHeight = 16;
453-
this->selectedTileScene->clear();
445+
scene->clear();
454446
QList<Tile> tiles = this->tileSelector->getSelectedTiles();
455447
QSize dimensions = this->tileSelector->getSelectionDimensions();
456448
QImage selectionImage(imgTileWidth * dimensions.width(), imgTileHeight * dimensions.height(), QImage::Format_RGBA8888);
@@ -465,10 +457,10 @@ void TilesetEditor::drawSelectedTiles() {
465457
}
466458
}
467459

468-
this->selectedTilePixmapItem = new QGraphicsPixmapItem(QPixmap::fromImage(selectionImage));
469-
this->selectedTileScene->addItem(this->selectedTilePixmapItem);
460+
auto selectedTilePixmapItem = new QGraphicsPixmapItem(QPixmap::fromImage(selectionImage));
461+
scene->addItem(selectedTilePixmapItem);
470462

471-
QSize size(this->selectedTilePixmapItem->pixmap().width(), this->selectedTilePixmapItem->pixmap().height());
463+
QSize size(selectedTilePixmapItem->pixmap().width(), selectedTilePixmapItem->pixmap().height());
472464
this->ui->graphicsView_selectedTile->setSceneRect(0, 0, size.width(), size.height());
473465
}
474466

0 commit comments

Comments
 (0)