https://bugs.kde.org/show_bug.cgi?id=458063

Simon Redman <si...@ergotech.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED
      Latest Commit|                            |https://invent.kde.org/netw
                   |                            |ork/kdeconnect-kde/commit/b
                   |                            |9a089344efeb68ae4e6b5d780a3
                   |                            |9de398208fe3

--- Comment #6 from Simon Redman <si...@ergotech.com> ---
Git commit b9a089344efeb68ae4e6b5d780a39de398208fe3 by Simon Redman, on behalf
of Yuchen Shi.
Committed on 17/10/2022 at 21:04.
Pushed by sredman into branch 'master'.

Add config for clipboard plugin on content types to share.

## Summary

This MR adds a config dialog for the Clipboard plugin, where the user can
toggle
whether to share password and/or anything else with other devices.

Implements !39

According to previous discussion at !39 (and the bug linked), some users want
to
skip sending passwords to other devices while others rely on the existing
behavior.
This MR addresses that by allowing users to control those two types separately
and
will replace !39 if merged.

![Screenshot with new config
dialog](/uploads/3dfc6c6d69b86e6512e6a8948320a839/Screenshot_1661407807.png)

Borrowing the idea from !39, the `x-kde-passwordManagerHint` MIME data hint is
used
to determine whether the content is considered secret. I've tested this method
with
KeepassXC which [sets this
correctly](https://github.com/keepassxreboot/keepassxc/blob/a6d3f973fa8449f0f7dac864b3bd3928c29c649f/src/gui/Clipboard.cpp#L62).
See test plan below.

In theory, MIME also can be used to test for images and another checkbox can
be easily added should we decided to support images later. For now though, the
enum and the config supports only passwords or "anything else". Both defaults
to true,
thus keeping full backwards compatibility. I've been keeping both unchecked
since
I only share in one direction (Android to Linux), which wasn't possible until
this MR.
Others may want to make their own choices.

## Test Plan

Please reference the screenshot above for the steps.

>From the indicator, right-click and select `Configure`. Select a device from
the
left side (or pair one if needed). In "available plugins", make sure
"Clipboard"
is checked, and verify that a "Configure" icon button is now shown on the
right.

Clicking that icon should bring up the new config dialog, where the two check
boxes
can be toggled as desired. Click on "OK" to save and apply the settings.
Clicking on
"Defaults" should bring both back to checked (the default behavior).

Copy normal plain text from your favorite text editor and it should be sent to
another
device if the "anything else" checkbox is checked. I've tested this on an
Android phone
but I see no reason it won't work elsewhere given the code for sending has not
been changed.
(Feel free to test on other devices.)

Open KeepassXC and select an entry, right click and select "Copy password".
This sets
the MIME hint so it should be treated as a password, controlled by the
"passwords" checkbox.
I've toggled the settings multiple times on and off. Once "OK" is clicked, the
next clipboard
change should pick up the latest settings.

I've only tested on Linux desktops (Arch Linux) since I do not own a Mac. I
don't believe any
OS X application sets `x-kde-passwordManagerHint` at all, so they may be
controlled by "anything else".

M  +11   -0    plugins/clipboard/CMakeLists.txt
A  +56   -0    plugins/clipboard/clipboard_config.cpp     [License: GPL(3+eV)
GPL(v3.0) GPL(v2.0)]
A  +34   -0    plugins/clipboard/clipboard_config.h     [License: GPL(3+eV)
GPL(v3.0) GPL(v2.0)]
A  +69   -0    plugins/clipboard/clipboard_config.ui
M  +16   -5    plugins/clipboard/clipboardlistener.cpp
M  +7    -2    plugins/clipboard/clipboardlistener.h
M  +13   -1    plugins/clipboard/clipboardplugin.cpp
M  +3    -1    plugins/clipboard/clipboardplugin.h
M  +1    -0    plugins/clipboard/kdeconnect_clipboard.json
A  +39   -0    plugins/clipboard/kdeconnect_clipboard_config.qml     [License:
GPL(3+eV) GPL(v3.0) GPL(v2.0)]

https://invent.kde.org/network/kdeconnect-kde/commit/b9a089344efeb68ae4e6b5d780a39de398208fe3

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to