Commit Graph

97 Commits

Author SHA1 Message Date
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
42172d0178 Achieve the additional background painting without adding any public API
svn path=/trunk/KDE/kdelibs/; revision=962014
2009-05-01 12:17:04 +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
Aaron J. Seigo
614954756b we probably don't really need to see this on start up
svn path=/trunk/KDE/kdelibs/; revision=960581
2009-04-28 17:10:17 +00:00
Arthur Renato Mello
6c5889f323 Check useCache() before using pixmapCache that could be not instantiated.
svn path=/trunk/KDE/kdelibs/; revision=947031
2009-03-30 19:46:01 +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
Wang Kai
daef833362 BUG: 179684
BUG: 181451
sync the config, and connect the config file's create signal
so Plasma::Theme::themeChanged() work across process 

svn path=/trunk/KDE/kdelibs/; revision=933145
2009-02-28 06:40:54 +00:00
Aaron J. Seigo
a88f2d8247 FEATURE: allow themes to state that they should use the native widgets
svn path=/trunk/KDE/kdelibs/; revision=931193
2009-02-24 22:42:06 +00:00
Aaron J. Seigo
01e4d0916a don't bother writing the settings if we just read them!
svn path=/trunk/KDE/kdelibs/; revision=931141
2009-02-24 20:49:46 +00:00
Aaron J. Seigo
9ade53ab61 try and watch the config file for changes and reload the theme at that point; for some reason KDirWatch::addFile isn't working for me, but KDirWatch::addDir is? hmm...
svn path=/trunk/KDE/kdelibs/; revision=916823
2009-01-26 06:22:44 +00:00
Aaron J. Seigo
b4b0494129 use plasmarc
svn path=/trunk/KDE/kdelibs/; revision=916816
2009-01-26 04:41:39 +00:00
Marco Martin
c532c9fda5 initialize the natural size also for absolute path svgs
never insert the whole image (no element) in the invalid list

to backport or not to backport?
CCMAIL plasma-devel@kde.org

svn path=/trunk/KDE/kdelibs/; revision=915328
2009-01-22 19:59:25 +00:00
Marco Martin
7031c9a7c4 make the Wallpaper section of metadata.desktop actually work
svn path=/trunk/KDE/kdelibs/; revision=904433
2009-01-02 10:52:14 +00:00
Andrew Lake
fc4ef631d4 For kdisplayPalleteChanged signals, emit themeChanged() after updating
plasma color scheme, not simultaneously.

svn path=/trunk/KDE/kdelibs/; revision=902575
2008-12-28 17:50:32 +00:00
Andrew Lake
fb3d7e75cb colorScheme and buttonColorScheme need to be updated the color changes
for system-color themes.  Also clear out itemsToSave on colorChange.

svn path=/trunk/KDE/kdelibs/; revision=898780
2008-12-19 01:48:42 +00:00
Davide Bettio
60a42ae854 Air is the new default wallpaper.
svn path=/trunk/KDE/kdelibs/; revision=897711
2008-12-16 17:28:25 +00:00
Aaron J. Seigo
e317155238 make sure the rects cache file is always valid
BUG:177463

svn path=/trunk/KDE/kdelibs/; revision=895593
2008-12-11 06:24:25 +00:00
Aaron J. Seigo
f4486e8862 * remove in-memory entries for invalid elements when an svg is no longer in use
* remove in-memory entries for invalid elements when the rect cache is invalidated for an svg

svn path=/trunk/KDE/kdelibs/; revision=895570
2008-12-11 02:45:45 +00:00
Aaron J. Seigo
7cfce67821 lists to sets and trying to do fewer collection lookups
svn path=/trunk/KDE/kdelibs/; revision=895540
2008-12-10 23:17:12 +00:00
Marco Martin
232986330b clear local memory caches and stop cache timers when theme changes
svn path=/trunk/KDE/kdelibs/; revision=895370
2008-12-10 14:35:44 +00:00
Marco Martin
6d0e474ba9 detach from the config of rects cache before deleting it
svn path=/trunk/KDE/kdelibs/; revision=895360
2008-12-10 14:21:08 +00:00
Aaron J. Seigo
a6140d5a27 use isEmpty; a couple minor, minor changes that crept in while debugging things elsewhere
svn path=/trunk/KDE/kdelibs/; revision=895022
2008-12-09 20:37:41 +00:00
Aaron J. Seigo
e377d738ec base the name of the cache on the theme name so that different apps can share it (krunner, plasa, etc)
svn path=/trunk/KDE/kdelibs/; revision=892641
2008-12-04 20:13:50 +00:00
Marco Martin
5a987e0a0b no longer uses plasmarc for the presence or not of those hints but uses
the usual theme specific file.
and expires the cache when system color changes and a tinting is
required.
for some reasons a plasma restart is still required to get colors
applied correctly, some renderer doesn't get properly deleted on theme
change?

svn path=/trunk/KDE/kdelibs/; revision=885241
2008-11-16 20:53:24 +00:00
Marco Martin
67e6abb7f5 discard cache when composite changes
would make too many deletions?
another way could be including the compositing state in the cache key
but would be  a bit complex...

svn path=/trunk/KDE/kdelibs/; revision=883978
2008-11-13 22:41:02 +00:00
Marco Martin
b8490cc745 when the modification time of the metadata file, discard the cache
svn path=/trunk/KDE/kdelibs/; revision=882120
2008-11-09 20:41:27 +00:00
Aaron J. Seigo
df73771a1b ++compile
svn path=/trunk/KDE/kdelibs/; revision=879801
2008-11-04 02:55:37 +00:00
Aaron J. Seigo
4b08c03726 change KDE includes to use the .h style now that we're in libs
svn path=/trunk/KDE/kdelibs/; revision=879795
2008-11-04 02:04:34 +00:00
Aaron J. Seigo
1b523b9054 ok, this time JUST the plasma dir ;)
svn path=/trunk/KDE/kdelibs/; revision=879759
2008-11-03 23:08:39 +00:00
Aaron J. Seigo
fa5a2d87d9 bum-de-dum! plasma to kdelibs.
svn path=/trunk/KDE/kdelibs/; revision=879757
2008-11-03 23:03:26 +00:00
Laurent Montel
53c6071fc8 Fix mem leak found by valgrind
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=874299
2008-10-21 07:33:06 +00:00
Aaron J. Seigo
2f501ace5e make cache strategies configurable
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=872726
2008-10-17 23:41:34 +00:00
Aaron J. Seigo
5197a55791 allow setting of the disk cache size; init it to "no limit", so we can see how that puppy grows with time
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=872362
2008-10-17 02:26:26 +00:00
Marco Martin
3f5ddc5aee fix a typo
put "Size" siffix to sizes, so now we can have an element called "invalidElement" 
avoid duplicate entries in invalidElement

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=872254
2008-10-16 18:34:43 +00:00
Marco Martin
089fb6ea94 cache on disk rects of elements and the not-existence of them
should avoid some calls of createRenderer() the second time it's queried

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=872250
2008-10-16 18:25:20 +00:00
Aaron J. Seigo
6374635bf3 on disk pixmap cache, and use it agressively for svg's. first step towards "no svg parsing on second run"!
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=871870
2008-10-15 20:55:07 +00:00
Allen Winter
c4573eae9a use QString::clear() to clear a QString instead of assigning QString().
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=870305
2008-10-12 11:05:42 +00:00
Allen Winter
a7aebfa60a a bunch more coding style fixes. still some lines longer than 100 chars.
this is definitely helping me find false positives in the Krazy style checker.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=870161
2008-10-11 22:48:38 +00:00
Aaron J. Seigo
1f95d86db4 * add DesktopFont
* provide button colors

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=868328
2008-10-06 04:10:34 +00:00
Fredrik Höglund
48b41f3a85 Creating a KColorScheme is expensive, so let's not do that every time
someone calls Theme::color().

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=867517
2008-10-03 17:44:04 +00:00
Aaron J. Seigo
35f8bbcc64 be careful with relative paths and symlinks in packages and themes; we don't want widgets referencing random files/resources, just stuff in the given package
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=848476
2008-08-17 20:52:37 +00:00
Aaron J. Seigo
63bce9d1b4 move all the prive code into private/; makes it much clearer with the division lines are
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=839792
2008-07-30 20:35:42 +00:00
Alessandro Diaferia
e9386fe8dc fallback to default theme also when a plaint svg is used
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=838356
2008-07-27 15:50:00 +00:00
Aaron J. Seigo
538272d133 make Theme::currentThemeHasImage check for compressedsvg files
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=836139
2008-07-21 19:36:47 +00:00
Aaron J. Seigo
9732101c83 support compressed svg files
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=835219
2008-07-20 09:23:59 +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
Aaron J. Seigo
cd2feaca66 while writing documentation it occurred to me that the colors file is the wrong place for this: it must be possible to define a wallpaper and colors separately
also put the checking for wallpapers in the theme into theme initialization instead of doing it on every wallpaper lookup

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=825612
2008-06-28 20:20:22 +00:00
Aaron J. Seigo
96c004fc9d SVN_SILENT: didn't mean to leave this debug output activated
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=825597
2008-06-28 19:08:14 +00:00
Aaron J. Seigo
f4b17accac Plasma::Theme::wallpaperPath(const QSize&)
a nice improvement that fixes a small handful of packaging bugs and nuisances.
it allows us to do away with harcoding the wallpaper in multiple places (previously 3 places) in application code. as an extra bonus is also allows:

* the theme to define the default wallpaper
* the theme to ship with a default wallpaper (perhaps later on we can load wallpapers shipped with a theme in the config dialog?)
* the default wallpaper to defined in the plasmarc file (so downstream doesn't have to hack the code to change it)

CCMAIL:panel-devel@kde.org
CCMAIL:kde-artists@kde.org

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=825592
2008-06-28 18:57:12 +00:00
Aaron J. Seigo
d03c0f5eb6 when changing the use globals setting, reset the state of the theme to comply
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=820932
2008-06-15 20:09:27 +00:00