author | alwin <alwin> | 2004-04-16 20:33:55 (UTC) |
---|---|---|
committer | alwin <alwin> | 2004-04-16 20:33:55 (UTC) |
commit | cc56768485c3785439883dd1c456493f7ece2d84 (patch) (side-by-side diff) | |
tree | 8ab6ff6feae6f2cc9cb73b4eaf8215cdd0d53a0d | |
parent | 7dc52619640437ec448ea3bccdf924ea9a29bfa6 (diff) | |
download | opie-cc56768485c3785439883dd1c456493f7ece2d84.zip opie-cc56768485c3785439883dd1c456493f7ece2d84.tar.gz opie-cc56768485c3785439883dd1c456493f7ece2d84.tar.bz2 |
fixed painting problems when reloading images when widget is visible
-rw-r--r-- | libopie2/opiemm/oimagescrollview.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/libopie2/opiemm/oimagescrollview.cpp b/libopie2/opiemm/oimagescrollview.cpp index 61b2062..a8165a4 100644 --- a/libopie2/opiemm/oimagescrollview.cpp +++ b/libopie2/opiemm/oimagescrollview.cpp @@ -158,5 +158,5 @@ void OImageScrollView::init() _zoomer, SLOT(setViewPortSize(const QSize&)) ); - viewport()->setBackgroundColor(white); + setBackgroundColor(white); setFocusPolicy(QWidget::StrongFocus); setImageScaledLoaded(false); @@ -352,5 +352,5 @@ void OImageScrollView::generateImage() } - + int twidth,theight; odebug << " r = " << r << oendl; if (AutoScale() && (_original_data.width()>width() || _original_data.height() > height()) ) { @@ -364,5 +364,4 @@ void OImageScrollView::generateImage() } rescaleImage(width(),height()); - resizeContents(_image_data.width(),_image_data.height()); } else if (!FirstResizeDone()||r!=m_last_rot||_image_data.width()==0) { if (r==Rotate0) { @@ -372,7 +371,8 @@ void OImageScrollView::generateImage() } m_last_rot = r; - resizeContents(_image_data.width(),_image_data.height()); } _pdata.convertFromImage(_image_data); + twidth = _image_data.width(); + theight = _image_data.height(); /* @@ -382,4 +382,5 @@ void OImageScrollView::generateImage() emit imageSizeChanged( _image_data.size() ); rescaleImage( 128, 128 ); + resizeContents(twidth,theight); /* * move scrollbar @@ -394,4 +395,7 @@ void OImageScrollView::generateImage() */ _image_data=QImage(); + if (isVisible()) { + updateContents(contentsX(),contentsY(),width(),height()); + } } @@ -438,5 +442,5 @@ void OImageScrollView::drawContents(QPainter * p, int clipx, int clipy, int clip if (!_pdata.size().isValid()) { - p->fillRect(clipx,clipy,clipw,cliph,white); + p->fillRect(clipx,clipy,clipw,cliph, backgroundColor()); return; } @@ -456,5 +460,5 @@ void OImageScrollView::drawContents(QPainter * p, int clipx, int clipy, int clip } if (erase||_original_data.hasAlphaBuffer()) { - p->fillRect(clipx,clipy,clipw,cliph,white); + p->fillRect(clipx,clipy,clipw,cliph, backgroundColor()); } p->drawPixmap(clipx,clipy,_pdata,x,y,w,h); |