Commit graph

29 commits

Author SHA1 Message Date
Yuri Chornoivan
f84b3c8c11 Fix localization of app and smsapp. Patch mainly by Victor Ryzhykh. 2019-12-21 09:59:36 +02:00
Nicolas Fella
a47fbe7215 [smsapp] Move aboutpage action into global drawer/menu 2019-12-19 23:18:11 +01:00
Yuri Chornoivan
bef029b8f5 Add i18n() 2019-10-23 22:26:33 +03:00
Simon Redman
9c91042441 Add loading indicator while loading conversations 2019-08-24 10:29:44 -07: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
a5f55acf0e Don't interpret HTML in SMS messages 2019-07-21 11:05:40 +00:00
Aleix Pol
f256e32fb2 smsapp: add main contextual actions
Includes an about page and a refresh button for the conversations.
2019-07-21 12:55:25 +02:00
Aleix Pol
ed9e3028be sms: improve the conversation delegate
Keep the two elements (name and last message) separate so we can elide
the texts on the right.
2019-07-21 12:35:19 +02:00
Albert Vaca Cintora
2ca09a5ec1 Added a todo 2019-07-20 13:54:23 +02:00
Simon Redman
edee0e0e9d [SMS App] Handle addresses for multitarget messages
## Summary

Upgrade the SMS App to handle multitarget addresses in the "addresses" field of a message and drop usage of the "address" field

Also note that this has all the commits from https://invent.kde.org/kde/kdeconnect-kde/merge_requests/97, but I will rebase those away once that patch is landed

Bonus: Image composition for multitarget conversations

## Test Plan
- Apply Android-side patch https://invent.kde.org/kde/kdeconnect-android/merge_requests/80
- Launch SMS App
- Notice that you can see all the recipients of multitarget messages. (Replying still not supported, but might get implemented as part of fixing replying to single-target messages)
2019-07-19 17:33:15 +00:00
Simon Redman
ee9547ed89 [SMS App] Basic plain-text MMS support
## Summary

Desktop companion to https://invent.kde.org/kde/kdeconnect-android/merge_requests/78

Give desktop SMS app a basic understanding of the MMSes coming from Android:
- Show a fake body if we get an attachment we can't display (for now, any attachment)
- Display a fake contact header for multi-target messages since Android does not yet export multi-target address information
- Disable attempting to reply to multi-target messages

BUG: 398889

## Test Plan
### Before:
MMS messages were silently dropped, meaning:
 - Group MMS conversations were not visible
 - Single-target conversations with the most-recent message an MMS were not visible

### After:
 - Install https://invent.kde.org/kde/kdeconnect-android/merge_requests/78
 - Multi-target conversations are displayed (kind of ugly, since they have no contact information
 - Single-target conversations which end with an MMS are displayed
 - Plain-text MMS is displayed nicely
 - MMS attachments don't show
   - MMS which are only an attachment with no body are displayed with a dummy body
2019-07-19 15:29:28 +00:00
Nicolas Fella
3b8fedea1a Replace http GNU urls with https 2019-03-23 17:29:26 +01:00
Simon Redman
037543e42b [SMS App] Improve "No devices available" warning
Summary:
Make "No devices available" warning more obvious, add explaination

New warning:
{F6479206}

With mouseover explanation:
{F6479207}

Test Plan:
 - Open app with remote device connected, everything behaves as normal
 - Disconnect remote device, observe warning at top of dialogue
 - Mouse over warning, be told what the situation means for your use of the app
  - Note that, due to [[https://bugs.kde.org/show_bug.cgi?id=401587|bug 401587]], it is not actually possible to view cached content. That will be fixed eventually.

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: apol, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17616
2019-03-18 15:59:54 -06:00
Nicolas Fella
fd99d84ead [SMS App] Allow passing a message via args
Summary:
Add --message option to kdeconnect-sms to pass a message. The user only needs to choose a recepient and the message will be sent. Useful for integration with 3rd party
apps, e.g. via Purpose

Test Plan:
kdeconnect-sms --message "Hello World", choose chat, message is sent
Click another chat, no message sent
kdeconnect-sms without args, no message sent

Reviewers: #kde_connect, sredman

Reviewed By: #kde_connect, sredman

Subscribers: andyholmes, sredman, apol, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17292
2019-03-09 22:44:28 +01:00
Simon Redman
8742dc5797 Fix doubly-nested ConversationDisplay which was causing messages to not be send-able
Bug introduced by commit 1ec20886a8

Something in my build system changed so I was testing the wrong build when merging before!
2019-03-08 15:09:13 -07:00
Simon Redman
1ec20886a8 [SMS App] Add highlighting to ConversationList view
Summary: Let the ListView use its default highlighting (did I not notice before?) and keep the currently-selected chat highlighted at all times

Test Plan:
 - Launch app
 - Use mouse or arrow keys to select a conversation. The highlight should follow the selected conversation

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: apol, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17612
2019-02-26 22:55:50 -07:00
Simon Redman
a14b39d541 [SMS App] Make sms app not crash when conversation is selected with no devices connected
Summary: This patch fixes T10184 and stops the SMS app from crashing when a conversation is selected but no devices are connected. It also allows the SMS app to access the cached messages in the ConversationsDbusInterface so the app is still slightly useful even when the device is disconnected.

Test Plan:
- Open sms app
- Open a few conversations
- Disconnect phone (Force close app?)
- Re-open a conversation which was previously opened
  - Verify that the messages appear. It is possible to scroll up to view any older cached messages too!
- Open a conversation which was not opened previously
  - Verify that a single messages is shown (since this was the only one in cache, from populating the list of all conversations)
  - Verify that attempting to scroll this conversation does nothing, but also does not crash the app

Note: Opening the app with no phone connected will cause it to lose its handle on the deviceId, so it can't spawn a new Dbus interface, so it will remain blank and empty. Solving that is a project for another day.

Reviewers: #kde_connect

Reviewed By: #kde_connect

Subscribers: apol, nicolasfella, kdeconnect

Tags: #kde_connect

Maniphest Tasks: T10184

Differential Revision: https://phabricator.kde.org/D17634
2019-01-22 18:55:27 -07:00
Simon Redman
5b213e6144 [SMS App] Improve filter
Summary:
- Allow filter box to handle keystrokes passed to the ListView
 - This is a little cheesy, but fixes T8341

- Pin filter box to always be visible

- Clear filter on Esc

Test Plan:
- Try typing a contact you would like to search for
 - Before: Every time you type a new letter, the filter box would lose focus and you would have to click it to give it focus again
 - Now: You can type smoothly

- Try scrolling the list
 - Before: The filter box disappeared off the top of the screen
 - Now: The filter box is always visible

- Try pressing escape
 - Before: Nothing
 - Now: Filter clears

- Bonus: When using the arrow keys to navigate, before the filter was manually handling those and the view would not loop. Now, the view loops if you try to select an item past the beginning or end (Easiest to see with highlighting from D17612)

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: kdeconnect

Tags: #kde_connect

Maniphest Tasks: T8341

Differential Revision: https://phabricator.kde.org/D17614
2018-12-17 09:25:56 -07:00
Simon Redman
657dede4bf Add contributors to smsapp QML files 2018-12-15 17:26:44 -07:00
Aleix Pol
7ef1da4914 Fix comment 2018-11-26 20:42:18 +01:00
Nicolas Fella
e26af48062 Remove unneeded import 2018-11-09 19:32:53 +01:00
Simon Redman
e9d5c9e27e Revert "Replace tabs with spaces in messaging app"
This reverts commit 6657dff8cf.
2018-10-30 14:01:13 -06:00
Simon Redman
6657dff8cf Replace tabs with spaces in messaging app 2018-10-30 13:58:50 -06:00
Alex Kovrigin
4daf129cf3 Improve "No devices" warning
Summary:
Move the "No devices available" text in smsapp from combobox to the ConversationList.

P.S.
It's a GCI task.

Test Plan:
* Build and run smsapp
* Try pairing and unpairing the device
* See the difference

Reviewers: #kde_connect, sredman

Reviewed By: #kde_connect, sredman

Subscribers: sredman, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16467
2018-10-27 14:49:39 -06:00
Albert Vaca
1e9a1f93ed Fix license header for smsapp 2018-10-11 22:52:42 +02:00
Nicolas Fella
372f23b103 [SMS app] Mask regex special characters in search box
Summary: QSortFilterProxyModel filters based on a regex. When the user inserts regex special characters things go bad.

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: apol, broulik, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D14642
2018-08-06 13:07:23 +02:00
Nicolas Fella
3437fa5a39 [SMS app] Search case insensitive 2018-08-06 00:32:12 +02:00
Nicolas Fella
a1b5c4e2d9 Display Name and message in separate line
Summary:
Before:
{F6176746}

After:
{F6176749}

Reviewers: #kde_connect, sredman

Reviewed By: #kde_connect, sredman

Subscribers: sredman, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D14636
2018-08-06 00:05:10 +02:00
Aleix Pol
31e93ef7bf (WIP) Upgrade Telephony plugin to read SMS history (KDE side)
Summary:
For real usecases of SMS support, we will almost always need access to the message history in some way

Specifically resolve T8338

Incidentally resolve T6651 since Telephony shall no longer create a notification

Test Plan:
Setup:
- Build corresponding Android-side diff (D11698)
- Build this diff

Step 1: Does anything at all work?
- Put a breakpoint in the handleBatchMessages method of the telephony plugin, ideally after constructing a Message object
- Use DBus to poke /modules/kdeconnect/devices/<deviceID>/telephony.requestAllConversations()
- Verify that the constructed Message is one you sent or received and that it is the most recent in the corresponding conversation

Step 2: DBus
- Open the Interface org.kde.kdeconnect.device.conversations of /modules/kdeconnect/devices/<deviceId>
- Poke activeConversations and verify an empty array is returned
- Poke requestAllConversationThreads
- Poke activeConversations and verify that a list of numbers has been returned. These are conversationIds
- Use a conversationId to call getFirstFromConversation
  - Verify that the returned Message object is one which you recognize
  - Note that if the message is an MMS it will be blank and meaningless. Try a different conversationId. MMS support "coming soon!"

Step 3: SMS App
- Use ccmake (or similar) to set SMSAPP_ENABLE to ON
- Build the project
- Run ./bin/kdeconnect-sms
- Verify that the app shows a list of everyone you have an SMS conversation with (MMS messages are stripped out)
  - If you have the Contacts plugin working, verify that most contacts have their name and photo instead of their phone number

Reviewers: #kde_connect, nicolasfella, apol

Reviewed By: #kde_connect, nicolasfella, apol

Subscribers: andyholmes, apol, nicolasfella, #kde_connect

Tags: #kde_connect

Maniphest Tasks: T8338, T6651

Differential Revision: https://phabricator.kde.org/D11854
2018-06-09 13:35:26 -06:00