26 Commits

Author SHA1 Message Date
Albert Astals Cid
5c46e32993 Q_ENUMS -> Q_ENUM and Q_FLAGS -> Q_FLAG
REVIEW: 129826
2017-01-14 01:06:28 +01:00
Marco Martin
4de0dd2e90 rename state property in status
emergency change: in Qml the name "state" for a property
is reserved for the internal state machine, so any object that
exposes a "state" property on its own would automatically
break the state machine
2016-06-01 14:47:56 +02:00
Marco Martin
f3c05034d9 Selected state for Plasma::Svg and IconItem
Like KIconloader, support a Selected state, in IconItem,
as in all generic svgs/framesvg
it replaces the text color with HighlightedText and the
background color with HighlightColor

Change-Id: Id97a527405d2c3feed75a172f05547defdbf440c
REVIEW:127975
2016-05-31 11:10:47 +02:00
Marco Martin
c1065ccf39 Theme breeze icons when loaded trough IconItem
This makes IconItem try to load global icons from the theme
with Plasma::Svg as well, making it assign the colors from
the stylesheet if the breeze monochrome icons are treated,
that should be scriptable, from some attempts i did the
script seems to convert them correctly, without any
change in rendering.

This will automatically color monochrome breeze icons only
in plasmashell, and more specifically only those that use
IconItem, not QIconItem (iconitem should probably have an
animation-less mode to be able to be used in taskmanager
and stuff)
perhaps in the future we'll be able somehow to hook all
this stuff in QIconEngine to be able to use it in QWidget
applications, but since QIcon does have any idea where it is,
is not usable yet for things like the fullscreen fixed-dark
gwenview view.

Change-Id: I28e5fedabafbe8ed82a9df7614f8e2af18c6a24d
REVIEW:125657
2015-10-20 11:49:20 +02:00
David Edmundson
fd9a936393 remove superfluous semicolon
Change-Id: Ic272871230de8d004159560aa8cc1d91df5857eb
2015-09-08 16:52:50 +02:00
Marco Martin
148e0022f6 Make Svg,FrameSvg work qith QT_DEVICE_PIXELRATIO
when QT_DEVICE_PIXELRATIO is something different from 1,
the pixmaps generated by Svg will be scaled up to give a proper texture.

This is complementary but not replacing our current approach:
the pixelratio that can be accessed by units is now in relation to the qt pixel ratio,
spacings are also adjusted accordingly (therefore, spaces and sizes won't
need an integer value like pixelratio)

svg introduces also a scaleFactor property (that is pretty much like its old pixelRatio)
basically, scalefactor, will scale both the textures and all the reported sizes,
(old method) pixelratio just scales textures without altering measures
(like qt pixelratio likes)

Change-Id: I304aa0d80abf76abafac239be185dd3b2ab741b7
REVIEW:122673
2015-03-10 18:02:15 +01:00
Kevin Funk
7e302a5236 Use Q_DECL_OVERRIDE where possible
REVIEW: 122542
2015-02-13 13:31:58 +01:00
Marco Martin
aa7b3ff773 typo
Change-Id: Ia8dd4676cb45166bfc5f5e55b3c30a15f895d39f
2014-10-11 21:04:10 +02:00
Marco Martin
66a1a497ef add a property to tell if fallback happened
add a property in Svg (and framesvgitem) to tell if the current theme
has this image, or if some fallback did happen
useful for items that are better not displayed than showing the potentially different
default theme

Change-Id: Ib914c0e196c5c941d35d9a600cc7d38818fc754f
2014-10-10 17:36:44 +02:00
Marco Martin
8eb1bc10f5 Introduce the ColorScope class
it's an import in core, and advertises itself as an "attached property"
with this we can:
say that all its chidren are of a certain context, like "button" or
"complementary"

then anywhere there will be available an attached property, as ColorScope,
so like:

PlasmaCore.ColorScope {
 group: PlasmaCore.Theme.Complementary

 PlasmaComponents.Label {
   text: "foo"
   color: ColorScope.textColor
 }
}
2014-06-19 17:40:14 +02:00
Marco Martin
b755bd1e32 ColorGroup is part of Theme 2014-06-18 19:22:02 +02:00
Marco Martin
4ad2cc5196 new color group of "complementary" colors
for areas intended to have independent background and text color than
all the rest, like the Logout dialog

if Colors:Complementary is not present in the theme, it falls back to
normal colors
2014-06-18 19:02:08 +02:00
Marco Martin
d3f73c59f3 apidoc 2014-06-09 19:44:52 +02:00
Marco Martin
fa95680a51 use color groups instead
the Text and Background colors can become buttonText or ButtonBackground
based on the svg property ColorGroup
2014-06-09 19:35:58 +02:00
Marco Martin
cac2704d50 prototype of more flexyble svg stylesheets
experiment in dynamic repacement of Text and Background
colors, in order to be able to generate icons of different colors
based on where they are (for instance if the normal background
is dark and the button background is light

at the moment supported an option to invert colors, one
to use the "highlight" color (if we want colored icons
on mouse over)
2014-06-09 17:35:46 +02:00
Kevin Ottens
72ba7b4146 Apply the astyle-kdelibs script 2014-04-26 01:48:37 +02:00
Aurélien Gâteau
43e2b0f670 Unbreak build of code using plasma-framework
plasma_export.h is now installed in include/plasma/, not in include/.
Code using plasma-framework does not have include/plasma in its include
directory list, so plasma-framework headers must refer to others using
</plasma/foo.h>, not "foo.h".

CCMAIL: aleixpol@kde.org
2014-03-18 12:01:36 +01:00
Aleix Pol
2ef12f1ee8 More headers tweaking
Don't install the camel-case headers twice
Look for the plasma_export.h in the current directory instead of jumping
around in the project.
2014-03-17 16:48:49 +01:00
David Edmundson
66bac622b4 Merge branch 'davidedmundson/svgrendering'
Conflicts:
	src/declarativeimports/core/svgitem.cpp
	src/declarativeimports/core/svgitem.h

REVIEW: 115923
2014-02-28 16:22:49 +01:00
David Edmundson
8bdbc034d4 Add SVG::image(QSize size,QString elementId)
This allows SVGItem to fetch elements at various sizes without resizing
the SVG.
2014-02-28 15:24:08 +01:00
Marco Martin
17332257d7 experimental devicePixelRatio in Plasma::Svg
Conflicts:
	src/declarativeimports/core/framesvgitem.cpp
2014-02-21 19:24:14 +01:00
David Edmundson
9459ed1f02 Add convenient QImage image() getter in SVG 2014-02-21 15:15:21 +01:00
Marco Martin
60565dafcb get rid of elementAtPoint()
was a stub, never implemented because qtsvg doesn't support it (and never will)
2014-02-14 14:30:58 +01:00
Sebastian Kügler
18c12fb520 Port Plasma::Svg away from KGlobalSettings 2013-10-05 06:19:51 +02:00
Martin Gräßlin
ea376016c0 Add notify signal for Svg::imagePath property
The missing notify signal was causing problems in QtQuick2:
"depends on non-NOTIFYable properties".

Reviewed-By: Marco Martin
2013-10-01 11:34:39 +02:00
Sebastian Kügler
7dfe957e66 The Big Move
All cpp code moves into the src/ subdirectory, as the Frameworks policy
suggests.

Directory structure should now be in line with other, future frameworks.
2013-02-14 17:17:12 +01:00