Commit Graph

70 Commits

Author SHA1 Message Date
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
8b7bb8b125 * add ability to list info for all available themes
* add ability to create a Theme object for a specific theme without first accessing the defaults

svn path=/trunk/KDE/kdelibs/; revision=969464
2009-05-18 12:28:19 +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
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
f7bbfe7c86 improve the apidox
svn path=/trunk/KDE/kdelibs/; revision=952055
2009-04-10 19:27:42 +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
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
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
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
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
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
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
Enrique Matías Sánchez
e27379f475 SVN_SILENT Fix typos in kdebase
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=875089
2008-10-23 09:31:44 +00:00
Marco Martin
88137e4136 comments++
did forgot them on the forst iteration :)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=872552
2008-10-17 13:09:18 +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
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
e88e2faa63 first batch of small coding style fixes.
these were found while testing the Krazy style checker, which I'm adapting
for the kdelibs style.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=870051
2008-10-11 16:19:04 +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
Alex Merry
e293d7d785 Specify includes in apidocs, so we get
#include <Plasma/Foo>
at the top of the apidocs pages.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=852289
2008-08-25 17:47:48 +00:00
Marco Martin
37be252250 add button text and button background colors
accessible by the ButtonTextColor and ButtonBackgroundColor color roles

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=842203
2008-08-04 21:23: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
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
Marco Martin
5ddceb467b add Theme::currentThemeHasImage() that checks if the current theme has a
certain svg or if it would fallback to the default theme if loaded.
this makes possible an alternative fallback mechanism between images of
the same theme, used now for the TransparentBackground background hint

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=816734
2008-06-04 17:44:37 +00:00
Marco Martin
27fe9143ff explicitly setting BackgroundColor = 2 seems to prevent both HighlightColor
and BackgroundColor = 1 (probably compiler issues)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=816428
2008-06-03 20:39:55 +00:00
Aaron J. Seigo
b4dc4d9e75 like a rainbow.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=816090
2008-06-03 08:51:57 +00:00
Aaron J. Seigo
d14534ba12 allow using the global theme
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=806696
2008-05-12 04:53:13 +00:00
Richard Dale
18485b8659 * Remove the Plasma::Theme::setApplication() declaration from the header now it's gone from the source
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800577
2008-04-24 12:27:24 +00:00
Aaron J. Seigo
29e32dd145 * compositingActive -> windowTranslucencyEnabled
* slots -> Q_PRIVATE_SLOT

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800343
2008-04-23 22:55:30 +00:00
Aaron J. Seigo
d28a4c277a consolidate color and font methods into one method for each with a role enumeration
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800334
2008-04-23 22:36:00 +00:00
Anne-Marie Mahfouf
273c045f2d fix typo
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800068
2008-04-23 08:38:53 +00:00
Anne-Marie Mahfouf
dcdb7b8f9a API review signal changed() -> themeChanged()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800067
2008-04-23 08:35:35 +00:00
Aaron J. Seigo
19b4f6c71f avoid infinite recursion
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800035
2008-04-23 04:50:44 +00:00
Anne-Marie Mahfouf
36bc2c4e97 Plasma::Theme::self() -> Plasma::Theme::defaultTheme() as planned during the sprint
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=799919
2008-04-22 21:10:14 +00:00
Dmitry Suzdalev
b237019d4f Plasma API adjustements:
Theme::colors() => Theme::colorScheme()
Theme::image() => Theme::imagePath()

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=797634
2008-04-16 15:53:16 +00:00
Alexis Ménard
4467261c95 Merge woc branch to trunk, say good bye to old plasma, there is a lot of stuff to port
applets, 
please update to another revision to use the version that works

green flag from aaron


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=796368
2008-04-13 13:23:39 +00:00
Davide Bettio
8e45bf56db Added overlay support. To use it add to your theme overlay.svg.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=796088
2008-04-12 14:07:44 +00:00
Marco Martin
afdb5e84a0 reworked how shaped windows with svg backgrounds are obtained:
there is a new function PanelSvg::mask() that returns a qbitmap of the areas of the svg with alpha=0 that can be used to create the mask of the window, at the moment used in tooltip and dialog (krunner still to come).
so now windows that uses svg backgrounds should always set PanelSvg::mask() as their own mask, regardless if composite is active or not.
In this commit there are also two (identical) svgs for opaque tooltips and dialogs with pixelated rounded borders that looks good without antialiasing (and unlike the previous version they are vector based now).

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=782727
2008-03-05 21:03:27 +00:00
Aaron J. Seigo
450d289094 color scheme signalling, patch by Andrew Lake
CCMAIL:jamboarder@yahoo.com

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=779435
2008-02-26 05:08:08 +00:00
Aaron J. Seigo
bed3c1d927 * share the package structures by using a single shared ptr
* use the script's contentSizeHint if we are a script

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=779417
2008-02-26 04:08:51 +00:00
Aaron J. Seigo
cf89bd58d1 make it possible to get at the package structures using Theme::packageStructure() and Applet::packageStructure() without having to export the package definitions from the library itself.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=775272
2008-02-15 10:35:00 +00:00
Aaron J. Seigo
2a051a9315 make Theme react to compositing changes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=771968
2008-02-07 10:54:38 +00:00
Aaron J. Seigo
2e050f7b05 convenience accessor to background widget colour
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=758502
2008-01-08 01:43:13 +00:00
Aaron J. Seigo
7be6e23d58 add ability to set the general font to something else at runtime
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=751049
2007-12-20 23:44:08 +00:00
Aaron J. Seigo
34bd2b87b2 font accessors for the theme
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=750643
2007-12-19 19:56:39 +00:00
Aaron J. Seigo
3166344116 textColor() convenience method
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=742361
2007-11-27 21:56:47 +00:00
Pino Toscano
0f889fd7c8 proper include for public header
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=733281
2007-11-06 01:23:15 +00:00