Commit graph

51 commits

Author SHA1 Message Date
Alexander Lohnau
2e67f95017 Add explicit moc includes to cpp files
The rationale is explained in https://planet.kde.org/friedrich-kossebau-2023-06-28-include-also-moc-files-of-headers/

In case of KDEConnect, it impressively speeds up compilation. Before it
took 390 seconds on a clean build and with this change it took 330 seconds.
This is due to the mocs_compilation having to include the header files
and thus all their headers. Due to the lots of small plugins we have,
this means that the same headers must be compiled plenty of times.
When we include the moc files directly in the C++ file, they are already
available.
2023-07-30 07:27:45 +00:00
Alexander Lohnau
7b15a5eab7 Fix warnings about old style QML connections 2023-07-22 16:03:24 +02:00
Alexander Lohnau
131ed9a079 Port away from deprecated signal param injection 2023-07-20 11:16:04 +03:00
Albert Vaca Cintora
495e3019e4 Reduce number of optional dependencies
Change some optional dependencies from being optional to being mandatory
or being mandatory but behind on-by-default cmake flags. Eg: instead of
only compiling Wayland support if we find the appropriate libraries, we
always require the libraries unless the user specifies WITH_WAYLAND=OFF.

Optional libraries are hard to discover by packagers (since they don't
see an error once we add them) and create lots of possible build flavors
with a different features that can confuse users.
2023-07-19 17:08:03 +00:00
Albert Vaca Cintora
22be63ae9e Remove compatibility with Qt < 5.15
In theory we support Qt 5.6 (because of SailfishOS) but in practice we are not checking that in the CI so probably we broke the compatibility long ago. Also, I don't think anyone is using this code in SailfishOS, so we can greatly simplify the code by requiring Qt 5.15 or later.
2023-07-18 20:13:27 +00:00
Albert Vaca Cintora
144a60b58a Allow disabling clipboard auto-share and add option to share manually
Continues the work started in !396 by rebasing it onto latest master and
making the "send clipboard" button from the plasmoid invisible when
automatic syncing is enabled.
    
I didn't find a way to do the same in kdeconnect-indicator and
kdeconnect-app (why do we have 3 UIs???), so in those we always show the
option for now.
2023-06-07 19:48:25 +00:00
Aleix Pol
b61ba29673 remotekeyboard: Move workaround to the c++ side and make it more generic
The QKeyEvent::text we get from a Ctrl+W press is a weird unicode
charcater for ^W (see comment). We don't deal with that thing, create
the controlled letter using QKeySequence and move on.
2023-05-22 17:43:27 +00:00
Aleix Pol
9266556510 mousepad: Implement relative mouse movements
Somehow it wasn't done.
2023-05-12 15:48:25 +02:00
Dmytrii Zavalnyi
f82d15ce1e SMS app shows devices with SMS capabilities only
Replaced DevicesSortProxyModel with DevicesPluginFilterProxyModel with applied "kdeconnect_sms" filter for the devices list model.

BUG: 410112
2023-01-23 18:31:44 +01:00
Nicolas Fella
22cd3b1e5c Port pointer locking away from KWayland
Use QtWaylandScanner directly
2022-12-13 15:42:31 +00:00
Nicolas Fella
ed3ae873a7 Port to ecm_add_qml_module
Reduces some boilerplate
2022-09-28 16:13:37 +00:00
Kareem Abduljaleel
4ecf463cd1 [plasmoid] Add Photo to Plasmoid menu
Adds a menu entry to ask the remote device to take a photo to the Plasmoid menu
2022-09-28 13:03:48 +00:00
ivan tkachenko
4b6caf9af4
Port away from deprecated QML features 2022-09-21 01:14:37 +03:00
Nicolas Fella
a918ffc0cb Add and make use of ECM's clang-format integration 2022-09-11 23:21:58 +00:00
ivan tkachenko
abd088a375
Port Connections to function syntax 2022-08-16 22:58:45 +03:00
Nicolas Fella
ad01ef1695 Fix activating existing settings window on Wayland
Add the necessary bits for XDG activation to work

Move the code for launching the settings from the daemon to the respective processes so that we don't need to pass activation tokens over another process boundary
2022-07-06 12:55:39 +00:00
Aleix Pol
084bfebcc8 Introduce the VirtualMonitor plugin
It allows to use other paired devices as external displays
transparently.
2022-05-25 00:04:47 +02:00
Nicolas Fella
f7f3c01ec8 Use undeprecated install dirs
Using kde-dev-scripts/kf5/cmakelists_install_vars.pl
2022-04-21 00:50:14 +02:00
Nicolas Fella
539d7a9072 Revert "Remove unneeded const_casts"
This reverts commit 9135ad06ea.
2021-10-27 23:11:53 +02:00
Nicolas Fella
774fe41da2 Revert "Pass QVariants by reference when possible"
This reverts commit c8c193690a.
2021-10-27 23:11:36 +02:00
Aleix Pol
c8c193690a Pass QVariants by reference when possible 2021-10-19 04:11:32 +02:00
Aleix Pol
9135ad06ea Remove unneeded const_casts
There is no reason to take the QDBusPendingCalls from the QVariant as
const and then cast them.
2021-10-19 04:09:01 +02:00
Piyush Aggarwal
2d674d8b04 pointerlockerqt: fix Lock button not reappearing after unlocking the pointer 2021-08-04 22:30:50 +00:00
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
dcda6b3cea Add support for generating qmltypes file 2021-05-09 19:34:22 +02:00
Nate Graham
b00acad77b Remove unused Plasma imports in RemoteKeyboard.qml 2021-04-15 12:58:17 -06:00
David Shlemayev
a75da62f4d Add backend for ConnectivityReport plugin 2021-03-12 23:27:16 +00:00
Nicolas Fella
8b82a30d40 CMake cleanup
Remove all include_directory calls

They are either unnecessary or can be done better
2020-11-16 12:21:07 +00:00
Nicolas Fella
400c800deb [app] Add plugin settings page
Include a page that allows (de)selecting and configuring plugins

This is one of the last missing pieces for feature parity with the KCM.
2020-09-08 20:33:20 +02:00
Nicolas Fella
f90d6a019f Rework the battery plugin
Instead of having the DBus stuff in a separate class expose the plugin class itself like we do for the other plugins.

Replace the method-based API with properties.

Change the path to <device>/battery for consistency with other plugins
2020-08-27 15:04:40 +00:00
Nicolas Fella
87db95b22f Convert license headers to SPDX expressions 2020-08-17 09:48:10 +00:00
Aditya Mehra
cf2967b9af Add Bigscreen plugin with support for Bigscreen STT packet type 2020-05-23 22:10:24 +00:00
Nicolas Fella
4436536a6a Register interface factories as Singletons instead of context properties 2020-03-14 17:35:58 +01:00
Nicolas Fella
af94100952 Move QAbstractItemModel QML workaround to declarativeplugin 2020-03-14 16:44:24 +01:00
Yuri Chornoivan
01c4d0411b Fix minor EBN issues 2019-12-22 09:49:55 +02:00
Matthijs Tijink
ea29574c93 Fix QRC for plasmoid 2019-07-25 18:18:20 +00:00
Albert Vaca
43382ec7a7 Trying again to fix windows build 2019-07-23 22:47:09 +02:00
Albert Vaca Cintora
0254a0a15a Try to fix windows build 2019-07-23 01:03:20 +02:00
Albert Vaca Cintora
22795c1a14 Make qml apps run from build/bin 2019-07-23 00:41:43 +02:00
Albert Vaca Cintora
27d5fd0600 Bundle a QRC file instead of installing separate QML files 2019-07-23 00:40:25 +02:00
Albert Vaca Cintora
e812a31c40 Remove the need to use qt5_wrap_cpp for moc generation 2019-07-22 22:48:15 +02:00
Nicolas Fella
e601755644 Force usage of QStringLiteral and port remaining offenders 2019-06-10 14:40:28 +00:00
Nicolas Fella
3b8fedea1a Replace http GNU urls with https 2019-03-23 17:29:26 +01:00
Nicolas Fella
8548ebd032 Clean up includes 2019-02-03 01:44:22 +01:00
Nicolas Fella
952da637b0 Share RemoteKeyboard implementation
Summary: Extract RemoteKeyboard.qml into declarativeplugin to be able to use it from both plasmoid and app without code duplication

Reviewers: #kde_connect, hkaelberer, apol

Reviewed By: #kde_connect, apol

Subscribers: kdeconnect, mtijink, apol, #kde_connect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D12670
2018-11-08 02:20:34 +01:00
Nicolas Fella
2f76d2143f [app] Add system volume control
Summary: Add a remote systemvolume plugin.

Test Plan:
Change volume via slider -> Volume on target changes
Change volume on target -> Slider changes

Mute via button -> Mute on target changes
Mute on target -> Button changes icon

Add/remove sink on host -> Sink is add/removed in list

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: apol, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16667
2018-11-08 00:43:12 +01:00
Billy Laws
5c86da54aa Add QML support for shareplugin
Summary: This will allow it to be used in the plasmoid and QML app via dbus.

Reviewers: nicolasfella

Reviewed By: nicolasfella

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16551
2018-10-31 19:40:10 +01:00
Yuri Chornoivan
5fe74ce041 Fix minor EBN issues and typos 2018-10-07 21:23:20 +03:00
Simon Redman
bcc9fb06db Split SMS and Telephony plugin on desktop
Summary:
Telephony and SMS handling are quite distinct so they should be in separate plugins for better maintainability, given that @sredman has big plans with SMS.
This diff should be fully backwards compatible, but whether we really want to do that is up to discussion

Test Plan: Only supeficially tested. Receive an SMS (old way), Notification is shown

Reviewers: #kde_connect, sredman

Reviewed By: sredman

Subscribers: albertvaka, apol, sredman, kdeconnect, #kde_connect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D13594
2018-09-10 11:31:05 +02:00
Nicolas Fella
e4385042eb Show icons in plugin list
Summary:
Show the plugin's icons in the list

Depends on D14567

{F6172885}

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D14571
2018-08-03 02:25:39 +02:00