Commit graph

1571 commits

Author SHA1 Message Date
Holger Kaelberer
30cffbd96e Add remotekeyboard plugin
BUG: 370919
REVIEW: 129727
2017-01-23 09:08:27 +01:00
l10n daemon script
f935af6903 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2017-01-23 05:43:26 +01:00
Albert Vaca
d992b0af25 This flag is of no use since we don't specify a widget. 2017-01-20 00:54:07 +01:00
Albert Vaca
461874f4a5 Comment got displaced 2017-01-14 02:50:25 +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
07b191ca71 Remove unused method 2017-01-13 17:48:37 +01:00
Aleix Pol
c038c41eec Remove unused enum 2017-01-13 17:48:37 +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
Holger Kaelberer
8c9253440d Export scriptable plugin signals
A plugin should have the possibility to define signals to be exposed
on dbus.

REVIEW: 129811
2017-01-13 08:05:35 +01:00
Aleix Pol
8ac7922252 Implement send file for kdeconnect-indicator 2017-01-11 18:04:01 +01:00
Aleix Pol
d517dcea48 Only make actions enabled if they're available 2017-01-11 18:03:44 +01:00
Aleix Pol
a164983b6f Revert "kdeconnect-kde: Add remotekeyboard plugin"
This reverts commit 040ad7357b.

Sorry, didn't mean to push that myself ^^'
2017-01-11 17:20:22 +01:00
Aleix Pol
e83c707ad2 Recreate the menu when devices change
Instead of trying to be overly smart.
Qt wasn't updating the StatusNotifier properly anyway, this makes the
whole thing work.
2017-01-11 17:19:17 +01:00
Holger Kaelberer
040ad7357b kdeconnect-kde: Add remotekeyboard plugin
Allow to inject keypress events to remote peers (most notably Android devices)

Notes / open issues / possible improvements:

- For the json-payload I used the syntax of the key-events as sent by mousepad-plugin with the addition of a "sendAck"-flag. If "sendAck" is set to true the remote peer should echo a key-event if it could be handled, thus allowing the local client to find out whether the key was accepted. For performance reasons, it's allowed to send multi-char strings in the "key" property (performs much better if you send a whole string via "echo '...' |  kdeconnect-cli ..." e.g.)

- kdeconnect-cli: For now takes a string and transforms it into single key-events for visible characters only. In a first implementation I used a kbhit() helper that used termios.h to catch and relay keypresses interactively (including some special-events), which was not optimal. A better approch might be to use linux input-api directly. Would this be an option regarding cross-platform compatibility or can I assume to develop for Linux only? Being a command-line guy, I'd really like to have a fully featured kdeconnect-cli interface ;-)

- Factor out the Qt::Key-to-internal keymap to some core-helper because it corresponds to the mapping in the mousepad-plugin?

- The plasmoid is not perfect as it is: A single line containing a non-echoing TextField (i.e. it eats all the KeyPress events), and only ack-ed keypress-packets from the peer device are injected if they contain visible keys. Advantage: the user sees whether his key-presses are accepted by the peer device. Disadvantage: The echoed text does not correspond 1:1 to what is shown on the peer's display, user might be confused when typing without success. I played around with different variations each of which with its proper shortcomings:
1. An echoing Textfield for typing: Has the advantage that the user can directly see what he is typing, which makes interaction in the typing field easier, BUT messes up interaction if the Editor on the peer is changed silently and does not notify the user if his keypresses are not handled by the peer.
2. A non-echoing TextField for typing PLUS a readonly one for printing visible echoed keys. Disadvantage: same as for the previous one and uses more space on the plasmoid.
Comments? Ideas?

REVIEW: 129727
BUG: 370919
2017-01-10 21:12:42 +01:00
Aleix Pol
3734d6ce4d Reduce API exposed through dbus
Summary:
Don't use QDBusConnection::ExportAllContents
No need to make connect and receivedPackage public slots (they're are the
parent's already)

Fixes T4975

Test Plan: Rough manual test

Reviewers: #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Maniphest Tasks: T4975

Differential Revision: https://phabricator.kde.org/D3871
2017-01-10 18:15:01 +01:00
l10n daemon script
fd64a8bcc7 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2017-01-06 05:54:14 +01:00
l10n daemon script
feefaeddd4 GIT_SILENT made messages (after extraction) 2017-01-06 03:43:14 +01:00
Holger Kaelberer
a75e0ba031 Make pairing notifications more persistent
Notifications are not persistent, and once gone there is no
way to accept the request. Clicking the notification in the
notification history does nothing in plasma and gnome.

There make them persistent and close them after the pairing timeout,
after which they are no longer useful.

BUG: https://phabricator.kde.org/T5002
2017-01-05 19:11:55 +01:00
Albert Vaca
8bd4a5831c Maybe fix build with old version of Qt (or Dbus, not sure) 2017-01-05 00:35:01 +01:00
Albert Vaca
e694575b4f Fixed runtime connect warning if telepathy interface not present 2017-01-01 16:41:15 +01:00
Albert Vaca
82ca0b4dce Fixed qdbusxml2cpp warning 2017-01-01 16:21:01 +01:00
Raymond Wooninck
0023a3297d Remove depreciated Servicetypes from metadata.desktop 2016-12-22 16:10:55 +01:00
l10n daemon script
e6a7df25aa SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2016-12-20 12:45:03 +01:00
l10n daemon script
6b653fcdbe GIT_SILENT made messages (after extraction) 2016-12-20 08:31:37 +01:00
l10n daemon script
ec3ded5abf SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2016-12-17 05:47:06 +01:00
David Faure
e59fd940d6 fix compilation with gcc 4.8 2016-12-14 23:36:59 +01:00
l10n daemon script
5279a64e05 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2016-12-02 04:30:30 +01:00
Aleix Pol
e8303af92d Don't expose too many things on dbus for the share plugin 2016-11-30 16:02:06 +01:00
Aleix Pol
7249f0b41e Show help upon error 2016-11-30 15:40:30 +01:00
l10n daemon script
eabdfc892b SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2016-11-30 04:24:23 +01:00
Aleix Pol
b1f6204c53 Hint a size for the delegate 2016-11-28 16:27:34 +01:00
Aleix Pol
e72bbfe1d2 Remove dash in icon
We use it to display the state and we're providing them as fallback,
they will always be available.
Otherwise, on some platform this clashes with the icon engine falling
back to less specific version of the icon (i.e. smartphone instead of
smartphone-connected).

https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html

Reviewed by Albert Vaca
2016-11-28 16:27:34 +01:00
Albert Vaca
3df5e0dc11 Define the debug category in core_debug.cpp 2016-11-28 15:57:58 +01:00
Aleix Pol
41fd3d8dd8 Stop enforcing maximum size 2016-11-28 15:32:35 +01:00
Albert Vaca
6a2a0b1c76 Merge branch '1.x'
# Conflicts:
#	plugins/mpriscontrol/mpriscontrolplugin.cpp
#	plugins/sendnotifications/kdeconnect_sendnotifications.json
2016-11-26 16:40:24 +01:00
Albert Vaca
7c4dbdad3c Use mulit-argument arg 2016-11-26 16:36:34 +01:00
Albert Vaca
f41883f2f3 Known size, reserve. 2016-11-26 16:36:34 +01:00
Albert Vaca
b7bb8d94c5 Fixed QStrings not being passed by ref 2016-11-26 16:36:34 +01:00
Albert Vaca
beeae63086 Missing Q_OBJECT macro 2016-11-26 16:36:34 +01:00
Albert Vaca
c4643bcceb Singleton constructor should be private. 2016-11-26 16:21:34 +01:00
Albert Vaca
1a2b227dff Q_GLOBAL_STATIC is unnecessary on basic data types. 2016-11-26 16:21:30 +01:00
Albert Vaca
d71d3090d2 Removed unused file. 2016-11-26 16:21:30 +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
Albert Vaca
1a1f94fd94 Fixed old style connects with clazy 2016-11-26 15:12:38 +01:00
l10n daemon script
63dad0e8da SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2016-11-25 06:37:24 +01:00
l10n daemon script
b4e008847a SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2016-11-25 04:58:17 +01:00
l10n daemon script
a8386cdc94 SVN_SILENT made messages (after extraction) 2016-11-25 03:07:35 +01:00
Albert Vaca
33b5e556e6 Merge branch '1.x' 2016-11-24 15:12:06 +01:00
Albert Vaca
7638683c85 Print a qCritical in addition to showing a notification 2016-11-24 15:11:30 +01:00