Commit graph

102 commits

Author SHA1 Message Date
Albert Vaca Cintora
981796ed66 Fix KCM reloading the plugins N times when a device was selcted
Every time a device is selected, `pluginsConfigChanged` would trigger even
if no plugins actually changed (there's a boolean to distinghish that on
the signal that we were ignoring). On top of that, we were connecting to
the signal again each time we selected a device, causing this bug to
trigger N+1 times every time a device was selected.

This is bad because `pluginsConfigChanged` would reload all the plugins,
which for some plugins even implies network calls to the connected device.
2023-06-24 17:45:48 +00:00
Albert Vaca Cintora
064ddfa3fe Refactor PairingHandler
We now have a single PairingHandler for all types of links.

The implementation now is more aligned with the one for Android.
2023-06-02 16:38:52 +00:00
Nicolas Fella
2ce55df1ba Remove unused KPluginInfo include 2022-12-06 19:44:15 +01:00
Nicolas Fella
a918ffc0cb Add and make use of ECM's clang-format integration 2022-09-11 23:21:58 +00: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
Alexander Lohnau
fd681e62ab Port deprecated KCMultiDialog methods & embed json metadata in KCM
This KCM will have to get installed installed in the new plasma namespace eventually.
But considering that this app is part of the release service, we should not
depend on changes in a not yet released Plasma version.

Task: https://phabricator.kde.org/T14501
2021-12-15 08:24:22 +01:00
Piyush Aggarwal
82c7a8080d add KColorSchemeManager instance to install auto dark theme on Windows 2021-06-13 13:51:28 +05:30
Piyush Aggarwal
7f7f0d8992 ensure kiconloader is instantiated when bringing up settings 2021-06-11 23:45:14 +05:30
Piyush Aggarwal
02ed0699ff set app style to breeze explicitly on Windows 2021-06-03 03:15:35 +05:30
Albert Vaca Cintora
e7518493df Add a verification key that's displayed when pairing
The key is a sha256 of both devices' certificates. Both should generate the
same key, so hey user can check they are pairing against the right device.

Thanks Matthias Gerstner <mgerstner@suse.de> for reporting this.
2020-11-26 11:28:49 +01: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
f2d97193eb Remove defunct calls to KAboutData::pluginData
The data is never registered so they always return nullptr. We might as well not pass it.
2020-10-31 19:58:05 +00:00
Nicolas Fella
87db95b22f Convert license headers to SPDX expressions 2020-08-17 09:48:10 +00:00
Nicolas Fella
3b8fedea1a Replace http GNU urls with https 2019-03-23 17:29:26 +01:00
Nicolas Fella
1f1462e813 Remove unused includes 2019-02-28 14:11:23 +01:00
Nicolas Fella
fc4da13d64 Add context object 2019-02-28 14:08:17 +01: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
Albert Vaca
84bba9429f Merge branch 'master' into 1.x
# Conflicts:
#	core/backends/lan/downloadjob.cpp
#	core/backends/lan/downloadjob.h
#	core/filetransferjob.cpp
#	core/filetransferjob.h
#	plugins/notifications/sendreplydialog.cpp
#	plugins/notifications/sendreplydialog.h
#	plugins/telephony/sendsmsdialog.cpp
#	plugins/telephony/sendsmsdialog.h
2017-09-03 22:05:54 +02:00
Jean Vincent
72535ecf48 Make member variable names, & placement and * placement more coherent
Summary:
Change all member variables to the form m_fooBar because it is the preferred form in Qt (it was half and half between this and mFooBar, and a minority didn't have anything).
Place all references and pointers on the side of the type since it is the majority.

Basically:
 - mFoo -> m_foo
 - foo -> m_foo (if it is a member variable)
 - Type &ref -> Type& ref
 - Type *ptr -> Type* ptr

Reviewers: #kde_connect, nicolasfella, albertvaka

Reviewed By: #kde_connect, nicolasfella, albertvaka

Subscribers: albertvaka, #kde_connect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D7312
2017-09-03 21:45:08 +02:00
Albert Vaca
a18f91ccc1 Swapped labels 2017-08-02 02:59:41 +02:00
Aleix Pol
209e3e2842 Reflect property change when unpairing
There's no pairStatusChanged when the device is not connected to
anything (be it because it's unreachable at the moment).
2017-07-14 01:01:15 +02:00
Aleix Pol
f65392ca6b Expose pair requests on the KCM 2017-02-20 21:00:26 +01:00
Aleix Pol
b947ef6b60 Use asynchronous calls to the device interface when possible
Summary:
Use setWhenAvailable for isTrusted calls
Just deal with the pairing buttons state only once.
Unify semantics (paired vs trusted)

Reviewers: albertvaka, #kde_connect

Reviewed By: albertvaka, #kde_connect

Differential Revision: https://phabricator.kde.org/D4125
2017-01-13 18:36:43 +01:00
Aleix Pol
c822ef8104 Set the device's announcedName when it's available
No need to block on it
2017-01-13 17:48:37 +01:00
Aleix Pol
41fd3d8dd8 Stop enforcing maximum size 2016-11-28 15:32:35 +01:00
Albert Vaca
60331ccbf1 Clazy says all this QStringLiteral and QLatin1String were missing/wrong 2016-11-26 16:21:29 +01:00
Albert Vaca
a1340c8042 Fixed old style connects with clazy 2016-11-26 15:14:19 +01:00
Kai Uwe Broulik
6f7c419baa Merge branch '1.x' 2016-09-10 22:53:37 +02:00
Albert Vaca
3c0f3b9814 Removed unsupported plugins section from KCM 2016-09-06 10:53:19 +02:00
Aleix Pol
ee7420c8a0 Listen to announcedName changes from the kcm 2016-08-21 19:50:27 +02:00
Albert Vaca
bd0920d354 Changed string 2016-07-13 18:25:44 +02:00
Aleix Pol
81634303b2 Make capabilities static
As discussed with Albert, move the population of capabilities into the
identity package, making them static along the execution of the link.

When we receive the identityPackage, we collect the plugins we can use with
the device and stick to those. This should simplify the implementation and
remove the possibility to lose packages if packages are received before the
capabilities are processed in the former approach.

REVIEW: 128386
2016-07-06 17:37:22 +02:00
Albert Vaca
1848e96a91 Fixed old signal name 2015-12-17 05:54:37 -08:00
Albert Vaca
cf6cbd2925 WIPx3! 2015-12-01 10:45:14 -08:00
Albert Vaca
82bc73dd9b WIPx2 2015-12-01 07:25:34 -08:00
Albert Vaca
16f9af908a WIP 2015-11-30 10:36:01 -08:00
Aleix Pol
661fa098d4 Introduce bare documentation for the KDE Connect kcm 2015-10-19 03:25:17 +02:00
Aleix Pol
2707d1f0a8 Fix reload when changing current device on the kcm 2015-09-12 19:43:15 +02:00
Aleix Pol
fe2679a8a5 Prevent the kcm from refreshing the UI while interacting with it
Only refresh it when the available plugins actually change.
2015-09-12 15:02:59 +02:00
Albert Vaca
82d036265c Acquire the discovery mode when refreshing the KCM, in case it's not there 2015-09-11 07:19:07 -07:00
Aleix Pol
a9d2840664 Use acquire and release instead of a boolean property
This way we hope we won't end up without discovery if 2 instances need
discovery at the same time.

Reviewed by Albert Vaca
2015-09-09 20:09:04 +02:00
Aleix Pol
a0da8ba858 Let the KPluginSelector react to changes in the plugin configuration
Mainly whenever the remote capabilities change.

Reviewed by The Vaca Man
2015-09-08 20:03:44 +02:00
Aleix Pol
b9c427a316 fix crash and simplify code
reviewed by Albert Vaca
2015-09-08 17:57:55 +02:00
Aleix Pol
6a379e9227 Rename missingPlugins to unsupportedPlugins 2015-09-08 17:38:33 +02:00
Aleix Pol
817fcbc9d6 Merge branch 'stable' 2015-09-08 10:51:41 +02:00
Aleix Pol
d58f6314fe run Clang Modernize
Minus the auto change
2015-09-08 10:47:37 +02:00
Aleix Pol
4023bf0599 Only keep connections alive with unpaired devices when discovery is enabled
At the moment, we were keeping the connection alive with every reachable
device. While this works optimally for most use-cases, on networks with
several devices with KDE Connect, the amount of connections grows
exponentially.

Reviewed by Albert Vaca

CCBUG: 352424
2015-09-08 09:30:55 +02:00
Aleix Pol
24d4d19b89 Remove debug
Sorry Albert :/
2015-09-08 00:59:17 +02:00
Aleix Pol
91351773fd Mark incompatible plugins as such in the kcm
If a plugin isn't available, display it as unsupported by the device. This
is figured out through capabilities.

Reviewed by Albert Vaca
2015-09-07 19:35:07 +02:00