Marco Martin
53c1c1cdbe
panelPixmap() to retrieve the cached rendered panel (and render if it's
...
not in the cache)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=866437
2008-09-30 20:47:47 +00:00
Aaron J. Seigo
d3bff41f31
make it easy for when source == dest, which is a common case
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=863721
2008-09-22 23:15:57 +00:00
Olivier Goffart
8e96263a52
Optimisation: createMaskFromColor is slow, and PanelSvg::mask() is called quite often.
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=853506
2008-08-27 19:59:12 +00:00
Marco Martin
1a321f0df1
contentsRect() function, consistent with QGraphicsWidget::contentsRect()
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=851491
2008-08-23 20:36:09 +00:00
Marco Martin
aaab3a310a
API change:
...
changed paintPanel(QPainter* painter, const QRectF& rect, const
QPointF& pos = QPointF(0, 0));
into
void paintPanel(QPainter* painter, const QRectF& target, const QRectF&
source);
and
void paintPanel(QPainter* painter, const QPointF& pos = QPointF(0, 0));
to be more similat di QPainter::drawPixmap api
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=838379
2008-07-27 17:20:27 +00:00
Marco Martin
bebd1cdc1c
inserted a new group of hints:
...
prefix-hint-margin-direction where prefix (optional) is the current
rendered panel and direction is either top bottom, left or right
is used to give a panel custom margins different respect to the borders
removed the contentAtOrigin property that vas never used and actually
dead code
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=837731
2008-07-25 15:08:22 +00:00
Aaron J. Seigo
1e35b37d5c
SVN_SILENT: ws tightening
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=828242
2008-07-05 05:20:40 +00:00
Marijn Kruisselbrink
21b148b963
change all ClassName::Private classes to ClassNamePrivate, and adjust friends accordingly; this makes plasma compilable with gcc < 4.2
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=826893
2008-07-01 18:56:43 +00:00
Marco Martin
d01cb72c4d
update the svg painting and margins calculations when the theme changes
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=812089
2008-05-24 15:33:35 +00:00
Aaron J. Seigo
e32ed254f1
SVN_SILENT: shh
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=811947
2008-05-24 07:33:33 +00:00
Aaron J. Seigo
9f4246059e
when changing the prefix, let's base it on the previous size.
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=811927
2008-05-24 05:29:42 +00:00
Marco Martin
48f9257fb1
not hasElementPrefix(prefix) works also when prefix is empty
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=805339
2008-05-08 09:12:04 +00:00
Marco Martin
ee2468472c
don't try to paint non existent elements
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=803865
2008-05-04 11:19:11 +00:00
Marco Martin
899260cc23
use iterators to avoid two searches
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=803659
2008-05-03 18:29:06 +00:00
Marco Martin
c3925a3496
* added new function panelSize() that returns the size of the panel (and
...
not of the svg)
* some valid pointers checks
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=803637
2008-05-03 16:03:44 +00:00
Marco Martin
9c588df3bb
Added the overloaded function
...
bool hasElementPrefix(Plasma::Location location) const;
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=803268
2008-05-02 13:25:04 +00:00
Marco Martin
b4ee14d44f
don't erase the entire cache when updating the sizes of a single panel,
...
so the cache for multiple items now actually works :)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=803217
2008-05-02 10:32:47 +00:00
Marco Martin
0f1809e9f4
new function bool hasElementPrefix(prefix) that checks if the given
...
element prefix exists for the loaded svg
and build fix woops
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=803066
2008-05-01 20:09:24 +00:00
Marco Martin
5939dfc87c
scale the svg elements at the right size in case of stretched borders
...
and/or
not tiled center element.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=803061
2008-05-01 19:51:41 +00:00
Marco Martin
703b6c2ffa
* adds a new convenience method getMargins(&qreal,&qreal,&qreal,&qreal)
...
to fetch all the four margins at a time
* now applet uses it
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802928
2008-05-01 09:49:30 +00:00
Robert Knight
cdb840d200
Print warnings if trying to assign invalid sizes to a panel or trying to generate a panel background with an invalid size. Prevents attempts to paint on an invalid pixmap leading to XRender errors.
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801852
2008-04-27 22:34:24 +00:00
Aaron J. Seigo
de3ab77f26
paint -> paintPanel. allows one to use the Svg api directly when you have a PanelSvg class and falls into line with the resize->resizePanel change as well.
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801077
2008-04-25 16:18:51 +00:00
Aaron J. Seigo
f4cb38cef1
cache clearing fixes, some performance improvements
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800759
2008-04-24 19:49:24 +00:00
Aaron J. Seigo
2e71b7a700
* clear() the panels list after deleting the items (fixes crash)
...
* resize -> resizePanel ... resolves a semantically annoying ambiguity now that it subclasses Svg
* don't use the [] accessor more than necessary
* slightly clearer code in places
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800283
2008-04-23 20:38:09 +00:00
Aaron J. Seigo
d52b839cf9
we need to signal a repain on borders changing.
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800186
2008-04-23 16:18:45 +00:00
Marco Martin
d0ba4e77ec
Api change:
...
Plasma::Svg(imagePath, parent) -> Plasma::Svg(parent) and
Plasma::PanelSvg(imagePath, parent) -> Plasma::PanelSvg(parent)
updated as needed every class that was using Svg or PanelSvg
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800143
2008-04-23 13:07:41 +00:00
Marco Martin
203fda098d
PanelSvg now is a subclass of Plasma::Svg so it doesn't use anymore an internal istance of Plasma::Svg
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=799908
2008-04-22 20:25:28 +00:00
Marco Martin
85a1f0e516
use a separate cache for each elementPrefix, this will speed up
...
rendering a lot if prefixes are switched very often. this will make
possible for instance to render the background of taskbar items with a
PanelSvg.
This behaviour is disabled by default, you can enable/disable it with
setCacheAllRenderedPanels(bool), get with cacheAllRenderedPanels() and
erase the entire cache with clearCache()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=799411
2008-04-21 14:01:46 +00:00
Marco Martin
f522c38eeb
file() and setFile() -> imagePath() and setImagePath()
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=797772
2008-04-16 20:48:53 +00:00
Marco Martin
6024f48475
Api changes to PanelSvg finished:
...
-now it's a Plasma::Svg
-DrawTopBorder DrawLeftBorder etc -> TopBorder LeftBorder etc
-contentAtOrigin -> out of flags
-setFile() -> setImagePath()
-setBorderFlags() -> setEnabledBorders()
-added resize(qreal,qreal)
-setPrefix() -> setElementsPrefix()
-updateSizes() -> Q_PRIVATE_SLOT
-pos() setPos() removed, now pos is a parameter of paint
-setLocation() -> setElementPrefix(enum)
-location() removed
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=797736
2008-04-16 20:17:36 +00:00
Marco Martin
d07a60c581
Rename SvnPanel into PanelSvg and update accordingly who is using that,
...
as discussed in api reviews
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=797663
2008-04-16 17:23:58 +00:00