aboutsummaryrefslogtreecommitdiff
path: root/Source/MapEditor
diff options
context:
space:
mode:
authorXavier ASUS <xavi92psx@gmail.com>2018-11-23 13:08:30 +0100
committerXavier ASUS <xavi92psx@gmail.com>2018-11-23 13:08:30 +0100
commit42ea5901dec867b31a3172cdea2a643d03256b7d (patch)
tree6af568380bfb1919aa616d4058eeb4bae7584298 /Source/MapEditor
parentfa27014c9b78d13fe8720341ed73c249782c04d7 (diff)
downloadairport-42ea5901dec867b31a3172cdea2a643d03256b7d.tar.gz
Some cosmetic changes and improved const-correctness.
Created QList<QGraphicsTextItem*> so dynamically-allocated objects are safely deleted on the destructor.
Diffstat (limited to 'Source/MapEditor')
-rw-r--r--Source/MapEditor/mainwindow.cpp38
-rw-r--r--Source/MapEditor/mainwindow.h1
-rw-r--r--Source/MapEditor/settings.ini2
3 files changed, 25 insertions, 16 deletions
diff --git a/Source/MapEditor/mainwindow.cpp b/Source/MapEditor/mainwindow.cpp
index 32a699e..c0c7635 100644
--- a/Source/MapEditor/mainwindow.cpp
+++ b/Source/MapEditor/mainwindow.cpp
@@ -32,6 +32,11 @@ MainWindow::MainWindow(QWidget *parent) :
MainWindow::~MainWindow()
{
+ foreach (QGraphicsTextItem* it, textItems)
+ {
+ delete it;
+ }
+
delete ui;
delete gscene;
}
@@ -321,26 +326,29 @@ void MainWindow::parseMapData(QDataStream& ds, const QPixmap& tileSet)
}
}
- QGraphicsPixmapItem* it = gscene->addPixmap(QPixmap::fromImage(cropped));
- int x;
- int y;
+ QGraphicsPixmapItem* const it = gscene->addPixmap(QPixmap::fromImage(cropped));
- x = (i * TILE_SIZE) - (i * (TILE_SIZE / 2));
- x -= (j * (TILE_SIZE / 2));
+ if (it != nullptr)
+ {
+ const int x = ((i * TILE_SIZE) - (i * (TILE_SIZE / 2))) - (j * (TILE_SIZE / 2));
+ const int y = (j * (TILE_SIZE / 4)) + (i * (TILE_SIZE / 4));
- y = (j * (TILE_SIZE / 4));
- y += i * (TILE_SIZE / 4);
+ it->setX(x);
+ it->setY(y);
- it->setX(x);
- it->setY(y);
+ if (ui->showNumbers_Checkbox->isChecked() )
+ {
+ QGraphicsTextItem* const io = new QGraphicsTextItem();
- if (ui->showNumbers_Checkbox->isChecked() )
- {
- QGraphicsTextItem* io = new QGraphicsTextItem();
- io->setPos(x + (TILE_SIZE / 4), y);
- io->setPlainText(QString::number(i + (j * level_size)));
+ if (io != nullptr)
+ {
+ io->setPos(x + (TILE_SIZE / 4), y);
+ io->setPlainText(QString::number(i + (j * level_size)));
- gscene->addItem(io);
+ gscene->addItem(io);
+ textItems.append(io);
+ }
+ }
}
}
}
diff --git a/Source/MapEditor/mainwindow.h b/Source/MapEditor/mainwindow.h
index 8cc4c8e..69254fe 100644
--- a/Source/MapEditor/mainwindow.h
+++ b/Source/MapEditor/mainwindow.h
@@ -43,6 +43,7 @@ private:
QByteArray map_buffer;
int selected_item;
QHash<int, QString> tilesetData;
+ QList<QGraphicsTextItem*> textItems;
private slots:
void loadMap(void);
diff --git a/Source/MapEditor/settings.ini b/Source/MapEditor/settings.ini
index dcef128..c825412 100644
--- a/Source/MapEditor/settings.ini
+++ b/Source/MapEditor/settings.ini
@@ -1,2 +1,2 @@
[app_settings]
-last_dir=/home/xavier/Airport/Levels/LEVEL1.LVL
+last_dir=/home/xavier/Airport/Levels/LEVEL2.LVL