#include "workspace.h"
#include <QPainter>
+ImageLoader::ImageLoader()
+{
+ url=QString();
+}
+void ImageLoader::fetchImage(QString path)
+{
+ url=path;
+ start();
+}
+void ImageLoader::run()
+{
+ QImage image(url);
+ emit ready(image);
+}
+
Workspace::Workspace(QWidget *parent) :
QWidget(parent)
{
- loadImage("/home/shakir/Desktop/Test/test1.jpg");
+ qRegisterMetaType<QImage>("QImage &" );
+ mImageLoader=new ImageLoader();
+ connect(mImageLoader,SIGNAL(ready(QImage&)),this,SLOT(onImageLoaded(QImage&)));
}
void Workspace::loadImage(QString fileName)
{
- mImage=QImage(fileName);
+ mImageLoader->fetchImage(fileName);
}
+void Workspace::onImageLoaded(QImage &image)
+{
+ mImage=image.copy();
+ update();
+}
+
void Workspace::zoomIn()
{
mImage=mImage.scaledToHeight(mImage.height()*1.5);