d8a1a9eb08
Summary: give frameSvg the concept of repaintBlocked(), that enables and disables the regeneration of the frame data when a property is set. the use case is when often, a lot of properties are set one after the other (such as prefix, enabled borders, size) collapse the formely similar, but a bit different logic of frame regeneration is a single function for better maintanability. QML FrameSvgItem sets repaintblocked when it starts and releases it just on oncomponentCompleted Test Plan: plasmashell still starts, autotests still work, all frames are rendered correctly the destruction of old frames is cutted by 50%. in the qml profiler the creation time of a framesvgitem slightly improved, on this machine from around 26 msecs to around 21, can still be improved, but at least the code is a bit simpler Reviewers: #plasma Subscribers: davidedmundson, plasma-devel, #frameworks Tags: #plasma, #frameworks Differential Revision: https://phabricator.kde.org/D4414 |
||
---|---|---|
.. | ||
data | ||
design | ||
packagestructure | ||
private | ||
scripting | ||
.krazy | ||
applet.cpp | ||
applet.h | ||
CMakeLists.txt | ||
config-plasma.h.cmake | ||
containment.cpp | ||
containment.h | ||
containmentactions.cpp | ||
containmentactions.h | ||
corona.cpp | ||
corona.h | ||
datacontainer.cpp | ||
datacontainer.h | ||
dataengine.cpp | ||
dataengine.h | ||
dataengineconsumer.cpp | ||
dataengineconsumer.h | ||
framesvg.cpp | ||
framesvg.h | ||
Mainpage.dox | ||
package.cpp | ||
package.h | ||
packagestructure.cpp | ||
packagestructure.h | ||
plasma.cpp | ||
plasma.h | ||
pluginloader.cpp | ||
pluginloader.h | ||
README | ||
service.cpp | ||
service.h | ||
servicejob.cpp | ||
servicejob.h | ||
svg.cpp | ||
svg.h | ||
theme.cpp | ||
theme.h | ||
version.cpp | ||
version.h |
libplasma This directory contains the classes making up libplasma, which provides the core framework used by Plasma applications, such as the Plasma desktop shell and its components. This includes applet and extension definitions and loading, common GUI elements, data and service interaction, search system, etc. Domain specific sets of functionality, e.g. for network awareness or sensors, are not found here but as DataEngine, Service, Applet, Package, Wallpaper, ContainmentActions, Containment and other plugins. Commit Guidelines: * If your patch is not an obvious or trivial bug fix, have it peer reviewed by another Plasma developer; http://reviewboard.kde.org is your friend :) * All code MUST follow the kdelibs coding style, as found at: http://techbase.kde.org/Policies/Kdelibs_Coding_Style * All new public API MUST have apidox written before committing and must go through an API review with another Plasma developer. We have to maintain binary compatibility, remember! Unit tests are next to godliness. (Though as you can see, right now libplasma is hellbound.) Please refer to the Plasma website (http://plasma.kde.org) and Plasma wiki (http://techbase.kde.org/Projects/Plasma) for API documentation and design documents regarding this library.