Commit Graph

163 Commits

Author SHA1 Message Date
Aaron Seigo
a225402b9e make setImagePath virtual 2011-05-20 08:16:01 +02:00
Aaron Seigo
9da79a0840 only emit repaintNeeded if there was actually a change 2011-05-20 08:13:24 +02:00
Aaron Seigo
bb026751dc tage the transform into consideration 2011-04-09 13:47:55 +02:00
Manuel Mommertz
e928c0baaf allow SharedSvgRenderer to put interesting elements in the rect cache on load
fixes the detection of svgs that use a style for system colors

svn path=/trunk/KDE/kdelibs/; revision=1207463
2010-12-18 08:54:17 +00:00
Manuel Mommertz
f924a645af don't break unthemed svgs if themeChanged() is called on them
(can happen if svg is color aware and colors change)

svn path=/trunk/KDE/kdelibs/; revision=1205731
2010-12-12 10:39:27 +00:00
Aaron J. Seigo
28b96ee9f8 * always use the unthemed cache for unthemed svg's; necessary since it checks for colorization needs using the cache before it knows whether colorization is needed or not. thanks to Manuel Mommertz for digging into this aspect.
* connect to themeChanged() signals when not themed or setting a custom theme
* un-dupe themeChanged() code from setTheme
* care not to double connect to signals in places

svn path=/trunk/KDE/kdelibs/; revision=1204529
2010-12-07 20:16:43 +00:00
Marco Martin
38e64220da size property nitifies the change
svn path=/trunk/KDE/kdelibs/; revision=1204363
2010-12-06 21:54:29 +00:00
Aaron J. Seigo
fdd473d31d * this introduces a Theme object used by Svg to cache the rendering of svg's asking to be colorized, but which are not part of the theme. this requires an independent cache and set of color files, therefore a second Theme object. SvgPrivate::actualTheme() is thus overridden by SvgPrivate::cacheAndColorsTheme() whenever caching or colors are used.
* consolidate the signal/slot connections in SvgPrivate::checkColorHints, and now the check is consistent on all paths (previously, it wasn't!)
* missing (and possible cause of cache key ambiguity) separator in CACHE_ID_WITH_SIZE

svn path=/trunk/KDE/kdelibs/; revision=1203346
2010-12-03 17:10:13 +00:00
Aaron J. Seigo
b1fc529c39 SVN_SILENT: ws
svn path=/trunk/KDE/kdelibs/; revision=1201684
2010-11-28 11:12:30 +00:00
Ingomar Wesp
7ebfc941b8 Fix this regex so that it works in even if an empty base id is supplied (as pointed out by mommertz)
svn path=/trunk/KDE/kdelibs/; revision=1191337
2010-10-30 17:19:00 +00:00
Ingomar Wesp
e049ecb34d Do not require an exact match for size hinted elements, but search for the smallest size hinted element that is bigger than the display size. Thanks to mommertz, who outlined and mentored this patch, element ids are cached both locally and in the theme, so no additional calls to createRenderer are required.
This was discussed in <http://svn.reviewboard.kde.org/r/5689/>.

svn path=/trunk/KDE/kdelibs/; revision=1191192
2010-10-29 22:14:18 +00:00
Manuel Mommertz
898db0a262 use sized prefix again if the element has one
svn path=/trunk/KDE/kdelibs/; revision=1189288
2010-10-24 13:42:33 +00:00
Aaron J. Seigo
5b49d8fe16 SVN_SILENT: update copyrights
svn path=/trunk/KDE/kdelibs/; revision=1185854
2010-10-14 12:05:55 +00:00
Aaron J. Seigo
2f491094c0 * move SvgPrivate into a separate header
* introduce a hack around setImagePath not being virtual but reimplemented in FrameSvg. (oi vey!)

svn path=/trunk/KDE/kdelibs/; revision=1185843
2010-10-14 11:43:01 +00:00
Aaron J. Seigo
cdfc20405a standardize the layout of the parameters in the cache; this will render old caches unhelpful since the names in them are changing, but that's a one time bit of pain
svn path=/trunk/KDE/kdelibs/; revision=1182547
2010-10-04 21:51:27 +00:00
Aaron J. Seigo
8a5f0f2f39 use QLatin1Literal; probably not necessary everywhere QStringBuilder is used in these files, as some are not hot paths, but the cache look ups at least are
svn path=/trunk/KDE/kdelibs/; revision=1181949
2010-10-02 20:06:47 +00:00
Aaron J. Seigo
ac640a1bae skip qchar
svn path=/trunk/KDE/kdelibs/; revision=1181713
2010-10-01 21:10:55 +00:00
Manuel Mommertz
1d82f58e41 allow SVGs to use systemcolors
svn path=/trunk/KDE/kdelibs/; revision=1181642
2010-10-01 16:04:34 +00:00
Aaron J. Seigo
bbe18dd67d QStringBuilder
svn path=/trunk/KDE/kdelibs/; revision=1178057
2010-09-22 07:47:15 +00:00
Aaron J. Seigo
b630dc66ff translate this comment a bit
svn path=/trunk/KDE/kdelibs/; revision=1177656
2010-09-20 19:48:45 +00:00
Aaron J. Seigo
9f7ce4026c make this consistent with pixmap() at least, but the multiple images handling still looks broken
svn path=/trunk/KDE/kdelibs/; revision=1177645
2010-09-20 19:42:38 +00:00
Aaron J. Seigo
1b826931d3 SVN_SILENT: being picky
svn path=/trunk/KDE/kdelibs/; revision=1173600
2010-09-09 20:10:33 +00:00
Aaron J. Seigo
de28184c32 use QSvgRenderer, now that KSvgRenderer is a shallow wrapper around it since QSvgRenderer gained it's (previously) add-on functionality to QSvgRenderer
svn path=/trunk/KDE/kdelibs/; revision=1140887
2010-06-21 18:28:47 +00:00
Marco Martin
3660bcf30d adjust the width/height by the offset, don't calculte another offset that is plain wrong
svn path=/trunk/KDE/kdelibs/; revision=1111250
2010-04-05 09:20:59 +00:00
Marco Martin
fd3cb4d9a0 SVN_SILENT
less noise

svn path=/trunk/KDE/kdelibs/; revision=1091739
2010-02-17 12:39:23 +00:00
Marco Martin
d661297dc3 unbreak actualElementId
svn path=/trunk/KDE/kdelibs/; revision=1090746
2010-02-15 22:55:43 +00:00
Marco Martin
de832d5e60 when asking to render an element, search before for one with a width-height- prefix. if not found, fallback to the usual one
svn path=/trunk/KDE/kdelibs/; revision=1090743
2010-02-15 22:49:19 +00:00
Marco Martin
5f1cde4b29 try to align elements to the pixel grid, if it was not exactly alighed to integer positions and sizes
svn path=/trunk/KDE/kdelibs/; revision=1090708
2010-02-15 20:36:35 +00:00
Aaron J. Seigo
c27ddab67e QPointer -> QWeakPointer
svn path=/trunk/KDE/kdelibs/; revision=1034904
2009-10-13 21:43:35 +00:00
Christoph Feck
1a94dec4e2 Fix color aware themes
BUG: 208841

svn path=/trunk/KDE/kdelibs/; revision=1031687
2009-10-05 18:57:06 +00:00
Aaron J. Seigo
1a7416e23b avoid hitting disk repeatedly on svg find failure
svn path=/trunk/KDE/kdelibs/; revision=1029044
2009-09-28 20:41:37 +00:00
Marco Martin
2a7747c584 use base 16, should be slightly faster
svn path=/trunk/KDE/kdelibs/; revision=1000133
2009-07-20 21:48:28 +00:00
Marco Martin
627b939e12 fix build with int -> qint64
svn path=/trunk/KDE/kdelibs/; revision=1000123
2009-07-20 21:24:12 +00:00
Marco Martin
94f3c6a498 fix a performance issue: add a new insertintocache function, the new
parameter is used to identify pixmaps that shouldn't be inserted in the
pixmap cache on disk

BUG: 200313

svn path=/trunk/KDE/kdelibs/; revision=1000100
2009-07-20 20:30:07 +00:00
Aaron J. Seigo
f9d7a4bfa2 be absolutely sure to reset the natural size and renderer of the svg when theme or path changing
BUG:194948

svn path=/trunk/KDE/kdelibs/; revision=976576
2009-06-02 06:00:00 +00:00
Aaron J. Seigo
214c0348a3 put the delayed write-to-cache in theme rather than svg; this means that there is one collection per theme instead of one per svg, one timer per theme rather that one per svg and one write out to cache for the theme. win!
svn path=/trunk/KDE/kdelibs/; revision=975389
2009-05-30 03:08:33 +00:00
Aaron J. Seigo
ddbd8d2709 sometimes the fixes are simple :)
BUG:194194

svn path=/trunk/KDE/kdelibs/; revision=973270
2009-05-26 18:29:28 +00:00
Aaron J. Seigo
7e4ca0dd7b revert last change; we always care when the theme changes on us
svn path=/trunk/KDE/kdelibs/; revision=972836
2009-05-25 19:59:53 +00:00
Marco Martin
9a2967bd81 if we are not displaying the default theme we don't care if it changes
svn path=/trunk/KDE/kdelibs/; revision=971592
2009-05-22 20:47:02 +00:00
Aaron J. Seigo
195df16da7 * only set the image path when setTheme is called if we have one already set
* check for colourization after the path is set so that it, well, actually works. oops.

svn path=/trunk/KDE/kdelibs/; revision=969913
2009-05-19 08:54:56 +00:00
Aaron J. Seigo
c0dcfc94eb simply the code somewhat
svn path=/trunk/KDE/kdelibs/; revision=969582
2009-05-18 13:43:49 +00:00
Aaron J. Seigo
f44b6a256f be a bit more careful with accessing the internal theme pointer, try a bit harder not to cause creation of the defaultTheme if it hasn't been
svn path=/trunk/KDE/kdelibs/; revision=969534
2009-05-18 13:20:52 +00:00
Aaron J. Seigo
939954fac0 * delay initialization of the theme pointer to the defaultTheme so that unthemed svgs don't incur the penalty of associating with the default theme, and new svg's have the chance to set their theme before setImagePath is called.
* always use the theme pointer and never defaultTheme() directly

svn path=/trunk/KDE/kdelibs/; revision=969469
2009-05-18 12:42:02 +00:00
Aaron J. Seigo
c7399bcbc2 allow setting the theme to use with the svg; removes assumptions that the current default theme is the appropriate source for file and cache data
svn path=/trunk/KDE/kdelibs/; revision=969461
2009-05-18 12:26:57 +00:00
Aaron J. Seigo
170e38756f usingDiskCache -> usingRenderingCache; removes the implementation detail that it's caching to a disk from the method names; also revert the eroneous setter i added to Wallpaper, it was already there as isUsingRenderingCache
svn path=/trunk/KDE/kdelibs/; revision=967627
2009-05-13 16:13:56 +00:00
Aaron J. Seigo
0ab881867d allow caching to be turned off for Svg objects which won't benefit from it
svn path=/trunk/KDE/kdelibs/; revision=967623
2009-05-13 16:07:58 +00:00
Aaron J. Seigo
03ee0a6839 revert these changes as they go violate a number of design principles; this has been patiently explained a number of times now.
svn path=/trunk/KDE/kdelibs/; revision=962172
2009-05-01 16:28:10 +00:00
David Nolden
347c0caac4 - Allow painting a background color, or a background pattern behind freely floating elements of the theme, to provide a better fallback mechanism for transparent themes when composition is not available.
The color/pattern is given through the configuration file, and updating due to changes of the configuration file works perfectly. A simple user-interface to use this will be added to the panel configuration.
If you want to try this out, put into the [Theme] section of your plasmarc file:
frameBackgroundColor=#aacc00 (Your picked color)
frameBackgroundColorAlpha=120 (Alpha value for the color, between 0 and 255, 0=invisible, 255=opaque)
frameBackgroundPattern=/path/to/image
frameBackgroundPatternAlpha=255 (Alpha value for the pattern, as above)

The color is painted first, then the pattern. They are painted into the mask defined by the theme, so this only works nicely with themes that supply proper masks.


svn path=/trunk/KDE/kdelibs/; revision=961915
2009-05-01 00:41:41 +00:00
Olivier Goffart
9264bd3e76 Plasma::Svg: Round the drawing size to the pixmap size, otherwise we can get bad arctefacts.
(noticable on the eyes applet)


svn path=/trunk/KDE/kdelibs/; revision=941021
2009-03-18 18:06:56 +00:00
Arthur Renato Mello
827f5f19be Add support to check with file timestamp if cache for Plasma::Svg is still valid.
svn path=/trunk/KDE/kdelibs/; revision=940638
2009-03-17 21:08:48 +00:00