Commit graph

235 commits

Author SHA1 Message Date
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
Simon Redman
b0e9cb3c7c Add dependency for Qt Quick Controls 2
Summary: The app requires having Qt Quick Controls installed to launch

Test Plan:
 - Attempt to launch app without Qt Quick Controls 2 package installed
 - App should complain and not appear
 - Attempt to launch app with Qt Quick Controls 2
 - App should launch and display properly

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: apol, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16718
2018-11-07 09:59:50 -07:00
Albert Vaca
72b3d91539 Merge branch '1.3' 2018-11-06 14:30:23 +01:00
Albert Vaca
14e6ed8d60 Bump patch version to release 2018-11-06 14:29:07 +01:00
Nicolas Fella
e5bbc37546 Add contract file
Summary:
This allows sending files from ElementaryOS apps such as their file manager.

Create a data dir for similar files

Test Plan: run contractor; run pantheon-files, right-click file -> Send via KDE Connect

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: apol, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16603
2018-11-03 01:37:30 +01:00
Aleix Pol
3a57d45f2b Define KPeopleVCard as a runtime dependency of smsapp 2018-10-08 16:55:56 +02:00
Albert Vaca
08e965fd44 Merge branch 'v1.3.2'
# Conflicts:
#	CMakeLists.txt
2018-09-06 18:23:11 +02:00
Albert Vaca
a1505a8f69 Bump minor version to release 2018-09-06 18:20:35 +02:00
Albert Vaca
b789b33448 Oops typo 2018-08-06 10:45:53 +02:00
Albert Vaca
9d5644f01f Don't search pulseaudio-qt on systems where it's not available 2018-08-06 10:43:38 +02:00
Nicolas Fella
d9f427aaeb Move declarativeplugin to top-level dir
Summary: It's not only used by the plasmoid any more but also SFOS and the app use it.

Test Plan: Builds, App runs fine

Reviewers: #kde_connect, piggz, apol

Reviewed By: #kde_connect, piggz, apol

Subscribers: piggz, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D14567
2018-08-03 02:24:58 +02:00
Adam Pigg
9a8f1b48a0 Build kdeconnect on sailfish and port some simple plugins
Summary:
Below is a lost of the commits, but, in summary
Port the build system for Sailfish, which means selectively building only the bits we need/can, and only against the KF5 libs that are available.
Allow to build on Qt 5.6
Switch from knotification to nemo notification (not complete!)
Add a very simple example sailfish app.

Note, there is still much missing functionality.  Notifications dont work, pairing sort of works but not really, but when it is paired you can send a ping to the desktop client

Dont build kio for Sailfish

Port core build system

Port daemon buld system

Require CoreAddons on Sailfish

Port plugins build for sailfish and include the ping plugin for now

Final build changes for sailfish.

Disable tests and other not needed parts

Add includes for QCA

Fix build errors on sailfish

Get core/ to build on sailfish

Get interfaces/ to build on sailfish

Build daemon on sailfish

On sailfish, dont install the kcm file

Start port plugin to sailfish

Fixup installed files

Add sfos app

Hack declarative plugin to give a public interface

Build sfos app

Compile declarativeplugin into the sfos app for now

Redefine qAsConst for qt 5.6

Packaging fixes

Use official icon

Package .desktop

Reviewers: #kde_connect, apol, nicolasfella, albertvaka

Reviewed By: #kde_connect, apol, nicolasfella, albertvaka

Subscribers: kdeconnect, andyholmes, albertvaka, kossebau, mtijink, vonreth, apol, #kde_connect, nicolasfella

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D10703
2018-08-02 20:10:59 +01:00
Nicolas Fella
02e52b787b Add systemvolume plugin
Summary: This plugin allows controlling the system value from a remote device.

Test Plan: Apply Android patch, open up MPRIS Activity and play with the slider

Reviewers: #kde_connect, mtijink, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: kdeconnect, apol, zhigalin, albertvaka, davidedmundson, mtijink, #kde_connect

Tags: #kde_connect

Maniphest Tasks: T4659

Differential Revision: https://phabricator.kde.org/D7992
2018-07-27 09:22:44 +02:00
Nicolas Fella
a19713fbeb Remove FileItemActionPlugin
Summary: It is superseeded by the Purpose integration in Dolphin

Test Plan: Build & install. No Send via KDE Connect in Dolphin context menu

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: arojas, ngraham, kdeconnect, #kde_connect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D13967
2018-07-12 15:22:07 +02:00
Albert Vaca
26e79cadd5 Bump minor version to release 2018-05-30 20:52:09 +02:00
Ivan Čukić
2b502eb055 Qt Network is used by the KIO module
Reviewers: albertvaka, ngraham, #plasma, #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D11251
2018-05-30 20:24:16 +02:00
Ivan Čukić
6dbfe9cd24 Qt Network is used by the KIO module
Reviewers: albertvaka, ngraham, #plasma, #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D11251
2018-05-26 23:13:47 +02:00
Friedrich W. H. Kossebau
0e023346a3 New plugin: Find this device (v2, now hopefully fine for all compilers)
Summary:
Allows other devices to make this device discoverable via a
kdeconnect.findmyphone.request command, if running.

Currently supports playing a sound.

Counterpart to FindMyPhone plugin

Test Plan:
Connect with other device running KDE Connect (with Plasmoid).
Select a working play sound in the Find My Device plugin settings.
On other device trigger Find My Phone button for this device in KDE Connect
Plasmoid and notice this device playing the configured sound.

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: kdeconnect, sredman, mtijink, apol, nicolasfella

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D11773
2018-05-15 22:15:21 +02:00
Nicolas Fella
dab6cdaf65 Revert "New plugin: Find this device"
This reverts commit fcffc10591.
2018-05-15 21:11:30 +02:00
Friedrich W. H. Kossebau
fcffc10591 New plugin: Find this device
Summary:
Allows other devices to make this device discoverable via a
kdeconnect.findmyphone.request command, if running.

Currently supports playing a sound.

Counterpart to FindMyPhone plugin

Test Plan:
Connect with other device running KDE Connect (with Plasmoid).
Select a working play sound in the Find My Device plugin settings.
On other device trigger Find My Phone button for this device in KDE Connect
Plasmoid and notice this device playing the configured sound.

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: kdeconnect, sredman, mtijink, apol, nicolasfella

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D11773
2018-05-15 15:44:20 +02:00
Nicolas Fella
68d0c5d143 Do not require Frameworks 5.45
Summary: Ifdef for old KF5 as discussed in D11684.

Test Plan: Can still use feature when above 5.45

Reviewers: apol

Reviewed By: apol

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D12810
2018-05-10 19:48:40 +02:00
Aleix Pol
dd031d3deb Show the KCM with the run commands open when a setup packet is received
Summary: Depends on D11683.

Test Plan: Tested the `kcmshell kdeconnect --args mydeviceid:kdeconnect_runcommand` works

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: nicolasfella

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D11684
2018-04-19 03:03:42 +02:00