Commit Graph

1196 Commits

Author SHA1 Message Date
Leslie Zhai
97ef641566 Add HiddenStatus for plasmoid self-hiding
Self-hiding plasmoid is useful https://forum.kde.org/viewtopic.php?f=83&t=39501
for example, bluetooth plasmoid can be totally hided when there is NO bluetooth
adpater available.

PassiveStatus is NOT enough, because plasma-workspace's systemtray applet ONLY
hide the passive status plasmoid into ExpandedRepresentation. when click the
expanding triangle, the 'hidden' plasmoid is still visible.

So I added HiddenStatus and implemented it in the plasma-workspace systemtray
applet.

REVIEW: 126297
2015-12-23 22:17:20 +08:00
David Edmundson
01cd374c8e Don't emit statusChanged if it hasn't changed
For some applets the status is bound to a complex expression that can be
re-evaluated a lot. This ends up causing a lot of unnecassary updates.

REVIEW: 126471
2015-12-22 17:32:28 +00:00
David Rosca
bca8e87531 Containment: Don't emit appletCreated with null applet
ContainmentPrivate::createApplet may return null pointer
(eg. when desktop is immutable), so check the pointer before
emitting appletCreated.

REVIEW: 126449
BUG: 356428
2015-12-21 15:00:22 +01:00
Michael Pyne
600bdda045 Fix potential use-after-free in FrameSVG.
Plasma framework's FrameSVG class uses cached regions for efficiency. However
Coverity caught a mis-use of QCache in FrameSvg::mask(), which could lead to a
use-after-free situation. (CID 1291560)

Basically, any pointer passed into QCache::insert must be assumed to be deleted
after insert() has been called -- we can't then return that pointer to the
caller.

Moreover we were simply returning a pointer to calling code that had been (and
still would be) owned by QCache, which is unsafe as it can be deleted at any
time. The fix in both cases is to make a local copy of the QRegion from out of
the cache and return that.

REVIEW:126411
FIXED-IN:5.18
2015-12-17 21:34:04 -05:00
Martin Klapetek
76186339f6 [libplasma] Add categorized debug output 2015-12-15 16:56:40 -05:00
Martin Klapetek
2df5c4d1eb Add a warning if Plasma fails to load the ScriptEngine
Should help in the future if there are similar problems like the recent
one when Plasma wouldn't load because it failed to load the ScriptEngine
and nobody knew why it fails to load.
2015-12-15 09:49:40 -05:00
Martin Klapetek
54602237fd Read KPluginMetada's property X-Plasma-ComponentTypes as a stringlist
plasma-scriptengine.desktop defines the property "X-Plasma-
ComponentTypes" as Type=QStringList. When reading it using
KPluginMetaData::value(..) it expects a QString back. This
used to work but regressed in kcoreaddons in commit
cfd18cf09b559a050fd6a2680ad4e71eeb950383.Making it read the
property as a stringlist works and is correct and also fixes
Plasma startup.

REVIEW: 126320
2015-12-14 09:04:52 -05:00
Marco Martin
5f92df4799 Let containments override CompactApplet.qml
the CompactApplet file from the shell package
defines the behavior of the poopup applets in
the panel (it implements an internal dialog
and all that jazz)
implementing a simplified systray(both the one
for the phone and a separate one for the desktop),
i noticed that a containment may have different
ideas on how to expand an applet: the systray would
have for instance a single popup dialog and put all
of its applet full representtions in the same Dialog,
this lets containment representation to override
that file (*if* won't get abused, that's the only
thing makes me a bit on the fence about this)
It would make possible also fairly different designs
that have been proposed in the past, such as the bug
sidebar similar to the "charm bar"

Have to keep an eye opened if having the file list
changing with the path may be an issue, but
shouldn't as ChangeableMainScript already does
something similar.

Change-Id: I1c7fda55d6829d3a67f511c91822b131dea85ac1
REVIEW:126244
2015-12-10 23:10:02 +01:00
Marco Martin
2751b72835 mechanism for coronas to load plasmoids from custom folders
applications such as Amarok can look for their plasmoids in
their own data dir in order to not have all mixed up
2015-12-01 17:39:05 +01:00
Nick Shaforostoff
c7c2980f14 qstring optimizations
REVIEW: 126148
2015-11-27 20:03:48 +00:00
Marco Martin
4e143813b4 example without a wallpaper 2015-11-24 12:15:11 +01:00
Marco Martin
1a804c33e2 use qGuiApp instead of qApp 2015-11-20 14:37:17 +01:00
Marco Martin
a9d3d9a81a make event filters static to decrease installed filters on qApp
since seems there are so many event filters installed
on the QApplication installed that may give performanc
 issues, try to use separate, singleton watchers for them
to decrease the amount of eventfilters called

REVIEW:126113
2015-11-20 14:26:16 +01:00
Marco Martin
c8b9b852ef check for slot existence before connecting or disconnecting
since this is a blind connect to a slot that may exist
or not exist, the new syntax can't be used, but check
for the slot existence before attempting a connection

BUG:354751
2015-11-11 11:07:46 +01:00
Martin Gräßlin
286300ad35 Use newer cmake syntax for XCB dependencies 2015-11-09 11:11:06 +01:00
Nick Shaforostoff
db7f198a19 -use QStringLiteral and QLatin1String in the code that is executed multiple times (avoids utf8->utf16 conversions)
-use splitRef when converting parts of qstring to ints to avoid redundant memory allocations
-warnings--: remove redundant ';'

CCMAIL: notmart@gmail.com
2015-11-06 13:39:18 +00:00
l10n daemon script
01f4cf59ea SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2015-11-04 17:07:45 +00: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
Marco Martin
84fc7672f6 introduce appletCreated signal
appletCreated is different from appletAdded because it gets
emitted only when the user explicitly creates one, so not in
case of an applet migrating and not during restore
needed by https://git.reviewboard.kde.org/r/125562/

REVIEW:125569
Change-Id: I1db9286beb160391c13f1aca0ac48ed490495ea2
2015-10-13 14:26:53 +02:00
Marco Martin
64fdce2086 Revert "plasma: Fix applet actions might be nullptr"
This reverts commit 4e9b32d80d.

doesn't fix the problem and just introduces a memleak
(the crash is actually about a deleted containment,
so the problem is somewhere else)
CCMAIL:xiangzhai83@gmail.com
2015-10-07 17:19:13 +02:00
Marco Martin
f4c6042b37 if the desktop file has Icon=/foo.svgz use that file from package
restore a feature from Plasma4, the ability for plasmoids to provide
an icon insude their package.
intended for GHNS plasmoids,
already used in the widget explorer, this makes it the default
 plasmoid icon as runtime as well.

Change-Id: I196897eeedbe0c385c2795ab73c278f7c837221d
REVIEW:125336
2015-09-24 20:57:54 +02:00
Marco Martin
c149b1d382 add a "screenshot" file type in packages
Change-Id: I8f6b809ae0e4e768dff48cf21336db6dd40f677e
2015-09-24 11:53:20 +02:00
David Kahles
8a85589afc Remove the documentation of the non-existent parameter "desktop"
REVIEW: 125171
2015-09-12 18:08:03 +02:00
Martin Klapetek
e07778d97b Simplify getting associated apps list in AssociatedApplicationManager
REVIEW: 125105
2015-09-08 12:30:51 -04:00
David Edmundson
fd9a936393 remove superfluous semicolon
Change-Id: Ic272871230de8d004159560aa8cc1d91df5857eb
2015-09-08 16:52:50 +02:00
l10n daemon script
98583160cb SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2015-08-28 10:20:30 +00:00
l10n daemon script
c718ba4b48 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2015-08-26 10:19:25 +00:00
Leslie Zhai
4e9b32d80d plasma: Fix applet actions might be nullptr
BUG:351777
2015-08-26 17:24:29 +08:00
David Edmundson
7061235418 Handle an invalid metadata in PluginLoader
REVIEW: 124823
2015-08-20 16:10:03 +01:00
Kai Uwe Broulik
6098528cd4 Add X-Plasma-NotificationAreaCategory definition 2015-07-20 14:14:52 +02:00
Bhushan Shah
084d527638 Print useful warning when we can not get valid KPluginInfo
We can not generate proper PluginInfo most likely because metadata was
not valid, printing metadata itself will not be useful and will result
in printing message like,

Could not load plugin info for plugin : "" skipping plugin

Which is 0% useful.
2015-07-16 19:13:44 +05:30
Marco Martin
fef51e71d6 cache naturalsize separately by scalefactor
solves some highdpi issues
saves and reads natural sizes separed by scalefactor
so they don't get mixed up when the scaefactor changes
resulting in wrongly sized items

reviewed-by:David Edmundson <david@davidedmundson.co.uk>
2015-06-24 10:38:53 -07:00
David Edmundson
99da4651c3 Verify KService has valid plugin info before using it
Change-Id: I361bb9f49e9fab108e524e5d321d114fd1fc4aae
REVIEW: 124062
2015-06-14 10:16:54 -07:00
Marco Martin
34935428e8 correctly scale up svgs
scale the natural size as well as sizes
this makes hugh dpi ratios to be more uniformly scaled
2015-06-11 18:01:53 -07:00
Kai Uwe Broulik
d65c0ed1d0 Bind translucent theme to background contrast rather than blur effect
Only the background contrast effect provides real contrast for contents, the blur effect
doesn't improve readability that much; so we now use the translucent theme only when we
have the background contrast effect. This significantly improves readability.

CHANGELOG: An opaque theme is now used when only the blur effect is available
REVIEW: 124039
BUG: 342934
BUG: 348154
2015-06-08 17:30:38 +02:00
Martin Klapetek
37590e2d2b Fix AssociatedApplicationManager lookup when a mimetype has no aliases
QMimeType::aliases() does not return the main mimetype in the returned
list and so when there are no aliases for a mimetype, there would be no
associated application found as it would be querying for empty mimetype.

This now always prepends the current mimetype to the list for which the
apps are queried.

REVIEW: 123779
BUG: 340326
FIXED-IN: 5.11
CHANGELOG: Fix AssociatedApplicationManager lookup when a mimetype has
no aliases

Change-Id: I322b03f2ac17fa4c0eb70fc3354c65a0f7a5e34c
2015-05-13 19:05:09 +02:00
Marco Martin
a7d4e52aed get rid of "Could not load applet" message
is misleading and not correct anymore

Change-Id: I6429d522d92d94661d14d618f20e1c604140a6a9
2015-05-11 17:48:01 +02:00
Marco Martin
f1c0a9a06b capability to load QML kcms in plasmoid config windows
With the same mechanism as plasma 1, add the possibility to load kcms directly
 in the plasmoids config windows. this works only for qml based ones.
the apply enable and trigger is correctly wired between the config dialog
and kcm apis.

Change-Id: I66b5ab2253dcbb5f223b5dcf5616efc9d5aab274
REVIEW:123673
2015-05-08 20:35:45 +02:00
Aleix Pol
ec6afe2a8a Don't use the DataEngineStructure for Applets
Use Plasmoid instead.

REVIEW: 123690
2015-05-08 19:24:38 +02:00
l10n daemon script
662adbb41b SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2015-05-08 10:19:36 +00:00
Marco Martin
ea924b1469 port libplasma away from sycoca as much as possible
this ports most of libplasma away from sycoca, using instead
a combination of KPluginLoader and KPackage::PackageLoader instead
(so eventually using their own little caches instead of the
global sycoca cache)
a kservicetypetrader call is left in the loading of
containmentactions since is the only way to make an older
workspace still work, but is only a fallback, so containmentactions
in plasma-workspace can be ported eventually as well

Change-Id: Ie9579c3e01284f6d97043e22d01bbe63d3c3f45a
REVIEW:123626
2015-05-07 16:26:37 +02:00
Sergio Martins
dea859ee60 Fix member initialization order [-Wreorder] 2015-05-03 20:36:59 +01:00
Sebastian Kügler
2b1a487428 Use KPluginLoader to load dataengines
KPluginLoader has all the needed machinery to identify a plugin by its
pluginId. No need to use the query parser here, replace it with a
lambda.

Look for C++ dataengines first. These are much more common, especially
in essential cases. By looking up the plugins through KPluginLoader
first, we can save querying ksycoca.

REVIEW:123297
CHANGELOG:Use KPluginLoader instead of ksycoca for loading C++ dataengines
2015-04-09 01:10:52 +02:00
Marco Martin
a5737b553e fix margin sizing after the imagepath changes
Change-Id: If47f4d538caf93a35b4ef008cbc5339a9ef265a0
2015-04-08 13:44:55 +02:00
Andrius da Costa Ribas
99d968e190 Convert switch/case statements to if/else due to MSVC being unable to recognise e.g. FrameSvg::TopBorder | FrameSvg::LeftBorder as a const expression (error C2051: case expression not constant)
REVIEW: 120877
2015-04-03 16:29:37 -03:00
Marco Martin
285224a2ea don't risk to mix up frames with different pixelratio
BUG:345155
Change-Id: I0b2384831d755e02b944a49259ffeacd0d2fb71e
2015-03-25 17:06:47 +01:00
Martin Klapetek
8bebf82fbf Update the documentation page with current informations
Change-Id: Iffe77b6ca173b2c09c74b8928a5412d2ce098a85
2015-03-24 15:32:33 +01:00
David Edmundson
4490a3b868 Initialise member varaibles
Change-Id: I174738b6f684b21c65df53db24bd5c1c71976c6a
2015-03-24 12:11:11 +01:00
David Edmundson
d9dd89890a Save a lookup in containmentActions
Also fixes an (arguably invalid) coverity warning

Change-Id: I1eebd475131b540517a7964c4ea9ec057a18c26f
2015-03-24 12:05:21 +01:00
Marco Martin
fac1100fff make sure to not emit immutabilityChanged at startup
if the immutability doesn't actuall change at startup,
don't emit immutabilityChanged even tough each applet needs
one ImmutableConstraint at start to correctly initialize
stuff

Change-Id: Id1fd40ffd62c09a2b092d13d7fb4c556cfb34994
2015-03-17 19:13:28 +01:00
Marco Martin
117898f4ed don't install notifyrc
the plasmashell notifyrc is unfortunately installed by frameworksintegration

Change-Id: I50aba5bef79150c3d8d92e9c2c94965daabd5e38
2015-03-17 18:30:45 +01:00
l10n daemon script
5265842028 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2015-03-14 10:19:38 +00:00
Marco Martin
80d5a6fdda start timer with invokeMethod
rectSaveTimer is used to event compress the save and sync of the
configuration file that is used as a cache of the rectangles of
svg items (in order to avoid svg renderers creation when possible)
there is exactly one situation where it seems to not work: during
creation of svgitems/framesvgitems, insertintorectcache ends up
being called by another thread than the Theme's qobject thread,
and that is not allowed.

with invokeMethod the timer will be started by the correct thread
REVIEW:122915

Change-Id: I3ff4a4ebd1dfdba4b9b830fe6c08feece19b903e
2015-03-12 15:15:45 +01: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
Marco Martin
993301c80b add missing K_EXPORT_PLASMA_APPLET_WITH_JSON
both old and new notation for compatibility:
same as DataEngine

Change-Id: I96af8f2255a94e1c0bc86e55ebb420de721444eb
2015-03-03 16:35:15 +01:00
Aleix Pol
e9bddef8ee Make it possible to let plasmoids to load scripts outside the plasma package
Adds a X-Plasma-Requires property for the plasmoid metadata files that will
specify the features.
Furthermore, adds a feature called ExternalScripts so that a plasmoid can
request to load files that are outside of the import directories.

REVIEW: 122595
2015-02-25 16:26:23 +01:00
Kai Uwe Broulik
5e53bd4d57 Don't ask KWindowEffects for blur repeatedly since we track it ourselves anyway
It might not have caught up yet when we decide to nuke the cache, resulting in
the translucent graphics staying when disabling blur or switching to XRender.

Changelog: Fix Plasma popups being hard to read tue to translucent background

REVIEW: 122676
BUG: 344179
2015-02-23 21:24:12 +01:00
Marco Martin
e2e7cb1cab remove PlasmaKPackageLoader
use a package of type KPackage/GenericQML for the toolbox instead

Change-Id: I5e559535338f093b3cd3734ef9c3906bb20cf001
2015-02-20 18:08:48 +01:00
Marco Martin
2bbb9dda7f if an inexisting library was specified, fallback
fallback to empty Applet/containment if an inexisting library
was specified in the metadata file.
this fixes old applets with incorrect metadata
BUG:344281

Change-Id: I0efc9dc32dee0e6fe4f3757065004a19f6e01844
2015-02-20 13:37:09 +01:00
Marco Martin
bda055367f use an internal package loader
internal kpackage loader used to load Plasma/generic plasma/plasmoid etc
directly from kpackage

Change-Id: Ibd91b0d18b233291978ac667f7bf768a8bdc3c9b
2015-02-20 09:58:57 +01:00
Marco Martin
462ad8a6ca support for C++ applets
make possible for an applet to be implemented in c++ but still
have the qml package with the usual api, this was supposed to
be supported from the beginning.

if a c++ applet has been loaded, make available the property
plasmoid.nativeInterface to the qml part, exposing the subclasses
Applet instance with all eventual extra propertiels/slots.

if no c++ plugin is present, appletInterface will be dummy/not available

this (besides limiting a bit the qml import rabbit procreation)
makes available some things not available to normal private imports:
* access to applet config() to save more complex things compared to what kconfigxt allows
  or save/load stuff from the c++ part
* access to containment()/corona(), may be useful for containment implementations
* easier port for old very big applets such as comics/weather

Change-Id: I65117660043de3a60ad58c77b086f686683d4d8c
2015-02-17 13:43:33 +01:00
Kai Uwe Broulik
b3f607ec1a Distinguish datacontainer relays by both interval and alignment
This allows being able to change just the alignment, which can happen, since
the order of QML bindings being re-evaluated is non-deterministic

REVIEW: 122593
2015-02-16 18:47:10 +01:00
l10n daemon script
073b83b440 SVN_SILENT made messages (.desktop file) 2015-02-16 10:17:17 +00:00
Kevin Funk
7e302a5236 Use Q_DECL_OVERRIDE where possible
REVIEW: 122542
2015-02-13 13:31:58 +01:00
David Edmundson
084be8e534 Port to kpackage::package
Change-Id: Id52b8d6bf76ab964c02cec9f0bba1dcdf3950d76
2015-02-12 13:05:12 +01:00
David Edmundson
e0f6b76f4b Port from deprecated KConfigLoader API
Change-Id: I9fe88d2b0b16dab02e4e35af3d0e992cec0edb91
2015-02-11 14:52:41 +01:00
David Edmundson
685ee11822 Fix leak in ContainmentActions
Change-Id: I41c9b9c224b36b045034755b07a92f2bdfe9f40e
2015-02-11 14:49:23 +01:00
Vishesh Handa
b81663bd65 Add a X-Plasma-StandAloneApp option to applets
We can use this option to figure out which applets should be exposed as
independent applications.

REVIEW: 122502
2015-02-10 14:43:30 +01:00
l10n daemon script
03bae89ac5 SVN_SILENT made messages (.desktop file) 2015-02-04 08:58:49 +00:00
Marco Martin
e2a6cc9c8e delete the activityId entry as well when deleting
cleanup the activityId entry when the config group is deleted

Change-Id: I1eb7559c3111f058a730a620646bfd3e03af8b5b
2015-02-02 19:04:36 +01:00
Alex Merry
d4ea9ef66d Fix CamelCase header installation.
Installing the Plasma directory (which contains the CamelCase forwarding
headers) breaks on case-insensitive filesystems (eg: Windows) because it
is that directory also contains the lowercase build-time-only forwarding
headers (they are put in the plasma directory). These then overwrite the
real lowercase headers with ones that forward to the source directory.

However, the first argument to ecm_generate_headers is a variable name
containing exactly the CamelCase headers that should be installed,
avoiding this issue rather neatly.

Reviewed-by: Patrick von Reth
2015-01-31 13:01:49 +00:00
Marco Martin
534733558c restore hint-apply-color-scheme support
make hint-apply-color-scheme work (kiconeffect based coloring),
and make sure the kcolorschemes are reloaded when app palette changes
and the theme follows system colors

BUG:343389
Change-Id: I0a7a7eb0f89ed0948e618f1d608521f235aa1959
2015-01-29 13:17:39 +01:00
Marco Martin
bdda85a40d restore hint-apply-color-scheme support
make hint-apply-color-scheme work (kiconeffect based coloring),
and make sure the kcolorschemes are reloaded when app palette changes
and the theme follows system colors

BUG:343389
Change-Id: I0a7a7eb0f89ed0948e618f1d608521f235aa1959
2015-01-28 17:54:26 +01:00
l10n daemon script
4b1970cf83 SVN_SILENT made messages (.desktop file) 2015-01-27 11:23:41 +00:00
Marco Martin
9898e1be4f emit immutabilityChanged in all cases it changes
when an applet or cont is deleted, when invisible has systemimmutable as
its immutability (then restored to mutable if restored)
notify correctly the change

BUG:342704
Change-Id: Iea37fd287d6b120e161f5ac7ad4a17a078fec9bb
2015-01-21 15:03:15 +01:00
Marco Martin
237cb24b2d undelete panels when applet gets undeleted
when a deleted applet of a deleted panel
gets undeleted, undetele before the panel itself
that's the safest and most "expected" outcome
BUG:343096

Change-Id: Iece7710028052b2118f590377fd39e3c78279b11
2015-01-21 13:57:45 +01:00
Hrvoje Senjan
1403295db8 Add missing QDataStream and QObject includes
Fixes build with Qt 5.5
2015-01-17 17:48:48 +01:00
Weng Xuetian
f8faf5380a Change string from non-existing %2 to %1.
Change-Id: I52b69a7bd65118c5d0a8dc5bc1649ca0157769d4
CCMAIL:notmart@gmail.com
2015-01-15 13:44:02 +01:00
Marco Martin
7d00d30f44 reset the internal size copy when the theme changes
Change-Id: I1800076e98bc543ffdea3f4c92d5a08f934f7573
2015-01-13 10:50:20 +01:00
Alex Merry
48e9c2f29e Update installation variables. 2015-01-10 17:47:31 +00:00
l10n daemon script
1afbc2c461 SVN_SILENT made messages (.desktop file) 2015-01-02 09:15:04 +00:00
l10n daemon script
6f7a3ae9ea SVN_SILENT made messages (.desktop file) 2014-12-30 10:48:32 +00:00
Marco Martin
dd866b427e Merge "migrate to KPackage" 2014-12-29 14:20:43 +01:00
Marco Martin
a629fe4d8f migrate to KPackage
Plasma::Package internally uses KPackage, being a pure wrapper.
old client code and old packagestructures still work using the wrapper.
old workspace code that is not directly using kpackage continues to work correctly

Change-Id: I05f95e8d05e3b67759973c4009e3753c61b1dcce
2014-12-29 13:56:52 +01:00
Kai Uwe Broulik
b4e1fd5f1c Keep the event filter around so get notified of font changes at runtime
Changelog: Fix labels not picking up changes to font settings at runtime

REVIEW: 121728
BUG: 334818
2014-12-28 23:43:47 +01:00
l10n daemon script
10a94ba7c9 SVN_SILENT made messages (.desktop file) 2014-12-24 08:38:52 +00:00
l10n daemon script
53d694072c SVN_SILENT made messages (.desktop file) 2014-12-19 09:15:56 +00:00
l10n daemon script
f64207f408 SVN_SILENT made messages (.desktop file) 2014-12-14 08:54:42 +00:00
David Edmundson
2afeb22f42 Merge changes Ibb130779,I68521f90,Ica6ba027
* changes:
  Reparse settings when they change
  Use a shared config in tooltip
  Save SVGs only when a theme is unloaded, not on each theme proxy
2014-12-11 12:40:43 +01:00
David Edmundson
f6aa18c884 Save SVGs only when a theme is unloaded, not on each theme proxy
A single Plasma theme will be represented by one ThemePrivate object,
which is exported in multiple Theme objects.

We want to save the cache when that theme stops being used, not each
time an item stops using the theme.

saveSvgElementsCache calls sync() which involves a lot of parsing and
IO. This makes everything a lot faster at no cost.

Change-Id: Ica6ba0273bc99fb8ad8733a1c90db8f1e87c49ea
2014-12-11 01:56:55 +01:00
Kai Uwe Broulik
d5148f87c0 Fix capitalization
REVIEW: 121071
2014-12-09 23:24:01 +01:00
Kai Uwe Broulik
5e17e3fd1c Give undo notifications a title
The "Plasma" (default put in there by the notification applet because it has no title)
is not really descriptive.

REVIEW: 121071
2014-12-09 23:22:57 +01:00
l10n daemon script
d47e417e40 SVN_SILENT made messages (.desktop file) 2014-12-07 08:47:50 +00:00
David Faure
d348816c7d Fix compilation with Qt 5.2.0
(moc was a bit buggy it seems)
2014-12-03 09:49:53 +01:00
Marco Martin
0ca29bc0f2 export a plasma version number in themes
some of the behavior of the theme has changed.
this makes some of the old themes to not work correctly
(like black text on black)
read a version number of the "plasma version this theme has been intended for"
and use it to change the behavior for retrocompatibility
(all themes that don't export this are assumed to be from KDE4)

Change-Id: I4bc20a0c10de9f9a6c3facd63b6c5b6da210039a
2014-12-02 15:05:48 +01:00
l10n daemon script
cf3898f7a9 SVN_SILENT made messages (.desktop file) 2014-12-01 08:51:21 +00:00
l10n daemon script
8415c20760 SVN_SILENT made messages (.desktop file) 2014-11-23 08:53:19 +00:00
l10n daemon script
7c65143e12 SVN_SILENT made messages (.desktop file) 2014-11-19 08:40:19 +00:00
l10n daemon script
0e13fb9833 SVN_SILENT made messages (.desktop file) 2014-11-14 09:03:12 +00:00
l10n daemon script
43049221ab SVN_SILENT made messages (.desktop file) 2014-11-12 08:52:06 +00:00
l10n daemon script
4390aa5536 SVN_SILENT made messages (.desktop file) 2014-11-10 08:26:37 +00:00
l10n daemon script
37a97d41c0 SVN_SILENT made messages (.desktop file) 2014-11-09 08:55:12 +00:00
l10n daemon script
fa21d7b1c5 SVN_SILENT made messages (.desktop file) 2014-11-05 08:37:57 +00:00
l10n daemon script
1a4b23f845 SVN_SILENT made messages (.desktop file) 2014-11-04 10:53:50 +00:00
l10n daemon script
481e796e67 SVN_SILENT made messages (.desktop file) 2014-11-02 21:49:13 +00:00
l10n daemon script
77b0b83a85 SVN_SILENT made messages (.desktop file) 2014-11-02 08:56:23 +00:00
Marco Martin
72b9a37fe9 fix test
Change-Id: Ib7698dfe3880e23355fd1c0acfcc3de2cc7c4d2d
2014-10-31 18:11:16 +01:00
Marco Martin
ad06e7c8a2 minor message fixes
Change-Id: I050b2e70ad1d9a57eb99c0f8fd34a80b76b66736
2014-10-31 17:29:33 +01:00
Marco Martin
cef6b23e74 proper icon in notifications
Change-Id: I10832bf91a7a5a605ae27d6a417931f9462c1b78
2014-10-30 18:12:48 +01:00
Marco Martin
73500516ff track changes in destroyed()
Change-Id: Ibc4dcc64028e1127dd55e7c7d4d73000d2964dab
2014-10-30 18:06:50 +01:00
Marco Martin
f870ea1a11 drop QwaitingDeletionStatus
emit appletRemoved and appletAdded instead, making the graphics representation
(almost) just work

Change-Id: I481dbbb4dbf7d01a121b92511410dfee79b16469
2014-10-30 18:06:50 +01:00
Marco Martin
781d30cfef plasmoid->widget
Change-Id: I531297523a41886229cec163c5f81004fe15e7c0
2014-10-29 11:12:23 +01:00
Marco Martin
4487261d1a use NULLPTR
Change-Id: I5fcf9a16e962dda74f411b71f5276320e8196ac0
2014-10-29 11:09:59 +01:00
Marco Martin
e2f06e9ece restore to the actual previous status
Change-Id: I43b7f5812daffe2b846fbc1f7b57d6db51961358
2014-10-29 11:06:20 +01:00
Marco Martin
30d3ab72d1 pretty header
Change-Id: I08bf321d79e6c6c8bc50e5181472ec2c719e1a3f
2014-10-29 11:03:20 +01:00
Marco Martin
9aea733bb5 deleted->removed
Change-Id: I45102fa7585744943a6b107e68208141712866bc
2014-10-29 10:52:24 +01:00
Marco Martin
d44d194db6 only a minute before real deletion
Change-Id: Ibc90aae44e7013453c8a96a3f22522806cb12ef2
2014-10-28 19:08:03 +01:00
Marco Martin
099a22d9da irreversibly delete on notification close
Change-Id: I3216286a707a1904b6917bfd19c007f99ffa4475
2014-10-28 19:07:53 +01:00
Marco Martin
eee9a90aab remove dead code
Change-Id: Id8daeafa77dabea7253ac5c489ad761ba0c6fdf6
2014-10-28 19:07:43 +01:00
Marco Martin
d901062d9d Plasma instead of PlasmaShell
Change-Id: I19ac45d8ee9d82a7bb7cc466a89db746b5f38784
2014-10-28 19:07:33 +01:00
Marco Martin
2475a2560e really delete awaiting applets on quit
Change-Id: I3b9107f988bde75262f27c1fd7e851b868140ccf
2014-10-28 19:07:09 +01:00
Marco Martin
af6149c9d0 use notifications actions to undo
Change-Id: I4b9abf6047b94b4fc13aad672d1bc8e97203f502
2014-10-28 19:06:55 +01:00
Marco Martin
5252020318 very basic prototype for delete undo
the idea is to just hide applets at first and then offer a really delete and undo buttons

Change-Id: I4d869cb58f5c0fb0163d5d4d6b265af860d8727e
2014-10-28 19:06:42 +01:00
l10n daemon script
150f24b30c SVN_SILENT made messages (.desktop file) 2014-10-27 08:35:46 +00:00
l10n daemon script
4a4e3dc526 SVN_SILENT made messages (.desktop file) 2014-10-23 08:55:08 +00:00
Marco Martin
f278416753 Revert "very basic prototype for delete undo"
This reverts commit f8ba97ae3e.
2014-10-22 17:01:15 +02:00
Marco Martin
f8ba97ae3e very basic prototype for delete undo
the idea is to just hide applets at first and then offer a really delete and undo buttons

Change-Id: I4d869cb58f5c0fb0163d5d4d6b265af860d8727e
2014-10-22 16:59:59 +02:00
l10n daemon script
b65201b735 SVN_SILENT made messages (.desktop file) 2014-10-15 08:33:00 +00: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
Martin Klapetek
cbe50c408b Add "..." after "<Applet Name> Settings" to comply with HIG
Reviewed-by: Marco Martin

BUG: 339756
2014-10-07 17:45:10 +02:00
Volker Krause
ca77cad251 Make constants const, saves a few symbols in the .data section. 2014-09-28 12:40:40 +02:00
l10n daemon script
88ccf7be3d SVN_SILENT made messages (.desktop file) 2014-09-22 08:34:39 +00:00
l10n daemon script
f12eb638f0 SVN_SILENT made messages (.desktop file) 2014-09-19 09:02:03 +00:00
Marco Martin
919694a1de get rid of internal ShellPackage
ShellPackage is a plugin in plasma-workspace now, don't duplicate

Change-Id: I77edf63acf6c99314f6062d7ef2f55a129727013
2014-09-15 18:20:34 +02:00
Marco Martin
37b34711d8 make sure applets are sorted by id
As with containment, make sure Containment::applets()
is always sorted by id, to have the least sursprises possible

it adds a test

Change-Id: Ib1aeeff7c70bb6969b32b2fef8557889a43edf09
2014-09-15 17:55:36 +02:00
Marco Martin
a159208d54 Ensure corona::containments() is ordered
the order in which containments were restored used to be quite random:
ensure that's ordered by id this makes the shell startups be more reproduceable
from one to another, if a new containment arrives, ensure it's inserted
maintaining id order

containment::appelts() will need the same treatment

adds a test as well that checks the order is right

Change-Id: Ie1b278e5b83d7e3645f7293bf6d030aa7f43a221
2014-09-15 17:28:38 +02:00
Marco Martin
052a0c32ae base on screen() to see what containment is loading
if a containment's lastScreen is not -1 (and a valid screen)
*and* its activity() is not the current one, its QML
will *not* be loaded, therefore it would dangle blocking
corona::startupCompleted until the activity is selected

Change-Id: I6757d29240a012377e9ff0a22fe16541ea712ee6
2014-09-15 14:49:18 +02:00
Marco Martin
0b0daa2318 ensure empty containment emit uiReady()
Containments with no applets will emit uiReady now

It adds a test as well that checks if this is the case.

There is still a case where the corona doesn't emit startupCompleted()
that's when there is more than one activity, but that, as well the test
will be adressed by another patch on a different part.

Change-Id: I4d83aa612c29fb0f441d11681bc5aba241370bc3
2014-09-13 12:41:24 +02:00
l10n daemon script
edc9eae84b SVN_SILENT made messages (.desktop file) 2014-09-10 08:47:20 +00:00
l10n daemon script
dc61b4d5c2 SVN_SILENT made messages (.desktop file) 2014-09-04 08:36:35 +00:00
l10n daemon script
cf93514991 SVN_SILENT made messages (.desktop file) 2014-09-02 10:43:04 +00:00
Marco Martin
8c8bd49130 Merge branch 'mart/packageFallback'
REVIEW:120029
2014-09-01 20:59:22 +02:00
Marco Martin
6be2e9d46d use non const pointers 2014-09-01 19:23:18 +02:00
Marco Martin
399156bccc fix the sycoca query 2014-09-01 19:01:32 +02:00
Marco Martin
5db7db4ae2 crash-- 2014-09-01 16:26:34 +02:00
Marco Martin
325ea71a2e remove the fallback from the metadata 2014-09-01 16:01:10 +02:00
Marco Martin
5ceb8d1197 add an autotest for fallback
correct a couple of problems the test catched
2014-09-01 15:51:05 +02:00
Marco Martin
55a6095138 use Floyd cycle detection 2014-09-01 15:15:54 +02:00
Marco Martin
21cf68dbd2 set directly the fallback package not its path 2014-09-01 14:54:10 +02:00
Marco Martin
aba4dcb915 introduce setFallbackPackagePath
the fallback package would then be decided by the packagestructure
2014-09-01 14:00:06 +02:00
Nicolás Alvarez
51b77bcd59 Don't use QStringLiteral when concatenating string literals.
QStringLiteral("foo" "bar") is documented not to work on MSVC.
2014-08-30 14:46:36 -03:00
Nicolás Alvarez
8515d0ef09 Fix reference to Types::ImmutabilityType.
I don't know how Types::Types::ImmutabilityType even worked in gcc...
2014-08-30 14:45:50 -03:00
Aaron Seigo
faf75a95e5 ws for readability
REVIEW:119992
2014-08-29 17:24:43 +02:00
Aaron Seigo
cd87344d80 make PackageStructure plugins use the json method as with DataEngines 2014-08-29 17:24:43 +02:00
Aaron Seigo
aa99a4f15c tidy up the data engine plugin loading code 2014-08-29 17:24:43 +02:00
Aaron Seigo
67cab00bf3 remove the unused ContainmentPackage 2014-08-29 17:24:43 +02:00
Marco Martin
f934b3b6d6 make sure to cleanup applet pointers on deletion 2014-08-29 14:53:56 +02:00
Aaron Seigo
d5f156e968 add an interactive console QML definition 2014-08-28 11:52:49 +02:00
l10n daemon script
ce814a5285 SVN_SILENT made messages (.desktop file) 2014-08-28 08:49:15 +00:00
Marco Martin
5b9bb128d8 ckeck for loops or too deep fallback chains 2014-08-27 17:39:32 +02:00
Aaron Seigo
0401da9ec8 give the applet alternatives QML file an entry 2014-08-26 16:26:07 +02:00
Marco Martin
11094417a3 delete the fallback 2014-08-22 19:27:09 +02:00
Marco Martin
e0db15c96d crash--
use a pointer, so we don't do infinite stack recursion

create the fallback in the proper place
2014-08-22 19:25:49 +02:00
Marco Martin
d369782ae1 ntroduce the concept of package fallback 2014-08-22 18:48:26 +02:00
David Edmundson
f817168d02 Fix remaining doxygen exporting in Plasma.Core 2014-08-13 01:07:55 +02:00
Marco Martin
0ada27caa7 Merge branch 'mart/XPlasmaRootPath'
Revieved by: Eike Hein
2014-08-12 10:34:37 +02:00
Marco Martin
90cac04202 recompute actions text on sycoca change
it can update the app name it's opening it with
if the file association has been changed
2014-08-11 19:32:30 +02:00
Marco Martin
b5dfbdb0c8 fix build 2014-08-11 17:56:13 +02:00
Marco Martin
7f383b968b use "open in" 2014-08-10 16:34:19 +02:00
Marco Martin
6a19de43fa Merge branch 'mart/AssociatedApplicationFromMime'
reviewed by: Eike Hein
2014-08-08 16:11:25 +02:00
Marco Martin
52bc83a65a action in containment as well 2014-08-08 16:09:36 +02:00
Marco Martin
2642fc3329 use open in 2014-08-08 15:45:04 +02:00
Aaron Seigo
928d5e63a5 bool Package::hasValidStructure() const
needed to differentiate between packages with structures and without
before path is set
2014-08-08 14:12:22 +02:00
Aaron Seigo
3e61b26178 better variable naming for clarity 2014-08-08 14:12:22 +02:00
Marco Martin
f608e85294 extract the app name and icon we'll be open with 2014-08-08 13:40:34 +02:00
Marco Martin
d266a9594b valid package internalload even if just structure
consider a loaded package valid even if !isvalid() but does have some file
that indicates it has a valid packagestructure.
for how packages are loaded now, a package is never valid at first if has a required file:
because the path gets set only after the package is loaded
this fixes wallpaper loading
2014-08-08 11:29:23 +02:00
Aaron Seigo
b99001ace4 typos in comments 2014-08-08 08:25:27 +02:00
Aaron Seigo
b4f4515d2a detach on file/directory definition add 2014-08-08 08:25:27 +02:00
Aaron Seigo
402825b301 after detaching, fetch the item from the collection again
fixes setting these values on a copy of the package
2014-08-08 08:25:26 +02:00
Marco Martin
2482eb193c allow applets specify a different root than pluginname
introduce X-Plasma-RootPath: it would be used instead of
the plugin name for package root path if present
2014-08-07 16:26:51 +02:00
Marco Martin
546ffbc791 reintroduce containmentForScreen with defaultPlugin
reintroduces an api call from plasma1:
its the only way to solve
https://bugs.kde.org/show_bug.cgi?id=337200
basically to avoid a crash when plasma starts with missing containments in the appletsrc and a locked corona, or a screen added with locked widgets.

it's the only entry point that allows a creation of a containment when widgets are locked
REVIEW:119513
CCBUG:337200
2014-07-28 13:43:23 +02:00
Marco Martin
f6e4cb790e Revert "support platformcontents for shell packages"
This reverts commit 9760601704.

thinking about it, a shell package should be really device specific per se
2014-07-24 14:05:58 +02:00
Marco Martin
9760601704 support platformcontents for shell packages
reviewed by: Bhushan Shah
2014-07-24 13:58:26 +02:00
Marco Martin
80516dbef0 framework part of the applet alternatives chooser
this is the little part in plasma-framework for the applet alternatives chooser.
works together the branch mart/alternativesConfig of plasma-workspace and plsma-desktop.
for how it looks and why, see the vdg forum thread:
https://forum.kde.org/viewtopic.php?f=285&t=122067&p=315919#p315919

still possible problems:

I'm not sure about using a new desktop file entry X-Plasma-Provides, maybe Categories could be enough, but it may produce many false positives as well

REVIEW:119409
2014-07-23 12:25:32 +02:00
Aleix Pol
e613662ab5 Make framesvg unit test pass
Revert the changes in contentsRect, it was clearly not the best place to
put the code that contains the code that computes the content size.
Instead move the code in FrameSvgItem, duplicates data and code but works.
2014-07-22 03:14:26 +02:00
Aleix Pol
ab93d83890 Merge branch 'davidedmundson/framesvg_native'
Use FrameSVG as 9 tiles instead of uploading a big texture of the finished frame each time.
This also saves the cache being populated with full created frames in different sizes; which end up taking up space in the disk and shared memory cache as well as the GPU memory.
A code path falls back to the original uploading the entire texture if obscure settings are used, i.e overlay.

Benchmarks:
apitrace when resizing a frame goes from an average of 7.6ms per frame of CPU time just for the swizzling and uploading to 1.4ms
GPU time also drops from 40us to 10us

Themes will need to remove stretch-borders (when we gain nothing from stretching; i.e Breeze) to get the most out of it.

REVIEW: 119330
2014-07-21 18:38:11 +02:00
Aleix Pol
dca3958b44 Stop exposing that many things in FrameSvgItem
Move the shared code between FrameSvg and FrameSvgItem into a separate file
that both can link to.

Reviewed by David Edmundson
2014-07-21 18:01:26 +02:00
Aleix Pol
99586bc420 Add API documentation as it's public API now
Reviewed by David Edmundson
2014-07-21 15:49:10 +02:00
Aleix Pol
47c7688d02 Move some of the code and make some API public
It's unreasonable to use private API, so make everything public API so that
every user of FrameSvg have as much features exposed as possible.

Reviewed by David Edmundson
2014-07-21 15:44:25 +02:00
Lukáš Tinkl
cdce8e5445 don't replace ampersands for an underscore
in context menu actions
2014-07-18 22:36:13 +02:00
Aleix Pol
a1d7863f4f Fix scrollbar display, polish sectionRect function
While debugging a glitch I found out a bug in the painting code that hide
behind QRect documentation. See comment in sectionRect. This never rendered
correctly.
2014-07-18 02:42:46 +02:00
David Edmundson
f2fb13ab3b Merge branch 'master' into davidedmundson/framesvg_native 2014-07-17 22:43:08 +02:00
David Edmundson
31c1fcc50e Do not leak containment actions
REVIEW: 119341
2014-07-17 18:49:50 +02:00
David Edmundson
09e23eb675 Merge branch 'master' into davidedmundson/framesvg_native 2014-07-17 12:39:55 +02:00
Marco Martin
9ba599e1b9 packages with Hidden=true metadata are invalid
This originates from the request of downstreams to hide packages that are still installed.
why should be easier than not installing them i don't know, *but* semantically I think it makes sense act as if the package was not existing when the metadata says it's hidden

REVIEW:119329
2014-07-17 12:30:43 +02:00
l10n daemon script
f7208d7d21 SVN_SILENT made messages (.desktop file) 2014-07-17 08:59:54 +00:00
Aleix Pol
a30afb9c34 Ensure we don't overlap the center with the right and bottom borders 2014-07-16 13:51:25 +02:00
Aleix Pol
0a94e1b1b8 Take composeOverBorder into accoun 2014-07-15 19:56:04 +02:00
Aleix Pol
c4d9bcb362 don't let the contentRect overlap the borders 2014-07-15 16:27:34 +02:00
Marco Martin
188d131d77 make the uiloaded tests pass
work in case of every order the various applets and containments emit uiready
REVIEW:119284
2014-07-15 10:16:10 +02:00
Marco Martin
427acdb373 Merge branch 'mart/coronaautotest'
REVIEW:119270
2014-07-14 20:48:31 +02:00
Aleix Pol
83895d8e26 Use proper sizes and positions 2014-07-14 20:02:47 +02:00
Aleix Pol
a8b37129d0 Refactor a contentGeometry method out of generateFrameBackground
Given the FrameData and the total size, we get to know where is the
contents going to be and gives us the information to extrapolate where to
put all the borders and corners.

Reviewed by David Edmundson
2014-07-14 18:13:40 +02:00
Aleix Pol
d574f51108 Move the central space painting into a separate function
Reviewed by David Edmundson
2014-07-14 17:00:39 +02:00
Aleix Pol
33aa8e406d cleanups
Move variable declarations closer to its uses
Prefer using QSize than width and height separately, so we can pass it
around directly and use isEmpty
Remove duplicated code in the central piece drawing
2014-07-14 16:49:12 +02:00
Aleix Pol
ae56796cb9 Move corner painting into a paintCorner function 2014-07-14 16:47:56 +02:00
Aleix Pol
f62b357b62 Prefer passing a size rather than a width and height 2014-07-14 16:37:00 +02:00
Aleix Pol
df1d44407a cleanup
Reduce type casts from QSizeF to QSize, we're always using it as a QSize,
so just make the cast once.
Remove redundant constructions like checking whether it's null and returning
null or unneeded arithmetics
2014-07-14 16:32:10 +02:00
Marco Martin
6666445af5 don't make failed applet block the corona 2014-07-14 14:22:36 +02:00
Aleix Pol
5b1fc96329 Small internal code refactoring
Create a paintBorder function that can generically paint framesvg borders.
This helps us reduce duplicated code as well as improving the readability
of the code.

Reviewed by David Edmundson
2014-07-14 14:16:16 +02:00
Aleix Pol
dac1d8f265 Figure out why my plasma wasn't notifying the startup
Make sure AppletPrivate::uiReady is set in applet_p.cpp when we report that
the ui is ready.
Make sure that if we loop through all the containments and they're all
ready, we emit that it's done.

So far, Corona::startupCompleted was never emitted.

REVIEW: 119220
2014-07-14 13:23:20 +02:00
Aleix Pol
054a38b9d0 --runtime warnings 2014-07-11 19:51:42 +02:00
Aleix Pol
e008a5d7d4 If a timer is active and we start it, it will restart
No need to check if it's active and stop it first, according to the
documentation.
2014-07-11 19:15:06 +02:00
Aleix Pol
804a0d34da Fix cache implementation
It was weird.

Reviewed by the Handa-man.
2014-07-11 18:37:55 +02:00
Marco Martin
100b60a7fb return the prefix that has ben set even if not avail
symmetricity++ between setelementprefix and prefix
2014-07-11 16:55:59 +02:00
Marco Martin
c77b2bf9a8 fix switch from a less complete to a more complete
if the old theme didn't have a prefix, but the new one has,
set the old (formerly nonexisting) prefix again
2014-07-11 16:42:55 +02:00
Aleix Pol
4b222c5ef6 --warning unused variable 2014-07-10 20:28:01 +02:00
Aleix Pol
92a8007489 Introduce TimeTracker debugging tool for plasma
TimeTracker is a small class that keeps track of an object the changes in
the properties of an object and relates them to a point in time. This way
we can see how things change and react to each other. Then, this information
is exported into a json file to analyze.

REVIEW: 119199
2014-07-10 19:20:59 +02:00
l10n daemon script
8afadc6410 SVN_SILENT made messages (.desktop file) 2014-07-10 04:23:58 +00:00
Aleix Pol
124dc4799a fix build 2014-07-09 18:23:58 +02:00
Aleix Pol
f5f96c1390 Remove unneeded casts
They're all because we're accessing the d-pointer of the parent class (!),
we can access it without casting.
2014-07-09 18:20:32 +02:00
Aleix Pol
459f81814d Only consider a containment as finished if it actually passes a "true".
So far, we were only considering the fact that teh signal was being
emitted, and that's doesn't seem correct.

REVIEW: 119191
2014-07-09 12:51:24 +02:00
Aleix Pol
8fb62cc0a4 Cleanup
Re-use containment variable instead of keep fetching it every time. It's
not a trivial function, so better reduce the calls.
2014-07-09 12:43:08 +02:00
Aleix Pol
ae996c6666 --deprecated call 2014-07-09 12:36:34 +02:00
Aleix Pol
5e0acaa443 --warning 2014-07-09 12:02:31 +02:00
l10n daemon script
ee230c4d21 SVN_SILENT made messages (.desktop file) 2014-07-09 03:37:24 +00:00
Aleix Pol
596dc7523d Prefer inner scopes
Don't request data until we're going to use it.
Don't emit about config changes if config doesn't change
2014-07-08 01:47:43 +02:00
Marco Martin
573f48921e don't escalate immutability on each save
Applet::immutability() is the maximum between internal applet immutability
and the immutability of its containment.
so not set higher immutability in the internal member of Applet
or the applet will not be able to be unlocked properly

Reviewed by: Sebastian Kügler <sebas@kde.org>
2014-07-03 14:12:21 +02:00
l10n daemon script
29908f145a SVN_SILENT made messages (.desktop file) 2014-07-01 12:38:20 +00:00
l10n daemon script
601836ad7f SVN_SILENT made messages (.desktop file) 2014-06-30 08:49:36 +00:00
l10n daemon script
b06bb52100 SVN_SILENT made messages (.desktop file) 2014-06-29 08:42:52 +00:00
Marco Martin
6c54fb596d Don't expose color properties in c++ api
the color properties are remotely useful only when used from QML
and risk to explode in number in the future,
it's not a good thing for a public c++ api.

Also, they will become kinda deprecated as in largely replaced by
the ColorRole api. Too late to remove those properties completely,
but still last days to move them at least out of c++ api.
(and in qml they could be removed in the future in a 2.1 version
of the import while still being present in 2.0 if needed)

This moves the color properties is a theme subclass available only from QML

REVIEW:118972
2014-06-27 15:06:52 +02:00
Christoph Feck
fec57bdaa2 Use QElapsedTimer for data engines
forward port of http://commits.kde.org/kdelibs/ac5d3d2f916c0a461121d4d033642227bd743edb

CCBUG: 336551
REVIEW: 118869
2014-06-23 13:03:16 +02:00
l10n daemon script
ac4f519188 SVN_SILENT made messages (.desktop file) 2014-06-23 08:35:39 +00:00
Andre Woebbeking
35ee077ee3 warning: ignoring return value of function
CCMAIL:mart@kde.org
2014-06-22 20:37:18 +02:00
Marco Martin
3847be89fa don't crash if no colors file is provided
Reviewed by: Martin Gräßlin <mgraesslin@kde.org>
2014-06-20 14:42:13 +02:00
Marco Martin
17741fbfae prune ColorRole enum
all the former combinations are now obtained with
ColorRole + ColorGroup
2014-06-19 18:18:50 +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
c54d3d5538 colors are not flags 2014-06-18 19:09:18 +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
Aleix Pol
e1051994ad Ensure that the containment's corona is properly calculated.
The used corona is either the containment's parent or, in case the parent
is an applet, it's containment's corona. With this change we ensure the
proper corona is always found.
This change requires screenContainment to be able to walk through the
object tree in case it's not a containment directly managed by it.

BUG: 334500
2014-06-17 16:02:08 +02:00
Marco Martin
c6e7961088 ensure mask and normal frame have the same borders 2014-06-13 17:15:06 +02:00
l10n daemon script
b092bbed31 SVN_SILENT made messages (.desktop file) 2014-06-12 08:31:04 +00:00
Martin Klapetek
a177696c6c Update DataEngine sources only if they are used
REVIEW: 118669
2014-06-11 17:17:41 +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
l10n daemon script
5ab5d89fea SVN_SILENT made messages (.desktop file) 2014-06-07 08:25:46 +00:00
Giorgos Tsiapaliokas
35e5c46358 Unset the contentsPrefixPaths for the ThemePackages. The Theme Packages are not supposed to have a "contents/" directory.
REVIEWED-BY: Marco Martin
2014-06-06 18:48:49 +03:00
Aleix Pol
a06c1569a1 The screen size will be defined by the final Corona
It doesn't make sense to try to give hints at what it will be given that
we don't know.
For example, see how we're defining ::numScreens as 1 on the other method
as well.
2014-06-05 01:25:18 +02:00
David Edmundson
7ea8e24584 Remove more unused QApplication includes 2014-06-04 18:57:18 +02:00
David Edmundson
e8297e9a0f QDesktopWidget -> QScreen 2014-06-04 18:55:05 +02:00
Marco Martin
b6ac8ded88 forcefully remove some entries
newly created containments may have some default entries like plugin
or formfactor written in the config group, but not in keyList()
they have to be explicitly removed because wouldn't be removed in
deleteGroup
BUG:335792
2014-06-04 17:28:11 +02:00
David Edmundson
23068fb2b0 Avoid references to QApplication
They cause problems when running in QGuiApplication

REVIEW: 118470
2014-06-02 17:44:47 +02:00
Marco Martin
4fd0af246d make package::uninstall actually work 2014-06-02 16:38:50 +02:00
Marco Martin
0c127f1ce5 delete framedata when ThemePrivate dies 2014-05-28 20:34:25 +02:00
Marco Martin
3fdf999ba0 bit more complex bookeeping
since it is now possible to have different svg/framesvg with
different themes, s_sharedFrames must be indexed by theme first
what it's really the identifying thing is ThemePrivate, so it's indexed by that
this fixes a crash that occurs the second thime the theme gets changed

BUG:335472
2014-05-28 20:27:58 +02:00
Marco Martin
140d066021 check for slots existence before blindly connecting 2014-05-27 17:13:57 +02:00
Yuri Chornoivan
aab2c13164 Fix typos found by mvillarino 2014-05-27 07:02:32 +03:00
Marco Martin
0596cf176f schedule a rect cache sync when stuff gets in
do a disc sync with a 2 minutes delay
2014-05-26 20:32:22 +02:00
Marco Martin
0b10a16113 try harder to avoid creating svg renderers
now is actually possible to obtain a startup with zero svg renderers
    * svg::isValid will create a renderer only if really nevessary
    * the rects cache is ensured to be written on disk
    * fixed the check on the theme metadata age
    * rect cache is shared between all applications
2014-05-26 20:14:57 +02:00
Aleix Pol
9d9c72630c Simplify plasma theme startup
Don't emit themeChanged when constructing Plasma::Theme instances

Reviewed by David Edmundson
2014-05-26 19:03:46 +02:00
Marco Martin
819b42932d accept file:// urls as absolute paths 2014-05-26 13:55:10 +02:00
Aleix Pol
efdf1ca917 Make QtGui a public dependency of KF5::Plasma
Many classes from QtGui are specified in the header files, this alone is
enough reason to make it a public dependency. (QGuiApplication, QFont,
QPixmap are some examples).
This also pulls QtCore (e.g. QString, QRect, QUrl), which also is, of
course.

CCMAIL: plasma-devel@kde.org
2014-05-26 04:16:57 +02:00
Aleix Pol
38b16d5149 Remove unneeded includes
QWidget!!
2014-05-26 04:11:35 +02:00
l10n daemon script
fd1674450e SVN_SILENT made messages (.desktop file) 2014-05-25 08:47:48 +00:00
Sebastian Kügler
249c1e1c93 Less warnings at runtime
It's quite common to try loading a package in order to check if it's
valid. No need to litter the console with that.
2014-05-23 18:41:50 +02:00
l10n daemon script
2ba1a0c90f SVN_SILENT made messages (.desktop file) 2014-05-23 08:16:11 +00:00
Marco Martin
409d340fba if a name is passed in the ctor, never change
BUG:335005
2014-05-20 18:26:03 +02:00
l10n daemon script
db8da9ff8d SVN_SILENT made messages (.desktop file) 2014-05-20 10:48:03 +00:00
David Edmundson
989dc5c07c Remove pointless include 2014-05-19 22:13:30 +02:00
Marco Martin
1e7a8b60a1 clean 2014-05-19 19:18:52 +02:00
Marco Martin
f7e25fe696 don't link to xml and iconthemes 2014-05-19 19:09:09 +02:00
Marco Martin
8155f2d542 don't link to qtquick 2014-05-19 18:32:34 +02:00
Marco Martin
924818a0ca don't link agains KConfigWidgets
not needed anymore
2014-05-19 16:58:37 +02:00
Marco Martin
d0816f1448 crash-- 2014-05-19 15:35:04 +02:00
Marco Martin
72239e7f3c apps can use more than one theme.
add the name in s_sharedFrames
CCBUG:335003
CCBUG:335004
2014-05-19 15:24:36 +02:00
Marco Martin
bbed0411b6 don't use another Thmeme copy 2014-05-19 14:58:19 +02:00
Marco Martin
682bf5f149 if containment gets destroyed, destroy all dialogs
BUG:334977
2014-05-19 11:15:51 +02:00
Marco Martin
9d3344d0a6 close the remove dialog if containment locks
BUG:334978
2014-05-19 11:11:19 +02:00
l10n daemon script
14ab84f5cc SVN_SILENT made messages (.desktop file) 2014-05-18 08:22:25 +00:00
Marco Martin
2d29445164 set the shortcut to the action
BUG:334855
2014-05-16 10:03:45 +02:00
Patrick Spendrin
c68db518c8 remove unneeded header
REVIEW:118119
2014-05-15 16:54:31 +02:00
Marco Martin
7f4e72fb35 crash--
weird behavior:
qdeleteall crashes, deleting items one by one doesn't
2014-05-14 18:21:49 +02:00
l10n daemon script
1b3060649c SVN_SILENT made messages (.desktop file) 2014-05-14 08:29:33 +00:00
Marco Martin
842d8a7ad5 don't onAppExitCleanup on theme destroy
Theme is not a singleton anymore
2014-05-07 13:58:09 +02:00
Marco Martin
2d94312f97 support config for applets children of applets 2014-05-07 13:09:35 +02:00
Eike Hein
1805bb7496 Make sure the args part of Containment::createApplet(..., args) ends up in the applet. 2014-05-06 20:52:42 +02:00
Aleix Pol
556c1e321a Remove random qDebug output
Makes it easier to spot the actual problems on the output. If there's
something that's actually indicating a problem, we should make it a
qWarning.
2014-05-06 19:57:37 +02:00
David Edmundson
873106a7ca Track screen in the containment when inside an applet
Make the system tray containment update which screen it is on when the
system tray applet is moved.

This fixes notifications if the panel is moved between screens.

REVIEW: 117946
2014-05-05 11:39:36 +02:00
l10n daemon script
5713f72542 SVN_SILENT made messages (.desktop file) 2014-05-03 08:34:24 +00:00
l10n daemon script
d55335d2a9 SVN_SILENT made messages (.desktop file) 2014-05-02 08:52:44 +00:00
Marco Martin
a6eca11b84 restore corona immutability
BUG:334141
2014-04-30 19:31:56 +02:00
l10n daemon script
238bc54c5b SVN_SILENT made messages (.desktop file) 2014-04-29 10:13:52 +00:00
l10n daemon script
012b0681c9 SVN_SILENT made messages (.desktop file) 2014-04-29 04:51:45 +00:00
l10n daemon script
d2f752597f SVN_SILENT made messages (.desktop file) 2014-04-28 15:59:04 +00:00
l10n daemon script
8fcd320f27 SVN_SILENT made messages (.desktop file) 2014-04-28 12:45:07 +00:00
l10n daemon script
b9130c7c24 SVN_SILENT made messages (.desktop file) 2014-04-28 09:02:00 +00:00
l10n daemon script
880da9b195 SVN_SILENT made messages (.desktop file) 2014-04-28 05:09:56 +00:00
Hrvoje Senjan
a4e2b38d51 unbreak dataengine loading after PLUGIN_INSTALL_DIR change in e-c-m 2014-04-28 02:42:02 +02:00
Aleix Pol
9cd8f9fbeb Port plasma code to PLASMA_RELATIVE_DATA_INSTALL_DIR 2014-04-27 23:06:32 +02:00
l10n daemon script
dfd425ae82 SVN_SILENT made messages (.desktop file) 2014-04-27 21:04:10 +00:00
l10n daemon script
cbf1e988e9 SVN_SILENT made messages (.desktop file) 2014-04-27 16:44:26 +00:00
Aleix Pol
e6f1fec0c7 Install all plasma files in a prefix/share/plasma directory
At the moment, we could say that plasma is co-installable by chance,
it's only working because KF5 dropped the apps relative directory.
This change introduces a PLASMA_RELATIVE_DATA_INSTALL_DIR that will
be available to know where in share the components are and
PLASMA_DATA_INSTALL_DIR to know where data has to be installed to.

Reviewed by David Edmundson

CCMAIL: plasma-devel@kde.org
2014-04-27 17:14:22 +02:00
l10n daemon script
d149d719a9 SVN_SILENT made messages (.desktop file) 2014-04-27 05:19:59 +00:00
Aleix Pol
1294051eaf Adapt to changes in KDEInstallDirs
kde5/services is kservices5
kde5/servicetypes is kservicestypes5
2014-04-26 19:50:53 +02:00
David Edmundson
4ce14a1654 Remove duplicated ConfigLoader
This moved to KConfigGui as KConfigLoader.

Use of private KConfig API in Service had to be ported to use only
public method.

REVIEW: 117784
2014-04-26 17:10:13 +02:00
Alex Merry
2ef3b32dcd Use KF5_INCLUDE_INSTALL_DIR and KF5_INSTALL_TARGETS_DEFAULT_ARGS
This is instead of INCLUDE_INSTALL_DIR and INSTALL_TARGETS_DEFAULT_ARGS,
which will lose the "KF5" suffix from the include path.
2014-04-26 12:14:03 +01:00
Kevin Ottens
72ba7b4146 Apply the astyle-kdelibs script 2014-04-26 01:48:37 +02:00
Marco Martin
38d06b784a get rid of dummyGroup()
it was used only in extenders that don't exist anymore
2014-04-25 23:06:36 +02:00
Aurélien Gâteau
b3b95fa77d Refresh doc to use README.md and markdown 2014-04-25 21:06:00 +02:00
Aurélien Gâteau
0efc0572af Consolidate all plasma-framework catalogs 2014-04-25 10:40:12 +02:00
Aleix Pol
437962f2e8 Introduce a new plasmoid status
REVIEW: 117722
2014-04-24 16:56:51 +02:00
Marco Martin
47dfda75c0 introduce the signal Corona::startupCompleted()
when emitted we are sure all containments *graphics objects*
 have been created
2014-04-22 14:58:12 +02:00
l10n daemon script
16ea0c68f6 SVN_SILENT made messages (.desktop file) 2014-04-19 04:52:27 +00:00
l10n daemon script
709d60a737 SVN_SILENT made messages (.desktop file) 2014-04-18 05:16:48 +00:00
Marco Martin
a2b436aef8 remove all references to runners 2014-04-16 18:56:22 +02:00
Marco Martin
18f54dff73 make possible for containments to run as applets
take into account the slightly different behaviour needed when containments such as folderview act as a normal plasmoid
BUG:333320
2014-04-14 14:03:49 +02:00
Aleix Pol
9a305de76d Fix activationAction connection
It was connecting to a deprecated signal, use QAction::changed instead.
Since QAction::changed is more generic and modifying the shortcut seems
expensive, actually check that the property is different from the previous
value.

Reviewed by Vishesh Handa.
2014-04-12 20:09:08 +02:00
Marco Martin
767336e87e isContainment() only true for proper containments 2014-04-10 20:53:19 +02:00
Marco Martin
7e3b2ae8af move the applet configScheme to the new group
after migration
2014-04-10 20:41:34 +02:00
Marco Martin
d8731d7806 re-add Corona::createContainmentDelayed()
unfortunate, but necessary for on the fly containment plugin switch
2014-04-09 22:15:46 +02:00
Marco Martin
10f0dc51b9 don't emit activate on reactToScreenChange
this makes the delete dialog *not* freeze palsma
2014-04-08 19:47:50 +02:00
Marco Martin
857b0b8069 don't try to load dataengines with and empty name 2014-04-02 11:12:11 +02:00
Marco Martin
d597e07fd5 remove dead code 2014-03-31 20:37:52 +02:00
Marco Martin
a326f85cd8 a breeze-dark theme
this theme won't have any graphics, just colors that get applied with css on the default svgs
2014-03-31 20:36:37 +02:00
Martin Klapetek
461042a240 Use installEventFilter calls properly
Should fix some font-change related bugs
2014-03-31 18:49:45 +02:00
Martin Klapetek
ce878ee787 Use installEventFilter properly
BUG: 332501
2014-03-26 14:24:46 +01:00
Marco Martin
614af69f02 never show the dialog on destroy()
the remove action is now hooked to another slot, askDestroy()
it *MAY* solve the "Do you wish to remove this default desktop" bug, or may get it worse
CCBUG:332137
2014-03-20 19:22:27 +01: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
Aleix Pol
a3641aac25 Fix headers management in plasma-framework
Use generate headers instead of having them stored in the repository.
Figure out how relative paths are forwarded around, there were some weird
things.
Stop installing plasma header files in the KDE/ prefix.
2014-03-17 16:28:24 +01:00
Martin Gräßlin
d2452e2917 EGL/X11 backend for WindowThumbnail QQuickItem
Introduces a new optional dependency to EGL. If EGL is found the
WindowThumbnail gets compiled with EGL support. The EGL support is
unlike Qt's XCB plugin not mutual exclusive to the GLX backend, thus
it's possible to compile with EGL and GLX at the same time.
By that this implementation is prepared for the case that Qt supports
EGL or GLX through runtime selection.

In practice EGL support is only useful if Qt is compiled with GLESv2.
In that case the corebindingsplugin gets linked against Qt5::Gui_GLESv2
to get the dependency to GLES.

The implementation makes use of the EGL_KHR_image extension
(or EGL_KHR_image_base and EGL_KHR_Image_pixmap) and
the GL_OES_EGL_image extension to bind the X pixmap to an EGLImageKHR.

REVIEW: 116627
2014-03-17 09:09:23 +01:00
Marco Martin
07637b7f34 remove dead code 2014-03-14 18:03:15 +01:00
Marco Martin
cc8de5a789 remove unused variable 2014-03-11 17:07:15 +01:00
Marco Martin
d397358346 Make the delete containment dialog async
a syncronous dialog brings crashes if something gets deleted while the dialog's event loop is in execution
BUG:332027
2014-03-11 17:04:31 +01:00
Martin Klapetek
6a1fa18986 Add availableScreenRect(int id) to Corona base class
This is already implemented in ShellCorona and is quite handy too

Reviewed-by: Marco Martin
2014-03-11 15:30:45 +01:00
Sebastian Kügler
a1dce4bb86 Update theme on KWindowSystem::compositingChanged
BUG:328651
2014-03-09 23:50:21 +01:00
David Edmundson
fb7451051e Expose globalShortcut in AppletInterface so it can be set from the config 2014-03-05 17:28:50 +01:00
Marco Martin
a0aa88f00d formFactorChanged, locationchanged signals 2014-03-04 18:13:19 +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
7c14b22fc0 Qt5::Widgets not used anymore 2014-02-27 13:20:26 +01:00
Marco Martin
f5ce791246 Qt5::Network not used anymore 2014-02-27 13:19:00 +01:00
Marco Martin
9253bc1cf0 threadweaver not used anymore 2014-02-27 13:06:39 +01:00
Marco Martin
13bb3fa054 solid isn't used 2014-02-27 12:59:37 +01:00
Marco Martin
4817e11441 don't depend from Auth 2014-02-27 12:51:24 +01:00
Marco Martin
88122c62a5 don't depend from DNNSD
it wasn't actually used anymore
2014-02-27 12:50:32 +01:00
Marco Martin
b2fec905b5 Merge branch 'mart/svgHiDpi'
REVIEW:116027
2014-02-26 16:39:52 +01:00
Sebastian Kügler
5f998abd7b More usage of QStringLiteral in theme's hot pathes 2014-02-26 05:09:31 +01:00
Sebastian Kügler
7fde00f2f0 Use QStringLiterals for stylesheet processing
Speeds up the construction of all these strings a bit.
2014-02-26 00:50:10 +01:00
Marco Martin
3e966f29b1 typo 2014-02-25 19:42:04 +01:00
Marco Martin
53b2aba558 explain why we only consider integers right now 2014-02-25 19:39:12 +01:00
Marco Martin
6ab569e85e add new needed keys to applet plugin definition 2014-02-25 14:32:00 +01:00
Marco Martin
c533153978 add a new color for svg stylesheets: Highlight 2014-02-25 11:21:19 +01:00
Marco Martin
a04a87bcec use units to understand the devicePixelRatio 2014-02-24 16:55:19 +01:00
l10n daemon script
c802da22a5 SVN_SILENT made messages (.desktop file) 2014-02-23 04:51:11 +00:00
Marco Martin
c009c7f0cd concept of fixedMargins
sometimes we need to know what the margins are of a framesvg, even if some of them are disabled
2014-02-21 21:13:12 +01:00
Marco Martin
372912d53e fix elementSize() 2014-02-21 19:52:25 +01:00
Marco Martin
17332257d7 experimental devicePixelRatio in Plasma::Svg
Conflicts:
	src/declarativeimports/core/framesvgitem.cpp
2014-02-21 19:24:14 +01:00
Sebastian Kügler
01d1509c7c Speed up cache lookups
Use constFind and an iterator to save one hash key lookup.

CCMAIL:aleixpol@kde.org
2014-02-21 16:03:03 +01:00
David Edmundson
d7b8ba265b Cleanup whitespace 2014-02-21 15:15:21 +01:00
David Edmundson
9459ed1f02 Add convenient QImage image() getter in SVG 2014-02-21 15:15:21 +01:00
Marco Martin
e27a2512af make :screen() not crash if is child of an applet 2014-02-21 11:13:14 +01:00
Sebastian Kügler
29cf8e22d2 Faster theme changes
Don't wait too long after the file changed, makes theme changes be
picked up half a second faster -- noticeable for the user.
2014-02-21 01:20:27 +01:00
Sebastian Kügler
d8ea983d45 Slightly faster lookup of cached theme elements 2014-02-21 01:19:58 +01:00
Sebastian Kügler
7fcb1b7889 Merge branch 'sebas/themeswitch2'
Conflicts:
	src/shell/panelconfigview.cpp
2014-02-17 17:59:32 +01:00
Michael Palimaka
c9c4e6c3b2 Remove unused system dependencies.
- plasma_appletscript_declarative includes QtUiTools but doesn't use it
- QtPrintSupport is not used anywhere
- Xss, Xext, and SM are not used anywhere
- OpenSSL is not used anywhere

REVIEW: 115830
2014-02-18 03:12:12 +11:00
Marco Martin
12a766795e return the correct immutability 2014-02-17 12:00:24 +01:00
Marco Martin
50a584d0bc rename Applet::activate() with Applet::activated()
activate() is a name that suggests a slot more than a signal
2014-02-14 14:40:53 +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
Marco Martin
59dbfeeab6 ask confirmation to delete containments 2014-02-13 15:30:07 +01:00
Martin Gräßlin
bada0c97ba Ensure that we can build without X11 or XCB
* X11 is optional dependency
* XCB is optional dependency
* Qt::X11Extras is only found if both X11 and XCB are found
* switch to HAVE_X11 instead of X11_FOUND in CMakeLists
* remove/fix custom added definitions
* use #if HAVE_X11 instead of #ifdef HAVE_X11 (that is always true)

REVIEW: 115698
2014-02-12 16:20:42 +01:00
Martin Gräßlin
31e301174a Ensure to not call X11 specific calls if we are not on platform X11
This fixes a bunch of possible crashy code when trying to run
applications linking plasma-framework on platform Wayland.

REVIEW: 115641
2014-02-12 16:20:04 +01:00
Aleix Pol
18473c9e9e Remove KRunner from Plasma-Framework
Have it as a separate KRunner framework instead
2014-02-11 18:03:06 +01:00
David Faure
452413ef33 use version strings defined at toplevel - doesn't work though ? 2014-02-11 16:23:33 +01:00
Marco Martin
0573a47e06 tests and autotests in top level dir 2014-02-10 15:17:07 +01:00
Sebastian Kügler
eebfb64d0a Merge branch 'master' into sebas/themeswitch2 2014-02-06 17:56:28 +01:00
Marco Martin
3858044d25 Merge branch 'mart/AppletAttached'
Conflicts:
	src/declarativeimports/core/dialog.cpp
	src/scriptengines/qml/plasmoid/containmentinterface.cpp
2014-02-06 13:16:11 +01:00
Marco Martin
3bb0e7d3d0 use the config of the applet parent of containment
that's the systray specific hack
2014-02-06 12:12:43 +01:00
l10n daemon script
34284e90eb SVN_SILENT made messages (.desktop file) 2014-02-06 04:12:17 +00:00
Sebastian Kügler
585aa4998a noise-- 2014-02-06 04:00:39 +01:00
Sebastian Kügler
d9e43ff979 Be smarter about contrast effect reading
This commit allows the theme designer to just enable and disable the
effect (enable=true). If no color values are set, values are picked
based on the background color. This essentially restores the hardcoded
values in some other places, and makes them available as sensible
defaults to other themes.

Also, make sure colors are read before the effect is applied (as we need
the new bg color to decide whether it's light or dark).
2014-02-06 02:51:46 +01:00
Sebastian Kügler
5dd4b51151 Plasma::Theme gets API for KWS' background contrast effect
From its api docs:

This method allows Plasma to enable and disable the background
contrast effect for a given theme, improving readability. The
value is read from the "enabled" key in the "ContrastEffect"
group in the Theme's metadata file.
The configuration in the metadata.desktop file of the theme
could look like this (for a lighter background):

[ContrastEffect]
enabled=true
contrast=0.45
intensity=0.45
saturation=1.7
2014-02-06 00:56:50 +01:00
Marco Martin
3325f24992 appletLoader doesn't depend from Declarativeappletscript 2014-02-05 12:51:31 +01:00
Martin Gräßlin
91e9e401f0 Include config-plasma.h before checking for HAVE_X11
Fixes compile warning since kwindowsystem.h doesn't provide HAVE_X11
any more.

Reviewed-by: Marco Martin
2014-02-05 11:10:53 +01:00
Marco Martin
517403096d port improve cache file dropping to plasma-framework
this ports revision c03052935b082 on kdelibs

improve cache file dropping

* fix regression: version the image cache file name
* version the svg elements
* drop old svg elements files
* respond to changes at runtime by watching the theme's metadata.desktop for changes
* move creation of the svg elements file into ThemePrivate::useCache()

REVIEW:115397
2014-02-04 12:06:09 +01:00
Sebastian Kügler
1bfbee809e const-ref in foreach, clean up debugging 2014-02-04 02:18:28 +01:00
Marco Martin
362a5017b6 support a corona child of an applet
this is an ad-hoc thing for the systray, would be better not having something like that
2014-02-03 18:47:51 +01:00
Sebastian Kügler
9e491920e5 Only search for metadata.desktop when necessary 2014-02-02 02:25:08 +01:00
Sebastian Kügler
fa7ae03867 Catch packages zipped into subdirectory
This is a pretty common thing, as most zipping tools put the contents
into a subdirectory by default.

Fixes theme package installation.
2014-02-02 02:18:54 +01:00
Sebastian Kügler
174eae6802 Merge branch 'master' into sebas/themeswitch 2014-02-01 22:38:55 +01:00
l10n daemon script
063366d681 SVN_SILENT made messages (.desktop file) 2014-02-01 04:10:47 +00:00
Sebastian Kügler
91a861e3ef noise-- 2014-01-31 03:39:10 +01:00
Sebastian Kügler
e0fbf3473f Remove unused member 2014-01-31 02:25:25 +01:00
Sebastian Kügler
1c4f14c177 Remove some dead code 2014-01-31 02:06:09 +01:00
Sebastian Kügler
de7558e7f7 Use shared KDirWatch instance 2014-01-31 01:31:09 +01:00
Sebastian Kügler
ffeb585003 Rough version in which theme switching works
This aligns the config files and groups, and adds a KDirWatch in the
shared Plasma::Theme private object in order to nofity when the
configured theme changes.

It's a bit rough, doesn't cover all corner cases and needs polishing.
2014-01-31 01:06:43 +01:00