Commit Graph

273 Commits

Author SHA1 Message Date
Angela Mazzurco
2cb6742dbc Create logic for call android native image picker 2017-07-10 20:09:54 +02:00
Angela Mazzurco
61971b5b3d Customize contact details own view 2017-07-09 17:04:31 +02:00
Angela Mazzurco
1917e673f2 Load cached avatars on contacts view 2017-07-09 16:30:59 +02:00
Angela Mazzurco
53eadfdc19 Create avatar cache and identity details cache 2017-07-09 15:40:37 +02:00
Angela Mazzurco
36708efa8c Set separator line in delegate root item 2017-07-09 13:34:11 +02:00
Angela Mazzurco
02d4790890 Merge remote-tracking branch 'g1o/android_share_intent' into qml_app_ui_aesthetic 2017-07-09 13:18:12 +02:00
Angela Mazzurco
c60c084c2a Augment trusted node list elements size 2017-07-09 13:17:19 +02:00
Angela Mazzurco
80dd0006e7 Refactor drawer properties to be more aesthetic 2017-07-09 13:11:48 +02:00
Angela Mazzurco
7653cfa008 Search details if have gxs_id and the default image is set 2017-07-09 12:44:33 +02:00
Angela Mazzurco
b77629eed4 Disable Retroshare toolbar button if core is not ready 2017-07-09 12:27:49 +02:00
Angela Mazzurco
402a2562c5 Set Retroshare image if no gxs identity is passed 2017-07-09 12:23:02 +02:00
Angela Mazzurco
0a3a04c245 Change menu icon position to left 2017-07-09 11:49:52 +02:00
Angela Mazzurco
509ea355d3 Refactor to be more aesthetics 2017-07-08 19:28:54 +02:00
Angela Mazzurco
6fc2cf6b87 Merge remote-tracking branch 'g1o/qml_app_ui_aesthetic' into qml_app_ui_aesthetic 2017-07-08 18:09:15 +02:00
Angela Mazzurco
5205301e10 Solve bug that push view when android keyboard is shown 2017-07-08 17:39:56 +02:00
Gioacchino Mazzurco
163f6b14af Qml-app update all available icons to SVG 2017-07-07 14:28:41 +02:00
Angela Mazzurco
ddaa03514c Solve contacts view onhover bug on android platforms 2017-07-04 18:46:11 +02:00
Angela Mazzurco
8ebd0f770f Solve crash bug with toolbar loader when pop push a chat view, loading AvatarOrColorHash from toolbar 2017-07-04 17:20:42 +02:00
Gioacchino Mazzurco
dafaa568b8 Qml App: better Android interaction on URL export
Clipboard usage is uncommon in Android so export the URL via Intent too
that is the common pattern on Android
2017-07-04 16:44:15 +02:00
Angela Mazzurco
80cc1b4520 Call toolbar change state when pop stackview 2017-07-04 15:51:03 +02:00
Angela Mazzurco
d19950f0df Add support for back key on desktop keyboard 2017-07-04 15:35:45 +02:00
Angela Mazzurco
0a17cbefec Support for preedit text on predictive keyboards 2017-07-03 17:03:03 +02:00
Angela Mazzurco
161bd4c227 Increase font size 2017-07-01 18:03:55 +02:00
Angela Mazzurco
6ea85de4ba Disable rich text on message field and span tag when emoji is inserted 2017-07-01 17:25:25 +02:00
Angela Mazzurco
b38c944484 Solve bad name reference error 2017-07-01 17:02:32 +02:00
Angela Mazzurco
f975f340a4 Hide emoji picker when a message is sent 2017-07-01 17:02:00 +02:00
Angela Mazzurco
2d7e7d321a Set message bar bigger 2017-07-01 16:58:19 +02:00
Angela Mazzurco
e1498603be Use emoji picker on chat view 2017-07-01 15:36:55 +02:00
Angela Mazzurco
48a77c5e1a Create component emoji picker 2017-07-01 15:36:29 +02:00
Angela Mazzurco
666ae5ecf3 Style the trusted node details view 2017-06-23 18:39:18 +02:00
Angela Mazzurco
fd38129b09 Create component to wrap text and icon 2017-06-23 18:38:48 +02:00
Angela Mazzurco
b848422a2d Add keyring icon 2017-06-23 18:12:55 +02:00
Angela Mazzurco
34be06c67a Disable backbutton implementation 2017-06-23 17:26:51 +02:00
Angela Mazzurco
60dae07742 Partialy implement back button 2017-06-23 17:26:10 +02:00
Angela Mazzurco
37089bb73f Disable toolbar mouse area on chat view 2017-06-23 16:36:36 +02:00
Angela Mazzurco
c94672118e Toolbar return to contacts view when click to icon or label 2017-06-23 16:33:16 +02:00
Angela Mazzurco
b4ee63ad9b Close drawe when click your avatar image to show details 2017-06-23 16:09:47 +02:00
Angela Mazzurco
a9e4271c35 Transition on when toggle search box 2017-06-23 15:59:04 +02:00
Angela Mazzurco
353b34fcab Toggle search contacts field using search icon on toolbar 2017-06-23 15:17:41 +02:00
Angela Mazzurco
d8eafaf9ea Set search button visibility only on contacts view 2017-06-23 15:01:48 +02:00
Angela Mazzurco
a8b26298d3 Add header and footer to sidebar 2017-06-22 19:28:14 +02:00
Angela Mazzurco
32078d3243 Store own gxs information on ChatCache 2017-06-22 18:15:24 +02:00
Angela Mazzurco
ac25a4d23a Style sidebar 2017-06-22 18:05:04 +02:00
Angela Mazzurco
69b3f46309 Solve bug on search icon visibility 2017-06-22 18:04:41 +02:00
Angela Mazzurco
3361c76c30 Add icons 2017-06-22 17:56:09 +02:00
Angela Mazzurco
e7c3a3739e Set search icon visibility on core ready 2017-06-22 17:54:46 +02:00
Angela Mazzurco
b9d21f004c Change search icon on toolbar to invoke search field on contacts 2017-06-22 17:50:42 +02:00
Angela Mazzurco
2360c3c27a Change search icon 2017-06-22 17:44:11 +02:00
Angela Mazzurco
619874816e Add network icon 2017-06-22 17:41:33 +02:00
Angela Mazzurco
e766e7ce0b Add header to sidebar component 2017-06-22 17:32:59 +02:00
Angela Mazzurco
653381e9e2 Style sidebar partialy 2017-06-22 17:05:36 +02:00
Angela Mazzurco
3b05e0a3f1 Add stylesheet for sidebar 2017-06-22 17:04:25 +02:00
Angela Mazzurco
0a087e64ac Create button component 2017-06-22 17:03:47 +02:00
Angela Mazzurco
356d3ab09f Solve bug to get the same index action when stackview is changed without using sidebar 2017-06-22 15:21:09 +02:00
Angela Mazzurco
27593633fc Use Drawer Sidebar instead of menu class to show the menu 2017-06-22 14:46:30 +02:00
Angela Mazzurco
c2b63a2313 Use contacts cache to show contacts details 2017-06-21 16:31:20 +02:00
Angela Mazzurco
05ca5b482c Create contacts cache 2017-06-21 16:30:48 +02:00
Angela Mazzurco
923c0c6da3 Open contact details on click the area 2017-06-21 15:57:27 +02:00
Angela Mazzurco
1b9a1f5087 Use AvatarOrColorHash 2017-06-21 15:27:01 +02:00
Angela Mazzurco
8adadd67c2 Merge remote-tracking branch 'g1o/qml_app_chat_aesthetic' into qml_app_chat_aesthetic 2017-06-21 15:24:06 +02:00
Angela Mazzurco
f56921b0e3 Set AvatarOrColorHash in components folder 2017-06-21 15:19:20 +02:00
Angela Mazzurco
ca3a0bd2d1 Merge remote-tracking branch g1o/qml_app_identity_avatar into qml_app_chat_aesthetic 2017-06-21 14:56:31 +02:00
Gioacchino Mazzurco
1d031910cb Created a dedicated component for avatar image 2017-06-20 17:16:27 +02:00
Gioacchino Mazzurco
8c62c2a326 Qml app: show contact avatar in details if available 2017-06-20 15:35:05 +02:00
Gioacchino Mazzurco
1f1e830f01 Added Qt SVG module dependency 2017-06-19 18:03:07 +02:00
Angela Mazzurco
88d170066c Change chat style sheet to a more apropiate name 2017-06-13 15:25:31 +02:00
Angela Mazzurco
9f26a0aec5 Change to Almman indent style 2017-06-13 15:24:36 +02:00
Angela Mazzurco
4b05555a5c Change version of QtQml to 2.3 2017-06-13 14:43:25 +02:00
Angela Mazzurco
0a9c29f0b9 Solve bug with undefined props in lastMessage object 2017-06-13 14:40:05 +02:00
Angela Mazzurco
dc02fe034e Add left margin to toolbar 2017-06-13 14:24:07 +02:00
Angela Mazzurco
ccc4afff4e Update search box background color 2017-06-12 18:18:17 +02:00
Angela Mazzurco
fbd4d3a913 Handle properly intro key to send message and shif+intro to new line on message composer 2017-06-12 17:54:53 +02:00
Angela Mazzurco
f8669b86e6 Delete mouse area action on user hash icon 2017-06-12 16:39:33 +02:00
Angela Mazzurco
912d26c47c Change unread text max width 2017-06-12 16:23:41 +02:00
Angela Mazzurco
8b0b366f69 Show user hash in chat view 2017-06-12 16:14:47 +02:00
Angela Mazzurco
fbb458f4c3 Delete lines to change toolbar text 2017-06-12 15:48:23 +02:00
Angela Mazzurco
cc94150345 Import ColorHash component on to ContactDetails view 2017-06-12 15:44:50 +02:00
Angela Mazzurco
ea8d03bc10 Change how do you put chat tittle saving chat name into variable on cache GXS info 2017-06-12 15:44:07 +02:00
Angela Mazzurco
ba72332ed8 Move ColorHash to components directory 2017-06-12 14:26:55 +02:00
Angela Mazzurco
12fef4bf8b Refactor to add message text area into a flickable 2017-06-10 16:02:09 +02:00
Angela Mazzurco
e2d430a82a Set msg field max width using row layout 2017-06-09 19:08:52 +02:00
Angela Mazzurco
ee0b347200 Set max width for text area 2017-06-09 19:00:15 +02:00
Angela Mazzurco
2809a9638a Change bubbles spacing from parent 2017-06-09 18:01:31 +02:00
Angela Mazzurco
80b4c839bb Refactor message composer to fit text size and wrap it 2017-06-09 17:58:52 +02:00
Angela Mazzurco
6e3de73501 Add new icons and icons features for future implementations 2017-06-09 16:36:38 +02:00
Angela Mazzurco
5acc8f6d8b Add new icons for new future features 2017-06-09 16:17:13 +02:00
Angela Mazzurco
3746e22b27 Give more space to time and message in the sended messages bubbles 2017-06-09 15:58:39 +02:00
Angela Mazzurco
c9f39af4c4 Change inferior panel color to white 2017-06-09 15:49:25 +02:00
Angela Mazzurco
1e234c2015 Delete junk code 2017-06-08 19:12:15 +02:00
Angela Mazzurco
f7c52da4bb Add new files to qml.qrc 2017-06-08 19:12:01 +02:00
Angela Mazzurco
1df60e85cb Style inferior panel and add icon buttons 2017-06-08 19:11:37 +02:00
Angela Mazzurco
66d63c29b3 Create custom button icon component 2017-06-08 19:08:41 +02:00
Angela Mazzurco
cb96b9fac6 Solve bug with defaultLabel undefined 2017-06-08 17:48:50 +02:00
Angela Mazzurco
78206c5a00 Refactor style sheet to be more structurated 2017-06-08 17:40:40 +02:00
Angela Mazzurco
81a8677226 Change recv time position to the top of the bubble 2017-06-08 17:12:23 +02:00
Angela Mazzurco
92bcd4cbfd Add text wrap behaivour on bubbles 2017-06-08 17:10:37 +02:00
Angela Mazzurco
4a90436e8e Change toolbar label on chat view opened with the name of remote 2017-06-08 16:21:33 +02:00
Angela Mazzurco
69ed518555 Use style singleton on chat bubbles 2017-06-08 15:16:50 +02:00
Angela Mazzurco
3793a2196a Add chat buble delegate 2017-06-07 18:58:11 +02:00
Angela Mazzurco
cac5093f37 Merge remote-tracking branch 'g1o/silent_initiate_distant_chat_api' into qml_app_chat_aesthetic 2017-06-07 16:04:44 +02:00
Angela Mazzurco
7c4ee55fcf Refactor chat cache to get remote GXS from GxsIdentityDelegate.qml instead from ChatView 2017-06-07 15:00:37 +02:00
Gioacchino Mazzurco
a0f59959a1 qml app: properly initialize object property 2017-06-07 12:30:34 +02:00
Gioacchino Mazzurco
ed52bbe76c qml app: add missing ChatCache.qml file in qrc 2017-06-07 12:29:14 +02:00
Angela Mazzurco
0742a44f73 Style search box 2017-06-06 18:05:24 +02:00
Angela Mazzurco
aaeb29a146 Change text aesthetic 2017-06-06 16:37:10 +02:00
Angela Mazzurco
f3c37886b4 Set msg preview text maximum length 2017-06-06 16:26:57 +02:00
Angela Mazzurco
85724a39eb Refactor to show recv time and last messages bit little 2017-06-06 16:07:55 +02:00
Angela Mazzurco
287e34c65f Add Qt Locale for date format 2017-06-06 16:06:41 +02:00
Angela Mazzurco
6d16270876 Create function to set date format from recv_time 2017-06-06 15:55:52 +02:00
Angela Mazzurco
78fc0bc995 Refactor chat cache to add remoteGXS property to make chat last message more identificable 2017-06-05 20:17:19 +02:00
Angela Mazzurco
d3e3f14afd Implement chat cache on GXS delegate view 2017-06-05 16:06:59 +02:00
Angela Mazzurco
549b76141a Solve variable names incoherences 2017-06-03 18:09:52 +02:00
Angela Mazzurco
464c16b825 Implement last message cache when a message is received 2017-06-03 17:58:53 +02:00
Angela Mazzurco
93c6a1a7e8 Add ChatCache.qml as singleton on qmldir 2017-06-03 17:58:03 +02:00
Angela Mazzurco
36a0e1fbb8 Implement last message cache from chats 2017-06-03 17:41:09 +02:00
Angela Mazzurco
fa9578fca6 Refactor qml structure for aesthetic contacts 2017-06-03 15:13:40 +02:00
Gioacchino Mazzurco
db3dad3e23 Local API binary output support + qml image example 2017-05-18 21:57:24 +02:00
Gioacchino Mazzurco
e59366d0fd Qml app: made contact sorting case insensitive 2017-05-17 15:49:26 +02:00
Gioacchino Mazzurco
97a0e00089 Qml Better debugging for token manager 2017-05-17 15:34:29 +02:00
Gioacchino Mazzurco
c1c1d5ddb4 Qml app: fixed unread messages count displaying
Roles in models are not expected to change type, so they must be always
  defined and have the same type
2017-05-17 15:33:10 +02:00
Gioacchino Mazzurco
022c5459d4 Qml app: show contact details when avater clicked 2017-05-13 12:52:45 +02:00
Gioacchino Mazzurco
0b82b73131 Qml app: fixed import/export of plain certificate
Added TimedPopup that is a common use case so it is reusable without
  code duplication
2017-05-13 11:43:31 +02:00
Gioacchino Mazzurco
39646f32f0 qml app removed unused icon 2017-05-08 20:44:15 +02:00
Gioacchino Mazzurco
d0b881f5e0 Added view to show/edit contact details
Split ColorHash.qml in a new file so it is reusable
ContactSort.js preferred contacts goes before non preferred
Contacts.qml use proper id for listview
Contacts.qml removed fingerprint popup
GxsIdentityDelegate.qml simplified, move link generation to ContactDetails.qml
2017-05-08 20:35:15 +02:00
Gioacchino Mazzurco
a19f6a2cbc Some modifications from Android Studio update 2017-05-02 12:21:10 +02:00
Gioacchino Mazzurco
fcca44d1e6 Android qml app play notification sound 2017-05-02 12:20:27 +02:00
Gioacchino Mazzurco
3a3c4691ce Qml app is more aggressive in parsing links
Some app lile t3legram prepend other textxs when a message is copied, so
 if a retroshare link is passed via t3legram and the user do copy/paste
 on retroshare, retroshare get "some text + retroshare link", to avoid
 the link being forgot we parte pasted textx more aggressively
2017-04-20 23:53:45 +02:00
Gioacchino Mazzurco
7b070e482d Qml app improved trusted nodes exchange
AddTrustedNode.qml support for plain certificate and node link import/export
Move clipboard wrapper to it's own singleton ClipboardWrapper.qml with
  improved clipboard API
2017-04-20 21:47:51 +02:00
Gioacchino Mazzurco
5c1ad36d2b Qml app support contact link import/export 2017-04-20 16:05:15 +02:00
Gioacchino Mazzurco
17edf3c8de Fix compilation and some warnings 2017-04-19 23:46:30 +02:00
Gioacchino Mazzurco
30bb84c4a9 Save persistently that default identity is created
In 943a4213fb default identity creation
  burst has been solved but some times the duplication happens in
  sequent instances of the app, now te app store permanently if default
  identity has been created so this other kind of duplication is avoided
  too (hopefully)
2017-04-19 14:23:29 +02:00
Gioacchino Mazzurco
e83fec8d84 Avoid linking libretroshare in qml app and notify
Use QDir::homePath() instead of RsAccounts::ConfigDirectory() to
  determine libresapi socket path, this way statically linking to
  libretroshare is not needed and the android package size is reduced
  dramatically 20+MB -> 13MB

At same time this solves the socket path mismatch between retroshare
  android  service and the other android applications due to merge
2017-04-18 23:14:44 +02:00
Gioacchino Mazzurco
f04697d61d Qml app is not supposed to stop core on android 2017-04-18 13:30:28 +02:00
Gioacchino Mazzurco
871ea333fc Qml app allow registrer same callback
As I haven't investigated this enough yet, allow it happening but warn
  if it happens while debugging
2017-04-18 13:06:57 +02:00
Gioacchino Mazzurco
943a4213fb Qml app avoid multiple default identity creation burst 2017-04-18 13:05:07 +02:00
Gioacchino Mazzurco
2c4cbd529a Update to QtQuick 2.7
Since we already depends on Qt 5.7 for QtQuick Controls 2 there is no
  point in using older QtQuick version
2017-04-18 11:53:14 +02:00
Gioacchino Mazzurco
a1311c16c8 Use unique name for main
Qt Creator get confused if files with same name are present in the same
  project and when clickng on debug info open the same file, renaming
  main to avoid this
2017-04-18 11:53:14 +02:00
Gioacchino Mazzurco
987b5a1cdc QML app fix: crash closing, notification deadlock
The crash was introduced at 533dbef0c7

This has been particurarly tricky as lot of different parts contributed
  in causing unexpected behaviours

When the activity is created onNewIntent is not called and we have to
  get the intent data from C++ bu other means, but C++ code is running
  in a different thread so there is no guarantee that the intent data is
  reacheable yet on starting, so the C++ code has to wait for the intent
  data being ready, but paying attention to not cause a deadlock beetween
  the two thread (the android ui thread may be waiting for some
  operation performed by Qt)

Because of notification intent flags not properly set the activity was
  recreated also if it was already on top, this caused a nasty
  interaction between android ui thread and qt thread that derived in a
  deadlock, to avoid this lot of try/error has been made until the
  proper soup of manifest and intent flags has been found

At this point link handling, notification handling, and Activity closing
  should work as expected without any deadlock or crash
2017-04-18 11:53:14 +02:00
Gioacchino Mazzurco
d2598dd437 Implemented certificate link handling
Move content of qml directory to parent directory src
Message notification take care of plurar/singular
Fix compilation of service for non-android linux
AddTrustedNode.qml show node details for confirmation before adding
Added TrustedNodeDetails.qml to show nodes details
TrustedNodesView.qml show node details on click
Qml app added minimal infrastructure to delegate link handling
Removed unused icons
2017-04-13 16:47:27 +02:00
Gioacchino Mazzurco
5be6094214 Implement notifications on Android
Notify when there are unread messages
2017-04-12 19:28:48 +02:00
Gioacchino Mazzurco
49b0de6ac7 Abstract API token sys into a singleton component 2017-04-11 18:13:07 +02:00
Gioacchino Mazzurco
533dbef0c7 Implement Android intent handling in qml app
AndroidManifest.xml register activity as an handler for retroshare links
RetroShareQmlActivity...NativeCalls.cpp bring the intent data from java
  to C++ and then to QML
QMl mainWindow uses URI.js to parse the received uri
Create a singleton for qml engine so it is reachable from NativeCalls
2017-04-11 13:11:57 +02:00
Gioacchino Mazzurco
29a3d105c4 LibresapiLocalClient improve error handling 2017-04-10 15:00:14 +02:00
Gioacchino Mazzurco
c3ba5511d8 RsLoginPassView: don't show strong password tip if logging in 2017-04-10 14:54:20 +02:00
Gioacchino Mazzurco
6aa7143a24 Improve AndroidManifest.xml readability 2017-04-10 14:52:36 +02:00
Gioacchino Mazzurco
e06d92e939 Improve QML performances via extract_android_style
The App uses Quick Controls 2 so full style extraction and it's cost
  is not needed
2017-04-10 14:32:02 +02:00
Gioacchino Mazzurco
03ac2ed0a7 Broadcast receiver are now exported as per default
If android:exported is false brodcast receiver can receive intents only
  from the same application, in this case it doesn't make sense as
  BOOT_COMPLETED and MY_PACKAGE_REPLACED are triggered by the system
2017-04-10 13:30:11 +02:00
Gioacchino Mazzurco
bcbd5230eb android notification service stub, improve login
Added retroshare-android-notify-service a stub will handle notifications
  to android system, at the moment it only attempt autologin if default
  password is used
retroshare-android-service quit QCoreApplication gracefully
Android Studio update has changed some android build files
Create BusyOverlay.qml componet so it is reusable accross the qml app
Contacts.qml create a pseudonimous GXS identity as needed without
  prompting the user
RsLoginPassView.qml nicer look, on mobile phone password usage is not
  common so do not use password by default
QML app main view handle correctly +waiting_startup+ runstate
QML app main view use BusyOverlay as initial item
2017-04-07 18:26:08 +02:00
Gioacchino Mazzurco
70e91f7164 Improved login usability
Locations automatically fast forward to login skipping location
  selection if just one location is available
RsLoginPassView nicer look
2017-04-04 02:15:22 +02:00
Gioacchino Mazzurco
8e03fab8da Improve QML app Contacts view performances
Simplified sorting getting rid of complicated DelegateModel
Offload sorting work to another thread via WorkerScript
Get rid of polling and use token system instead
2017-04-03 21:51:03 +02:00