This is far less code and allows for an easier enforcing of standards, for
example the name of the log identifiers which were adjusted in a few cases.
Also clean up unused includes when noticed.
This makes it easier to read, because we do not have to handle a list of
files that get added to the targets. In other KDE projects, we also
prefer the target centric approach.
In case one wants to reuse the same category in multiple places, it
would be best to create a small static lib. But for now, this is not
needed.
The moc process already rebuilds the plugin when the JSON file changes, consequently the additional parameter is not needed.
Task: https://phabricator.kde.org/T14649
Ensures the reply window is raised using Qt::WindowActive state. This
properly raises the window reliably (including from plasmoid, which
didn't work at all before) and focuses the reply textbox.
This automatizes the generation of logging categories so a
kdeconnect-kde.categories is generated and installed to
/usr/share/qlogging-categories5/ so kdebugsettings can use it.
Also, sets the default logging level to Warning. So now the logs
of users won't be filled with debug messages but they can
modify the configuration easily with kdebugsettings.
Summary:
* cmake 2.8.12 is really outdated, 3.0 is minimum in plasma & kf5
* cmake_minimum_required should be at begin of toplevel CMakeLists.txt
* bump qt version to 5.7, matching the min Qt version of kf5 5.42
* with ecm being part of kf5 since early versions, share ${KF5_MIN_VERSION}
* use QT_MIN_VERSION & KF5_MIN_VERSION also for separate find_package calls
* deduplicate all KF5 components searched for in unconditionally included
subdirs
Test Plan: Still configures and builds with all options OFF & ON
Reviewers: #kde_connect, nicolasfella
Reviewed By: #kde_connect, nicolasfella
Subscribers: nicolasfella
Differential Revision: https://phabricator.kde.org/D11418
Use a designer file for it
Make sure the focus is on the reply widget
Disable focus from the original text
raise() the dialog when we show it to make sure it's over the other windows
Configurably attach icons as payload to notification packages. By
design and due to restrictions on mobile devices *only* png is sent.
As KIconLoader preferably returns svg icons from iconPath() we fall
back to loading from "hicolor" using KIconTheme directly. Otherwise
*many* icons are dropped because of svg format.
This also improves slightly the test-case to use a tweaked TestDevice
to allow for inspecting sent NetworkPackage-s.
REVIEW: 126666
Added kcm ui with global and app-specific config options.
Global options affect all notifications:
- Persistent only? --> Sync only notifications with timeout == 0?
- Include body? --> Add body string to summary when syncing?
- Minimum urgency
Per-application options affect notifications sent by a specific
application:
- Sync it at all?
- If yes, allow to define a "blacklist" pattern (QRegularExpression)
to define which notifications should *not* be synced.
Applications are maintained in the per-device config and added when
seen the first time by the notification listener. From that moment on
they can be configured in the kcm ui.
Eavesdrop on the Notify call of the org.freedesktop.Notifications
dbus-interface, proxy all caught notifications to our peer device and
track them in the internal notifications-list.
Also fix "cancel" requests from peer devices, by cutting of
kdeconnect-android's id-prefix.
Moves the implementation into the actual daemon. This opens the
possibility for different ways to expose these notifications depending on
where the libkdeconnect will be deployed.
REVIEW: 123076
Uses KPluginLoader+KPluginMetadata instead.
Describes plugins in json instead of desktop files. These desktop files are
then embedded into the .so file. All the plugins will be in a kdeconnect/
directory, and those will be the ones to look for.
Note it doesn't drop the KService dependency as KIOCore is a KDE Connect
dependency as well.
REVIEW: 123042
This meant to add a lot of dependencies to each plugin since we had
KDELibs4support as PUBLIC link meaning that anything linking against
kdeconnectcore was linking at the same time to mostly all frameworks.
Now each plugin has more or less its dependencies in the CMake some
still depend on KDELibs4Support.
For the mousepad plugin I needed to add a fixX11.h file that basically
undefines/defines again some stuff xlib has that conflcits with normal
C++ and Qt.
Before it was not conflicting because some lib within KDELibs4Support
was including this file, but now we have to do it ourselves.
Ported using KDELibs4Support, for a smaller delta, so we can keep
developing on master until we decide not to.
At the moment, it builds and installs but tests don't pass because
of a QCA2 initialization problem I didn't manage to debug yet.
CCMAIL: kdeconnect@kde.org