Commit graph

237 commits

Author SHA1 Message Date
l10n daemon script
da0089c741 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"
2020-04-09 11:01:28 +02:00
l10n daemon script
5ef95c7c25 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"
2020-04-09 06:26:57 +02:00
Nicolas Fella
1013f23e1b Fix trailing whitespace 2020-04-08 10:48:12 +02:00
Nicolas Fella
570b8776c6 Use QString::isEmpty 2020-04-08 10:47:47 +02:00
Nicolas Fella
b35d96b471 Add some const 2020-04-08 10:46:35 +02:00
Nicolas Fella
f8674db931 Don't recreate QRegularExpression for leading zeroes each time
Creating a QRegularExpression is quite expensive and we use the same expression for each run. Sharing it between the runs leads to a significant performance improvement.
2020-04-08 10:25:34 +02:00
l10n daemon script
1634126eb5 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"
2020-04-07 10:16:35 +02:00
l10n daemon script
0e04769a43 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"
2020-04-07 06:11:40 +02:00
Aniket Kumar
520d2a5695 Move ConversationsSortFilterProxyModel class from conversationlistmodel files to its own files
## Summary

Currently `OurSortFilterProxyModel` class is implemented in the same file with `ConversationListModel` class, which would likely grow in the future.

This MR separates `OurSortFilterProxyModel` class into its own separate file renaming it to `ConversationsSortFilterProxyModel`

https://invent.kde.org/kde/kdeconnect-kde/-/merge_requests/229
2020-03-29 18:25:07 +00:00
Jiří Wolker
365791dc59 Show remaining character count in SMS app
## Summary

This adds character counter below the “Send” button in SMS conversation. It
uses format XXX/Y where XXX is number of characters that can be added
without splitting the SMS into multiple messages (see article
Concatenated SMS on Wikipedia). Y is number of messages in in current
concatenated SMS. The counter is not visible when insertion of 10 7-bit
or 16-bit (depends on SMS encoding) does not create concatenated SMS.

SMS encoding is automatically guessed. 8-bit encodings are not
supported. If the message contains characters that are not supported by GSM 7-bit
encoding, counter automatically switches to UCS-2.

## Test Plan

Try entering some text that is longer than 150 characters in [GSM 03.38 encoding][1] or 60 characters in UCS-2. Number of remaining characters should be visible below the “Send” button. The character counter should show `0` at exactly 160 or 70 characters. Inserting one character should switch the counter to [Concatenated SMS][2] mode when number of messages is shown.

It should show exactly same number as SMS app in Android.

## Screenshots

These images are in APNG.

![grab.apng](/uploads/21ae23f2fa75c7aca487e61ddce94644/grab.apng)
![grab-cz.apng](/uploads/785e670a8598c5a65a4209f17e75f578/grab-cz.apng)

[1]: https://en.wikipedia.org/w/index.php?oldid=932080074#GSM_7-bit_default_alphabet_and_extension_table_of_3GPP_TS_23.038_/_GSM_03.38
[2]: https://en.wikipedia.org/w/index.php?oldid=943185255#Message_size
2020-03-22 18:47:12 +00:00
Aniket Kumar
f211d7e401 Add feature to start new conversation with existing contacts
## Summary

Start a conversation with contacts having no previous conversation with.

It is currently only possible to use the messaging app to send a message to a conversation which already exists.

This patch implements this feature by integrating all contacts having no prior conversation with the recent conversations in the recent conversation list and at the bottom in a sorted manner, something like this,

The contacts are stored in the recent conversation list model as a conversation but with INVALID conversation ID and INVALID conversation DATE.

## Testing

Testing just needs kdeconnect daemon to be recompiled and executed.
2020-03-21 22:57:28 +00:00
l10n daemon script
87d58643a2 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"
2020-03-17 10:05:04 +01:00
l10n daemon script
201be5d898 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"
2020-03-16 10:21:09 +01:00
Nicolas Fella
af94100952 Move QAbstractItemModel QML workaround to declarativeplugin 2020-03-14 16:44:24 +01:00
Simon Redman
751bca008c Add loading notice while loading conversations 2020-02-03 01:37:25 +00:00
Laurent Montel
0f707cc709 It alreadys added by kaboutdata 2020-01-12 14:46:21 +01:00
Yuri Chornoivan
01c4d0411b Fix minor EBN issues 2019-12-22 09:49:55 +02:00
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
l10n daemon script
56880448fd 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"
2019-11-30 05:34:44 +01:00
l10n daemon script
cb307e16b2 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"
2019-11-17 05:06:27 +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
l10n daemon script
392d287b64 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"
2019-08-11 04:47:22 +02:00
Simon Redman
f56a24d519 Add Q_UNUSED to squelch warning 2019-07-31 14:35:54 -06:00
Simon Redman
2e04adf99c Fix never-ending loading by adding a new signal indicating the SMS plugin has received a reply (so is presumably done loading)
This may need to be reworked at some point for more advanced usecases (multiple apps listening to SMS, variable-length message requests, etc.) but it's fine for now

BUG 410095
2019-07-29 22:12:37 +02:00
Simon Redman
5b73348635 Add Commenting 2019-07-29 21:51:52 +02:00
Simon Redman
91765a354d Update ConversationMessage.qml to latest version used in Kaidan 2019-07-27 10:02:24 +00:00
Simon Redman
88e0ffa01a Always show sender's name 2019-07-23 13:43:01 +02:00
l10n daemon script
b7a6b1f00e 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"
2019-07-23 05:10:46 +02:00
Simon Redman
ecbe1acabe Change license string in About
We are GPLv3 since we use some Kaiden components
2019-07-22 19:42:40 +02:00
Nicolas Fella
2544d9b3b9 Include KPeople properly 2019-07-22 13:41:29 +02:00
Simon Redman
8d939e130f ## Summary: Add a spinning loading indicator while waiting to get messages from the phone
## Test Plan
- Open SMS conversation
- See nice spinner
2019-07-21 17:27:08 +00: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
Simon Redman
c08c254555 Update KAboutData 2019-07-21 17:44:51 +02:00
Simon Redman
bc468f1e07 Use proper theme setting for text colour 2019-07-21 16:42:16 +02:00
Matthijs Tijink
9c442455d2 Display the KDE Connect icon instead of the X icon 2019-07-21 11:32:39 +00:00
Aleix Pol
a8c28a7ff1 smsapp: Offer the default avatar if another wasn't found 2019-07-21 13:28:06 +02:00
Aleix Pol
a7ee4ef0c5 smsapp: cache persondata instances
We were instanciating them all the time and it became rather slow.

Reviewed by Simon
2019-07-21 13:19:12 +02:00
Simon Redman
19025fb287 Make the sms app load the proper number of messages to fill the initial screen and make it instantly show the most-recent message 2019-07-21 13:17: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
Aleix Pol
9597017bf3 Fix running kdeconnect-sms on gnome 2019-07-20 13:46:19 +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
l10n daemon script
3d0acf15a5 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"
2019-06-27 05:13:07 +02:00
Nicolas Fella
e601755644 Force usage of QStringLiteral and port remaining offenders 2019-06-10 14:40:28 +00:00
Simon Redman
3c346b9409 Block matching empty phone numbers 2019-06-07 16:39:18 -06:00
Simon Redman
b4da91f86b Really actually fix Windows SMS app build 2019-06-02 15:47:14 -06:00
Simon Redman
79325254b7 Fix Windows SMS app build 2019-06-02 15:27:46 -06:00
Nicolas Fella
4f4b105adf Revert "use override"
Whatever the problem was, this is not a fix

This reverts commit c99678915e.
2019-06-02 22:10:21 +02:00
Piyush Aggarwal
c99678915e use override 2019-06-02 19:54:31 +00:00
Simon Redman
e8a2e81421 Move SMS App helper functions to their own file 2019-06-02 14:52:54 +00:00
Simon Redman
9447d7e5de Rearrange ConversationListModel to not set deviceID when it has been determined to be invalid 2019-06-01 10:44:41 -06:00
Simon Redman
05826cc650 Allow all-zero phone number 2019-05-30 18:48:14 -06:00
Simon Redman
a5a0c16b61 Match contacts with many phone numbers
Also adds testing for some back-end of the SMS app
2019-05-30 19:18:32 +00:00
l10n daemon script
ee1a535cc2 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"
2019-05-08 05:42:59 +02:00
Simon Redman
db611fae67 Revert "Remove unneeded src"
This reverts commit 4c8c2b3d8f
2019-05-05 16:32:14 +00:00
Nicolas Fella
4c8c2b3d8f Remove unneeded src 2019-04-30 19:09:26 +02:00
Nicolas Fella
278eed89d6 Fix build 2019-04-30 19:07:32 +02:00
Simon Redman
459a1992e5 Check empty string using .isEmpty() instead of == "" 2019-04-30 10:11:57 -06:00
Nicolas Fella
3b8fedea1a Replace http GNU urls with https 2019-03-23 17:29:26 +01:00
Simon Redman
a922ca570d Use Shift+Enter instead of Ctrl+Enter to add newline to in-progress SMS message 2019-03-18 16:13:54 -06: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
Simon Redman
5cac399273 Fix bug causing smsapp's '--message' argument to not pass data through 2019-03-18 15:56:01 -06:00
Simon Redman
0bf02481a6 Properly disable new message-entry area when device is disconnected 2019-03-09 17:16:43 -07:00
Nicolas Fella
906cdfba64 Use input field from Kaidan
Summary: It looks a bit better

Test Plan: {F6314845}

Reviewers: #kde_connect, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: albertvaka, sredman, mart, hein, apol, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16071
2019-03-10 00:36:18 +01: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
Nicolas Fella
8548ebd032 Clean up includes 2019-02-03 01:44:22 +01:00
l10n daemon script
41e13c2e84 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"
2019-01-31 05:44:46 +01:00
l10n daemon script
864c83ffd0 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"
2019-01-25 05:33:10 +01:00
Simon Redman
3b92b0de1d Add dependency on kirigami to SMS app
Summary:
Resolves Bug 401255

Bonus: Disable some very noisy debugging from the SMS app

Test Plan:
 - Build KDE Connect with or without Kirigami
   - Verify successful build with no complaints about Kirigami
 - Build KDE Connect's Messenger:
   - Without Kirigami: Verify that CMake warns that Kirigami is not found
   - With Kirigami: Verify that app launches successfully

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: apol, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17572
2019-01-24 10:39:54 -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
Nicolas Fella
af9eedad47 Remove deprecated ApplicationHeader 2018-12-14 18:15:07 +01:00
Simon Redman
2c35c1af51 [SMS App] Allow scrolling up to load and display older messages
Summary:
Scroll up to show older messages

Newly received messages will not force the view to the bottom unless the new message is being added "very close" to the visible area

Test Plan:
Message History:
 - Open conversation
 - Scroll/Drag up to load older messages

New Message:
 - Open conversation
 - Scroll to bottom
 - Verify that a newly-received or newly-sent message is added to the GUI
 - Scroll up
 - Verify that sending/receiving a message does not disturb the view
 - Scroll back to verify that the new message was indeed added to the list

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: apol, nicolasfella, kdeconnect

Tags: #kde_connect

Maniphest Tasks: T9556

Differential Revision: https://phabricator.kde.org/D15979
2018-12-12 22:50:50 -07:00
Simon Redman
7025fd6795 Un-break build. Apparently I didn't test as I thought I had. 2018-12-12 22:49:33 -07:00
Simon Redman
019e8d6a1c [SMS App] Make requestMoreMessages asynchronous, blocking, and caching
Summary:
The most serious change from this patch is to move the asynchronous replying to a request from the app for more messages to a newly-spawned, self-destructing thread. Within that thread, we block until the remote device replies with the requested messages.

All gotten messages are cached in the ConversationDbusInterface, so all future requests are fast and don't hit the remote device.

Test Plan: After applying this diff, the messaging app should show 10 messages every time it is opened

Reviewers: #kde_connect, nicolasfella, albertvaka

Reviewed By: #kde_connect, albertvaka

Subscribers: albertvaka, apol, nicolasfella, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16475
2018-12-12 22:42:56 -07:00
l10n daemon script
baef9265d9 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"
2018-12-02 05:23:51 +01:00
Billy Laws
c6fc4d92b7 Make the message TextField expanding, wrapping and scrollable
Summary:
A scrollbar will show if the entered text fills more than 1/3rd
of the screen, pressing enter will send the message and shift +
enter will add a new line.

Reviewers: #kde_connect, sredman

Reviewed By: #kde_connect, sredman

Subscribers: sredman, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D17224
2018-11-29 18:02:42 +00:00
Aleix Pol
7ef1da4914 Fix comment 2018-11-26 20:42:18 +01:00
Nicolas Fella
b435ab1f46 Use Q_ENUM instead of Q_ENUMS 2018-11-26 00:19:08 +01:00
Simon Redman
73191d8565 [SMS App] Don't set font size, which causes warnings to be printed
Summary:
Whenever a ConversationMessage was constructed, a warning was printed saying "Both point size and pixel size set. Using pixel size." Stop double-setting the font size and the warnings stop

This may be system-specific because I don't see where we are setting the font's point size. I will test this on a few different systems (I haven't yet) and I hope others will test it on their system!

Note that this is easiest to test when applied on top of D15979 so you can scroll up to cause more messages to be constructed

Test Plan:
Before patch: Experience many warnings when using the SMS app
After patch: Experience fewer (0?) warnings when using the SMS app

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16769
2018-11-10 09:44:45 -07:00
Nicolas Fella
e26af48062 Remove unneeded import 2018-11-09 19:32:53 +01:00
Simon Redman
70926fbeaf [SMS App] Clean up runtime warning about undefined behavior
Summary: Move ColumnLayout containing text elements inside of the graphical bounding rectangle

Test Plan:
Pre patch:
 - Launch messaging app
 - Open conversation
 - Notice huge spew of warnings like: "qrc:/qml/ChatMessage.qml:84:5: QML ColumnLayout: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead."
Post patch:
 - Launch messaging app
 - Open conversation
 - No warnings about undefined behavior

Reviewers: apol

Reviewed By: apol

Subscribers: kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16534
2018-10-31 08:47:19 -06:00
Simon Redman
e6d84ece34 Replaces tabs with spaces (properly) 2018-10-30 14:03:16 -06: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
8bfe093939 Don't show phonenumber if name is available
Summary:
Showing the number next to the name is neither pretty nor necessary IMHO.

My Android SMS app displays the number more subtle in an extra line below in gray. I could get behind something similar, but until this is implemented just don't show it

Depends on D16015

Reviewers: #kde_connect, sredman

Reviewed By: #kde_connect, sredman

Subscribers: sredman, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16017
2018-10-08 20:37:49 +02:00
Nicolas Fella
45e966c290 Fix person name displaying in ConversationDisplay
Summary: Don't ask my why this works this way

Test Plan: I see Name: phonenumber for contacts and just phonenumber for non-contacts now

Reviewers: #kde_connect, sredman

Reviewed By: #kde_connect, sredman

Subscribers: sredman, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D16015
2018-10-08 20:36:35 +02:00
Simon Redman
a7db3ab5e1 [Desktop] Update conversation list when a new message arrives
Summary:
When a new message is delivered, the conversation list should update by changing the preview text and re-sorting the conversations

Bonus bug discovered and fixed:  previously, when the conversations list was being populated, it made a request for the first message in every conversation. This would be fine if the conversationdbusinterface pulled from local cache. However, this actually triggers a request to the phone for *every* conversation.

This should be handled differently in conversationdbusinterface's requestConversation as well, but that's a project for a later day (TODO comments added)

Test Plan:
 - Launch SMS app
 - Verify conversations list appears
 - Verify lack of massive stream of debug output indicating lots of messages for the wrong conversation are being received
 - Verify that opening a particular conversation shows the messages after a short delay while the backend fetches the content from the phone
 - Verify that receiving a new message into an existing conversation updates the conversation list

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: nicolasfella, apol, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D15608
2018-10-07 21:46:39 -06:00
Simon Redman
ab33cce5a5 [SMS App] Improve contact matching
Summary: Improve contact matching by checking if the requested address ends with a candidate phone number, or vice-versa

Test Plan:
Check that *all* conversations which correspond to a contact are matched
 - All of mine match. If someone finds one which doesn't, I will need the particulars...

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: nicolasfella, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D15992
2018-10-07 21:34:07 -06:00
Yuri Chornoivan
5fe74ce041 Fix minor EBN issues and typos 2018-10-07 21:23:20 +03:00
Simon Redman
563dde9891 Correct braces and add contributors
Summary: Braces to start a method are on a newline, braces to begin an in-method block are on the same line

Test Plan: Pure source code cosmetic changes. Hopefully no functionality has changed!

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: apol, nicolasfella, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D15978
2018-10-06 21:59:15 -06:00
Nicolas Fella
f82df1c461 [smsapp] Use ApplicationHeader instead of ToolbarApplicationHeader
Summary:
ToolbarApplicationHeader seems deprecated and is broken on Plasma Mobile

Before:
{F6286925}

After:
{F6286924}

Reviewers: #kde_connect, apol

Reviewed By: #kde_connect, apol

Subscribers: apol, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D15781
2018-09-27 18:17:51 +02:00
Simon Redman
23d931cb10 [Desktop] Allow SMS app to handle newly recieved messages
Summary:
Update sms app model to use new conversationUpdated signal

Filter incoming messages which belong to a different conversation than the one currently being viewed

See Android-side diff D15360 which adds support for sending live updates when a new message is sent or received

Test Plan:
This patch relies on D15360 for Android-side support
  - Positive case:
    - Open a conversation in the SMS app
    - Receive a new message into that conversation (text yourself?)
    - Verify that the new message appears at the bottom of the appropriate conversation
  - Negative case:
    - Open a conversation in the SMS app
    - Receive a new message into a different conversation (text yourself?)
    - Verify that the new message does *not* appear in the open conversation

Reviewers: #kde_connect, nicolasfella

Reviewed By: #kde_connect, nicolasfella

Subscribers: nicolasfella, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D15409
2018-09-16 16:20:45 -06:00
Simon Redman
d742684d21 Set view to track new elements as they are added
Summary: Set the currentIndex of the ConversationDisplay to show the newest messages by default, but stay where the user positioned it if viewing older messages

Test Plan:
Launch SMS App:
 - Select conversation
 - View should show the most recent messages
 - Receive new message
 - View should scroll to show the new message
 - Scroll up to view older messages
 - Receive new message
 - View should continue to show older messages and not scroll to the bottom

Reviewers: nicolasfella

Reviewed By: nicolasfella

Subscribers: nicolasfella, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D15562
2018-09-16 15:52:44 -06:00
l10n daemon script
932b7e2834 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"
2018-08-18 05:41:47 +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
5f63f78f77 Show new messages on the bottom
Summary: Like every messaging app I know does

Test Plan: Compare message order with phone

Reviewers: #kde_connect, sredman

Reviewed By: #kde_connect, sredman

Subscribers: sredman, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D14638
2018-08-06 00:22:18 +02:00
Nicolas Fella
21b52d7dcf Refine SMS conversation view
Summary: Use components from Kaidan messenger

Reviewers: #kde_connect, sredman

Reviewed By: #kde_connect, sredman

Subscribers: sredman, kdeconnect

Tags: #kde_connect

Differential Revision: https://phabricator.kde.org/D14635
2018-08-06 00:09:46 +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
Albert Vaca
628231ce98 Exporting symbols only makes sense from a library, not an executable 2018-08-05 23:43:59 +02:00
l10n daemon script
027c147671 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"
2018-08-05 05:29:07 +02:00
Nicolas Fella
367f2e08a9 Clear SMS input field on send 2018-08-04 21:13:09 +02:00
l10n daemon script
040f30e33e 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"
2018-07-25 05:32:56 +02:00
l10n daemon script
dc524e081e 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"
2018-06-30 05:43:37 +02:00
l10n daemon script
e40312bf5e 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"
2018-06-18 05:27:46 +02:00
l10n daemon script
82d0f2dc0b 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"
2018-06-17 05:29:14 +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
Aleix Pol
8dba3898e5 Move the dummy conversation model to c++ 2018-05-16 03:44:23 +02:00
l10n daemon script
7224ac6295 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"
2018-05-15 05:31:45 +02:00
l10n daemon script
634d33be0c 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"
2018-04-23 05:25:53 +02:00
l10n daemon script
53f2e78b5b 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"
2018-04-19 05:16:12 +02:00
Aleix Pol
ea69141d2e SMS App: Note that there's no device available on the combo
Fixes T8342
2018-04-08 02:40:40 +02:00
Aleix Pol
cfc51e0814 SMS App: Don't allow sending sms when there's no device selected
Fixes T8343
2018-04-08 02:36:05 +02:00
Aleix Pol
f20cb63e53 SMS App: remove certain cruft and warnings 2018-04-08 02:34:26 +02:00
Aleix Pol
11071b4894 SMS app: Initialize the device combo when devices appear
Solves T8344
2018-04-08 02:08:12 +02:00
Aleix Pol
fdb03afb4d Send an SMS when the text field is accepted
Solves T8339
2018-04-08 02:08:12 +02:00
l10n daemon script
c42829a7d6 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"
2018-04-07 05:22:03 +02:00
l10n daemon script
44df1c3d07 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"
2018-04-06 05:23:01 +02:00
l10n daemon script
a8d5bb8c01 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"
2018-04-05 05:26:49 +02:00
l10n daemon script
a35ac8706c 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"
2018-04-03 05:27:53 +02:00
l10n daemon script
88516226a4 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"
2018-03-31 05:16:01 +02:00
l10n daemon script
45c00f8db4 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"
2018-03-30 05:19:36 +02:00
Simon Redman
bf327e5b8c Reduce dependencies of smsapp to kirigami 2.2 2018-03-27 17:10:10 +02:00
l10n daemon script
35f0747ff0 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"
2018-03-27 05:26:51 +02:00
Aleix Pol
bee6c4a8be Use KPeople API that exists 2018-03-25 22:21:39 +02:00
Aleix Pol
c863feef58 Optionally include sms app
Creates a tiny messaging app that uses KPeople to query the contacts and
KDE connect telephony plugins to send plugins.
To be ready, still needs some work on the contacts sync side and some
messages history would be nice.
2018-03-25 20:48:38 +02:00