summaryrefslogtreecommitdiff
path: root/x11-toolkits/qt33/files/0017-qiconview-ctrl_rubber.patch
diff options
context:
space:
mode:
Diffstat (limited to 'x11-toolkits/qt33/files/0017-qiconview-ctrl_rubber.patch')
-rw-r--r--x11-toolkits/qt33/files/0017-qiconview-ctrl_rubber.patch90
1 files changed, 0 insertions, 90 deletions
diff --git a/x11-toolkits/qt33/files/0017-qiconview-ctrl_rubber.patch b/x11-toolkits/qt33/files/0017-qiconview-ctrl_rubber.patch
deleted file mode 100644
index 02611de85f13..000000000000
--- a/x11-toolkits/qt33/files/0017-qiconview-ctrl_rubber.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-qt-bugs@ issue : 23919
-applied: no
-author: Pascal Létourneau <pletourn@globetrotter.net>
-
-This patch modifies the behavior of the rubber selection.
-Now Shift-rubber behaves like the old Ctrl-rubber.
-And now Ctrl-rubber toggles the state of the icons.
-This is more consistant with other iconview (Nautilus, Win Explorer, ...)
-and with Qt itself (Ctrl-click toggle the state of an icon).
-
-Index: src/iconview/qiconview.cpp
-===================================================================
-RCS file: /home/kde/qt-copy/src/iconview/qiconview.cpp,v
-retrieving revision 1.48
-diff -u -3 -p -r1.48 qiconview.cpp
---- src/iconview/qiconview.cpp 23 Jun 2003 11:48:21 -0000 1.48
-+++ src/iconview/qiconview.cpp 1 Jul 2003 16:36:17 -0000
-@@ -257,7 +257,8 @@ public:
- uint dragging :1;
- uint drawActiveSelection :1;
- uint inMenuMode :1;
--
-+ uint controlPressed :1;
-+
- QIconViewToolTip *toolTip;
- QPixmapCache maskCache;
- QPtrDict<QIconViewItem> selectedItems;
-@@ -2726,6 +2727,7 @@ QIconView::QIconView( QWidget *parent, c
- d->lastItem = 0;
- d->count = 0;
- d->mousePressed = FALSE;
-+ d->controlPressed = FALSE;
- d->selectionMode = Single;
- d->currentItem = 0;
- d->highlightedItem = 0;
-@@ -3288,9 +3290,18 @@ void QIconView::doAutoScroll()
- alreadyIntersected = TRUE;
- QIconViewItem *item = c->items.first();
- for ( ; item; item = c->items.next() ) {
-- if ( d->selectedItems.find( item ) )
-- continue;
-- if ( !item->intersects( nr ) ) {
-+ if ( d->selectedItems.find( item ) ) {
-+ if ( item->intersects( nr ) && item->isSelected() && d->controlPressed ) {
-+ item->setSelected( FALSE );
-+ changed = TRUE;
-+ rr = rr.unite( item->rect() );
-+ } else if ( !item->intersects( nr ) && !item->isSelected() && d->controlPressed ) {
-+ item->setSelected( TRUE, TRUE );
-+ changed = TRUE;
-+ rr = rr.unite( item->rect() );
-+ } else
-+ continue;
-+ } else if ( !item->intersects( nr ) ) {
- if ( item->isSelected() ) {
- item->setSelected( FALSE );
- changed = TRUE;
-@@ -4480,7 +4491,7 @@ void QIconView::contentsMousePressEventE
- }
- }
- } else if ( ( d->selectionMode != Single || e->button() == RightButton )
-- && !( e->state() & ControlButton ) )
-+ && !( e->state() & ControlButton ) && !( e->state() & ShiftButton ) )
- selectAll( FALSE );
-
- setCurrentItem( item );
-@@ -4491,12 +4502,11 @@ void QIconView::contentsMousePressEventE
- d->tmpCurrentItem = d->currentItem;
- d->currentItem = 0;
- repaintItem( d->tmpCurrentItem );
-- if ( d->rubber )
-- delete d->rubber;
-- d->rubber = 0;
-+ delete d->rubber;
- d->rubber = new QRect( e->x(), e->y(), 0, 0 );
- d->selectedItems.clear();
-- if ( ( e->state() & ControlButton ) == ControlButton ) {
-+ if ( ( e->state() & ControlButton ) == ControlButton ||
-+ ( e->state() & ShiftButton ) == ShiftButton ) {
- for ( QIconViewItem *i = firstItem(); i; i = i->nextItem() )
- if ( i->isSelected() )
- d->selectedItems.insert( i, i );
-@@ -4504,6 +4514,7 @@ void QIconView::contentsMousePressEventE
- }
-
- d->mousePressed = TRUE;
-+ d->controlPressed = ( ( e->state() & ControlButton ) == ControlButton );
- }
-
- emit_signals: