summaryrefslogtreecommitdiffstats
path: root/opensuse/core/qt3/rubberband.diff
diff options
context:
space:
mode:
Diffstat (limited to 'opensuse/core/qt3/rubberband.diff')
-rw-r--r--opensuse/core/qt3/rubberband.diff339
1 files changed, 0 insertions, 339 deletions
diff --git a/opensuse/core/qt3/rubberband.diff b/opensuse/core/qt3/rubberband.diff
deleted file mode 100644
index e02b17a98..000000000
--- a/opensuse/core/qt3/rubberband.diff
+++ /dev/null
@@ -1,339 +0,0 @@
---- src/iconview/qiconview.cpp
-+++ src/iconview/qiconview.cpp
-@@ -261,6 +261,7 @@
-
- QIconViewToolTip *toolTip;
- QPixmapCache maskCache;
-+ QPixmap *backrubber;
- QPtrDict<QIconViewItem> selectedItems;
-
- struct ItemContainer {
-@@ -1975,14 +1976,27 @@
- if ( picture() ) {
- QPicture *pic = picture();
- if ( isSelected() ) {
-- p->fillRect( pixmapRect( FALSE ), QBrush( cg.highlight(), QBrush::Dense4Pattern) );
-+ p->setBrush( QBrush( cg.highlight(), QBrush::Dense4Pattern ) );
-+ p->setPen( QPen( cg.highlight(), QBrush::Dense4Pattern ) );
-+ p->drawRoundRect( pixmapRect( FALSE ),
-+ 1000 / pixmapRect( FALSE ).width(),
-+ 1000 / pixmapRect( FALSE ).height() );
- }
- p->drawPicture( x()-pic->boundingRect().x(), y()-pic->boundingRect().y(), *pic );
- if ( isSelected() ) {
-- p->fillRect( textRect( FALSE ), cg.highlight() );
-+ p->setBrush( QBrush( cg.highlight() ) );
-+ p->setPen( QPen( cg.highlight() ) );
-+ p->drawRoundRect( textRect( FALSE ),
-+ 1000 / textRect( FALSE ).width(),
-+ 1000 / textRect( FALSE ).height() );
- p->setPen( QPen( cg.highlightedText() ) );
-- } else if ( view->d->itemTextBrush != NoBrush )
-- p->fillRect( textRect( FALSE ), view->d->itemTextBrush );
-+ } else if ( view->d->itemTextBrush != NoBrush ) {
-+ p->setBrush( view->d->itemTextBrush );
-+ p->setPen( QPen( view->d->itemTextBrush.color() ) );
-+ p->drawRoundRect( textRect( FALSE ),
-+ 1000 / textRect( FALSE ).width(),
-+ 1000 / textRect( FALSE ).height() );
-+ }
-
- int align = view->itemTextPos() == QIconView::Bottom ? AlignHCenter : AlignAuto;
- if ( view->d->wordWrapIconText )
-@@ -2040,10 +2054,19 @@
-
- p->save();
- if ( isSelected() ) {
-- p->fillRect( textRect( FALSE ), cg.highlight() );
-+ p->setBrush( QBrush( cg.highlight() ) );
-+ p->setPen( QPen( cg.highlight() ) );
-+ p->drawRoundRect( textRect( FALSE ),
-+ 1000 / textRect( FALSE ).width(),
-+ 1000 / textRect( FALSE ).height() );
- p->setPen( QPen( cg.highlightedText() ) );
-- } else if ( view->d->itemTextBrush != NoBrush )
-- p->fillRect( textRect( FALSE ), view->d->itemTextBrush );
-+ } else if ( view->d->itemTextBrush != NoBrush ) {
-+ p->setBrush( view->d->itemTextBrush );
-+ p->setPen( QPen( view->d->itemTextBrush.color() ) );
-+ p->drawRoundRect( textRect( FALSE ),
-+ 1000 / textRect( FALSE ).width(),
-+ 1000 / textRect( FALSE ).height() );
-+ }
-
- int align = AlignHCenter;
- if ( view->d->wordWrapIconText )
-@@ -2059,31 +2082,13 @@
- /*!
- Paints the focus rectangle of the item using the painter \a p and
- the color group \a cg.
-+
-+ The default implementation does nothing; subclasses may
-+ reimplement this function.
- */
-
--void QIconViewItem::paintFocus( QPainter *p, const QColorGroup &cg )
-+void QIconViewItem::paintFocus( QPainter *, const QColorGroup & )
- {
-- if ( !view )
-- return;
--
-- view->style().drawPrimitive(QStyle::PE_FocusRect, p,
-- QRect( textRect( FALSE ).x(), textRect( FALSE ).y(),
-- textRect( FALSE ).width(),
-- textRect( FALSE ).height() ), cg,
-- (isSelected() ?
-- QStyle::Style_FocusAtBorder :
-- QStyle::Style_Default),
-- QStyleOption(isSelected() ? cg.highlight() : cg.base()));
--
-- if ( this != view->d->currentItem ) {
-- view->style().drawPrimitive(QStyle::PE_FocusRect, p,
-- QRect( pixmapRect( FALSE ).x(),
-- pixmapRect( FALSE ).y(),
-- pixmapRect( FALSE ).width(),
-- pixmapRect( FALSE ).height() ),
-- cg, QStyle::Style_Default,
-- QStyleOption(cg.base()));
-- }
- }
-
- /*!
-@@ -2781,6 +2786,7 @@
- d->renamingItem = 0;
- d->drawActiveSelection = TRUE;
- d->drawDragShapes = FALSE;
-+ d->backrubber = 0;
-
- connect( d->adjustTimer, SIGNAL( timeout() ),
- this, SLOT( adjustItems() ) );
-@@ -3265,7 +3271,7 @@
-
- void QIconView::doAutoScroll()
- {
-- QRect oldRubber = QRect( *d->rubber );
-+ QRect oldRubber = *d->rubber;
-
- QPoint vp = viewport()->mapFromGlobal( QCursor::pos() );
- QPoint pos = viewportToContents( vp );
-@@ -3282,7 +3288,6 @@
- bool block = signalsBlocked();
-
- QRect rr;
-- QRegion region( 0, 0, visibleWidth(), visibleHeight() );
-
- blockSignals( TRUE );
- viewport()->setUpdatesEnabled( FALSE );
-@@ -3308,9 +3313,6 @@
- item->setSelected( TRUE, TRUE );
- changed = TRUE;
- rr = rr.unite( item->rect() );
-- } else {
-- region = region.subtract( QRect( contentsToViewport( item->pos() ),
-- item->size() ) );
- }
-
- minx = QMIN( minx, item->x() - 1 );
-@@ -3327,42 +3329,77 @@
- viewport()->setUpdatesEnabled( TRUE );
- blockSignals( block );
-
-- QRect r = *d->rubber;
-- *d->rubber = oldRubber;
--
-- QPainter p;
-- p.begin( viewport() );
-- p.setRasterOp( NotROP );
-- p.setPen( QPen( color0, 1 ) );
-- p.setBrush( NoBrush );
-- drawRubber( &p );
-- d->dragging = FALSE;
-- p.end();
--
-- *d->rubber = r;
--
-- if ( changed ) {
-- d->drawAllBack = FALSE;
-- d->clipRegion = region;
-- repaintContents( rr, FALSE );
-- d->drawAllBack = TRUE;
-+ // static bool drawAll;
-+ if ( d->backrubber == 0 ) {
-+ d->backrubber = new QPixmap( viewport()->rect().size() );
-+ d->backrubber->fill( viewport(), viewport()->rect().topLeft() );
-+ // drawAll = true;
- }
-
-+ // int oldX = 0, oldY = 0;
-+ // if ( !drawAll && d->scrollTimer ) {
-+ // oldX = contentsX();
-+ // oldY = contentsY();
-+ // }
- ensureVisible( pos.x(), pos.y() );
-+ // if ( !drawAll && d->scrollTimer && ( oldX != contentsX() || oldY != contentsY() ) )
-+ // drawAll = true;
-
-- p.begin( viewport() );
-- p.setRasterOp( NotROP );
-- p.setPen( QPen( color0, 1 ) );
-- p.setBrush( NoBrush );
-- drawRubber( &p );
-- d->dragging = TRUE;
-+ QRect allRect = oldRubber.normalize();
-+ if ( changed )
-+ allRect |= rr.normalize();
-+ allRect |= d->rubber->normalize();
-+ QPoint point = contentsToViewport( allRect.topLeft() );
-+ allRect = QRect( point.x(), point.y(), allRect.width(), allRect.height() );
-+ allRect &= viewport()->rect();
-+
-+ d->dragging = FALSE;
-+
-+ QPainter p( d->backrubber );
-+ p.translate( -contentsX(), -contentsY() );
-+#if 0
-+ if ( !drawAll ) {
-+ oldRubber = oldRubber.normalize();
-+ point = contentsToViewport( oldRubber.topLeft() );
-+ oldRubber = QRect( point.x(), point.y(), oldRubber.width(), oldRubber.height() );
-+ oldRubber &= viewport()->rect();
-+
-+ point = contentsToViewport( nr.topLeft() );
-+ nr = QRect( point.x(), point.y(), nr.width(), nr.height() );
-+ nr &= viewport()->rect();
-+
-+ QRegion region;
-+ if ( allRect != nr )
-+ region = QRegion(allRect).subtract( QRegion( nr ) );
-+ if ( allRect != oldRubber )
-+ region += QRegion(allRect).subtract( QRegion( oldRubber ) );
-+
-+ QMemArray< QRect > ar = region.rects();
-+ for ( uint i = 0; i < ar.size(); ++i ) {
-+ ar[i].addCoords( -2, -2, 4, 4 );
-+ ar[i] = ar[i].normalize();
-+
-+ p.setClipRect( ar[i] );
-+ drawContents( &p, contentsX() + ar[i].left(), contentsY() + ar[i].top(), ar[i].width(), ar[i].height() );
-+ }
-+ }
-+ else
-+#endif
-+ {
-+ drawContents( &p,
-+ contentsX() + allRect.left(), contentsY() + allRect.top(),
-+ allRect.width(), allRect.height() );
-+ }
-
- p.end();
-+ // drawAll = false;
-+ d->dragging = TRUE;
-+ bitBlt( viewport(), allRect.topLeft(), d->backrubber, allRect );
-
- if ( changed ) {
- emit selectionChanged();
-- if ( d->selectionMode == Single )
-- emit selectionChanged( d->currentItem );
-+ if ( d->selectionMode == Single )
-+ emit selectionChanged( d->currentItem );
- }
-
- if ( !QRect( 50, 50, viewport()->width()-100, viewport()->height()-100 ).contains( vp ) &&
-@@ -3389,9 +3426,7 @@
-
- void QIconView::drawContents( QPainter *p, int cx, int cy, int cw, int ch )
- {
-- if ( d->dragging && d->rubber )
-- drawRubber( p );
--
-+ p->save();
- QRect r = QRect( cx, cy, cw, ch );
-
- QIconViewPrivate::ItemContainer *c = d->firstContainer;
-@@ -3465,8 +3500,16 @@
- d->currentItem->paintFocus( p, colorGroup() );
- }
-
-- if ( d->dragging && d->rubber )
-- drawRubber( p );
-+ p->restore();
-+ if ( d->rubber ) {
-+ p->save();
-+ p->translate( contentsX(), contentsY() );
-+ p->setRasterOp( NotROP );
-+ p->setPen( QPen( color0, 1 ) );
-+ p->setBrush( NoBrush );
-+ drawRubber( p );
-+ p->restore();
-+ }
- }
-
- /*!
-@@ -4365,17 +4408,15 @@
- void QIconView::contentsMousePressEventEx( QMouseEvent *e )
- {
- if ( d->rubber ) {
-- QPainter p;
-- p.begin( viewport() );
-- p.setRasterOp( NotROP );
-- p.setPen( QPen( color0, 1 ) );
-- p.setBrush( NoBrush );
-+ QRect r( d->rubber->normalize() );
-+ delete d->rubber;
-+ d->rubber = 0;
-+
-+ repaintContents( r, FALSE );
-+ d->dragging = FALSE;
-
-- drawRubber( &p );
-- d->dragging = FALSE;
-- p.end();
-- delete d->rubber;
-- d->rubber = 0;
-+ delete d->backrubber;
-+ d->backrubber = 0;
-
- if ( d->scrollTimer ) {
- disconnect( d->scrollTimer, SIGNAL( timeout() ), this, SLOT( doAutoScroll() ) );
-@@ -4560,21 +4601,17 @@
- d->startDragItem = 0;
-
- if ( d->rubber ) {
-- QPainter p;
-- p.begin( viewport() );
-- p.setRasterOp( NotROP );
-- p.setPen( QPen( color0, 1 ) );
-- p.setBrush( NoBrush );
--
-- drawRubber( &p );
-- d->dragging = FALSE;
-- p.end();
--
-+ QRect r(d->rubber->normalize());
-+
- if ( ( d->rubber->topLeft() - d->rubber->bottomRight() ).manhattanLength() >
- QApplication::startDragDistance() )
- emitClicked = FALSE;
- delete d->rubber;
-- d->rubber = 0;
-+ d->rubber = 0;
-+ repaintContents(r, FALSE);
-+ d->dragging = FALSE;
-+ delete d->backrubber;
-+ d->backrubber = 0;
- d->currentItem = d->tmpCurrentItem;
- d->tmpCurrentItem = 0;
- if ( d->currentItem )
-@@ -5334,9 +5371,9 @@
- QPoint pnt( d->rubber->x(), d->rubber->y() );
- pnt = contentsToViewport( pnt );
-
-- style().drawPrimitive(QStyle::PE_RubberBand, p,
-- QRect(pnt.x(), pnt.y(), d->rubber->width(), d->rubber->height()),
-- colorGroup(), QStyle::Style_Default, QStyleOption(colorGroup().base()));
-+ style().drawPrimitive( QStyle::PE_RubberBand, p,
-+ QRect( pnt.x(), pnt.y(), d->rubber->width(), d->rubber->height() ).normalize(),
-+ colorGroup(), QStyle::Style_Default, QStyleOption(colorGroup().base()) );
- }
-
- /*!