Commit Graph

574 Commits

Author SHA1 Message Date
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
Laurent Montel
e45a66139a Use camelcase include. (scripted) 2020-07-08 07:44:43 +02:00
Friedrich W. H. Kossebau
396c643154 Port away from deprecated qmlRegisterType
GIT_SILENT
2020-06-26 15:48:28 +02:00
Friedrich W. H. Kossebau
06b8e78fad Port away from deprecated QString::split(..., QString::SplitBehavior) overload
GIT_SILENT
2020-06-26 05:58:26 +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
Friedrich W. H. Kossebau
27395f956e API dox: note version since when API is deprecated
GIT_SILENT
2020-06-04 20:53:09 +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
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
l10n daemon script
26eb57c53e 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-04-04 06:27:52 +02:00
Daniel Vrátil
1e11099c16
Fix initialization order
Reviewers: #plasma, #frameworks, apol

Reviewed By: apol

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D27627
2020-02-25 14:32:06 +01:00
Johnny Jazeix
2ea27fb068 fix compilation + remove duplicate in src 2020-02-04 08:32:05 +01:00
Tranter Madi
f8be3ea710 Optimize code when dropping files into the desktop
Summary:
Currently, when you have the desktop in the Desktop layout, if you drop 10 jpg files into the desktop, it creates 10 menus at the same position.
When you have the desktop in the Folder layout, if you drop 10 jpg files into the desktop, it calls `KIO::setApplicationActions()` 10 times.

What does this improve?

- Do not create KIO::MimetypeJob for each file
- Do not call `DropJob::setApplicationActions()` too many times/ create too many menus for each file.

My idea is that, when you drop files into the desktop:
- If they have the same `mimetype` -> we add actions support this `mimetype`.
- If not -> we only show the action from `KIO::DropJob` and only actions support different `mimetypes` at the same time like `Add icon`...

**Require:** D26484
CCBUG: 415917

Reviewers: #plasma, mart, broulik, #vdg, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: davidedmundson, anthonyfieroni, #plasma, kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D26691
2020-02-04 12:54:38 +07:00
Friedrich W. H. Kossebau
1c60859999 API dox: do not use ":" after "@since"
GIT_SILENT
2020-01-16 12:30:31 +01:00
Björn Feber
629db2f3b5 Add edit mode menu item to desktop widget context menu
Summary:
- much improves discoverability of the ability to move added widgets without clicking and holding (I have seen people having trouble figuring it out)
- makes it more consistent with panel widget context menus
- allows easier access to the edit mode when the desktop is full of widgets

Test Plan: Open the context menu of a widget on the desktop.

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

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

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

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D26043
2020-01-10 14:40:01 +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
David Faure
6de88ef932 Port away from deprecated method authorizeKAction, renamed to authorizeAction 2019-11-20 23:51:59 +01:00
Yuri Chornoivan
052a81f755 Fix minor issues found by EBN and typos 2019-11-10 12:06:10 +02:00
Marco Martin
b58d7c7752 don't delete and recreate wallpaperinterface if not needed
Summary:
the wallpaperinterface instance already reacts to wallpaper package
change and loads the current one.
containemtninterface deleted it every time the wallpaper changed
and recreated, effectively loading the wallpaper two times every time
the plugin was changed

Test Plan: switching plugins still works, but it's actually visible faster on slow hardware

Reviewers: #plasma, davidedmundson

Reviewed By: #plasma, davidedmundson

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D25217
2019-11-08 16:28:36 +01: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
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
c621ebe572 make editMode a corona global property
Summary:
The plans are to switch on/off the whole plasma shell into edit mode.
For this it needs to be a global corona property, rather then just
containmentInterface.
Plasmashell would expose a dbus call to set it from systemsettings

Test Plan: plasmoid.editMode=true still works

Reviewers: #plasma, #vdg, ngraham

Reviewed By: #vdg, ngraham

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

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D24239
2019-09-26 19:53:41 +02:00
Laurent Montel
d60831d650 Port from delta(); to angleDelta().y(); 2019-09-09 18:52:11 +02:00
Aleix Pol
d3b22f8828 Port trivial connects to the new style 2019-08-30 17:26:54 +02:00
Laurent Montel
f53365633c GIT_SILENT: Use QLatin1String in QString::contains etc. Fix replace
usage
2019-08-29 07:25:48 +02:00
l10n daemon script
9a3351fae5 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-08-20 04:58:25 +02:00
David Edmundson
d62e99460a Allow applets/containments/wallpaper to defer UIReadyConstraint
Summary:
This is needed so that we don't remove the splash till the wallpaper is
loaded, but also allows doing this in a generic way.

Version 2 of the patch using a normal property.

We need to have the virtual so that the containment waits for the
wallpaper.

Test Plan:
Used with wallpaper patch
Added debug to ensure it happened after the stackview in the wallpaper
is pushed

Reviewers: #plasma

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D22852
2019-08-19 10:51:30 +01:00
Laurent Montel
4b427e4f03 Add missing include 2019-08-08 13:02:11 +02:00
l10n daemon script
47281f2a64 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-07-24 05:33:26 +02:00
Aleix Pol
756a21a6ff Fix warnings
Don't pass objects to lambdas that get unused.
Don't connect to lambdas without specifying the target object, if an object
reference is passed to the lambda.
2019-05-29 16:23:29 +02:00
Marco Martin
cb8bdb8edd signal availableScreenRectChanged for all applets
if the connect is done in containmentinterface only contaiments
will be able to see the rect changing, while applet would access it but
not be able to detect changes
2019-05-23 13:18:00 +02:00
Marco Martin
4498ba9fb9 a kf6 comment 2019-05-13 11:25:22 +02:00
David Edmundson
83d85dc228 Add invokable public API for emitting contextualActionsAboutToShow
Summary:
This signal is emitted just before showing the context menu to allow
lazy-loading expensive actions like hasAlternatives.

This emitted by our code whenever we show a context menu from an event
filter, however we want to use this code from a tooltip in D17410

Test Plan:
Hovered over some applets, they correctly enabled/disabled the
alternatives button

Reviewers: #plasma

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D20417
2019-04-12 15:46:58 +01:00
Kai Uwe Broulik
c65145bd34 [AppletInterface] Check for corona before accessing it
On plasmashell shutdown when the panels are destroyed, the available screen geometry changes.
When an applet then accesses screenGeometry in response to that change, it crashes because the corona is already gone.

availableScreenRegion() and availableScreenRect() already checked for this but screenGeometry() did not

Differential Revision: https://phabricator.kde.org/D20244
2019-04-05 11:34:07 +02:00
Laurent Montel
9fc663d9f0 Make it compiles without deprecated method
Summary: compile without deprecated method

Test Plan: all autotest ok

Reviewers: dfaure, apol

Reviewed By: apol

Subscribers: kde-frameworks-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D19418
2019-02-28 23:01:43 +01: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
Laurent Montel
e7329b95ed Use isEmpty() 2018-11-30 07:58:34 +01:00
Yuri Chornoivan
72ca2f79e0 Fix minor EBN issues and typos 2018-10-22 21:05:29 +03: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
l10n daemon script
4b7bac26cc 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"
2018-10-10 06:27:59 +02:00
l10n daemon script
6e7239b3b1 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"
2018-09-08 06:12:26 +02:00
Yuri Chornoivan
38431eebfa Fix minor typos 2018-09-05 22:22:38 +03:00
Kai Uwe Broulik
938cef210c Get rid of deprecated QWeakPointer usage
Replace by QPointer

Differential Revision: https://phabricator.kde.org/D14819
2018-08-17 15:44:08 +02:00
Friedrich W. H. Kossebau
30cbc2dc33 Use more nullptr 2018-07-02 00:16:21 +02:00
Eike Hein
e108d7e90e Teach ContainmentInterface::processMimeData how to handle Task Manager drops
Summary:
To explicitly confine Task Manager drops to Plasma and avoid accidental
drops on other apps, D13274 makes it store task launcher URLs in a special
internal MIME type instead of the generic text/url one. This change to
processMimeData() adds the necessary conversion back.

Reviewers: davidedmundson, Zren, mart

Subscribers: kde-frameworks-devel, plasma-devel

Tags: #frameworks

Differential Revision: https://phabricator.kde.org/D13275
2018-06-06 08:12:28 +09:00
Laurent Montel
70a274ad3a Use override 2018-05-23 08:05:40 +02:00