Done ! Testing and not working :)
[photoenhancer] / src / core / baseui / workspace.cpp
index b77feef..58e527c 100644 (file)
@@ -1,5 +1,9 @@
 #include "workspace.h"
 #include <QPainter>
+#include <QKeyEvent>
+#include <QTransform>
+#include <QDebug>
+
 ImageLoader::ImageLoader()
 {
     url=QString();
@@ -14,6 +18,11 @@ void ImageLoader::run()
     QImage image(url);
     emit ready(image);
 }
+void Workspace::testEffect()
+{
+
+
+}
 
 Workspace::Workspace(QWidget *parent) :
     QWidget(parent)
@@ -29,13 +38,27 @@ void  Workspace::loadImage(QString fileName)
 void Workspace::onImageLoaded(QImage &image)
 {
      mImage=image.copy();
+     testEffect();
      update();
+
+     setMaximumSize(mImage.size());
+     setMinimumSize(mImage.size());
+
+
+}
+void Workspace::keyPressEvent(QKeyEvent *e)
+{
+    qDebug()<<e->key();
+    if(e->key()==Qt::Key_Z)
+        zoomIn();
+    else if(e->key()==Qt::Key_X)
+        zoomOut();
 }
 
 void  Workspace::zoomIn()
 {
-    mImage=mImage.scaledToHeight(mImage.height()*1.5);
-    mImage=mImage.scaledToWidth(mImage.width()*1.5);
+    mImage=mImage.scaledToHeight(mImage.height()*1.5).copy(rect());
+    mImage=mImage.scaledToWidth(mImage.width()*1.5).copy(rect());
     update();
 }
 void  Workspace::zoomOut()
@@ -48,5 +71,8 @@ void  Workspace::zoomOut()
 void  Workspace::paintEvent(QPaintEvent *p)
 {
     QPainter painter(this);
-    painter.drawImage(mImage.rect(),mImage);
+
+    int resultX=(rect().width()-mImage.width())/2;
+    int resultY=(rect().height()-mImage.height())/2;
+    painter.drawImage(QPoint(resultX,resultY),mImage);
 }