Commit Graph

1171 Commits

Author SHA1 Message Date
Friedrich W. H. Kossebau
3f8469acb1 Use Q_DECLARE_OPERATORS_FOR_FLAGS in same namespace as flags definition
Having the macro's definition of the operator| in the namespace of the
flags argument improves/unbreaks things for the argument-dependent
lookup of unqualified function names, e.g. when flags are combined in
calls of other methods, but there is some other operator| defined in the
namespace of the current code.

Given Q_DECLARE_OPERATORS_FOR_FLAGS creates inlined functions, this
should be a source and binary compatible change.

Qt did similar for Qt 5.12 in
https://codereview.qt-project.org/c/qt/qtbase/+/225348
2020-08-24 09:21:41 +00:00
Andreas Cord-Landwehr
d10afb5d2a plasma-framework: Convert copyright statements to SPDX expressions 2020-08-13 19:08:54 +00:00
Nicolas Fella
49bb7d152b Port away from KMimeTypeTrader
It is about to be deprecated

See https://phabricator.kde.org/T12177
2020-08-11 23:41:10 +02:00
David Edmundson
e510d9d3ce Don't truncate DPR to an integer in cache ID 2020-08-03 08:18:35 +00:00
l10n daemon script
e0a721c103 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-07-31 05:33:55 +02:00
Marco Martin
50a03b39a3 filter on formfactors if set
if KDeclarative::runtimePlatform() is set, then filter applets
that have formfactors set and don't match, in order to not
show on the phone applets that are desktop only

in desktop case, list all applets, for maximum retrocompatibility,
to be reconsidered for kf6
2020-07-22 08:00:28 +00:00
Friedrich W. H. Kossebau
eb87bd715d Remove unneeded Q_DECLARE_METATYPE calls for pointers to QObject subclasses
Compare API dox of Q_DECLARE_METATYPE:
"
Some types are registered automatically and do not need this macro:
* Pointers to classes derived from QObject
* QPointer<T>, QSharedPointer<T>, QWeakPointer<T>,
  where T is a class that derives from QObject
"

This is a ABI-compatible change, as this just replaces explicitly
defined template code (by the Q_DECLARE_METATYPE macro use) with the
generic predefined one picking up pointers to QObject subclasses.

So instead of the custom explicitly template overload
    template <>
    struct QMetaTypeId< TYPE >
    { /**/ static int qt_metatype_id() {/**/} };
the predefined template overload one is picked up via
    template <typename T>
    struct QMetaTypeId : public QMetaTypeIdQObject<T>
    { /**/ };
    template <typename T, int =
        QtPrivate::IsPointerToTypeDerivedFromQObject<T>::Value ?
            QMetaType::PointerToQObject :
        /**/ 0>
    struct QMetaTypeIdQObject
    { /**/ };
    template <typename T>
    struct QMetaTypeIdQObject<T*, QMetaType::PointerToQObject>
    { /**/ static int qt_metatype_id() {/**/} };

And thus the constexpr code using QMetaTypeId<T>::qt_metatype_id(),
for which all this is done, evaluates as before.

GIT_SILENT
2020-07-20 21:55:53 +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
Laurent Montel
e45a66139a Use camelcase include. (scripted) 2020-07-08 07:44:43 +02:00
David Edmundson
582d9ed38d Copy DataEngine relays before itterating
relay->checkQueueing emits a signal to all observers. As it's a signal
anything can happen at that point. It's seemingly common for a receiver
to connect/disconnect a new visualisation which in turn alters
d->relays.

This broke when a foreach (with implicit shallow copy) was ported to a
for statement.

This report contains a good analysis and test case

BUG: 422973

Probably also:

BUG: 421392
BUG: 423713
BUG: 423776
BUG: 422230
BUG: 423081
2020-07-07 08:18:23 +00:00
Friedrich W. H. Kossebau
71fd52c1ce Revert "Use fully qualified identifiers for metaobject types"
Is a signature change for the Qt meta system in a public header, so
potentially could break something for someone.

This reverts commit ac6bff575f.
2020-07-01 20:09:49 +00:00
David Redondo
e690b92d3e Use QDBusMessage::createMethodCall instead of QDBusInterface
Saves one blocking introspection call
2020-07-01 15:00:13 +00:00
Aleix Pol
ac6bff575f Use fully qualified identifiers for metaobject types
Fixes QML error:
share/plasma/plasmoids/org.kde.plasma.private.systemtray/contents/ui/items/StatusNotifierItem.qml:64: Error: Unknown method return type: ServiceJob*

BUG: 423643
2020-07-01 03:47:27 +02:00
Friedrich W. H. Kossebau
eb3654edeb No need to go via QMatric, use QTransform directly
GIT_SILENT
2020-06-26 14:33:08 +02:00
Friedrich W. H. Kossebau
fda9bae9b1 Remove unused method SvgPrivate::matrixForElement
GIT_SILENT
2020-06-26 14:25:54 +02:00
Friedrich W. H. Kossebau
e18a939897 Port away from deprecated QLatin1Literal
GIT_SILENT
2020-06-26 14:24:41 +02:00
Friedrich W. H. Kossebau
4f8a97a9cd Port away from deprecated QSvgRenderer::matrixForElement()
GIT_SILENT
2020-06-26 06:26:07 +02:00
Friedrich W. H. Kossebau
da3d1c72ce Port away from deprecated QBasicAtomicInteger<>::load()
GIT_SILENT
2020-06-26 06:05:41 +02:00
Friedrich W. H. Kossebau
68984d91f7 Port away from deprecated QSet<>::fromList
GIT_SILENT
2020-06-26 06:03:24 +02:00
Friedrich W. H. Kossebau
d6f15e9f2b Port away from deprecated QList<>::toSet
GIT_SILENT
2020-06-26 06:03:03 +02:00
l10n daemon script
af8ed75b29 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-18 05:32:17 +02:00
l10n daemon script
9683f15a36 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-06-17 13:59:56 +02:00
l10n daemon script
1049bca147 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-05-31 20:19:54 +02:00
Marco Martin
50a699f9e3 Merge branch 'mart/headerGroup' 2020-05-25 11:16:52 +02:00
Friedrich W. H. Kossebau
4bd45c6de9 Fix build with KF set to EXCLUDE_DEPRECATED_BEFORE_AND_AT=CURRENT
Summary: NO_CHANGELOG

Reviewers: #plasma, mart, apol

Reviewed By: apol

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D29600
2020-05-24 16:05:26 +02:00
David Faure
50530a7739 Port plasma-framework away from KRun 2020-05-22 22:36:25 +02:00
Marco Martin
5884df4cfc support the Header color grgoup
Support the new Header color group in KColorScheme by proxying it in
Plasma::Theme and the kirigami styles here
2020-05-21 18:43:38 +02:00
l10n daemon script
8f1034fbe8 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2020-05-03 06:05:07 +02:00
Laurent Montel
48f60533b9 [plasma-framework] make it compiles without foreach
Summary: compile without foreach

Test Plan: autotest ok

Reviewers: dfaure, apol

Reviewed By: dfaure, apol

Subscribers: ahmadsamir, nicolasfella, broulik, apol, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D19913
2020-04-17 06:47:04 +02:00
Aleix Pol
298ce0ed7f Fix warnings
Reviewers: #frameworks

Subscribers: ahmadsamir, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D28088
2020-04-14 01:39:11 +02:00
David Redondo
b7fa6e0e91 Try to apply the colorscheme of the current theme to QIcons
Summary:
Before icons loaded internally with QIcon::fromTheme were being colored with the
colors from the current global color scheme instead of the ones from the current
Plasma Theme. Leading to visual bugs when the two differ. This happened because
KIconLoader uses the global color scheme by default.
A prominent case is the notification send by the network plasmoid when one
successfully connected to a wireless network. It sets the icon
"network-wireless-on" which is not included in Breeze icons (but is included in
Breeze Plasma Theme). If the current icon theme is indeed Breeze, IconItem
resorts to using QIcon::fromTheme and we end up with a wrong colored
"network-wireless" icon.

BUG: 417780

Test Plan:
{F8125752}

{F8125753}

Reviewers: #plasma, cblack, ngraham, mart

Reviewed By: #plasma, cblack, ngraham, mart

Subscribers: mart, wbauer, cblack, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D27589
2020-03-02 11:55:35 +01:00
Kai Uwe Broulik
1dc36bc2ce Construct NullEngine with KPluginMetaData()
The deprecated constructor taking a KPluginInfo unconditionally calls toMetaData() and then asserts.

BUG: 417548

Differential Revision: https://phabricator.kde.org/D27366
2020-02-13 15:21:49 +01:00
Friedrich W. H. Kossebau
2e3cc7e8dd Use ecm_qt_install_logging_categories over manual categories file 2020-02-12 04:09:12 +01:00
Nate Graham
b76b908e10 Don't warn for invalid plugin metata
Summary:
See explanation in https://bugs.kde.org/show_bug.cgi?id=412464

BUG: 412464
FIXED-IN: 5.67

Test Plan: restart plasmashell, see way less useless warning spam

Reviewers: #plasma, mart, apol

Reviewed By: apol

Subscribers: apol, alex, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D27080
2020-02-07 06:34:07 -07:00
Laurent Montel
1e5966147d QHash::insertMulti is deprecated in qt5.15 => port to QMultiHash
Summary: Port to QMultiHash

Reviewers: apol

Reviewed By: apol

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D26736
2020-01-18 07:40:52 +01:00
Friedrich W. H. Kossebau
4d7ba16825 Fix some @since & PLASMA_ENABLE_DEPRECATED_SINCE of last commit 2020-01-12 07:36:34 +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
Laurent Montel
b387faa935 Port qrand to QRandomGenerator (qrand is deprecated in qt5.15)
Summary: Port to QRandomGenerator

Reviewers: apol

Reviewed By: apol

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D26464
2020-01-07 06:47:10 +01:00
Laurent Montel
3f30f91fb0 Port endl to \n Not necessary to flush as QTextStream uses QFile which flush when it's deleted
Summary: Port endl to \n

Reviewers: dfaure, apol

Reviewed By: apol

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D26465
2020-01-07 06:46:45 +01:00
Laurent Montel
d345bdd87f Port deprecated QSet::toList method 2019-12-19 13:55:07 +01:00
David Faure
00ddc6c1f0 [plasma-framework] port away from deprecated KF5 APIs
Summary:
KDeclarative::setupBindings() is deprecated, replaced calls with its
implementation (setupContext + static setupEngine call), but see comment
about whether we can be sure this is done only once per engine, as
requested by the setupEngine API. It's 100% equivalent to the old code
though, can't be worse.

KPackage::contentsHash is deprecated, replaced call with implementation.

Depends on D25433 for the KActionCollection::changed signal.

Test Plan: Builds

Reviewers: mart, davidedmundson, broulik, apol

Reviewed By: apol

Subscribers: apol, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D25434
2019-12-15 00:01:39 +01:00
l10n daemon script
d2fba8a760 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-12-09 05:18:11 +01:00
Marco Martin
af861eb2a4 move backgroundhints managment in Applet
Summary:
Applet is the more proper way to do it (and will make easier porting
to KF6) this also make it possible for the scripting interface to
access userBackgroundHints

Test Plan: everything behaves the same in plasmashell, the background button in the handle works

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D25742
2019-12-05 10:41:57 +01:00
Marco Martin
57fdb56790 support for user removing background and automatic shadow
Summary:
add the ability for the user to override the background hints anddecide
about applets having background or a shadow
A new handle button will be added to manually enable/disable background for
plasmoids that support it
if they don't, the ImmutableBackground flag is set in the hints.

PlasmaCore.ColorScope has been expanded to work more like Kirigami.Theme (which will be replaced by) even if it's oòld behavior still works. This makes the complementary colorscope in applets with shadow actually work (and at the same time gives a clearer porting path for kf6)

Test Plan: Tested the functionality and correct save/restore

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: davidedmundson, ndavis, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D25590
2019-11-29 10:45:08 +01:00
Yuri Chornoivan
052a81f755 Fix minor issues found by EBN and typos 2019-11-10 12:06:10 +02:00
l10n daemon script
876dafaedb SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2019-11-06 05:33:56 +01:00
Marco Martin
5f46dd6bd5 add DisabledTextColor to Theme 2019-10-29 11:29:12 +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
Björn Feber
bbe0148db5 Improve panel options menu entries
Summary:
- Move "Panel Options" context menu items out of submenu
- Rename "Configure Panel..." option

See M144, T10047, T10190. This makes the panel customization options much more discoverable.

Test Plan: Open the panel context menu.

Reviewers: #plasma, #vdg, mart

Reviewed By: #plasma, #vdg, mart

Subscribers: davidedmundson, ngraham, #vdg, kde-frameworks-devel, #plasma

Tags: #frameworks

Maniphest Tasks: T10190, T11094, T10402

Differential Revision: https://phabricator.kde.org/D23951
2019-10-21 19:53:46 +02:00
Marco Martin
acbb200ac2 edit mode action
Summary: needed for the context menu entry

Test Plan: with the p-w- portion the action shows in the context menu

Reviewers: #plasma, #vdg, GB_2, ngraham, davidedmundson

Reviewed By: #plasma, #vdg, ngraham, davidedmundson

Subscribers: davidedmundson, broulik, GB_2, ngraham, kde-frameworks-devel

Tags: #frameworks

Maniphest Tasks: T10190, T11094, T10402

Differential Revision: https://phabricator.kde.org/D24263
2019-10-21 13:06:01 +02:00