diff --git a/src/editor/dialogs/editspritedialog.ui b/src/editor/dialogs/editspritedialog.ui
index c1e118e..0bbc087 100644
--- a/src/editor/dialogs/editspritedialog.ui
+++ b/src/editor/dialogs/editspritedialog.ui
@@ -214,7 +214,7 @@
- :/qtgameengine/icons/open.png:/qtgameengine/icons/open.png
+ :/qtgameengine/icons/create-from-file.png:/qtgameengine/icons/create-from-file.png
&Create from file...
@@ -226,7 +226,7 @@
- :/qtgameengine/icons/create-group.png:/qtgameengine/icons/create-group.png
+ :/qtgameengine/icons/add-from-file.png:/qtgameengine/icons/add-from-file.png
&Add from file...
@@ -251,6 +251,10 @@
+
+
+ :/qtgameengine/icons/create-from-strip.png:/qtgameengine/icons/create-from-strip.png
+
Create from Strip...
@@ -259,6 +263,10 @@
+
+
+ :/qtgameengine/icons/add-from-strip.png:/qtgameengine/icons/add-from-strip.png
+
Add from Stri&p...
@@ -334,6 +342,10 @@
+
+
+ :/qtgameengine/icons/blue-arrow-left.png:/qtgameengine/icons/blue-arrow-left.png
+
Move &Left
@@ -342,6 +354,10 @@
+
+
+ :/qtgameengine/icons/blue-arrow-right.png:/qtgameengine/icons/blue-arrow-right.png
+
&Move Right
@@ -350,6 +366,10 @@
+
+
+ :/qtgameengine/icons/add-sprite.png:/qtgameengine/icons/add-sprite.png
+
&Add Empty
@@ -358,6 +378,10 @@
+
+
+ :/qtgameengine/icons/insert-sprite.png:/qtgameengine/icons/insert-sprite.png
+
&Insert Empty
@@ -366,6 +390,10 @@
+
+
+ :/qtgameengine/icons/pen.png:/qtgameengine/icons/pen.png
+
Edit...
diff --git a/src/editor/dialogs/imageeditordialog.cpp b/src/editor/dialogs/imageeditordialog.cpp
index 2f774e4..02374e1 100644
--- a/src/editor/dialogs/imageeditordialog.cpp
+++ b/src/editor/dialogs/imageeditordialog.cpp
@@ -41,11 +41,45 @@ ImageEditorDialog::ImageEditorDialog(const QPixmap &pixmap, const QString &title
m_ui->actionCut->setShortcut(QKeySequence::Cut);
m_ui->actionCopy->setShortcut(QKeySequence::Copy);
m_ui->actionPaste->setShortcut(QKeySequence::Paste);
+ m_ui->actionZoomIn->setShortcut(QKeySequence::ZoomIn);
+ m_ui->actionZoomOut->setShortcut(QKeySequence::ZoomOut);
m_ui->scrollArea->setBackgroundRole(QPalette::Dark);
+ connect(m_ui->actionNew, &QAction::triggered,
+ this, &ImageEditorDialog::newFile);
+ connect(m_ui->actionOpen, &QAction::triggered,
+ this, &ImageEditorDialog::openFile);
connect(m_ui->actionSaveAsPngFile, &QAction::triggered,
this, &ImageEditorDialog::saveAsPng);
+ connect(m_ui->actionPreviousImage, &QAction::triggered,
+ this, &ImageEditorDialog::previousSprite);
+ connect(m_ui->actionNextImage, &QAction::triggered,
+ this, &ImageEditorDialog::nextSprite);
+ connect(m_ui->actionUndo, &QAction::triggered,
+ this, &ImageEditorDialog::undo);
+ connect(m_ui->actionRedo, &QAction::triggered,
+ this, &ImageEditorDialog::redo);
+ connect(m_ui->actionEraseToLeftColor, &QAction::triggered,
+ this, &ImageEditorDialog::eraseToLeftColor);
+ connect(m_ui->actionDelete, &QAction::triggered,
+ this, &ImageEditorDialog::delete_);
+ connect(m_ui->actionCut, &QAction::triggered,
+ this, &ImageEditorDialog::cut);
+ connect(m_ui->actionCopy, &QAction::triggered,
+ this, &ImageEditorDialog::copy);
+ connect(m_ui->actionPaste, &QAction::triggered,
+ this, &ImageEditorDialog::paste);
+ connect(m_ui->actionPasteFromFile, &QAction::triggered,
+ this, &ImageEditorDialog::pasteFromFile);
+ connect(m_ui->actionSelectAll, &QAction::triggered,
+ this, &ImageEditorDialog::selectAll);
+ connect(m_ui->actionZoomIn, &QAction::triggered,
+ this, &ImageEditorDialog::zoomIn);
+ connect(m_ui->actionNoZoom, &QAction::triggered,
+ this, &ImageEditorDialog::resetZoom);
+ connect(m_ui->actionZoomOut, &QAction::triggered,
+ this, &ImageEditorDialog::zoomOut);
connect(m_ui->actionSetTransparencyBackground, &QAction::triggered,
this, &ImageEditorDialog::transparentBackgroundSettings);
@@ -204,6 +238,30 @@ void ImageEditorDialog::reject()
}
}
+void ImageEditorDialog::newFile()
+{
+ if (m_unsavedChanges)
+ {
+ if (QMessageBox::warning(
+ this,
+ tr("The Image has been modified."),
+ tr("Do you really want to start new?"),
+ QMessageBox::Ok | QMessageBox::Cancel
+ ) != QMessageBox::Ok)
+ return;
+ }
+
+ QPixmap pixmap{m_ui->canvas->pixmap().size()};
+ pixmap.fill(Qt::transparent);
+ m_ui->canvas->setPixmap(pixmap);
+ changed();
+}
+
+void ImageEditorDialog::openFile()
+{
+ QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented"));
+}
+
void ImageEditorDialog::saveAsPng()
{
const auto &image = m_ui->canvas->image();
@@ -216,6 +274,76 @@ void ImageEditorDialog::saveAsPng()
saveImage(this, image);
}
+void ImageEditorDialog::previousSprite()
+{
+ QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented"));
+}
+
+void ImageEditorDialog::nextSprite()
+{
+ QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented"));
+}
+
+void ImageEditorDialog::undo()
+{
+ QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented"));
+}
+
+void ImageEditorDialog::redo()
+{
+ QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented"));
+}
+
+void ImageEditorDialog::eraseToLeftColor()
+{
+ QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented"));
+}
+
+void ImageEditorDialog::delete_()
+{
+ QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented"));
+}
+
+void ImageEditorDialog::cut()
+{
+ QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented"));
+}
+
+void ImageEditorDialog::copy()
+{
+ QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented"));
+}
+
+void ImageEditorDialog::paste()
+{
+ QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented"));
+}
+
+void ImageEditorDialog::pasteFromFile()
+{
+ QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented"));
+}
+
+void ImageEditorDialog::selectAll()
+{
+ QMessageBox::warning(this, tr("Not yet implemented"), tr("Not yet implemented"));
+}
+
+void ImageEditorDialog::zoomIn()
+{
+ m_ui->canvas->setZoom(m_ui->canvas->zoom() * 2.f);
+}
+
+void ImageEditorDialog::resetZoom()
+{
+ m_ui->canvas->setZoom(1.f);
+}
+
+void ImageEditorDialog::zoomOut()
+{
+ m_ui->canvas->setZoom(m_ui->canvas->zoom() / 2.f);
+}
+
void ImageEditorDialog::transparentBackgroundSettings()
{
TransparentBackgroundSettingsDialog dialog{m_settings, this};
diff --git a/src/editor/dialogs/imageeditordialog.h b/src/editor/dialogs/imageeditordialog.h
index c832766..965292c 100644
--- a/src/editor/dialogs/imageeditordialog.h
+++ b/src/editor/dialogs/imageeditordialog.h
@@ -28,7 +28,23 @@ public:
void reject() override;
private slots:
+ void newFile();
+ void openFile();
void saveAsPng();
+ void previousSprite();
+ void nextSprite();
+ void undo();
+ void redo();
+ void eraseToLeftColor();
+ void delete_();
+ void cut();
+ void copy();
+ void paste();
+ void pasteFromFile();
+ void selectAll();
+ void zoomIn();
+ void resetZoom();
+ void zoomOut();
void transparentBackgroundSettings();
void changed();
diff --git a/src/editor/dialogs/imageeditordialog.ui b/src/editor/dialogs/imageeditordialog.ui
index 806f29c..0bed58e 100644
--- a/src/editor/dialogs/imageeditordialog.ui
+++ b/src/editor/dialogs/imageeditordialog.ui
@@ -1054,16 +1054,31 @@
+
+
+ :/qtgameengine/icons/zoom-out.png:/qtgameengine/icons/zoom-out.png
+
Zoom &Out
+
+
+ :/qtgameengine/icons/zoom-original.png:/qtgameengine/icons/zoom-original.png
+
&No Zoom
+
+ Ctrl+0
+
+
+
+ :/qtgameengine/icons/zoom-in.png:/qtgameengine/icons/zoom-in.png
+
Zoom &In
diff --git a/src/editor/icons/add (Kopie).png b/src/editor/icons/add (Kopie).png
deleted file mode 100644
index 5ff8629..0000000
Binary files a/src/editor/icons/add (Kopie).png and /dev/null differ
diff --git a/src/editor/icons/add-from-file.png b/src/editor/icons/add-from-file.png
new file mode 100644
index 0000000..c54829c
Binary files /dev/null and b/src/editor/icons/add-from-file.png differ
diff --git a/src/editor/icons/add-from-strip.png b/src/editor/icons/add-from-strip.png
new file mode 100644
index 0000000..d7349af
Binary files /dev/null and b/src/editor/icons/add-from-strip.png differ
diff --git a/src/editor/icons/add-sprite.png b/src/editor/icons/add-sprite.png
new file mode 100644
index 0000000..aa28985
Binary files /dev/null and b/src/editor/icons/add-sprite.png differ
diff --git a/src/editor/icons/create-from-file.png b/src/editor/icons/create-from-file.png
new file mode 100644
index 0000000..33c0f45
Binary files /dev/null and b/src/editor/icons/create-from-file.png differ
diff --git a/src/editor/icons/create-from-strip.png b/src/editor/icons/create-from-strip.png
new file mode 100644
index 0000000..3a274e0
Binary files /dev/null and b/src/editor/icons/create-from-strip.png differ
diff --git a/src/editor/icons/insert-sprite.png b/src/editor/icons/insert-sprite.png
new file mode 100644
index 0000000..c92baf0
Binary files /dev/null and b/src/editor/icons/insert-sprite.png differ
diff --git a/src/editor/icons/new.png b/src/editor/icons/new.png
index c4e0380..58f3df0 100644
Binary files a/src/editor/icons/new.png and b/src/editor/icons/new.png differ
diff --git a/src/editor/icons/pen.png b/src/editor/icons/pen.png
new file mode 100644
index 0000000..a0b836c
Binary files /dev/null and b/src/editor/icons/pen.png differ
diff --git a/src/editor/icons/zoom-in.png b/src/editor/icons/zoom-in.png
new file mode 100644
index 0000000..7d76f4d
Binary files /dev/null and b/src/editor/icons/zoom-in.png differ
diff --git a/src/editor/icons/zoom-original.png b/src/editor/icons/zoom-original.png
new file mode 100644
index 0000000..694c0f9
Binary files /dev/null and b/src/editor/icons/zoom-original.png differ
diff --git a/src/editor/icons/zoom-out.png b/src/editor/icons/zoom-out.png
new file mode 100644
index 0000000..e5e1a01
Binary files /dev/null and b/src/editor/icons/zoom-out.png differ
diff --git a/src/editor/insert-sprite.png b/src/editor/insert-sprite.png
new file mode 100644
index 0000000..58f3df0
Binary files /dev/null and b/src/editor/insert-sprite.png differ
diff --git a/src/editor/resources_editor.qrc b/src/editor/resources_editor.qrc
index fe47c6e..7964bc1 100644
--- a/src/editor/resources_editor.qrc
+++ b/src/editor/resources_editor.qrc
@@ -1,6 +1,5 @@
- icons/action.png
icons/action-execute-code.png
icons/action-move-fixed.png
icons/action-move-free.png
@@ -8,6 +7,10 @@
icons/action-set-gravity.png
icons/action-speed-horizontal.png
icons/action-speed-vertical.png
+ icons/action.png
+ icons/add-from-file.png
+ icons/add-from-strip.png
+ icons/add-sprite.png
icons/add.png
icons/arrow-down.png
icons/arrow-left.png
@@ -15,12 +18,23 @@
icons/arrow-up.png
icons/background-file.png
icons/background.png
+ icons/blue-arrow-down-left.png
+ icons/blue-arrow-down-right.png
+ icons/blue-arrow-down.png
+ icons/blue-arrow-left.png
+ icons/blue-arrow-right.png
+ icons/blue-arrow-up-left.png
+ icons/blue-arrow-up-right.png
+ icons/blue-arrow-up.png
+ icons/blue-stop.png
icons/cascade.png
icons/center.png
icons/check.png
icons/constants.png
icons/copy.png
icons/create-executable.png
+ icons/create-from-file.png
+ icons/create-from-strip.png
icons/create-group.png
icons/create.png
icons/cut.png
@@ -54,6 +68,7 @@
icons/import-resources.png
icons/included-files.png
icons/info.png
+ icons/insert-sprite.png
icons/isometric.png
icons/lock.png
icons/merge.png
@@ -67,6 +82,7 @@
icons/paste.png
icons/path-file.png
icons/path.png
+ icons/pen.png
icons/preferences.png
icons/print.png
icons/properties.png
@@ -97,14 +113,8 @@
icons/trigger.png
icons/undo.png
icons/unlock.png
- icons/blue-arrow-down.png
- icons/blue-arrow-down-left.png
- icons/blue-arrow-down-right.png
- icons/blue-arrow-left.png
- icons/blue-arrow-right.png
- icons/blue-arrow-up.png
- icons/blue-arrow-up-left.png
- icons/blue-arrow-up-right.png
- icons/blue-stop.png
+ icons/zoom-in.png
+ icons/zoom-original.png
+ icons/zoom-out.png
diff --git a/src/editor/widgets/drawingcanvaswidget.cpp b/src/editor/widgets/drawingcanvaswidget.cpp
index 2e36e42..3641d60 100644
--- a/src/editor/widgets/drawingcanvaswidget.cpp
+++ b/src/editor/widgets/drawingcanvaswidget.cpp
@@ -32,7 +32,7 @@ void DrawingCanvasWidget::setPixmap(const QPixmap &pixmap)
update();
}
-void DrawingCanvasWidget::setScale(float zoom)
+void DrawingCanvasWidget::setZoom(float zoom)
{
if (m_zoom == zoom)
return;
diff --git a/src/editor/widgets/drawingcanvaswidget.h b/src/editor/widgets/drawingcanvaswidget.h
index 33d94f7..81af963 100644
--- a/src/editor/widgets/drawingcanvaswidget.h
+++ b/src/editor/widgets/drawingcanvaswidget.h
@@ -10,7 +10,7 @@ class DrawingCanvasWidget : public QWidget
{
Q_OBJECT
- Q_PROPERTY(float zoom READ zoom WRITE setScale NOTIFY zoomChanged FINAL)
+ Q_PROPERTY(float zoom READ zoom WRITE setZoom NOTIFY zoomChanged FINAL)
Q_PROPERTY(QColor leftButtonColor READ leftButtonColor WRITE setLeftButtonColor NOTIFY leftButtonColorChanged FINAL)
Q_PROPERTY(QColor rightButtonColor READ rightButtonColor WRITE setRightButtonColor NOTIFY rightButtonColorChanged FINAL)
Q_PROPERTY(TransparentBackgroundPattern transparentBackgroundPattern READ transparentBackgroundPattern WRITE setTransparentBackgroundPattern NOTIFY transparentBackgroundPatternChanged FINAL)
@@ -46,7 +46,7 @@ public:
void setPixmap(const QPixmap &pixmap);
float zoom() const { return m_zoom; }
- void setScale(float zoom);
+ void setZoom(float zoom);
QColor leftButtonColor() const { return m_leftButtonColor; }
void setLeftButtonColor(const QColor &LeftButtonColor);
diff --git a/src/editor/widgets/zoomablescrollarea.cpp b/src/editor/widgets/zoomablescrollarea.cpp
index 0121b52..dceb799 100644
--- a/src/editor/widgets/zoomablescrollarea.cpp
+++ b/src/editor/widgets/zoomablescrollarea.cpp
@@ -23,7 +23,7 @@ void ZoomableScrollArea::wheelEvent(QWheelEvent *event)
else
zoom /= 2;
- w->setScale(zoom);
+ w->setZoom(zoom);
event->accept();
}