Commit Graph

32 Commits

Author SHA1 Message Date
Christophe Giboudeaux
1587ead53e Fix typos found by codespell
GIT_SILENT
2021-07-14 11:01:00 +02:00
Alexander Lohnau
b63335d10a pluginloader: Remove deprecated version checks
Task: https://phabricator.kde.org/T14302

The explicit version checks are not needed anymore, the plugins are
installed into a specific namespace for each major version. Also the
plasma-frameworks API is stable during the lifetime of a major version.
2021-06-14 19:54:40 +00:00
Alexander Lohnau
5dfa851f7b
Allow building the project without deprecations 2021-05-18 06:20:10 +02:00
Nicolas Fella
e9ef688387 [pluginloader] Deprecate listContainments and listContainmentsOfType
They are based on the deprecated KPluginInfo and unused.
2021-05-06 13:38:39 +02:00
Nicolas Fella
56e7c54da2 Deprecate PluginLoader::listContainmentsForMimeType
It's unused and problematic since it uses KPluginInfo
2021-05-06 13:27:44 +02:00
Nicolas Fella
bfa1100523 [pluginloader] Add methods to list containments using KPluginMetaData
To replace the KPluginInfo-based variants
2021-03-29 20:41:37 +02:00
Nicolas Fella
cde7f8a986 Deprecate PluginLoader::listEngineInfoByCategory
It isn't used anywhere.

It is problematic since it returns KPluginInfo. Instead one can use the
KPluginMetaData-based method and do the filtering manually
2021-03-28 22:24:20 +02:00
Ahmad Samir
c0274df69a Run clang-format on all cpp/h files
NO_CHANGELOG
2021-03-13 17:35:34 +00:00
Nicolas Fella
007eacca5b Use KPluginMetaData to list containmentActions
Add a new method that uses KPluginMetaData to list the
containmentActions and deprecate the KPLuginInfo-based one
2020-11-23 12:17:26 +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
Andreas Cord-Landwehr
d10afb5d2a plasma-framework: Convert copyright statements to SPDX expressions 2020-08-13 19:08:54 +00:00
Laurent Montel
e45a66139a Use camelcase include. (scripted) 2020-07-08 07:44:43 +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
c88354e0ed API dox: add missing @since
GIT_SILENT
2019-09-08 23:51:04 +02:00
Friedrich W. H. Kossebau
295059675c API dox: use full signatures for autolink on overloaded methods
GIT_SILENT
2019-09-08 23:50:40 +02:00
Bhushan Shah
7ae271987c pluginloader: Change behavior of X-KDE-ParentApp
Summary:
X-KDE-ParentApp is the key in desktop file to display that given service
or application is part of the another application or extension of other
application. In KDE4 this key was used to mark applets to be used in the
specific application like plasma-desktop, kdevelop, amarok etc.

In KF5 world, none of this applications have applet loading mechanism
apart from plasma*, and there are likely only Plasma applet, containment
or dataengines.

Previous API, when no/empty parentApp was passed would filter out every
application which had something as parentApp. This was to ensure only
compatible plugins are loaded in Plasma. This resulted in applets
getting excluded if they suggested that org.kde.plasmashell is their
parent application. Refine this API to,

- If no/empty parentApp is provided, provide all applets
- If parentApp is provided, filter by applet

This behavior is more filter like instead of other way around.

CHANGELOG: Applet, DataEngine and containment listing methods in
Plasma::PluginLoader no longer filters the plugins with X-KDE-ParentApp
provided when empty string is passed.

Test Plan:
tested that plasma loads properly, plasmaengineexplorer lists
all engines and plasmawindowed works fine. Neverthless requires more testing

Reviewers: mart, apol

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D22049
2019-06-23 20:39:41 +05:30
Yuri Chornoivan
72ca2f79e0 Fix minor EBN issues and typos 2018-10-22 21:05:29 +03:00
Montel Laurent
7f0c023d3f Use nullptr + add explicit 2017-12-13 07:36:22 +01:00
Aleix Pol
563011436d Port a bunch of classes away from Plasma::Package
Summary: Ported away some classes, removes many unneeded casts that happen when starting.

Test Plan: Tests still pass, plasma starts properly

Reviewers: #frameworks, #plasma, mart

Reviewed By: #plasma, mart

Subscribers: davidedmundson, mart, plasma-devel

Tags: #plasma, #frameworks

Differential Revision: https://phabricator.kde.org/D6041
2017-06-06 15:11:25 +02:00
Friedrich W. H. Kossebau
fcee026657 API dox: note CamelCase includes by @class tag with more classes 2017-05-26 19:55:09 +02:00
Martin Gräßlin
4798310ed7 Deprecate Plasma::Package API in PluginLoader
Summary:
As Plasma::Package is deprecated API using Plasma::Package should also
be deprecated.

Reviewers: #plasma, #frameworks

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D3812
2016-12-27 18:20:35 +01:00
Aleix Pol
0ebe2ca1fa Don't enforce metadata.desktop, cleanup constructor
Makes it possible to use plugins that offer a metadata.json file.
Define the service type when falling back to the desktop file parser, so
the type system is proper.
Don't destroy a KPluginMetadata tuple to instanciate it right away.

REVIEW: 129102
2016-10-10 16:28:13 +02:00
Friedrich W. H. Kossebau
4bf1ef7ea6 Fix API dox of Plasma::PluginLoader: mixup of applets/dataengine/services/...
REVIEW: 128616
2016-08-20 17:19:14 +02:00
David Faure
107c28d361 PluginLoader: improve error message about plugin version compatibility
Summary:
The name of the actual plugin was missing, making the warning rather useless.
Since this is only used within PluginLoader, I added a private function
isPluginVersionCompatible(KPluginLoader), taking code from
Plasma::isPluginVersionCompatible(uint). That one could probably be deprecated,
although no public replacement would be available, just "use PluginLoader".

Test Plan: plasmoidviewer -a org.kde.plasma.digitalclock

Reviewers: mart

Reviewed By: mart

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D1825
2016-06-12 18:13:12 +02:00
Marco Martin
5b0ec83c36 Revert "mechanism for coronas to load plasmoids from custom folders"
This reverts commit 2751b72835.
2016-03-08 15:39:50 +01:00
Marco Martin
2751b72835 mechanism for coronas to load plasmoids from custom folders
applications such as Amarok can look for their plasmoids in
their own data dir in order to not have all mixed up
2015-12-01 17:39:05 +01:00
Kevin Ottens
72ba7b4146 Apply the astyle-kdelibs script 2014-04-26 01:48:37 +02:00
Marco Martin
a2b436aef8 remove all references to runners 2014-04-16 18:56:22 +02:00
Marco Martin
5af5da2687 move all loading function to PluginLoader 2013-04-04 17:34:27 +02:00
Marco Martin
dc9075f157 ContainmentCategories -> X-Plasma-ContainmentType
containments can have one and only one type
2013-03-07 19:28:06 +01:00
Marco Martin
444d49709b move in PluginLoader metadata-related methods
listContainments
listContainmentsOfType
listContainmentTypes
listContainmentsForMimeType
2013-02-19 13:09:33 +01:00
Sebastian Kügler
7dfe957e66 The Big Move
All cpp code moves into the src/ subdirectory, as the Frameworks policy
suggests.

Directory structure should now be in line with other, future frameworks.
2013-02-14 17:17:12 +01:00