summaryrefslogtreecommitdiff
authoralwin <alwin>2004-04-06 15:35:17 (UTC)
committer alwin <alwin>2004-04-06 15:35:17 (UTC)
commit9273c064f2ae699885ddef32155df4f5aab9d574 (patch) (unidiff)
tree72bb117b9ca1888215a47edfb6ec3355309261bd
parent6821faed5fd1db0861dff48a5660a3336211b3be (diff)
downloadopie-9273c064f2ae699885ddef32155df4f5aab9d574.zip
opie-9273c064f2ae699885ddef32155df4f5aab9d574.tar.gz
opie-9273c064f2ae699885ddef32155df4f5aab9d574.tar.bz2
saves the last loaded image name so will somewhat faster
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/gui/imagescrollview.cpp13
-rw-r--r--noncore/graphics/opie-eye/gui/imagescrollview.h2
2 files changed, 10 insertions, 5 deletions
diff --git a/noncore/graphics/opie-eye/gui/imagescrollview.cpp b/noncore/graphics/opie-eye/gui/imagescrollview.cpp
index ee20f40..99fdc51 100644
--- a/noncore/graphics/opie-eye/gui/imagescrollview.cpp
+++ b/noncore/graphics/opie-eye/gui/imagescrollview.cpp
@@ -1,57 +1,62 @@
1#include "imagescrollview.h" 1#include "imagescrollview.h"
2 2
3#include <opie2/odebug.h> 3#include <opie2/odebug.h>
4 4
5using namespace Opie::Core; 5using namespace Opie::Core;
6 6
7#include <qimage.h> 7#include <qimage.h>
8#include <qlayout.h> 8#include <qlayout.h>
9 9
10ImageScrollView::ImageScrollView( QWidget* parent, const char* name, WFlags f ) 10ImageScrollView::ImageScrollView( QWidget* parent, const char* name, WFlags f )
11 :QScrollView(parent,name,f|Qt::WRepaintNoErase ),_image_data(),_original_data(),scale_to_fit(true), 11 :QScrollView(parent,name,f|Qt::WRepaintNoErase ),_image_data(),_original_data(),scale_to_fit(true),
12 rotate_to_fit(true),first_resize_done(false) 12 rotate_to_fit(true),first_resize_done(false),m_lastName("")
13{ 13{
14 init(); 14 init();
15 qDebug("constructor done");
15} 16}
16 17
17ImageScrollView::ImageScrollView (const QImage&img, QWidget * parent, const char * name, WFlags f,bool always_scale,bool rfit) 18ImageScrollView::ImageScrollView (const QImage&img, QWidget * parent, const char * name, WFlags f,bool always_scale,bool rfit)
18 :QScrollView(parent,name,f|Qt::WRepaintNoErase),_image_data(),_original_data(img),scale_to_fit(always_scale), 19 :QScrollView(parent,name,f|Qt::WRepaintNoErase),_image_data(),_original_data(img),scale_to_fit(always_scale),
19 rotate_to_fit(rfit),first_resize_done(false) 20 rotate_to_fit(rfit),first_resize_done(false),m_lastName("")
20{ 21{
21 init(); 22 init();
22} 23}
23 24
24ImageScrollView::ImageScrollView (const QString&img, QWidget * parent, const char * name, WFlags f,bool always_scale,bool rfit) 25ImageScrollView::ImageScrollView (const QString&img, QWidget * parent, const char * name, WFlags f,bool always_scale,bool rfit)
25 :QScrollView(parent,name,f|Qt::WRepaintNoErase),_image_data(),_original_data(img),scale_to_fit(always_scale), 26 :QScrollView(parent,name,f|Qt::WRepaintNoErase),_image_data(),_original_data(),scale_to_fit(always_scale),
26 rotate_to_fit(rfit),first_resize_done(false) 27 rotate_to_fit(rfit),first_resize_done(false),m_lastName("")
27{ 28{
28 init(); 29 init();
30 setImage(img);
29} 31}
30 32
31void ImageScrollView::setImage(const QImage&img) 33void ImageScrollView::setImage(const QImage&img)
32{ 34{
33 _image_data = QImage(); 35 _image_data = QImage();
34 _original_data=img; 36 _original_data=img;
37 m_lastName = "";
35 if (first_resize_done) { 38 if (first_resize_done) {
36 generateImage(); 39 generateImage();
37 } 40 }
38} 41}
39 42
40void ImageScrollView::setImage( const QString& path ) { 43void ImageScrollView::setImage( const QString& path ) {
41 odebug << "load new image " << oendl; 44 odebug << "load new image " << oendl;
45 if (m_lastName == path) return;
46 m_lastName = path;
42 _original_data.load(path); 47 _original_data.load(path);
43 _image_data = QImage(); 48 _image_data = QImage();
44 if (first_resize_done) { 49 if (first_resize_done) {
45 generateImage(); 50 generateImage();
46 } 51 }
47} 52}
48 53
49/* should be called every time the QImage changed it content */ 54/* should be called every time the QImage changed it content */
50void ImageScrollView::init() 55void ImageScrollView::init()
51{ 56{
52 odebug << "init " << oendl; 57 odebug << "init " << oendl;
53 viewport()->setBackgroundColor(white); 58 viewport()->setBackgroundColor(white);
54 if (first_resize_done) { 59 if (first_resize_done) {
55 last_rot = Rotate0; 60 last_rot = Rotate0;
56 generateImage(); 61 generateImage();
57 odebug << "reinit display " << oendl; 62 odebug << "reinit display " << oendl;
diff --git a/noncore/graphics/opie-eye/gui/imagescrollview.h b/noncore/graphics/opie-eye/gui/imagescrollview.h
index dcf54ce..44f2a64 100644
--- a/noncore/graphics/opie-eye/gui/imagescrollview.h
+++ b/noncore/graphics/opie-eye/gui/imagescrollview.h
@@ -34,33 +34,33 @@ public:
34signals: 34signals:
35 void sig_return(); 35 void sig_return();
36 36
37protected: 37protected:
38 virtual void drawContents ( QPainter * p, int clipx, int clipy, int clipw, int cliph ); 38 virtual void drawContents ( QPainter * p, int clipx, int clipy, int clipw, int cliph );
39 void init(); 39 void init();
40 40
41 QImage _image_data; 41 QImage _image_data;
42 QImage _original_data; 42 QImage _original_data;
43 43
44 int _mouseStartPosX,_mouseStartPosY; 44 int _mouseStartPosX,_mouseStartPosY;
45 45
46 bool scale_to_fit; 46 bool scale_to_fit;
47 bool rotate_to_fit; 47 bool rotate_to_fit;
48 bool first_resize_done; 48 bool first_resize_done;
49 Rotation last_rot; 49 Rotation last_rot;
50 50 QString m_lastName;
51 void rescaleImage(int w, int h); 51 void rescaleImage(int w, int h);
52 52
53 void rotate_into_data(Rotation r); 53 void rotate_into_data(Rotation r);
54 void generateImage(); 54 void generateImage();
55 55
56protected slots: 56protected slots:
57 virtual void viewportMouseMoveEvent(QMouseEvent* e); 57 virtual void viewportMouseMoveEvent(QMouseEvent* e);
58 virtual void contentsMousePressEvent ( QMouseEvent * e); 58 virtual void contentsMousePressEvent ( QMouseEvent * e);
59 virtual void contentsMouseReleaseEvent ( QMouseEvent * e); 59 virtual void contentsMouseReleaseEvent ( QMouseEvent * e);
60 virtual void resizeEvent(QResizeEvent * e); 60 virtual void resizeEvent(QResizeEvent * e);
61}; 61};
62 62
63/* for testing */ 63/* for testing */
64class ImageDlg:public QDialog 64class ImageDlg:public QDialog
65{ 65{
66 Q_OBJECT 66 Q_OBJECT