Added Logic for Customizable Plugin and Filter Support Framework
[photoenhancer] / src / core / baseui / workspace.cpp
index b77feef..6abcd75 100644 (file)
@@ -1,5 +1,9 @@
 #include "workspace.h"
 #include <QPainter>
+#include <QKeyEvent>
+
+#include <QDebug>
+
 ImageLoader::ImageLoader()
 {
     url=QString();
@@ -15,6 +19,7 @@ void ImageLoader::run()
     emit ready(image);
 }
 
+
 Workspace::Workspace(QWidget *parent) :
     QWidget(parent)
 {
@@ -30,12 +35,24 @@ void Workspace::onImageLoaded(QImage &image)
 {
      mImage=image.copy();
      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 +65,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);
 }