Commit Graph

1187 Commits

Author SHA1 Message Date
Niccolò Venerandi
337779252d Merge branch 'master' of https://invent.kde.org/frameworks/plasma-framework into work/plasmoidsCanIgnoreMargins 2020-10-08 14:52:45 +02:00
Aleix Pol
f2ed2ca183 FrameSvg: Don't reset the cache when resizing
We were passing the enum as the first argument, which was being
converted to 0 and would set lastModified to 0. This would in turn
result in the cache being bypassed because now `findInCache with a
lastModified timestamp of 0 is deprecated` taking the slow path on most
occasions.
2020-10-08 04:06:56 +02:00
Aleix Pol
93de15f545 Detect that we are looking for an empty element and quit early
Otherwise we just go through all the fallbacks unnecessarily
2020-10-01 12:14:41 +00:00
l10n daemon script
f47f98da0b 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-09-28 05:58:18 +02:00
Noah Davis
b8fb2ff44e Add support for Tooltip color set
Also add some missing color sets to ThemePrivate::colorsChanged()
2020-09-24 16:41:13 -04:00
Arjen Hiemstra
16f852ea4c Ensure FrameSvg uses lastModified timestamp when using cache
This, I suspect, is the true source of bug 426674. FrameSvg would
request items from the cache without specifying any modification time
stamp, so we end up always retrieving the cached version. Since
lastModified is now a required parameter, we need to ensure this does
not happen anymore.

BUG: 426674
2020-09-23 14:08:52 +00:00
Arjen Hiemstra
7b42e5b45d Ensure we always have a valid lastModified timestamp when setImagePath is called
Not tracking modification time of icon/themed stuff means we do not know
when we need to reject the cached versions of these. So ensure we try to
keep track of the svg that this is coming from, even if we do stuff to
it in the meantime.

Longer term this should be changed so the cache knows which files it is
caching and can reject things that changed in the meantime.
2020-09-23 14:08:52 +00:00
Arjen Hiemstra
54e12fcda0 Deprecate a lastModified timestamp of 0 in Theme::findInCache
lastModified is used to track whether a file is outdated. Having a 0
here means we (in the old code) use the cached version. This causes
problems when the on-disk file has changed, as we have no way of
informing callers that they should regenerate the cache entry. To avoid
this, using a lastModified of 0 now warns and will always return false
(to indicate it is not cached). Unfortunately we can't simply drop the
default parameter of 0 since there is no source-compatible way of doing
that.

CCBUG: 426674
2020-09-23 14:08:52 +00:00
l10n daemon script
6885e1176b 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-09-23 06:25:34 +02:00
l10n daemon script
1be54dfc61 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-09-13 05:57:29 +02:00
l10n daemon script
cdfc7512aa 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-09-08 06:34:57 +02:00
l10n daemon script
973051ef3d 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-09-07 05:56:59 +02:00
Nate Graham
1aaccc2aef Call edit mode "Edit Mode"
This came up in yesterday's VDG meeting.

When we introduced the idea of an edit mode. We kind of danced areound
what it is, and didn't call it a mode, even though it is. We named the
menu item "Customize layout". However in all of our communications with
the user outside of the UI, we call it the global edit mode. Users
themselves call it "mdit mode". The code calls it "edit mode". We call
it edit mode when we talk about it internally. I think it's pretty clear
what it is in people's minds. So let's make the UI text reflect that.
2020-09-06 16:13:14 +00:00
Niccolò Venerandi
60e029d9d2 Merge branch 'master' of https://invent.kde.org/frameworks/plasma-framework into work/plasmoidsCanIgnoreMargins 2020-08-24 19:56:20 +02:00
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
Niccolò Venerandi
dcb26d979e ops 2020-08-22 16:56:05 +02:00
Niccolò Venerandi
db2126cea1 Use a hint instead of a bool 2020-08-22 16:54:52 +02: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