Commit graph

1613 commits

Author SHA1 Message Date
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
c95f769aad 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 07:40:02 +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
Albert Vaca
0f643d9c57 Revert "Add album art support for mpris plugin"
This was very poorly implemented and can't stay as it is right now:
 - Every second or so the art image was being loaded from disk, scaled,
   base64 encoded and sent over the freakin network!
 - The Android interface didn't take into account small screens, and
   adding the image would cut stuff out of the screen.
 - Didn't manage "edge cases" like playing a song without cover after one
   with cover (previous image was still being shown) or changing players.

This reverts commit e66096d05a.

# Conflicts:
#	plugins/mpriscontrol/mpriscontrolplugin.cpp
2016-12-08 23:49:59 +01:00
l10n daemon script
a05ab9f841 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 05:47:37 +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
l10n daemon script
73c6e1a306 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-24 05:29:38 +01:00
l10n daemon script
e6835a0b59 SVN_SILENT made messages (after extraction) 2016-11-24 04:46:26 +01:00
l10n daemon script
1e4c20c076 SVN_SILENT made messages (after extraction) 2016-11-24 02:47:32 +01:00
Albert Vaca
27cbff82e7 Do not compile the plasmoid nor the runcommand plugin on Windows 2016-11-24 00:21:25 +01:00
Albert Vaca
3a558984b9 Fix for qt 5.6 2016-11-23 20:27:09 +01:00
Aleix Pol
89d6152b3b Install kdeconnect-indicator 2016-11-23 19:45:35 +01:00
Aleix Pol
7960cb2ca7 Have a tooltip with the number of connected devices 2016-11-23 19:45:35 +01:00
Aleix Pol
7b87af16df Properly iterate over devices 2016-11-23 19:45:35 +01:00