summaryrefslogtreecommitdiff
path: root/libopie2/opiemm/oimagescrollview.cpp
Side-by-side diff
Diffstat (limited to 'libopie2/opiemm/oimagescrollview.cpp') (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opiemm/oimagescrollview.cpp30
1 files changed, 11 insertions, 19 deletions
diff --git a/libopie2/opiemm/oimagescrollview.cpp b/libopie2/opiemm/oimagescrollview.cpp
index 68b06af..30a8fba 100644
--- a/libopie2/opiemm/oimagescrollview.cpp
+++ b/libopie2/opiemm/oimagescrollview.cpp
@@ -98,3 +98,3 @@ void OImageScrollView::loadJpeg(bool interncall)
}
- param = QString( "Fast Shrink( 3 ) Scale( %1, %2, ScaleFree)" ).arg( wid ).arg( hei );
+ param = QString( "Fast Shrink( 3 ) Scale( %1, %2, ScaleMin)" ).arg( wid ).arg( hei );
odebug << "Load jpeg scaled \"" << param << "\"" << oendl;
@@ -127,2 +127,3 @@ void OImageScrollView::setImage( const QString& path ) {
m_lastName = path;
+ _original_data = QImage();
QString itype = QImage::imageFormat(m_lastName);
@@ -148,2 +149,3 @@ void OImageScrollView::setImage( const QString& path ) {
generateImage();
+ if (isVisible()) viewport()->repaint(true);
}
@@ -352,3 +354,8 @@ void OImageScrollView::generateImage()
Rotation r = Rotate0;
- if (_original_data.isNull()) return;
+ _pdata = QPixmap();
+ if (_original_data.isNull()) {
+ emit imageSizeChanged( _image_data.size() );
+ if (_zoomer) _zoomer->setImage( _image_data );
+ return;
+ }
{
@@ -361,4 +368,5 @@ void OImageScrollView::generateImage()
+
odebug << " r = " << r << oendl;
- if (AutoScale()) {
+ if (AutoScale() && (_original_data.width()>width() || _original_data.height() > height()) ) {
if (!_image_data.size().isValid()||width()>_image_data.width()||height()>_image_data.height()) {
@@ -384,3 +392,2 @@ void OImageScrollView::generateImage()
-
/*
@@ -477,3 +484,2 @@ void OImageScrollView::viewportMouseMoveEvent(QMouseEvent* e)
{
- odebug << "Move X and Y " << e->x() << " " << e->y() << oendl;
int mx, my;
@@ -484,16 +490,2 @@ void OImageScrollView::viewportMouseMoveEvent(QMouseEvent* e)
int diffy = _mouseStartPosY-my;
-#if 0
- QScrollBar*xbar = horizontalScrollBar();
- QScrollBar*ybar = verticalScrollBar();
- if (xbar->value()+diffx>xbar->maxValue()) {
- diffx = xbar->maxValue()-xbar->value();
- } else if (xbar->value()+diffx<0) {
- diffx=0-xbar->value();
- }
- if (ybar->value()+diffy>ybar->maxValue()) {
- diffy = ybar->maxValue()-ybar->value();
- } else if (ybar->value()+diffy<0) {
- diffy=0-ybar->value();
- }
-#endif
scrollBy(diffx,diffy);