Commit graph

256 commits

Author SHA1 Message Date
Volker Krause
002848efa8 Adapt build system to also support Qt 6
This is complicated by the Qt 5.6 requirement of SailfishOS, hopefully
that didn't get broken by this.
2022-10-29 16:51:41 +02:00
Nicolas Fella
ed3ae873a7 Port to ecm_add_qml_module
Reduces some boilerplate
2022-09-28 16:13:37 +00:00
Nicolas Fella
ce14a5629d Add clang-format commit hook 2022-09-11 23:21:58 +00:00
Nicolas Fella
a918ffc0cb Add and make use of ECM's clang-format integration 2022-09-11 23:21:58 +00:00
Nicolas Fella
f53dadaffa Port to new KIO worker API 2022-09-05 12:06:39 +02:00
Ömer Fadıl Usta
5373c03779 Sync QT_MIN_VERSION with KF's REQUIRED_QT_VERSION
In KF we already looking for 5.15.2
and looking something lower than that
is a bit meaningless
2022-08-29 00:05:01 +00:00
Albert Astals Cid
06a89b15df GIT_SILENT Upgrade release service version to 22.11.70. 2022-07-13 00:12:54 +02:00
Nicolas Fella
184120642a Fix using kdeconnect-settings when instance is already running
kdeconnect-settings is a single-instance app

When activating an existing instance actually load the requested settings part

Bump KF5 dependency to 5.95 to include https://invent.kde.org/frameworks/kcmutils/-/merge_requests/90, otherwise there's a crash
2022-07-06 12:55:39 +00:00
Albert Astals Cid
d76207db04 Add ki18n_install and kdoctools_install 2022-05-22 12:20:30 +02:00
Nicolas Fella
7704726857 [plugins/mousepad] Port away from KWayland
Use QtWaylandScanner to implement the protocol directly
2022-05-02 20:15:43 +02:00
Weixuan Xiao
f1843cb492 Improve D-Bus implementation on macOS
Better patch to replace !218.

- Auto and quick detection of previous D-Bus instance;
- Remove private D-Bus compile definition, only use it on macOS without an existing D-Bus instance;
- Safe reboot after crashes because the indicator is not relating on the kdeconnectd to run a D-Bus session;
- Safe exit after clicking on `Quit` in the systray.


More details in commit logs:

Only enable private D-Bus on macOS because the other platforms do not
need them.
The app should be able to easily detect the session bus from the env
DBUS_LAUNCHD_SESSION_BUS_SOCKET from launchd through launchctl.
Because https://gitlab.freedesktop.org/dbus/dbus/-/blob/master/dbus/dbus-sysdeps-unix.c#L4392
shows that it is the only probing method on macOS with launchd.

The D-Bus session bus can be easily found from launchd/launchctl
with DBUS_LAUNCHD_SESSION_BUS_SOCKET env. It can be an external one
(installed from HomeBrew) or an internal one (launched by a previous
instance followed by a crash).

The indicator helper on macOS can now automatically detect whether we can use a potentially
(with launchd/launchctl env set, or KDE Connect macOS
private_bus_address set) existed and usable session bus.
If previous bus is usable, just try to launch the kdeconnectd with us.
Otherwise, launch a private D-Bus daemon, export the launchd/launchctl
env, and run a kdeconnectd instance.

Everything works better and quicker now :)
2022-04-12 05:40:03 +00:00
Albert Astals Cid
3df8fcf8b0 GIT_SILENT Upgrade release service version to 22.07.70. 2022-03-12 13:25:49 +01:00
Alexander Lohnau
e365e1b35c Port from KPluginSelector to new KPluginWidget class
Task: https://phabricator.kde.org/T12265
2021-12-15 08:24:22 +01:00
Nicolas Fella
1e113a44de Fix build by lowering KDE_COMPILERSETTINGS_LEVEL 2021-12-14 23:06:12 +01:00
Méven Car
5d970ddd48 Port clipboard plugin to KGuiaddons KSystemClipboard 2021-12-13 15:06:25 +00:00
Heiko Becker
ac770becbb GIT_SILENT Upgrade release service version to 22.03.70. 2021-11-08 20:59:07 +01:00
Albert Vaca Cintora
2d8fd766c8 Keep APPLE_IN_APP_BUNDLE, remove PRIVATE_DBUS_ENABLED 2021-10-19 18:43:34 +02:00
Albert Vaca Cintora
0ebe9db019 Fix MacOS build
If neither  PRIVATE_DBUS_ENABLED and APPLE_IN_APP_BUNDLE weren't set,
DBusHelper::macosUnsetLaunchctlEnv() wasn't declared.
2021-10-19 18:29:55 +02:00
Nicolas Fella
5ec83ba223 Don't build Plasmoid and KIO slave on macOS 2021-09-10 20:22:27 +02:00
Piyush Aggarwal
76eb784cfc CMakeLists.txt: find optional KF5 components really optionally 2021-08-04 22:45:43 +05:30
Aleix Pol
cf8ada2b5d app: make it possible to lock the mouse when using the remote input
It makes it possible to use normal touchpads and mice
2021-07-30 23:25:30 +00:00
Nicolas Fella
ab7b805da1 Use KPackage macro for installing plasmoid
The macro does some extra stuff under the hood, like converting the metadata.desktop to json, which makes loading the plasmoid a bit faster
2021-07-29 16:00:29 +02:00
Nicolas Fella
e641aa5596 Remove redundant CXX standard definition 2021-07-27 22:57:58 +02:00
Weixuan Xiao
0eb736607a Add APPLE_IN_APP_BUNDLE flag 2021-07-25 06:16:22 +00:00
Nicolas Fella
3ba219da0f Merge branch 'release/21.08' 2021-07-16 23:31:58 +02:00
Andreas Sturmlechner
eaec8888ad
Add missing KF5WindowSystem dependency
Added in commit a45bfe36d5 w/o searching for it.

Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
2021-07-16 23:26:52 +02:00
Albert Astals Cid
1d666fcea0 GIT_SILENT Upgrade release service version to 21.11.70. 2021-07-10 20:28:23 +02:00
Albert Astals Cid
5023862bb2 GIT_SILENT Upgrade release service version to 21.07.80. 2021-07-10 19:09:11 +02:00
Laurent Montel
ee40d1aea8 Make it compile with last ecm
(With
https://invent.kde.org/frameworks/extra-cmake-modules/-/merge_requests/145
we have disabled the C and C++ specific compiler extensions.)
2021-06-28 08:19:09 +02:00
Nicolas Fella
89f52af438 Disable kpeople qml module finding
https://mail.kde.org/pipermail/kdeconnect/2021-June/007223.html
2021-06-16 21:42:00 +02:00
Piyush Aggarwal
f33fed6fa1 windows: fix support for WIN_SDK < 19041
inspired by : https://gitlab.kitware.com/cmake/cmake/-/blob/v3.17.3/Modules/InstallRequiredSystemLibraries.cmake#L339-358
Since CMake doesn't really has a way of providing the Win10 SDK's version ( see: https://gitlab.kitware.com/cmake/cmake/-/issues/20773 )
we read the XML file set up by the SDK and filter the SDK version out of it
2021-06-16 17:29:45 +05:30
Piyush Aggarwal
a6de73d437 add compilation check for WIN_SDK_VERSION 2021-06-15 18:06:03 +05:30
Nicolas Fella
dcda6b3cea Add support for generating qmltypes file 2021-05-09 19:34:22 +02:00
Aleix Pol
c07315282f Bump C++ standard usage to 17
This way we can use std::make_unique
2021-04-07 00:43:51 +00:00
Bharadwaj Raju
a45bfe36d5 Fix notification reply window activation and focus
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.
2021-03-20 21:50:42 +01:00
Nicolas Fella
3e7ac98f28 Default to qqc2-desktop-style and add it as runtime dependency
On Plasma qqc2-desktop-style is used automatically, but not on other
DEs. Set it as a default and allow overriding it via environment
variables.

Also add it as a runtime dep so distros actually ship it.
2021-03-18 23:47:22 +00:00
Nicolas Fella
2fef3b925d Make use of KNotification's quick reply feature
It can make use of Plasma's native quick reply. If that is not available then it get's turned into a regular action that we hook up with
2021-03-17 14:29:08 +01:00
Albert Astals Cid
7437d87950 GIT_SILENT Upgrade release service version to 21.07.70. 2021-03-13 22:27:42 +01:00
Albert Astals Cid
56e70904c9 GIT_SILENT Upgrade release service version to 21.03.70. 2020-11-08 19:04:04 +01:00
Piyush Aggarwal
011758530b segregate icons into different folders 2020-10-31 14:46:13 +00:00
Nicolas Fella
0c9bfadb62 Follow release service version numbers
Ever since joining the release service we never increased our version number on release.
I've seen distros automatically apply the release service version scheme (20.0X) to the package,
but when running e.g. kdeconnect-cli -v we'd still get 1.4.

This way the version is automatically adjusted by the release tooling so we don't need to care about and cannot forget it any longer.
2020-10-15 12:24:27 +00:00
Nicolas Fella
79164ca8ba Replace manual include dir handling with interface target
We use kdeconnect-version.h in several places and therefore it needs to be in the include path. We currently do this by setting target_include_path in a few places. Replace this with an interface library that we can link against that sets up the correct include path. IMO it is cleaner this way.
2020-07-30 10:53:48 +02:00
Simon Redman
b1276795a1 Bump Frameworks version to 5.71 as required for Kirigami.Avatar 2020-07-05 12:31:07 +00:00
Antonio Larrosa
1d36164230 Use ecm_qt_declare_logging_category to declare the logging categories
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.
2020-05-26 18:55:47 +02:00
Tobias Fella
303a5c09fa Link to invent instead of phabricator 2020-05-17 14:43:38 +02:00
Nate Graham
a9d0cb64b7 [applet] Port to Kirigami.PlaceholderMessage
This new Kirigami component was just introduced with
https://phabricator.kde.org/D29057.

ref T13021
2020-04-22 22:49:26 +00:00
Heiko Becker
03a1357a24 Merge remote-tracking branch 'origin/release/20.04' 2020-04-16 18:26:30 +02:00
Heiko Becker
fba0c2d55f Fix previous commit
KDE_INSTALL_DATADIR already points to PREFIX/share of course.
2020-04-16 18:26:00 +02:00
Nicolas Fella
cdcf3400dd Merge branch 'release/20.04' 2020-04-16 18:01:26 +02:00
Heiko Becker
f1da4b4850 Use KDE_INSTALL_DATADIR 2020-04-16 10:48:11 +02:00
Philip Cohn-Cort
c315170be5 Finally, we have support for sending out Battery information.
## Summary

The core idea is as follows:

1. When a Link loads the BatteryPlugin, we query Solid for a list of batteries.
    1. If the list is empty, we print a warning message and return quickly
    2. Otherwise, we connect *two signals* to every object in that list
2. We send out a single new NetworkPacket as soon as we've processed that list
3. When either of those two signals emits, we send another new NetworkPacket

### Multi-battery Support

BUG: 357193

To handle devices with multiple batteries (requested in that bug), we average
together the battery percentages. This also includes a new field in the packet for
'number of batteries' called `batteryQuantity`. For backwards compatibility, we can
assume it has a default value of one.

This should ensure we support
- devices with no batteries at all (like many desktop machines)
- devices with hot-pluggable batteries (like those laptops with detachable screens)

### Concerns

Note that the implementation isn't perfect.
We'll need some new localizable text to make it clear that we now support sending
battery status information.

Then there's a rather significant question: maybe we should have two battery plugins
on each client, like we do for the `findmyphone`/`findthisdevice` plugins?

## Test Plan

We need to ensure that other clients (including those using the Android codebase)
will respond correctly. The main things to look at are
1. are these new packets sent when the plugin is enabled, and not sent when it's disabled?
2. is the charge percentage accurate?
3. is the charge state (charging, discharging, or full) accurate?
and
4. do we see the correct number of warnings for low-battery?
2020-04-13 05:54:11 +00:00
Nicolas Fella
483047f590 Mark QtQuick.Particles as runtime dependency
BUG: 417340
2020-03-17 17:13:12 +01:00
Richard Liebscher
bb5539c8c3 Make plugins work in SailfishConnect 2020-03-01 20:00:40 +00:00
Nicolas Fella
1a2315cdf7 Move settings app into own folder and make it a KDBusService 2020-01-17 01:32:56 +01:00
Nicolas Fella
894898ec0d find kpeople qml module 2020-01-16 17:11:10 +00:00
Richard Liebscher
b61cf6b28c Build DBus interfaces library for SailfishConnect 2020-01-06 19:28:36 +00:00
Richard Liebscher
ba34672cbd Make build for SailfishConnect possible 2019-12-09 22:14:19 +00:00
Nicolas Fella
173e388177 Bump version number for 1.4 release 2019-12-07 18:14:56 +01:00
Nicolas Fella
fdda1cd0d6 Require recent KF5 version
We require a recent-ish Kirigami version for the app
 # Please enter the commit message for your changes. Lines starting
2019-12-07 18:09:56 +01:00
Nicolas Fella
3f574a8488 Don't build runners 2019-12-07 16:10:18 +00:00
Nicolas Fella
ac791640a6 Merge conditions 2019-10-27 20:41:24 +01:00
Nicolas Fella
0f9fa8e339 Merge find_package calls 2019-10-27 20:39:19 +01:00
Nicolas Fella
724a5a14a8 Don't use KIO in core when building for Sailfish 2019-10-27 19:35:18 +00:00
Nicolas Fella
1c6d45654c Correct indentation 2019-10-27 17:12:57 +01:00
Nicolas Fella
c568827735 merge two if(SAILFISHOS) calls 2019-10-27 17:11:58 +01:00
Nicolas Fella
ae7a3693d5 Rework cmake find calls 2019-10-27 17:02:45 +01:00
Nicolas Fella
0836195f4b Refactor add test cmake code 2019-10-27 16:54:49 +01:00
Nicolas Fella
9d3789e7fd Don't build smsapp on sfos 2019-10-27 16:53:39 +01:00
Nicolas Fella
4e459f0b30 Revert "Disallow deprecated Qt API"
It breaks the build with bluetooth enabled

This reverts commit 1a32a31a03.
2019-08-20 19:15:07 +02:00
Nicolas Fella
1a32a31a03 Disallow deprecated Qt API
We don't use any deprecated Qt API at the moment. Let's keep it that way
2019-08-20 16:02:10 +02:00
Nicolas Fella
4f21368675 Fix build 2019-08-01 14:22:55 +02:00
Nicolas Fella
24777524ad Make PulseAudioQt optional
Hopefully keeps those Pulseaudio deniers out pf my inbox
2019-08-01 13:57:32 +02:00
Jonathan Riddell
a9078b3719 switch to an addon appstream file and get rid of the .desktop file, this will shortly be supported by kde.org/applications 2019-08-01 10:15:03 +01:00
Piyush Aggarwal
ccb9c1fd48 put win check within sfos 2019-07-28 02:34:36 +05:30
Albert Vaca Cintora
dedb4b1ed2 KF5_MIN_VERSION was being defined *after* being used 2019-07-23 00:28:02 +02:00
Nicolas Fella
607b9a6566 Revert "Use ecm_qt_declare_logging_category"
It's missing stuff to work properly. Revert until I figured that out

This reverts commit 8a118a6fae.
2019-07-22 21:29:54 +02:00
Weixuan Xiao
273c2e937a Just keep CMakeLists as it was
until Wayland supports macOS or Apple brings back X11
2019-07-21 22:49:07 +00:00
Albert Vaca Cintora
796953d853 Remove SMS app cmake flag 2019-07-20 18:30:58 +02:00
Simon Redman
9f4716c3c5 Build SMS app by default 2019-07-20 15:46:28 +02:00
Nicolas Fella
f1b0d016ab Always build Kirigami app
Summary: It is functional on the desktop as well and provides a place for controls for desktop to desktop features (e.g. MprisRemote, LockPlugin) and controls for non-Plasma desktops (e.g. Remotekeyboard, not yet implemented)

Test Plan: Builds

Reviewers: #kde_connect, apol, sredman

Reviewed By: apol

Subscribers: piggz, apol, sredman, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D15399
2019-07-20 13:08:57 +02:00
Nicolas Fella
99aad18e7a Use UDSEntry::fastInsert 2019-07-17 21:37:19 +00:00
Weixuan Xiao
4f4b6c309f Allow to use private DBus 2019-06-18 01:21:31 +00:00
Nicolas Fella
8a118a6fae Use ecm_qt_declare_logging_category 2019-06-13 00:15:12 +02:00
Nicolas Fella
9ae99a7878 Use ecm_setup_version 2019-06-12 23:49:19 +02:00
Nicolas Fella
a051173f76 Only find PackageConfig on SFOS 2019-06-12 23:32:07 +02:00
Nicolas Fella
e601755644 Force usage of QStringLiteral and port remaining offenders 2019-06-10 14:40:28 +00:00
Weixuan Xiao
58beafb242 Fix macos build 2019-05-19 09:41:56 +00:00
Piyush Aggarwal
995a3e2425 fix win32 build 2019-05-11 20:56:07 +00:00
Piyush Aggarwal
98bd91bf1c set last modified time for files received in Android-> PC transfers 2019-05-11 19:52:00 +00:00
Nicolas Fella
1d9ea25c2f Make PulseAudioQT mandatory
The ci issue has been sorted out

This reverts commit d3b41924b5.
2019-05-09 01:05:23 +02:00
Nicolas Fella
d3b41924b5 Revert "Make PulseAudioQT mandatory"
This breaks CI as PAQt is not yet available there

This reverts commit b48596d7c3.
2019-05-01 14:53:30 +02:00
Nicolas Fella
b48596d7c3 Make PulseAudioQT mandatory 2019-05-01 14:41:50 +02:00
Nicolas Fella
d4026861ab Clean up includes 2019-04-30 19:03:24 +02:00
Piyush Aggarwal
5b73c081da replace phonon with QtMultimedia 2019-04-30 16:24:09 +00:00
Albert Vaca Cintora
c8b51fb339 Restore FileItemActionPlugin
The alternative using puropose is less mature than this and some of us
were missing the good old dolphin plugin.

This reverts commit a19713fbeb.

# Conflicts:
#	CMakeLists.txt
2019-04-15 22:36:34 +02:00
Matthijs Tijink
2c44f55f55 Add zsh autocomplete file 2019-04-12 16:20:15 +00:00
Nicolas Fella
3f9b43c208 Fix search for PulseAudioQt
It does not follow Frameworks version numbers
2019-03-08 21:58:16 +01:00
Nicolas Fella
47749792f3 Respect users prefered text editor for shared text
Summary:
A user may have Kate installed but another editor set as default for text/plain. Respect that.

Also add .txt extension to the temp file name to make mime-type detection easier.

BUG: 399174

Test Plan:
Set default text editor to Kate -> Text opens in Kate
Set default text editor to Atom -> Text opens in Atom

Reviewers: #kde_connect, broulik, apol

Reviewed By: #kde_connect, broulik, apol

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D15813
2019-02-09 00:00:01 +01:00
Nicolas Fella
8a9c95dde9 Runner for executing commands on remote device
Summary: Add a runner that allows executing commands on a connected device. It enables a more keyboard-centric workflow than running the commands from the plasmoid.

Test Plan: Connect desktop device. Add some commands there. restart krunner, open it, start typing command or device name. Select entry to execute command. Check for success.

Reviewers: #kde_connect, #plasma, broulik, davidedmundson, apol

Reviewed By: #kde_connect, apol

Subscribers: apol, ngraham, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D14604
2019-02-08 23:59:18 +01:00
Simon Redman
3b92b0de1d Add dependency on kirigami to SMS app
Summary:
Resolves Bug 401255

Bonus: Disable some very noisy debugging from the SMS app

Test Plan:
 - Build KDE Connect with or without Kirigami
   - Verify successful build with no complaints about Kirigami
 - Build KDE Connect's Messenger:
   - Without Kirigami: Verify that CMake warns that Kirigami is not found
   - With Kirigami: Verify that app launches successfully

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: apol, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17572
2019-01-24 10:39:54 -07:00