summaryrefslogtreecommitdiff
path: root/noncore/graphics/opie-eye/gui/imagescrollview.cpp
Side-by-side diff
Diffstat (limited to 'noncore/graphics/opie-eye/gui/imagescrollview.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/graphics/opie-eye/gui/imagescrollview.cpp36
1 files changed, 35 insertions, 1 deletions
diff --git a/noncore/graphics/opie-eye/gui/imagescrollview.cpp b/noncore/graphics/opie-eye/gui/imagescrollview.cpp
index ad19219..5b12258 100644
--- a/noncore/graphics/opie-eye/gui/imagescrollview.cpp
+++ b/noncore/graphics/opie-eye/gui/imagescrollview.cpp
@@ -61,4 +61,19 @@ void ImageScrollView::init()
{
odebug << "init " << oendl;
+
+ /*
+ * create the zoomer
+ * and connect ther various signals
+ */
+ _zoomer = new Opie::MM::OImageZoomer( this, "The Zoomer" );
+ connect(_zoomer, SIGNAL( zoomAreaRel(int,int)),
+ this, SLOT(scrollBy(int,int)) );
+ connect(this,SIGNAL(contentsMoving(int,int)),
+ _zoomer, (SLOT(setVisiblePoint(int,int))) );
+ connect(this,SIGNAL(imageSizeChanged(const QSize&)),
+ _zoomer, SLOT(setImageSize(const QSize&)) );
+ connect(this,SIGNAL(viewportSizeChanged(const QSize&)),
+ _zoomer, SLOT(setViewPortSize(const QSize&)) );
+
viewport()->setBackgroundColor(white);
setFocusPolicy(QWidget::StrongFocus);
@@ -252,4 +267,15 @@ void ImageScrollView::generateImage()
}
_pdata.convertFromImage(_image_data);
+
+ /*
+ * update the zoomer
+ */
+ emit imageSizeChanged( _image_data.size() );
+ rescaleImage( 128, 128 );
+ _zoomer->setImage( _image_data );
+
+ /*
+ * invalidate
+ */
_image_data=QImage();
}
@@ -261,4 +287,10 @@ void ImageScrollView::resizeEvent(QResizeEvent * e)
generateImage();
first_resize_done = true;
+ emit viewportSizeChanged( viewport()->size() );
+
+ /*
+ * move scrollbar
+ */
+ _zoomer->setGeometry( viewport()->width()-100, viewport()->height()-50, 100, 50 );
}
@@ -321,4 +353,5 @@ void ImageScrollView::drawContents(QPainter * p, int clipx, int clipy, int clipw
void ImageScrollView::viewportMouseMoveEvent(QMouseEvent* e)
{
+ odebug << "Move X and Y " << e->x() << " " << e->y() << oendl;
int mx, my;
mx = e->x();
@@ -347,6 +380,7 @@ void ImageScrollView::viewportMouseMoveEvent(QMouseEvent* e)
}
-void ImageScrollView::contentsMousePressEvent ( QMouseEvent * )
+void ImageScrollView::contentsMousePressEvent ( QMouseEvent * e)
{
+ odebug << " X and Y " << e->x() << " " << e->y() << oendl;
/* this marks the beginning of a possible mouse move. Due internal reasons of QT
the geometry values here may real differ from that set in MoveEvent (I don't know