-rw-r--r-- | libopie2/opiemm/oimagescrollview.cpp | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/libopie2/opiemm/oimagescrollview.cpp b/libopie2/opiemm/oimagescrollview.cpp index 72248c1..56be10b 100644 --- a/libopie2/opiemm/oimagescrollview.cpp +++ b/libopie2/opiemm/oimagescrollview.cpp | |||
@@ -400,129 +400,128 @@ void OImageScrollView::generateImage() | |||
400 | } | 400 | } |
401 | 401 | ||
402 | void OImageScrollView::resizeEvent(QResizeEvent * e) | 402 | void OImageScrollView::resizeEvent(QResizeEvent * e) |
403 | { | 403 | { |
404 | odebug << "OImageScrollView resizeEvent (" << e->size() << " - " << e->oldSize() << oendl; | 404 | odebug << "OImageScrollView resizeEvent (" << e->size() << " - " << e->oldSize() << oendl; |
405 | QScrollView::resizeEvent(e); | 405 | QScrollView::resizeEvent(e); |
406 | if (e->oldSize()==e->size()||!isUpdatesEnabled ()) return; | 406 | if (e->oldSize()==e->size()||!isUpdatesEnabled ()) return; |
407 | generateImage(); | 407 | generateImage(); |
408 | setFirstResizeDone(true); | 408 | setFirstResizeDone(true); |
409 | emit viewportSizeChanged( viewport()->size() ); | 409 | emit viewportSizeChanged( viewport()->size() ); |
410 | 410 | ||
411 | } | 411 | } |
412 | 412 | ||
413 | void OImageScrollView::keyPressEvent(QKeyEvent * e) | 413 | void OImageScrollView::keyPressEvent(QKeyEvent * e) |
414 | { | 414 | { |
415 | if (!e) return; | 415 | if (!e) return; |
416 | int dx = horizontalScrollBar()->lineStep(); | 416 | int dx = horizontalScrollBar()->lineStep(); |
417 | int dy = verticalScrollBar()->lineStep(); | 417 | int dy = verticalScrollBar()->lineStep(); |
418 | if (e->key()==Qt::Key_Right) { | 418 | if (e->key()==Qt::Key_Right) { |
419 | scrollBy(dx,0); | 419 | scrollBy(dx,0); |
420 | e->accept(); | 420 | e->accept(); |
421 | } else if (e->key()==Qt::Key_Left) { | 421 | } else if (e->key()==Qt::Key_Left) { |
422 | scrollBy(0-dx,0); | 422 | scrollBy(0-dx,0); |
423 | e->accept(); | 423 | e->accept(); |
424 | } else if (e->key()==Qt::Key_Up) { | 424 | } else if (e->key()==Qt::Key_Up) { |
425 | scrollBy(0,0-dy); | 425 | scrollBy(0,0-dy); |
426 | e->accept(); | 426 | e->accept(); |
427 | } else if (e->key()==Qt::Key_Down) { | 427 | } else if (e->key()==Qt::Key_Down) { |
428 | scrollBy(0,dy); | 428 | scrollBy(0,dy); |
429 | e->accept(); | 429 | e->accept(); |
430 | } else { | 430 | } else { |
431 | e->ignore(); | 431 | e->ignore(); |
432 | } | 432 | } |
433 | QScrollView::keyPressEvent(e); | 433 | QScrollView::keyPressEvent(e); |
434 | } | 434 | } |
435 | 435 | ||
436 | void OImageScrollView::drawContents(QPainter * p, int clipx, int clipy, int clipw, int cliph) | 436 | void OImageScrollView::drawContents(QPainter * p, int clipx, int clipy, int clipw, int cliph) |
437 | { | 437 | { |
438 | if (!_pdata.size().isValid()) { | 438 | if (!_pdata.size().isValid()) { |
439 | p->fillRect(clipx,clipy,clipw,cliph, backgroundColor()); | 439 | p->fillRect(clipx,clipy,clipw,cliph, backgroundColor()); |
440 | return; | 440 | return; |
441 | } | 441 | } |
442 | 442 | ||
443 | int w = clipw; | 443 | int w = clipw; |
444 | int h = cliph; | 444 | int h = cliph; |
445 | int x = clipx; | 445 | int x = clipx; |
446 | int y = clipy; | 446 | int y = clipy; |
447 | bool erase = false; | 447 | bool erase = false; |
448 | 448 | ||
449 | if (w>_pdata.width()) { | 449 | if (w>_pdata.width()) { |
450 | w = _pdata.width()-x; | 450 | w = _pdata.width()-x; |
451 | erase=true; | 451 | erase=true; |
452 | } | 452 | } |
453 | if (h>_pdata.height()) { | 453 | if (h>_pdata.height()) { |
454 | h = _pdata.height()-y; | 454 | h = _pdata.height()-y; |
455 | erase=true; | 455 | erase=true; |
456 | } | 456 | } |
457 | if (!erase && (clipy+cliph>_pdata.height()||clipx+clipw>_pdata.width())) { | 457 | if (!erase && (clipy+cliph>_pdata.height()||clipx+clipw>_pdata.width())) { |
458 | erase = true; | 458 | erase = true; |
459 | } | 459 | } |
460 | if (erase||_original_data.hasAlphaBuffer()) { | 460 | if (erase||_original_data.hasAlphaBuffer()) { |
461 | p->fillRect(clipx,clipy,clipw,cliph, backgroundColor()); | 461 | p->fillRect(clipx,clipy,clipw,cliph, backgroundColor()); |
462 | } | 462 | } |
463 | if (w>0 && h>0&&x<_pdata.width()&&y<_pdata.height()) { | 463 | if (w>0 && h>0&&x<_pdata.width()&&y<_pdata.height()) { |
464 | odebug << "Drawing pixmap" << oendl; | ||
465 | p->drawPixmap(clipx,clipy,_pdata,x,y,w,h); | 464 | p->drawPixmap(clipx,clipy,_pdata,x,y,w,h); |
466 | } | 465 | } |
467 | } | 466 | } |
468 | 467 | ||
469 | /* using the real geometry points and not the translated points is wanted! */ | 468 | /* using the real geometry points and not the translated points is wanted! */ |
470 | void OImageScrollView::viewportMouseMoveEvent(QMouseEvent* e) | 469 | void OImageScrollView::viewportMouseMoveEvent(QMouseEvent* e) |
471 | { | 470 | { |
472 | int mx, my; | 471 | int mx, my; |
473 | mx = e->x(); | 472 | mx = e->x(); |
474 | my = e->y(); | 473 | my = e->y(); |
475 | if (_mouseStartPosX!=-1 && _mouseStartPosY!=-1) { | 474 | if (_mouseStartPosX!=-1 && _mouseStartPosY!=-1) { |
476 | int diffx = _mouseStartPosX-mx; | 475 | int diffx = _mouseStartPosX-mx; |
477 | int diffy = _mouseStartPosY-my; | 476 | int diffy = _mouseStartPosY-my; |
478 | scrollBy(diffx,diffy); | 477 | scrollBy(diffx,diffy); |
479 | } | 478 | } |
480 | _mouseStartPosX=mx; | 479 | _mouseStartPosX=mx; |
481 | _mouseStartPosY=my; | 480 | _mouseStartPosY=my; |
482 | } | 481 | } |
483 | 482 | ||
484 | void OImageScrollView::contentsMousePressEvent ( QMouseEvent * e) | 483 | void OImageScrollView::contentsMousePressEvent ( QMouseEvent * e) |
485 | { | 484 | { |
486 | odebug << " X and Y " << e->x() << " " << e->y() << oendl; | 485 | odebug << " X and Y " << e->x() << " " << e->y() << oendl; |
487 | /* this marks the beginning of a possible mouse move. Due internal reasons of QT | 486 | /* this marks the beginning of a possible mouse move. Due internal reasons of QT |
488 | the geometry values here may real differ from that set in MoveEvent (I don't know | 487 | the geometry values here may real differ from that set in MoveEvent (I don't know |
489 | why). For getting them in real context, we use the first move-event to set the start | 488 | why). For getting them in real context, we use the first move-event to set the start |
490 | position ;) | 489 | position ;) |
491 | */ | 490 | */ |
492 | _mouseStartPosX = -1; | 491 | _mouseStartPosX = -1; |
493 | _mouseStartPosY = -1; | 492 | _mouseStartPosY = -1; |
494 | } | 493 | } |
495 | 494 | ||
496 | void OImageScrollView::setDestructiveClose() { | 495 | void OImageScrollView::setDestructiveClose() { |
497 | WFlags fl = getWFlags(); | 496 | WFlags fl = getWFlags(); |
498 | /* clear it just in case */ | 497 | /* clear it just in case */ |
499 | fl &= ~WDestructiveClose; | 498 | fl &= ~WDestructiveClose; |
500 | fl |= WDestructiveClose; | 499 | fl |= WDestructiveClose; |
501 | setWFlags( fl ); | 500 | setWFlags( fl ); |
502 | } | 501 | } |
503 | 502 | ||
504 | bool OImageScrollView::image_fit_into(const QSize&s ) | 503 | bool OImageScrollView::image_fit_into(const QSize&s ) |
505 | { | 504 | { |
506 | if (s.width()>width()||s.height()>height()) { | 505 | if (s.width()>width()||s.height()>height()) { |
507 | return false; | 506 | return false; |
508 | } | 507 | } |
509 | return true; | 508 | return true; |
510 | } | 509 | } |
511 | 510 | ||
512 | void OImageScrollView::setShowZoomer(bool how) | 511 | void OImageScrollView::setShowZoomer(bool how) |
513 | { | 512 | { |
514 | m_states.setBit(SHOW_ZOOMER,how); | 513 | m_states.setBit(SHOW_ZOOMER,how); |
515 | check_zoomer(); | 514 | check_zoomer(); |
516 | } | 515 | } |
517 | 516 | ||
518 | bool OImageScrollView::ShowZoomer()const | 517 | bool OImageScrollView::ShowZoomer()const |
519 | { | 518 | { |
520 | return m_states.testBit(SHOW_ZOOMER); | 519 | return m_states.testBit(SHOW_ZOOMER); |
521 | } | 520 | } |
522 | 521 | ||
523 | void OImageScrollView::check_zoomer() | 522 | void OImageScrollView::check_zoomer() |
524 | { | 523 | { |
525 | if (!_zoomer) return; | 524 | if (!_zoomer) return; |
526 | if ( (!ShowZoomer()||image_fit_into(_pdata.size()) ) && _zoomer->isVisible()) { | 525 | if ( (!ShowZoomer()||image_fit_into(_pdata.size()) ) && _zoomer->isVisible()) { |
527 | _zoomer->hide(); | 526 | _zoomer->hide(); |
528 | } else if ( ShowZoomer() && !image_fit_into(_pdata.size()) && _zoomer->isHidden()){ | 527 | } else if ( ShowZoomer() && !image_fit_into(_pdata.size()) && _zoomer->isHidden()){ |