671 Commits

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

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