Commit Graph

953 Commits

Author SHA1 Message Date
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