Commit Graph

65 Commits

Author SHA1 Message Date
Nicolas Fella
08f0204d16 Replace KF5_VERSION with KF_VERSION
Frameworks will be Frameworks 6 at some point and there is no good reason to have the major version in the variable name.

Given this is purely internal we can to this now, making it a bit more future-proof

GIT_SILENT

NO_CHANGELOG
2021-01-29 23:25:42 +01:00
Friedrich W. H. Kossebau
47f01a434b Use non-deprecated KDEInstallDirs variables also for CMake config generation
NO_CHANGELOG
2021-01-29 05:31:27 +01:00
Marco Martin
f09b46bec6 Draft: Replace QString cache IDs with a struct-based version
As it turns out, QString::number() is quite expensive, especially when
using it in a code path that is called a lot of times. So instead, use a
struct with a custom hash method as cache ID. This is significantly
faster since we do not need to do memory allocations or string
conversions.
2020-12-17 11:31:27 +00:00
Friedrich W. H. Kossebau
2ce6774718 Use KF-standardized Qt logging categories
See https://community.kde.org/Frameworks/Frameworks_Logging_Policy
2020-07-13 03:16:11 +02:00
Friedrich W. H. Kossebau
2e3cc7e8dd Use ecm_qt_install_logging_categories over manual categories file 2020-02-12 04:09:12 +01:00
Vlad Zahorodnii
f5f43514af [Plasma Quick] Add WaylandIntegration class
Summary: It allows us to get rid of DialogShadows::waylandPlasmaShellInterface().

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: kde-frameworks-devel

Tags: #frameworks

Maniphest Tasks: T12496

Differential Revision: https://phabricator.kde.org/D26491
2020-01-22 02:42:02 +02:00
Friedrich W. H. Kossebau
573b9a439f Enable KF_* group deprecation macros
GIT_SILENT
2019-10-20 03:46:32 +02:00
Friedrich W. H. Kossebau
df7f981890 Use ECMGenerateExportHeader to manage deprecated API better
Summary:
Allows
* projects linking to Plasma to hide deprecated API up to a
  given version or silence deprecation warnings after a given version,
  using
  * -DPLASMA_DISABLE_DEPRECATED_BEFORE_AND_AT
  * -DPLASMA_NO_DEPRECATED
  * -DPLASMA_DEPRECATED_WARNINGS_SINCE
  * -DPLASMA_NO_DEPRECATED_WARNINGS
  * -DPLASMAQUICK_DISABLE_DEPRECATED_BEFORE_AND_AT
  * -DPLASMAQUICK_NO_DEPRECATED
  * -DPLASMAQUICK_DEPRECATED_WARNINGS_SINCE
  * -DPLASMAQUICK_NO_DEPRECATED_WARNINGS

  or
  * -DKF_DISABLE_DEPRECATED_BEFORE_AND_AT
  * -DKF_NO_DEPRECATED
  * -DKF_DEPRECATED_WARNINGS_SINCE
  * -DKF_NO_DEPRECATED_WARNINGS

Reviewers: #plasma, mart, davidedmundson, apol, mlaurent

Reviewed By: #plasma, mart, mlaurent

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D24678
2019-10-19 00:42:13 +02:00
Marco Martin
6cbea20bf9 try to preload certain applets in a smart way
Summary:
preload popups of some applets after init in the background
based on a value of X-Plasma-PreloadWeight in the desktop file
if present, otherwise some default values based on the applet
type (Provides)

Save the weight in the config, if an applet is never opened,
slowly decrease the weight, when it reaches 0 don't preload it
next start, increase every time it gets opened, so at the moment
it's quite aggressive about preloading, in order to not do it
a lot of plasma startups without touching the applet are needed

Applet with a very big weigth will be preloaded immediately,
therefore having an impact on the time it will take to have
a panel visible and usable, while lesser weigths will preload
after a random number of seconds between 2 and 10, so will load
in the background after everything is started

Test Plan:
Plasma starts up correctly, applets load correctly and can be added
correctly both those expanded or collapsed.
plasmashell appears correctly usable without too big hiccups even
while it's loading things in the background

some numbers:
without preloading, plasma takes around 64 mb of memory after startup
when preloading everything about 94, so it's a cost of about 30 mb
which is not negligible.
don't have precise timing, but if everything gets preloaded immediately,
the time to get an usable desktop appears to be at least doubled,
while the delayed preloading (except just a couple of applets) doesn't
seem to have a big impact on the time needed to get an usable desktop

Reviewers: #plasma

Subscribers: davidedmundson, broulik, apol, ngraham, plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D10512
2018-02-19 18:34:24 +01:00
Luca Beltrame
cf79873de6 Revert "Don't list KF5::WindowSystem in public libraries"
PlasmaQuick::Dialog::WindowType uses KWindowSystem's API, so removing
it from the list of the public libraries causes compilation issues in
projects that depend on plasma-framework (such as plasma-desktop) which
no longer find KWindowSystem's includes.

This reverts commit f8de13c674.

CCMAIL: kde@davidedmundson.co.uk
2017-07-05 09:18:49 +02:00
David Edmundson
f8de13c674 Don't list KF5::WindowSystem in public libraries
Summary: We don't use it in public API

Reviewers: #plasma

Subscribers: plasma-devel, #frameworks

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D6495
2017-07-04 07:57:08 +01:00
Sven Brauch
c6132f87c4 GIT_SILENT Fix ECM warning: use CMakePackageConfigHelpers instead of ECM variant 2017-01-03 16:23:41 +01:00
Eike Hein
91eb0749ed Revert "port all output to QCDebug/QCWarning"
This reverts commit acd7ab7815.

This broke the build for me and on CI:
/home/jenkins/sources/plasma-framework/kf5-qt5/src/declarativeimports/core/datamodel.cpp:214:9:
error: 'LOG_PLASMACORE' was not declared in this scope

CCMAIL:notmart@gmail.com
2016-10-19 03:16:16 +09:00
Marco Martin
acd7ab7815 port all output to QCDebug/QCWarning
port every terminal output to appropriate QCdebug/QCwarning,
each different binary has its own logging category now, so
it's possible to enable/disable them selectively.
this should also make plasmashell a bit more quiet on
terminal by default

Change-Id: Ic0b26364f988935e990c6988f8f9375b7c9bf838
REVIEW:129210
2016-10-17 18:18:04 +02:00
Marco Martin
b0a5bc09ef use kwayland for shadows and dialog positioning
use plasmashell interface for moving the dialog,
use kwayland as well for shadows.

this is supposed to replace the waylanddialogfilter
hack in plasmashell.

REVIEW:129148
2016-10-11 17:21:57 +02:00
Christophe Giboudeaux
8f980541f5 Don't install files twice. 2016-09-10 14:14:43 +02:00
Marco Martin
12ea79b341 Merge branch 'mart/customShell'
Conflicts:
	examples/CMakeLists.txt
	src/plasma/pluginloader.cpp
2016-03-08 15:38:31 +01:00
Marco Martin
ff83c3ac99 install some plasmaquick headers 2015-11-24 10:58:05 +01:00
Martin Gräßlin
9030405089 [plasmaquick] Don't link OpenGL explicitly
Not needed and anyway pulled in from Qt.

REVIEW: 125975
2015-11-09 11:11:06 +01:00
Martin Gräßlin
de0f7d93a8 [plasmaquick] Drop XCB::COMPOSITE and DAMAGE dependency
Not used
2015-11-09 11:11:06 +01:00
Martin Gräßlin
286300ad35 Use newer cmake syntax for XCB dependencies 2015-11-09 11:11:06 +01:00
Marco Martin
68104d38d4 ntroduce a new class ContainmentView
replaces View, uses the shared engine view and uses the only global engine

Change-Id: I3de71c38edc92a0609d6614bde819957819c66a4
2015-05-18 16:19:01 +02:00
Alex Merry
48e9c2f29e Update installation variables. 2015-01-10 17:47:31 +00:00
Aleix Pol
7a4998046e Adopt QuickAddons in plasma-framework
Removes the code that was moved to QuickAddons

REVIEW: 120596
2014-10-15 13:22:27 +02:00
David Edmundson
0d209f9d2a Make KWindowSystem a public dependency of plasmaquick
Dialog.h uses netwm_def.h in the header so it should be included by apps
that use plasmaquick implicitly

Change-Id: I55507f552025468dde32e4830a78e34dc35c03af
2014-09-26 16:47:46 +02:00
Jonathan Riddell
8596689f2c add version cmake file for PlasmaQuick
add version cmake file for PlasmaQuick
this allows Plasma Desktop to be able to set a required KF5 version

REVIEW:119881
2014-08-21 18:18:01 +02:00
Marco Martin
fd87694c8d fix build 2014-05-19 18:29:41 +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
Aurélien Gâteau
d0bd7f77bf cmake warnings--
No need to define projects if we don't use any ${project}_* var.
2014-04-26 02:10:23 +02:00
Eike Hein
1e5524525f Revert "Install header for Dialog so it's publically subclassable as discussed."
This reverts commit baff217874.
2014-04-23 19:48:04 +02:00
Eike Hein
baff217874 Install header for Dialog so it's publically subclassable as discussed.
CCMAIL:notmart@gmail.com
CCMAIL:aleixpol@kde.org
2014-04-23 19:41:01 +02:00
Michael Palimaka
d488420dcb Move stray tests to the root directory to be more like
other frameworks.

REVIEW: 117599
2014-04-18 02:25:50 +10:00
Alex Merry
9aabcbe067 Explicitly specify link interface libraries for libKF5PlasmaQuick
The headers may not be public (yet?), but it doesn't hurt to have this
stuff specified properly.

REVIEW: 117060
2014-03-25 19:40:00 +00:00
Marco Martin
546dd32304 Dialog is now
it statically links FrameSvgItem and Units.. they may become libplasmaquick eventually but for now is fine like that
2014-03-19 12:47:09 +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
Marco Martin
710fe45527 move the shell packages in libplasmaquick 2014-03-15 17:25:42 +01:00
Marco Martin
e9580fc257 don't install headers of plasmaquick
don't commit to binary stability just yet
2014-02-20 11:16:46 +01:00
Marco Martin
90c608f863 complete porting 2014-02-19 20:00:29 +01:00
Marco Martin
d3253428dc plasmaquickview.h -> view.h 2014-02-19 19:40:40 +01:00
Alex Merry
596abe8c68 Use ecm_configure_package_config_file
Ported with:
sed -i -e 's/\(include(\)CMake\(PackageConfigHelpers)\)/\1ECM\2/' \
       -e 's/\<\(configure_package_config_file\)/ecm_\1/' \
       CMakeLists.txt

See http://commits.kde.org/extra-cmake-modules/139f60d81653888f696ef433
2014-02-18 21:18:16 +00:00
David Faure
452413ef33 use version strings defined at toplevel - doesn't work though ? 2014-02-11 16:23:33 +01:00
Marco Martin
f8b649fba9 move AppletQuickItem in libplasmaquick 2014-02-05 17:23:52 +01:00
Aurélien Gâteau
7c74c27a25 Add missing alias 2013-12-11 21:40:54 +01:00
Aurélien Gâteau
02d6b37976 Renames for the KF5 prefix 2013-12-11 21:40:54 +01:00
Martin Klapetek
3214bd8132 Add KF5 prefix to plasma framework
This changes the lib name and package names to follow other frameworks

libFoo -> libKF5Foo
find_package(KFoo) -> find_package(KF5Foo)

REVIEW: 114389
2013-12-11 21:40:54 +01:00
Marco Martin
990fd3b860 get completely rid of the packageaccessmanager 2013-10-24 13:27:02 +02:00
Sebastian Kügler
d5bef21f7b Rename target plasma to Plasma
This is in line with the frameworks naming policy, camelcasing. Up until
now, libplasma was the only library being KF5::plasma, that is now
KF5::Plasma.
2013-10-16 00:47:47 +02:00
Sebastian Kügler
9f85a7dc11 Add basic test for url interceptor 2013-10-15 02:37:06 +02:00
Sebastian Kügler
48d9bcb9f5 static QQmlNetworkAccessManagerFactory creator in urlinterceptor
Adding this one static to PackageUrlInterceptor allows us to hide it
otherwise from the API. Files can also move into private subdir, and the
factory header isn't installed anymore.
2013-10-15 02:15:54 +02:00
Sebastian Kügler
c42974f52e Move PackageUrlInterceptor and PackageAccessManager into PlasmaQuick 2013-10-15 01:08:47 +02:00