[Bug 116148] New: Auto-scrolling when selecting large area

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

[Bug 116148] New: Auto-scrolling when selecting large area

Dik Takken
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=116148         
           Summary: Auto-scrolling when selecting large area
           Product: digikam
           Version: 0.8.0-beta2
          Platform: Gentoo Packages
        OS/Version: Linux
            Status: NEW
          Severity: wishlist
          Priority: NOR
         Component: Image Editor
        AssignedTo: digikam-devel kde org
        ReportedBy: d.h.j.takken phys uu nl


Version:           0.8.0-beta2 (using KDE KDE 3.4.1)
Installed from:    Gentoo Packages
OS:                Linux

Is is currently not possible to select an area that is larger than the screen size, because the image does not scroll when the user is dragging the mouse pointer outside the image view.

The same is true for Showfoto.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Digikam-devel] [Bug 116148] Auto-scrolling when selecting large area

Bugzilla from mikmach@wp.pl
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=116148         




------- Additional Comments From mikmach wp pl  2007-01-09 20:15 -------
Still a problem.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 116148] Auto-scrolling when selecting large area

Gilles Caulier-4
In reply to this post by Dik Takken
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=116148         




------- Additional Comments From caulier.gilles gmail com  2007-03-30 12:31 -------
Created an attachment (id=20129)
 --> (http://bugs.kde.org/attachment.cgi?id=20129&action=view)
Large selection in editor

This is a first patch to handle large selection with auto scrolling in editor.
It not perfect because sometimes the selected area rectangle is not properlly
clean before scrolling when you mouse a selction corner outside of the visible
image canvas.

I have polished, fixed, and commented the code in canvas.cpp. More
investiguatoins are require.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 116148] Auto-scrolling when selecting large area

Gilles Caulier-4
In reply to this post by Dik Takken
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=116148         
caulier.gilles gmail com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |marcel.wiesweg gmx de



------- Additional Comments From caulier.gilles gmail com  2007-03-30 12:35 -------
Marcel,

i would have your viewpoint about this patch.

I have work hard to understand how canvas selection working exactly. All work fine excepted the clean-up of selection rubber when auto-scrolling is used to pan canvas.

Can you take a look please... Thanks in advance...

Gilles
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 116148] Auto-scrolling when selecting large area

Marcel Wiesweg
In reply to this post by Dik Takken
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=116148         




------- Additional Comments From marcel.wiesweg gmx de  2007-04-01 13:41 -------
The patch works nicely here. Only once I had a small part of the line from the rubber band not cleaned. I tried hard to reproduce the problem, without success.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 116148] Auto-scrolling when selecting large area

Gilles Caulier-4
In reply to this post by Dik Takken
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=116148         




------- Additional Comments From caulier.gilles gmail com  2007-04-01 13:51 -------
Luka,

Can you test the patch on your computer and give me a report ?

Gilles
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 116148] Auto-scrolling when selecting large area

Gilles Caulier-4
In reply to this post by Dik Takken
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=116148         
caulier.gilles gmail com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |lure kubuntu org
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 116148] Auto-scrolling when selecting large area

Bugzilla from lure@kubuntu.org
In reply to this post by Dik Takken
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=116148         




------- Additional Comments From lure kubuntu org  2007-04-01 14:22 -------
Nice improvement - works for me.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 116148] Auto-scrolling when selecting large area

Gilles Caulier-4
In reply to this post by Dik Takken
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=116148         
caulier.gilles gmail com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED



------- Additional Comments From caulier.gilles gmail com  2007-04-01 19:07 -------
SVN commit 648898 by cgilles:

digiKam from trunk : Image editor selection improvement : canvas is able to select a region largest than the current visible image.
BUG: 116148


 M  +18 -8     canvas.cpp  


--- trunk/extragear/graphics/digikam/utilities/imageeditor/canvas/canvas.cpp #648897:648898
 @ -466,8 +466,8  @
                QMIN(er.height() + 2, contentsRect().height()));
     
     paintViewport(er, (d->zoom <= 1.0) ? true : false);
-    if (d->zoom > 1.0)
-        d->paintTimer->start(100, true);
+/*    if (d->zoom > 1.0)
+        d->paintTimer->start(100, true);*/
 }
 
 void Canvas::slotPaintSmooth()
 @ -537,7 +537,7  @
                     sw = (int)floor(d->tileSize / d->zoom);
                     sh = (int)floor(d->tileSize / d->zoom);
 
-                    if (d->rubber && d->pressedMoved)
+                    if (d->rubber && d->pressedMoved && !d->pressedMoving)
                     {
                         QRect rr(d->rubber->normalize());
                         rr = QRect(d->rubber->normalize());
 @ -655,8 +655,12  @
             }
         
             viewport()->setMouseTracking(false);
+            d->pressedMoved  = false;
+            d->pressedMoving = true;
 
-            d->pressedMoving = true;
+            d->tileCache.clear();
+            viewport()->repaint(false);
+
             return;
         }
     }
 @ -716,22 +720,28  @
               d->lbActive || d->rbActive))
             return;
 
-        drawRubber();
+        // Clear old rubber.
+        if (d->pressedMoved)
+            drawRubber();
 
+        // Move content if necessary.
+        blockSignals(true);
+        ensureVisible(e->x(), e->y(), 10, 10);
+        blockSignals(false);
+
+        // draw the new rubber position.
         int r, b;
         r = (e->x() > d->pixmapRect.left()) ? e->x() : d->pixmapRect.left();
         r = (r < d->pixmapRect.right())     ? r      : d->pixmapRect.right();
         b = (e->y() > d->pixmapRect.top())  ? e->y() : d->pixmapRect.top();
         b = (b < d->pixmapRect.bottom())    ? b      : d->pixmapRect.bottom();
-
         d->rubber->setRight(r);
         d->rubber->setBottom(b);
+        drawRubber();
 
         d->pressedMoved  = true;
         d->pressedMoving = true;
 
-        drawRubber();
-
         // To refresh editor status bar with current selection.
         emit signalSelectionChanged(calcSeletedArea());
     }
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 116148] Auto-scrolling when selecting large area

Gilles Caulier-4
In reply to this post by Dik Takken
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=116148         




------- Additional Comments From caulier.gilles gmail com  2007-04-01 21:11 -------
Created an attachment (id=20145)
 --> (http://bugs.kde.org/attachment.cgi?id=20145&action=view)
rubber redraw problem example

Marcel, Luka,

Look the screenshot witch reproduce the problem. It easy to do : open a large
picture, zoom to 300, and start to select an area. Now move the selection very
quickcly outside the current visible canvas area. The scrollview will move the
content automaticly, but sometime, the rubber is not cleanned, accordinly with
the mouse mouvements.

I suspect a problem about to dispatch messages to force the rubber to be
cleaned. Note the rubber is draw/cleaned using the same method drawRubber()
witch use a NOT raster operator.

Gilles
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 116148] Auto-scrolling when selecting large area

Marcel Wiesweg
In reply to this post by Dik Takken
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=116148         




------- Additional Comments From marcel.wiesweg gmx de  2007-04-04 20:28 -------
The problem is something like this:
When autoscrolling to a new area, this area is not yet drawn, an update is scheduled by the ensureVisible(). The rubber is drawn immediately.
Then in the drawContents method, the new area is drawn, and the rubberband is removed.
In the next mouseMove event, drawRubber is called to remove the rubber in the old position, but the rubber is already removed by repainting, so it is not removed, but actually drawn at the old position in the first drawRubber call.

I tried to solve it by calling drawRubber before and after painting in drawContents, if (d->rubber && d->pressedMoved && d->pressedMoving && d->rubber->intersects(pr)), but this solves it only when scrolling downwards...strange.
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel
Reply | Threaded
Open this post in threaded view
|

[Bug 116148] Auto-scrolling when selecting large area

Arnd Baecker
In reply to this post by Dik Takken
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
         
http://bugs.kde.org/show_bug.cgi?id=116148         




------- Additional Comments From arnd.baecker web de  2007-07-13 09:29 -------
Why is this marked as solved in view of #8 and #9?
_______________________________________________
Digikam-devel mailing list
[hidden email]
https://mail.kde.org/mailman/listinfo/digikam-devel