Commit graph

84 commits

Author SHA1 Message Date
ivan tkachenko
21d7b4fbdc Virtual Monitor: Replace the video-monitor icon with something that exists
There is no "video-monitor" in Breeze Icons, so it inappropriately falls
back to "video" icon which looks like a file icon rather than a device.
2024-08-05 23:07:01 +00:00
ivan tkachenko
9ee0b23727
plasmoid: Port to pragma ComponentBehavior: Bound 2024-07-12 11:44:13 +03:00
ivan tkachenko
d2ee2bfdd8
plasmoid: Flatten plugin controllers, menu and other non-graphical components
Flat is better than nested. Those non-graphical components don't need to
be buried deep inside visual hierarchy tree. For example, for me it was
confusing to find the device label item after Battery, Connectivity and
VirtualMonitor only to realize some time later that those were not
actual visual indicators.
2024-07-12 11:44:13 +03:00
ivan tkachenko
90946829bf
plasmoid: Basic code cleanup 2024-07-12 11:44:13 +03:00
Łukasz Patron
7a4a3c5baa Unset file transfer tooltip location
Not sure what was the goal here, but tooltip should be shown under the
file drop area, not the entire plasmoid.
2024-06-07 21:57:24 +00:00
Fabian Arndt
b24d629802 virtualmonitor: implemented capabilities check
BUG: 485829

## Summary

Currently, the plugin just fails silently if the local device is missing the `krfb` package or if the remote device misses an `vnc://` protocol/scheme handler. You click the button and nothing happens.

One issue is, that the plugin is considered `virtualmonitor.available` in the `DeviceDelegate.qml`, even if the check for `krfb-virtualmonitor` fails and no dbus-path is provided. I investigated the behavior a bit, but ignored it in the end as this MR benefits from being shown for device constellations that _could_ provide this feature.

A warning is shown with brief instructions, how to get the plugin working correctly.

- Check if krfb-virtualmonitor is available locally
- Check default scheme handler for vnc:// on device (Linux)
- Show warnings / reasons, if no connection could be established


## Test Plan

Regarding if the devices have mentioned packages installed, we should see different behaviors.

If the remote device has no VNC client, it can not connect to out server. _A warning should be shown._

If the local device hasn't the `krfb-virtualmonitor` available, the remote device couldn't connect. _A warning should be shown._

If both problems are present, _both warnings should be shown._


If none of these are present, no warning should be shown and we should try to establish a connection.


The connection attempts failed? _A warning should be shown._
2024-05-30 23:13:54 +00:00
Prajna Sariputra
4caf77445f Remove KF5 plasmoid
Now that KDE Connect has moved to Qt6 only since https://invent.kde.org/network/kdeconnect-kde/-/merge_requests/621 we can remove the old KF5 plasmoid.
2023-12-23 16:34:33 +00:00
Prajna Sariputra
44301dd51f plasmoid: Add port to KF6/Plasma 6 alongside the current KF5/Plasma 5 version
Currently the plasmoid is still written for KF5/Plasma 5, and in addition
it also still uses PlasmaComponents2 stuff, which has been removed in
KF6/Plasma 6. So, this is an attempt to port the plasmoid so that it works
in Plasma 6.

BUG: 476389
2023-11-30 23:41:36 +00:00
ivan tkachenko
ba9acbc735
Set WrapMode on TextArea component
Upstream styles do not provide any wrapping by default, and thus we
should not rely on deceptively convenient override in qqc2-desktop-style.

See https://invent.kde.org/frameworks/qqc2-desktop-style/-/merge_requests/331
2023-11-28 05:56:24 +03:00
Albert Vaca Cintora
cdcf44efa8 Remove photo plugin
As discussed in Matrix and BUG: 474121 this plugin is confusing (because
it doesn't actually take a photo, it just launches the camera on your
phone) and its use case can be covered by taking a photo and sharing it,
which only requires a couple extra clicks.
2023-09-15 23:04:17 +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
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
Bharadwaj Raju
1f5fd06924 [plasmoid] Add inline reply for notifications instead of opening a dialog
Instead of opening the reply dialog when clicking Reply in the plasmoid, it opens an inline reply UI.
2022-09-26 19:51:28 +00:00
Fushan Wen
5f94c49503 plasmoid: fix missing device name
display is not defined, use model.name instead.
2022-06-23 09:40: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
Kai Uwe Broulik
4320789a04 [DeviceDelegate] Improve interaction with overflow menu
* Right-align relative to menu button
* Highlight button while menu is open
* Open on press rather than on click like a toolbar menu
2021-07-23 20:42:22 +02:00
Simon Redman
cec5d8086a [Plasmoid] Use icon for battery and connectivity status
## Summary

Use a pretty, granular icon for battery and connectivity status instead of whacking it into the device name.

## Test Plan

It looks so nice!

![image](/uploads/7e64d1339507e1dae90ee70c02327aa6/image.png)

Tested all provided icon states by hacking Battery.qml and Connectivity.qml to provide different values.
2021-07-14 03:30:25 +00:00
Albert Astals Cid
d93c028727 Add missing ) 2021-03-13 18:58:26 +01:00
David Shlemayev
a75da62f4d Add backend for ConnectivityReport plugin 2021-03-12 23:27:16 +00:00
Nicolas Fella
87db95b22f Convert license headers to SPDX expressions 2020-08-17 09:48:10 +00:00
Nicolas Fella
198789e6fc Fix file dialog usage in app and plasmoid
fileDialog.open() does *not* block, so we need to move the sending to onAccepted. Not sure why I thought this ever worked.

BUG: 423975
2020-07-18 21:57:15 +00:00
George Vogiatzis
875cf16a40 [Plasmoid]Make device menu use PC ContextMenu
Summary:
Change the three dotted menu to use PlasmaComponents ContextMenu.
This prevents menu from staying open on other system tray's applets.
Wayland still has that issue, happens in other menus too.
BUG: 415142

And change menu icon into a hamburger menu.

Test Plan:
Before:
Open the menu, and then open an other applet. Menu will stay open on
the left. Even if change windows and open the system tray, will still
be there.
After:
Use X11. By clicking, for example volume applet, menu will minimize.
Will need to click again to open the applet.
2020-02-21 11:42:31 +02:00
Aleix Pol
36bcade705 plasmoid: move plasmoid buttons into a menu
This way we get to see what they do together with the icon.
Removes some visual clutter as well.

Reviewed by Albert Vaca
2019-10-12 20:06:12 +02:00
Aleix Pol
8a919a8015 Remove clipboard integration on the plasmoid
It's redundant to the clipboard plugin and remote keyboard.
It clutters the UI.

Reviewed by Albert Vaca
2019-10-12 19:44:09 +02:00
Nicolas Fella
6c40364490 Fix SMS icon in plasmoid 2019-08-15 19:22:29 +02:00
Aleix Pol
c17972881b sms: Added opening kdeconnect-sms on the plasmoid and indicator
Add a menu entry on the kdeconnect-indicator within devices' submenu that opens kdeconnect-sms.
Also add it in the plasmoid in the device delegate.
2019-07-21 18:30:41 +02:00
Matthijs Tijink
f8184f84bc Make more of the device name/battery show up in the plasmoid 2019-06-25 16:40:10 +00:00
Nicolas Fella
1999a0b49e Allow to share multiple files from plasmoid 2019-06-15 18:10:53 +02:00
Nicolas Fella
5a0b82dd6d Fix whitespace 2019-06-15 17:44:27 +02:00
Nicolas Fella
a6dd1f5465 Translate file dialog title 2019-06-15 17:44:11 +02:00
Nicolas Fella
3b8fedea1a Replace http GNU urls with https 2019-03-23 17:29:26 +01:00
Aleix Pol
d650faaa4f Fix warning 2019-01-31 16:38:21 +01:00
Simon Redman
bafbc344b9 Implement Drag n Drop file transfer on the plasmoid
Summary:
A DropArea has been added to the ListItem representing a device in the
plasmoid based on what is done in the Quickshare plasmoid. This enables
Drag n Drop of files onto a section of the plasmoid to transfer files.

The DropArea has the size of the ListItem which is a rectangle
including the title of the device down to the button to share text.
Additionally, there is a tooltip area covering the DropArea to indicate
that it is possible to drop a file to send it to the device. Multiple files
can be sent at once.

Ref T8288

Test Plan: Drag and Drop one or many files onto the widget, the files should be transferred to the connected device.

Reviewers: #kde_connect, sredman

Reviewed By: #kde_connect, sredman

Subscribers: sredman, kdeconnect

Tags: #kde_connect

Maniphest Tasks: T8288

Differential Revision: https://phabricator.kde.org/D17611
2019-01-02 10:26:40 -07:00
Nicolas Fella
99e335ede2 Revert "Fix devicename in Plasmoid"
This reverts commit e029c61935.
2018-11-26 15:50:44 +01:00
Nicolas Fella
e029c61935 Fix devicename in Plasmoid 2018-11-22 16:45:53 +01:00
Billy Laws
9fc55c72f0 Use plasma TextArea for sharing text in plasmoid
Summary:
This also fixes a bug where the box could be too small.
BUG: 400862

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: nicolasfella, sredman, apol, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16782
2018-11-09 19:07:10 +00: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
Billy Laws
061d415f83 Add support for sharing text from plasmoid
Summary:
This allows you to enter text in the plasmoid and it be sent
to the connected device.

Reviewers: #vdg, #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: apol, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16696
2018-11-07 21:52:53 +00:00
Nicolas Fella
56ebd3f889 Fix with calculation 2018-11-02 15:47:52 +01:00
Nicolas Fella
cefc743307 Only show addCommand button when adding commands is supported 2018-11-02 15:44:14 +01:00
Nicolas Fella
e0766ba532 Align buttons 2018-11-02 15:38:52 +01:00
Billy Laws
eaea0ab667 Add support for sharing files from plasmoid
Summary: This allows you to share a local file on your device to a remote device running kde connect.

Reviewers: nicolasfella

Reviewed By: nicolasfella

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16552
2018-11-01 18:33:39 +01:00
Billy Laws
c546c77040 Add a button to open command setup menu in plasmoid
Summary: This patch adds a button to the plasmoid to allow adding commands by opening the menu on the remote device.

Reviewers: #vdg, nicolasfella, albertvaka

Reviewed By: nicolasfella

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16535
2018-10-30 23:42:56 +01:00
Nicolas Fella
d7d2917e00 Use new icon for clearing notifications
Summary: {F6303876}

Reviewers: #kde_connect, ngraham, thsurrel

Reviewed By: ngraham

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D15948
2018-10-04 19:25:53 +02:00
Nicolas Fella
fc4d4e7685 Enable running commands from the plasmoid
Summary: {F5926667}

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: apol, kdeconnect, #kde_connect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D13660
2018-07-27 08:11:03 +02:00
Thomas Surrel
5ab26096a2 Change the 'Dismiss all notifications' icon
Summary: This matches the KDE notification icon.

Reviewers: apol

Reviewed By: apol

Subscribers: abetts, Fuchs, apol, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D13534
2018-06-14 17:45:01 +02:00
Nicolas Fella
4d8863bacc Start cleaning up RemoteKeyboard QML code
Summary:
The code for visually disabling the input field is not needed any more since the field is completely hidden when not needed. Also drop the custom available property from the text field.

More cleanups will follow. My long-term goal is to reuse the code in the app to enable remote keyboard input on non-Plasma DEs

Test Plan: (De)activate the remote keyboard on Android.

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: apol, #kde_connect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D12669
2018-05-09 01:15:14 +02:00
Matthijs Tijink
749351ec64 Add tooltips to the "dismiss" buttons for notifications
Summary: It also makes it clearer that the top line is not a notification, but a header.

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: #kde_connect

Differential Revision: https://phabricator.kde.org/D11646
2018-03-24 16:40:09 +01:00
Nicolas Fella
5d4821fb9c Only show notification title in plasmoid if different to app name
Summary: Like we do for the notifications in the plugin already. Passing the title and text separately to the plasmoid could be useful later as well.

Reviewers: #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: #kde_connect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D7457
2017-08-22 18:18:34 +02:00
Nicolas Fella
66e5eefe20 Gave plasmoid some love
Summary:
Make the plasmoid content transparent
Include battery info in header
Only show remotekeyboard input if available
Make header always centered

before:
{F3820966}

after:
{F3820965}

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: jeanv, albertvaka, apol, #kde_connect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D6943
2017-07-27 17:15:07 +02:00