diff --git a/forms/tileseteditor.ui b/forms/tileseteditor.ui
index 57b66a1d..db1dec68 100644
--- a/forms/tileseteditor.ui
+++ b/forms/tileseteditor.ui
@@ -70,7 +70,14 @@
-
-
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ Qt::ScrollBarAlwaysOff
+
+
-
@@ -239,7 +246,14 @@
-
-
+
+
+ Qt::ScrollBarAlwaysOff
+
+
+ Qt::ScrollBarAlwaysOff
+
+
-
diff --git a/src/ui/imageproviders.cpp b/src/ui/imageproviders.cpp
index 2a1bc5ef..b9a6a6ad 100644
--- a/src/ui/imageproviders.cpp
+++ b/src/ui/imageproviders.cpp
@@ -83,8 +83,15 @@ QImage getTileImage(uint16_t tile, Tileset *primaryTileset, Tileset *secondaryTi
QImage getColoredTileImage(uint16_t tile, Tileset *primaryTileset, Tileset *secondaryTileset, int paletteId) {
QList palette = Tileset::getPalette(paletteId, primaryTileset, secondaryTileset);
QImage tileImage = getTileImage(tile, primaryTileset, secondaryTileset);
- for (int i = 0; i < 16; i++) {
- tileImage.setColor(i, palette.at(i));
+ if (tileImage.isNull()) {
+ tileImage = QImage(16, 16, QImage::Format_RGBA8888);
+ QPainter painter(&tileImage);
+ painter.fillRect(0, 0, 16, 16, palette.at(0));
+ } else {
+ for (int i = 0; i < 16; i++) {
+ tileImage.setColor(i, palette.at(i));
+ }
}
+
return tileImage;
}
diff --git a/src/ui/selectablepixmapitem.cpp b/src/ui/selectablepixmapitem.cpp
index 5dcd252f..dbfbaa34 100644
--- a/src/ui/selectablepixmapitem.cpp
+++ b/src/ui/selectablepixmapitem.cpp
@@ -80,6 +80,10 @@ void SelectablePixmapItem::updateSelection(int x, int y)
QPoint SelectablePixmapItem::getCellPos(QPointF pos)
{
+ if (pos.x() < 0) pos.setX(0);
+ if (pos.y() < 0) pos.setY(0);
+ if (pos.x() >= this->pixmap().width()) pos.setX(this->pixmap().width() - 1);
+ if (pos.y() >= this->pixmap().height()) pos.setY(this->pixmap().height() - 1);
return QPoint(static_cast(pos.x()) / this->cellWidth,
static_cast(pos.y()) / this->cellHeight);
}
diff --git a/src/ui/tileseteditor.cpp b/src/ui/tileseteditor.cpp
index 871c869b..033d94c9 100644
--- a/src/ui/tileseteditor.cpp
+++ b/src/ui/tileseteditor.cpp
@@ -1,7 +1,6 @@
#include "tileseteditor.h"
#include "ui_tileseteditor.h"
#include "imageproviders.h"
-#include
TilesetEditor::TilesetEditor(Project *project, QString primaryTilesetLabel, QString secondaryTilesetLabel, QWidget *parent) :
QMainWindow(parent),
@@ -54,6 +53,11 @@ void TilesetEditor::setTilesets(QString primaryTilesetLabel, QString secondaryTi
this->metatileLayersItem->setTilesets(this->primaryTileset, this->secondaryTileset);
this->metatileSelector->select(this->metatileSelector->getSelectedMetatile());
this->drawSelectedTile();
+
+ this->ui->graphicsView_Tiles->setSceneRect(0, 0, this->tileSelector->pixmap().width() + 2, this->tileSelector->pixmap().height() + 2);
+ this->ui->graphicsView_Tiles->setFixedSize(this->tileSelector->pixmap().width() + 2, this->tileSelector->pixmap().height() + 2);
+ this->ui->graphicsView_Metatiles->setSceneRect(0, 0, this->metatileSelector->pixmap().width() + 2, this->metatileSelector->pixmap().height() + 2);
+ this->ui->graphicsView_Metatiles->setFixedSize(this->metatileSelector->pixmap().width() + 2, this->metatileSelector->pixmap().height() + 2);
}
void TilesetEditor::initMetatileSelector()
@@ -203,4 +207,5 @@ void TilesetEditor::on_actionSave_Tileset_triggered()
{
this->project->saveTilesets(this->primaryTileset, this->secondaryTileset);
emit this->tilesetsSaved(this->primaryTileset->name, this->secondaryTileset->name);
+ this->ui->statusbar->showMessage(QString("Saved primary and secondary Tilesets!"), 5000);
}