Added an ImageLoader Object to Support Multi Threading in Loading an Image
[photoenhancer] / src / core / baseui / workspace.h
index 8835af4..a7f669b 100644 (file)
@@ -2,6 +2,21 @@
 #define WORKSPACE_H
 
 #include <QWidget>
+#include <QThread>
+
+class ImageLoader:public QThread
+{
+    Q_OBJECT
+public:
+    ImageLoader();
+    void fetchImage(QString path);
+private:
+    void run();
+signals:
+    void ready(QImage&);
+private:
+    QString url;
+};
 
 class Workspace : public QWidget
 {
@@ -12,14 +27,14 @@ public:
     virtual void paintEvent(QPaintEvent *);
 signals:
 
-
 public slots:
     void zoomIn();
     void zoomOut();
-
+private slots:
+    void onImageLoaded(QImage&);
 private:
     QImage mImage;
-
+    ImageLoader *mImageLoader;
 };
 
 #endif // WORKSPACE_H