Commit Graph

27 Commits

Author SHA1 Message Date
Marco Martin
395cd8e146 FEATURE: new property: overflowBordersVisible
it can enable/disable the painting of the borders when the inner widget is bigger then the viewport

svn path=/trunk/KDE/kdelibs/; revision=1184911
2010-10-11 19:59:47 +00:00
Marco Martin
20d58299b2 handle keypresses (but don't steal them)
is the last thing that was missing from kineticscrolling

svn path=/trunk/KDE/kdelibs/; revision=1124609
2010-05-09 16:57:05 +00:00
Marco Martin
215e883684 new signal: viewportGeometrychanged
svn path=/trunk/KDE/kdelibs/; revision=1116489
2010-04-19 15:55:04 +00:00
Marco Martin
dfb46bb03e a new property: snapSize if one wants to always make the scroll end aligned to a certain grid (is a size, so snap can be different horizontal and vertical)
svn path=/trunk/KDE/kdelibs/; revision=1116100
2010-04-18 16:31:07 +00:00
Marco Martin
26a4b3f20d register/unregoster as drag handles is deprecated now since it's automatic
svn path=/trunk/KDE/kdelibs/; revision=1104888
2010-03-18 20:22:03 +00:00
Zack Rusin
3c0cffc506 Implement wheel scrolling and add a way of disabling overshoot.
plus some doc cleanups.

svn path=/trunk/KDE/kdelibs/; revision=1104868
2010-03-18 19:22:52 +00:00
Zack Rusin
82702e7043 Improve kinetic scrolling on ScrollWidget
As previously discussed with this approach we can actually properly intercept events from child items. Furthermore now we properly "steal" events which cause a flick (it's important for child items to properly act on mouseReleaseEvents and not on mousePressEvents as some like to do, since it's the release events that cause a flick) so items don't get clicks when flicked. The physics and especially the overshoot behavior is a lot better in this code as well.
Review http://reviewboard.kde.org/r/3312/


svn path=/trunk/KDE/kdelibs/; revision=1104841
2010-03-18 18:14:39 +00:00
Aaron J. Seigo
eddbfdcd99 slightly clearer
svn path=/trunk/KDE/kdelibs/; revision=1097679
2010-03-01 21:26:12 +00:00
Marco Martin
fdae3f0d59 This patch forward the "stateChanged" signal emitted from the private kinetic scroll animation all the way to Plasma::ScrollWidget, which then forwards this signal to its childs. This enables an object which derives from Plasma::ScrollWidget to know the kinetic scrolling animation state.
Patch by Bruno Abinader

svn path=/trunk/KDE/kdelibs/; revision=1064768
2009-12-21 18:36:39 +00:00
Andras Mantia
4a708b9351 Fix amigous constructor declaration
svn path=/trunk/KDE/kdelibs/; revision=1062937
2009-12-16 10:57:25 +00:00
Marco Martin
4b8b780829 don't do adjustScrollbars more than every 200 msecs
resolves some cyclical relayout crashes and surprisingly enough also some layout estetic problems
BUG:202890

svn path=/trunk/KDE/kdelibs/; revision=1062764
2009-12-15 21:37:07 +00:00
Giulio Camuffo
7e3bdb55e5 better wait for the parentItem to resize before calculating the rect of the item to be visible
svn path=/trunk/KDE/kdelibs/; revision=1057266
2009-12-01 20:49:34 +00:00
Aaron J. Seigo
32835ca5bc make some of the method invokable
svn path=/trunk/KDE/kdelibs/; revision=1048894
2009-11-14 04:31:20 +00:00
Marco Martin
ca60a5a6cf convert the function to a qgraphicswidget:
sceneeventfilter appears to eat events always and in this way i can
remove elements from dragHandles when they get deleted

svn path=/trunk/KDE/kdelibs/; revision=1045818
2009-11-06 20:20:35 +00:00
Marco Martin
60eabf5382 void registerAsDragHandle(QGraphicsItem *item);
easy way to keep the flickable scrolling even with clickable sub items

svn path=/trunk/KDE/kdelibs/; revision=1045776
2009-11-06 18:57:35 +00:00
Marco Martin
9f806ddf48 decide based on the sizehint whether resize the internal widget or not
svn path=/trunk/KDE/kdelibs/; revision=1038632
2009-10-21 14:32:24 +00:00
Marco Martin
31cb2730ea size hint is the inner widget size
svn path=/trunk/KDE/kdelibs/; revision=1036073
2009-10-16 14:10:55 +00:00
Marco Martin
38884ccd1a now the api is similar to what webkit offers and horizontal and vertical
scroll is done in pixels and in a single pass.                                          
we have 3 properties in widgets that wants to support scroll:
scrollPosition
viewportGeometry
constentsSize


svn path=/trunk/KDE/kdelibs/; revision=1032821
2009-10-08 16:04:56 +00:00
Giulio Camuffo
81b39250cb added ensureItemVisible(QGraphicsItem*)
svn path=/trunk/KDE/kdelibs/; revision=1031380
2009-10-04 20:08:37 +00:00
Igor Trindade Oliveira
cab81476e3 fix: rounded-off errors
svn path=/trunk/KDE/kdelibs/; revision=1030709
2009-10-03 03:27:52 +00:00
Marco Martin
7387d79cbd give d->widget the focus when the focus arrives on us
svn path=/trunk/KDE/kdelibs/; revision=1030582
2009-10-02 16:07:06 +00:00
Adenilson Cavalcanti Da Silva
99cdc241c3 Making kinetic scrolling class generic.
The current design uses 3 properties to calculate movement (horizontal/vertical 
position and the viewport size) being up to the client class (e.g. ScrollWidget)
move its widgets when the position property changed.

It will allow to reuse the kinetic scrolling class with other plasmoids.


svn path=/trunk/KDE/kdelibs/; revision=1030136
2009-10-01 16:47:19 +00:00
Marco Martin
a4d591e6fd ensureRectVisible() a rect in internal widget coordinates will cause an
animated scroll until the rect becomes visible
it should not collide with kinetic scroll since the anim is stopped as
soon as amouse or wheel event is triggered
CCMAIL:plasma-devel@kde.org

svn path=/trunk/KDE/kdelibs/; revision=1027814
2009-09-24 20:40:16 +00:00
Adenilson Cavalcanti Da Silva
974df6773a Adding a kinetic scrolling class and using it in plasma::ScrollWidget.
ATM, it uses timers to do the animation, the idea is to use factory pattern
and implement the animation with QProperyAnimation too (using Qt 4.6).


svn path=/trunk/KDE/kdelibs/; revision=1024929
2009-09-17 16:24:19 +00:00
Marco Martin
eb46f78fd9 scrollbarPolicy->scrollBarPolicy, luckily it was spotted before any
release :)

svn path=/trunk/KDE/kdelibs/; revision=945072
2009-03-26 20:21:48 +00:00
Marco Martin
ca820f5770 SVN_SILENT: forgotten @since :D
svn path=/trunk/KDE/kdelibs/; revision=934746
2009-03-03 18:11:33 +00:00
Marco Martin
ff578a8af4 a widget that allows the contents to scroll when
content is bigger than the widget itself by adding scrollbars

svn path=/trunk/KDE/kdelibs/; revision=934731
2009-03-03 17:31:54 +00:00