Commit Graph

992 Commits

Author SHA1 Message Date
Marco Martin
5bd2af94f8 invalidate the main layout when te new page is inserted, only way to get
the preferred size right, apparently

svn path=/trunk/KDE/kdelibs/; revision=1042410
2009-10-29 19:05:04 +00:00
Marco Martin
c71cd00557 delay cuurentchanged after the animation, use a preferredsize policy for the
pages

svn path=/trunk/KDE/kdelibs/; revision=1042395
2009-10-29 18:31:27 +00:00
Marco Martin
4418fb8971 revert last bogus commit
svn path=/trunk/KDE/kdelibs/; revision=1042383
2009-10-29 17:58:52 +00:00
Marco Martin
7e8d330582 some qgraphicslayout hack to return a meaningful size hint, pretty
unfortunate

svn path=/trunk/KDE/kdelibs/; revision=1042375
2009-10-29 17:50:44 +00:00
Marco Martin
dd581265cf move the extra border in the size hint
svn path=/trunk/KDE/kdelibs/; revision=1041792
2009-10-28 14:19:34 +00:00
Marco Martin
67065e2ed2 always draw when the button is in checked state
svn path=/trunk/KDE/kdelibs/; revision=1040124
2009-10-25 17:17:22 +00:00
Marco Martin
905f3960da use the active rect for the focus rect
svn path=/trunk/KDE/kdelibs/; revision=1039127
2009-10-22 19:28:19 +00:00
Marco Martin
03bb063c62 migrate focusindicator to the new api
change the api of fade to be abe to set a start and an end taget
opacities

svn path=/trunk/KDE/kdelibs/; revision=1039087
2009-10-22 17:39:43 +00:00
Marco Martin
c470055a37 revert the last patch: when there is clipping the borders can't be
children of the scrolling widget

svn path=/trunk/KDE/kdelibs/; revision=1038759
2009-10-21 19:47:20 +00:00
Marco Martin
7e80fdd8f1 use anchorlayout, quite a good quantity of code wiped out,
workaround to an annoying anchorlayout crasher tough

svn path=/trunk/KDE/kdelibs/; revision=1038665
2009-10-21 15:26:08 +00:00
Marco Martin
637a50e17c disable the clipping hack
svn path=/trunk/KDE/kdelibs/; revision=1038652
2009-10-21 15:01:06 +00:00
Marco Martin
7423a261dd keep a 1 pixel border
svn path=/trunk/KDE/kdelibs/; revision=1038647
2009-10-21 14:48:14 +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
82317bda2d take in consideration the size hint of the internal widget for the own
sized hint

svn path=/trunk/KDE/kdelibs/; revision=1038245
2009-10-20 21:37:46 +00:00
Marco Martin
b2bb69732a provide the Animator::registerScrollingManager(qgraphicsidget) function.
the animator creates a kineticscroll and associates it with the widget.
in this way we can use kineticscroll outside of libplasma with a single
call.

svn path=/trunk/KDE/kdelibs/; revision=1037751
2009-10-19 22:10:25 +00:00
Marco Martin
89e73cecd2 animate the highlight with the new animation framework. we got a glow
item called FocusIndicaotr, it's private for now and probably it should
remain so

svn path=/trunk/KDE/kdelibs/; revision=1037733
2009-10-19 21:13:54 +00:00
Aaron J. Seigo
211a206277 the count is always 1 larger than the index, so > is not enough
svn path=/trunk/KDE/kdelibs/; revision=1036289
2009-10-16 22:41:39 +00:00
Marco Martin
4191b96c6d force to invalidate the size hint when the inner widget size changes
svn path=/trunk/KDE/kdelibs/; revision=1036087
2009-10-16 14:53:11 +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
1d611eac34 initialize the layout as soon as possible, crash--?
svn path=/trunk/KDE/kdelibs/; revision=1036032
2009-10-16 11:14:46 +00:00
Marco Martin
451cf321a2 forgotten to commit before: migrate to the new api
svn path=/trunk/KDE/kdelibs/; revision=1035760
2009-10-15 20:12:01 +00:00
Aaron J. Seigo
0d90362d1a * lump all actions over the max at the end
* don't use magic numbers but the enum
* don't leak icon items when the action is destroyed

svn path=/trunk/KDE/kdelibs/; revision=1035440
2009-10-15 02:39:38 +00:00
Marco Martin
2bdb8bc405 forward released too
svn path=/trunk/KDE/kdelibs/; revision=1034804
2009-10-13 15:29:23 +00:00
Darío Andrés Rodríguez
59296fb520 - Fix several minor issues reported by Krazy2
(http://reviewboard.kde.org/r/1837/)


svn path=/trunk/KDE/kdelibs/; revision=1034756
2009-10-13 12:40:13 +00:00
Marco Martin
e6661712a8 don't reset to zero the position on scrollbar move
svn path=/trunk/KDE/kdelibs/; revision=1034699
2009-10-13 10:10:08 +00:00
Marco Martin
5691d2a48b keep the mouseover state ourselves since it won't be updated when the
widget is disabled

svn path=/trunk/KDE/kdelibs/; revision=1034427
2009-10-12 17:17:46 +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
86cffbab45 suppress some runtime complaints of QGraphicsGridLayout
svn path=/trunk/KDE/kdelibs/; revision=1032423
2009-10-07 19:27:01 +00:00
Aaron J. Seigo
947e2cd632 show() causes an implicit animation which will emit target[Item]Reached signals; this makes the first show smoother in the device notifier
svn path=/trunk/KDE/kdelibs/; revision=1032154
2009-10-07 04:16:39 +00:00
Adenilson Cavalcanti Da Silva
e749331979 Using the viewport/content size ratio to inform the geometry.
It ensures that at least the page will scroll correctly (i.e. advancing
just 1 page down) in webpages that are too long (e.g. kdeplanet).


svn path=/trunk/KDE/kdelibs/; revision=1032052
2009-10-06 18:31:47 +00:00
Adenilson Cavalcanti Da Silva
3d33d3f28f Factoring the ratio of widget/viewport size when doing the
kinetic scrolling.

This will help to have a proper scrolling in cases that the
viewport is several times smaller than the widget size.


svn path=/trunk/KDE/kdelibs/; revision=1032023
2009-10-06 16:58:42 +00:00
Aaron J. Seigo
bd5359ca8f setTarget -> targetReached, setTargetItem -> targetItemReached
svn path=/trunk/KDE/kdelibs/; revision=1032017
2009-10-06 16:44:23 +00:00
Aaron J. Seigo
70b3847210 make moving between items with different parents work a bit better ;)
svn path=/trunk/KDE/kdelibs/; revision=1031762
2009-10-05 22:44:08 +00:00
Aaron J. Seigo
6ccaa814b3 * add getter for targetItem
* add property for targetItem

svn path=/trunk/KDE/kdelibs/; revision=1031688
2009-10-05 18:59:21 +00:00
Marco Martin
0e59e70583 move correctly the pages at the first animation
svn path=/trunk/KDE/kdelibs/; revision=1031682
2009-10-05 18:40:58 +00:00
Aaron J. Seigo
e4f20fdba8 * add a targetReached(QRectF) signal for completeness
* emit the targetReached signals in all cases that the target is reached, not just when there is an animation
* only emit targetReached(QGrahpicsItem*) when there is a target item
* provide a getter for the target rect
* register setTarget as a property

svn path=/trunk/KDE/kdelibs/; revision=1031661
2009-10-05 18:00:06 +00:00
Marco Martin
8587a9dd47 forward pressed
svn path=/trunk/KDE/kdelibs/; revision=1031647
2009-10-05 17:20:05 +00:00
Marco Martin
3db6d84c03 provide isDown as well
svn path=/trunk/KDE/kdelibs/; revision=1031646
2009-10-05 17:16:09 +00:00
Aaron J. Seigo
23d1402a5d --compile_warnings;
svn path=/trunk/KDE/kdelibs/; revision=1031625
2009-10-05 16:08:31 +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
2147d8e090 put return return d->widget->boundingRect(); in ScrollWidget::viewport() and everything starts to work -perfectly-
notmart

svn path=/trunk/KDE/kdelibs/; revision=1030979
2009-10-03 16:51:52 +00:00
Marco Martin
c47fdfefbe set the disabled color as a transparent version of the text color
svn path=/trunk/KDE/kdelibs/; revision=1030948
2009-10-03 15:20:56 +00:00
Igor Trindade Oliveira
a7ac1feaf2 add support for kinetic scrolling
svn path=/trunk/KDE/kdelibs/; revision=1030944
2009-10-03 15:06:41 +00:00
Jacopo De Simoi
e90a75ec51 Unbreak the fadeIn animation, add a temporary workaround until trunk depends on 4.6
svn path=/trunk/KDE/kdelibs/; revision=1030871
2009-10-03 11:37:19 +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
faa91ca8e5 don't make borders appear and disappear each resize
svn path=/trunk/KDE/kdelibs/; revision=1030637
2009-10-02 20:17:45 +00:00
Marco Martin
8c1408f179 apparently if the label is hidden it doesn't receive font change events,
so at show event i have to check if the font is different from
QApplication::font() :/
now: is this the intended behaviour of qt or is a bug?
CCMAIL:plasma-devel@kde.org

svn path=/trunk/KDE/kdelibs/; revision=1030634
2009-10-02 20:14:40 +00:00
Jacopo De Simoi
9a1a247591 postpone refreshing of the currently selected item
svn path=/trunk/KDE/kdelibs/; revision=1030620
2009-10-02 19:08:36 +00:00
Jacopo De Simoi
b8d35a709c Add signals targetReached and animationStep
svn path=/trunk/KDE/kdelibs/; revision=1030619
2009-10-02 19:06:14 +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
Aaron J. Seigo
d2e3cf28cb do some caching
svn path=/trunk/KDE/kdelibs/; revision=1029904
2009-10-01 00:58:41 +00:00
Jacopo De Simoi
225cab4ef4 workaround some qt bug which makes children items disappear when toggling the ItemClipsChildrenToShape flag
svn path=/trunk/KDE/kdelibs/; revision=1029853
2009-09-30 22:10:35 +00:00
Marco Martin
2d2c2ea22f better logic to enable/disable borders
svn path=/trunk/KDE/kdelibs/; revision=1029755
2009-09-30 17:05:40 +00:00
Marco Martin
e550837212 apidocs++
svn path=/trunk/KDE/kdelibs/; revision=1029643
2009-09-30 12:40:07 +00:00
Marco Martin
c134158608 better logic to show/hide borders, still seems to not delete them in
some cases

svn path=/trunk/KDE/kdelibs/; revision=1029416
2009-09-29 17:36:56 +00:00
Marco Martin
f99025da70 unbreak svg element loading as button icon
svn path=/trunk/KDE/kdelibs/; revision=1028676
2009-09-27 21:26:46 +00:00
Marco Martin
14fed09f70 give a really light gradient to the text background, it gives a more
finished look

svn path=/trunk/KDE/kdelibs/; revision=1028591
2009-09-27 17:32:49 +00:00
Giulio Camuffo
1d1cd9ab47 install event filters for new target again
svn path=/trunk/KDE/kdelibs/; revision=1028104
2009-09-25 21:28:07 +00:00
Marco Martin
b7768c774c check for null widget
bound the passed rect to the widget bounding rect

svn path=/trunk/KDE/kdelibs/; revision=1027836
2009-09-24 21:27:40 +00:00
Marco Martin
80f675df0d setX, not setY
svn path=/trunk/KDE/kdelibs/; revision=1027831
2009-09-24 21:15:47 +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
Marco Martin
bb11bbf81b another null pointer check
svn path=/trunk/KDE/kdelibs/; revision=1027780
2009-09-24 18:52:58 +00:00
Marco Martin
03c1fca71d properly fix previous commit don't crash setting an active page < 0
don't crash setting a new one if the old one was 0

svn path=/trunk/KDE/kdelibs/; revision=1027767
2009-09-24 18:26:48 +00:00
Marco Martin
1ae2f714bb don't explode on setCurrentIndex(index<0)
svn path=/trunk/KDE/kdelibs/; revision=1027763
2009-09-24 17:57:53 +00:00
Albert Astals Cid
376e23e095 const & in foreach variables
svn path=/trunk/KDE/kdelibs/; revision=1027710
2009-09-24 14:24:46 +00:00
Giulio Camuffo
b363df741e using installEventFilter if the target is a QGraphicsWidget, else
installSceneEventFilter because sceneEventFilter doesn't get GraphicsSceneResize events

svn path=/trunk/KDE/kdelibs/; revision=1027316
2009-09-23 20:29:56 +00:00
Marco Martin
cfb045bf3d use the glow to indicate focus/hover
svn path=/trunk/KDE/kdelibs/; revision=1027297
2009-09-23 19:15:51 +00:00
Michał Dutkiewicz
034e5a4a62 Support for using custom native widgets with ComboBox, LineEdit and TextEdit
svn path=/trunk/KDE/kdelibs/; revision=1027285
2009-09-23 18:42:19 +00:00
Marco Martin
56ac584338 use the focus and over glows for editable mode
svn path=/trunk/KDE/kdelibs/; revision=1027264
2009-09-23 17:25:53 +00:00
Marco Martin
e17155505a use the lineedit element
have a glow on mouseover 
and a stronger one for focus

svn path=/trunk/KDE/kdelibs/; revision=1027174
2009-09-23 13:23:03 +00:00
Marco Martin
eedf3c47ff update the current index when inserting tabs
svn path=/trunk/KDE/kdelibs/; revision=1026753
2009-09-22 14:04:20 +00:00
Marco Martin
b16ed00bc4 off by one, crash--
svn path=/trunk/KDE/kdelibs/; revision=1026750
2009-09-22 13:53:29 +00:00
Adenilson Cavalcanti Da Silva
304469cb0a Keeping scrollwheel events within the scrollwidget. This allows to use
scrollwheel to roll the widget (e.g. uBlog) and not the whole 
plasma-netbook newspaper screen.


svn path=/trunk/KDE/kdelibs/; revision=1026749
2009-09-22 13:47:24 +00:00
Marco Martin
66fb9378c0 fix size hints
svn path=/trunk/KDE/kdelibs/; revision=1026340
2009-09-21 14:14:38 +00:00
Marco Martin
819a0f6dbc proper namespace, fix build
svn path=/trunk/KDE/kdelibs/; revision=1026330
2009-09-21 14:00:53 +00:00
Marco Martin
1bf822a0a1 meaningful size hints
svn path=/trunk/KDE/kdelibs/; revision=1026328
2009-09-21 13:57:32 +00:00
Aaron J. Seigo
7ad7bfd634 set d->target sooner so that the code in setTarget(QRectF) works properly
svn path=/trunk/KDE/kdelibs/; revision=1026219
2009-09-21 06:17:04 +00:00
Aaron J. Seigo
76dfb7c57e be able to set the borders of the frame to show/paint; one of the things i really dislike about QFrame, now solved in Plasma::Frame
svn path=/trunk/KDE/kdelibs/; revision=1026213
2009-09-21 05:29:47 +00:00
Aaron J. Seigo
7b5f1d4e35 since the target is destroyed, reset our internal pointer so we don't subsequently access it in setTargetItem and die a horrible death. corrects crashes in SAL.
svn path=/trunk/KDE/kdelibs/; revision=1026212
2009-09-21 05:26:12 +00:00
Marco Martin
e24e0294e3 was width, not height
svn path=/trunk/KDE/kdelibs/; revision=1025763
2009-09-19 16:06:41 +00:00
Marco Martin
7e23f237c6 correctly align the button pixmap
svn path=/trunk/KDE/kdelibs/; revision=1025760
2009-09-19 15:59:20 +00:00
Marco Martin
48fe7cee90 assign d->target later or the comparison is always false, connect to
destroyed and crash--

svn path=/trunk/KDE/kdelibs/; revision=1025756
2009-09-19 15:50:06 +00:00
Marco Martin
efbe7150fd enable/disable shadows and scrollbard indipendently
svn path=/trunk/KDE/kdelibs/; revision=1025749
2009-09-19 15:35:16 +00:00
Jacopo De Simoi
94b684c01c make sure to disconnect the _old_ target from the itembackground, not the new one with itself
svn path=/trunk/KDE/kdelibs/; revision=1025709
2009-09-19 13:30:58 +00:00
Aaron J. Seigo
1b05349652 textchanged signal
svn path=/trunk/KDE/kdelibs/; revision=1025553
2009-09-19 03:27:56 +00:00
Aaron J. Seigo
2f535d5516 if we have a target item and the target is visible but the background item isn't, show the background item and just move it into place
svn path=/trunk/KDE/kdelibs/; revision=1025473
2009-09-18 21:24:14 +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
Laurent Montel
35a5992edc Pedanti
svn path=/trunk/KDE/kdelibs/; revision=1023178
2009-09-14 06:08:46 +00:00
Marco Martin
58b8324d0e now it is setPixmap(RadioButton *)
svn path=/trunk/KDE/kdelibs/; revision=1023069
2009-09-13 20:16:32 +00:00
Marco Martin
67515c758a always use plasma::theme font, unless somebody call setFont on the
widget                                                                                
round two: sync the native widgets fonts with the plasma::theme font,                 
unless setFont was called

svn path=/trunk/KDE/kdelibs/; revision=1023050
2009-09-13 19:18:29 +00:00
Aaron J. Seigo
1730d86a73 add some properties and isDown()
svn path=/trunk/KDE/kdelibs/; revision=1023016
2009-09-13 18:12:32 +00:00
Aaron J. Seigo
f2af7e8087 kicon and qicon are treated differnetly internally by KPushButton, so we unforunately we need to provide an overload here
svn path=/trunk/KDE/kdelibs/; revision=1022998
2009-09-13 17:37:36 +00:00
Aaron J. Seigo
1b53393043 put it in the template too
svn path=/trunk/KDE/kdelibs/; revision=1022991
2009-09-13 17:17:02 +00:00
Aaron J. Seigo
9525a9a267 clean up the svg if we change the image strategy
svn path=/trunk/KDE/kdelibs/; revision=1022990
2009-09-13 17:15:56 +00:00
Aaron J. Seigo
45b39e84c4 * repaint the svg when the theme changes
* delete the svg before creating a new one
* only create a new svg object if the path has changed

svn path=/trunk/KDE/kdelibs/; revision=1022989
2009-09-13 17:13:55 +00:00
Aaron J. Seigo
0ab4b19c25 add press/release signals
svn path=/trunk/KDE/kdelibs/; revision=1022977
2009-09-13 16:50:00 +00:00
Marco Martin
5cc2ddf8ad always use plasma::theme font, unless somebody call setFont on the
widget
round one:widgets that draws themselves without native()-render()
and don't have a setFont function themselves

svn path=/trunk/KDE/kdelibs/; revision=1022897
2009-09-13 13:13:55 +00:00
Marco Martin
a827d621f8 use the plasma font...
unless someone called QGraphicsWidget::setFont()

svn path=/trunk/KDE/kdelibs/; revision=1022790
2009-09-12 15:05:39 +00:00
Aaron J. Seigo
a859eb502a use the font for the fontmetrics that it's actually painting with
svn path=/trunk/KDE/kdelibs/; revision=1022199
2009-09-11 03:17:42 +00:00