Commit Graph

123 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
1938d19f34 Use non-deprecated KDEInstallDirs variables
NO_CHANGELOG
2021-01-29 01:16:09 +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
Nicolas Fella
1a1133006b Use KPluginMetaData to list DataEngines
Avoid using KPluginInfo and KPluginTrader in favor of KPluginMetaData
and KPluginLoader.

Add new method that uses KPluginMetaData

Deprecate old KPluginInfo-based methods.

See also https://phabricator.kde.org/T13889
2020-11-23 12:16:32 +00:00
Nicolas Fella
750deb933d Remove dead cmake code 2020-11-20 22:50:18 +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
David Faure
50530a7739 Port plasma-framework away from KRun 2020-05-22 22:36:25 +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
Aleix Pol
591aceb3f9 Make use of KPluginMetaData where we can
Summary: Instead of relying on the older KPluginInfo which is slower (parses de metadata twice) and comes from a much higher tier.

Test Plan: Running plasmashell with it

Reviewers: #plasma, mart

Reviewed By: #plasma, mart

Subscribers: kossebau, broulik, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D23682
2020-01-12 02:38:56 +01:00
Friedrich W. H. Kossebau
d70eadb977 API dox: adapt kapidox & ecm_add_qch settings to new deprecation macros
GIT_SILENT
2019-10-22 19:41:15 +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
Friedrich W. H. Kossebau
ab8e63a5a5 Use new INCLUDE_DIRS with ecm_add_qch, to have doxygen see more includes
GIT_SILENT
2019-10-19 00:39:53 +02:00
Friedrich W. H. Kossebau
fcfc201c8d Use more https in links (& update a few urls)
GIT_SILENT
2019-01-19 16:36:59 +01:00
Kai Uwe Broulik
38098e96e3 Remove ComponentInstaller
When a dataengine failed to load it would ask PackageKit to install it but it's generally not how we want to distribute
plasmoid infrastructure these days and didn't work.

Differential Revision: https://phabricator.kde.org/D16301
2018-11-19 12:53:31 +01:00
Kai Uwe Broulik
e92ed94d9d Remove PLASMA_NO_KIO option
It is a remnant of the Plasma Active days and didn't even compile.
This patch only removes those ifdefs, it doesn't fix any issues I found during (e.g. double lookups or the fact
that KRun::autoDelete is the default now)

Differential Revision: https://phabricator.kde.org/D16295
2018-10-18 16:44:27 +02:00
Friedrich W. H. Kossebau
0fb9732866 [FEATURE] Option to build & install QCH file with the public API dox
Using the new extra-cmake-modules module ECMAddQch (since 5.36.0)
this adds the option to automatically build and install a file
in QCH format with the docs about the public API, which then can be
used e.g. in Qt Assistant, Qt Creator or KDevelop.

Additionally the installed cmake config files will be extended
with a target KF5Plasma_QCH containing information about how to "link"
into the generated QCH file, which then can be used in the cmake build
system of other libraries building on this library, by
simply listing this target in "LINK_QCHS" of their ecm_add_qch() usage.
And a respective doxygen tag file with all the metadata about the
generated QCH file and used for the "linking" will be created and
installed.

Pass -DBUILD_QCH=ON to cmake to enable this.
2017-06-05 04:25:55 +02:00
Aleix Pol
67d882037c Define Plasma PackageStructure as regular KPackage PackageStructure plugins
This way we can use kpackagetool5 against them (see RR 128590).

REVIEW: 128596
2016-08-04 19:23:59 +02:00
Martin Klapetek
76186339f6 [libplasma] Add categorized debug output 2015-12-15 16:56:40 -05:00
Martin Gräßlin
286300ad35 Use newer cmake syntax for XCB dependencies 2015-11-09 11:11:06 +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
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
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
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
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
Alex Merry
48e9c2f29e Update installation variables. 2015-01-10 17:47:31 +00: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
Marco Martin
af6149c9d0 use notifications actions to undo
Change-Id: I4b9abf6047b94b4fc13aad672d1bc8e97203f502
2014-10-28 19:06:55 +01: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
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
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
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
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
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
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
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
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
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